Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!tut.cis.ohio-state.edu!bloom-beacon!eru!luth!sunic!bmc!kuling!jand From: jand@kuling.UUCP (Jan Dj{rv) Newsgroups: comp.sys.hp Subject: Re: libc.a error when linking perl3.0 on HP-UX 3.10 Summary: I don't understand this! Keywords: cc syscall crazy Message-ID: <1238@kuling.UUCP> Date: 13 Nov 89 10:11:40 GMT References: <127@geysir.os.is> <1322@iso.estec.nl> Reply-To: jand@kuling.UUCP (Jan Dj{rv) Organization: Dept. of Computer Systems, Uppsala University, Sweden Lines: 50 In article kamat@uceng.UC.EDU (Govind N. Kamat) writes: [stuff about compiling perl deleted] >Umm. The bad news is that syscall on HP-UX seems to be buggy, just >like many other things on it. > > #include > #include > #include > main() > { > syscall(SYS_mkdir, "/usr/tmp/tst", 0755); > } > >====> Core Dump on Series 800s. > >You may wish to wait until all these problems are fixed. I just >undef'ed SYSCALL in Perl's config.h. > >-- >Govind N. Kamat College of Engineering >kamat@uceng.UC.EDU University of Cincinnati > Cincinnati, OH 45221, USA I was surprised to hear that syscall doesn't work on 800 series. I have used perl on our 835 and never had problems with syscall. This led me to belive that something was wrong with the supplied program above. After some fiddling and testing I found that: 1. Kamat was right, his program above doesn't work (sorry for not beliving you) 2. This however does work: #include #include #include main() { long l = 0; syscall(SYS_mkdir, "/usr/tmp/tst", 0755); } Note that "long l;" doesn't work, the initializer is nessecery. Could some guru please explain what is going on here? Jan D.