syscall() in AIX 3.1

Paul Fitchett paulf at bksmel.oz.au
Tue Sep 4 10:08:19 AEST 1990


Hello,
	I'm having a problem porting some software from a Sun to an RS6000
running AIX 3.1. The code has a few calls to syscall() e.g.
.
.
int fd;
char *buf;
int nbytes;
.
.
syscall(SYS_read, fd, buf, nbytes);
.
.

My trusty AIX porting guide says that..
	"The following functions are found on standard 4.3 BSD systems, but
	 are not on AIXv3.1:
	 ..., syscall, ..."

No worries, says I, I'll just extract read.o from libc.a, change the symbols
in it to rEad and replace the syscall(...) with rEad(fd, buf, nbytes). That'll
do for now...
However, there is no read.o in libc.a. Instead there is a monster called shr.o
which appears to have everything in it, some sort of shared object.
I tried the above approach but couldn't get it to work wih shr.o as an ordinary
object in the compile or as part of some local library, (libfoo.a ;-)

So, if anyone could offer some advice on how to handle syscall (by any means at
all) in AIX3.1 I would be very grateful.

			Thanks,
			Paul Fitchett.
			(paulf at bksmel.oz.au)

P.S. The above may sound like a tyro at play, I will admit, so advice to RTFM
will be accepted if a reference is given. :-)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



More information about the Comp.unix.aix mailing list