Path: utzoo!utgpu!watserv1!watmath!att!rutgers!usc!samsung!munnari.oz.au!mel.dit.csiro.au!yarra!bksmel!paulf From: paulf@bksmel.oz.au (Paul Fitchett) Newsgroups: comp.unix.aix Subject: syscall() in AIX 3.1 Message-ID: <301@bksmel.oz.au> Date: 4 Sep 90 00:08:19 GMT Organization: Best Knowledge Systems, Melb, Austrailia Lines: 37 Reply-To:paulf@bksmel.UUCP (Paul Fitchett) 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@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. :-) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++