home *** CD-ROM | disk | FTP | other *** search
- From: dhandly@hpcuhe.cup.hp.com (Dennis Handly)
- Date: Sat, 29 Aug 1992 06:15:40 GMT
- Subject: Re: Shared libc and /lib/milli.a == problems ???
- Message-ID: <31480238@hpcuhe.cup.hp.com>
- Organization: Hewlett-Packard Cal Language Lab
- Path: sparky!uunet!usc!sdd.hp.com!hpscdc!cupnews0.cup.hp.com!hppad.waterloo.hp.com!hppad!hpfcso!hpcuhb!hpcuhe!dhandly
- Newsgroups: comp.sys.hp
- References: <1992Aug27.105051.1494@cv.ruu.nl>
- Lines: 43
-
- / bartm@cv.ruu.nl (Bart Muyzer) / 3:50 am Aug 27, 1992 /
- >Today I encountered a problem with libc.sl and /lib/milli.a. One of our users
- >tried to link a *very* large program and got "error code 138" from /bin/ld.
-
- What was the message besides "error code 138"? (if any)
-
- >An hour of trying reveiled that:
- > * things went wrong when /lib/milli.a was referenced.
- > * One or two times ld complained:
- > Position Independent code not in library, don't use +z
-
- I assume you used ld -v to get this information?
-
- Anyway, I think that /lib/milli.a is just the fall-guy. I.e. it is the last
- library/object file that ld processes before the error. There is probably
- nothing wrong with it.
-
- >Doing so created a working executable, although ld still complained about the
- >Position Independent code thing.
-
- I've seen this message too. Except that I immediately knew what it meant
- but couldn't figure out what object file had the problem.
-
- Basically this is a message that is trying to do you a favor. It only
- occurs with ld -v. Unfortunately it always occurs in milli.a?
- (By binary searching and lding the objects in milli.a, it appears to be
- in: Mcerror.o.)
-
- But if it occurs anywhere else you're suppose to not compile that module
- with +z or +Z.
- (These options should only be used in shared libraries and not in an a.out.)
- But it is only a warning, not an error, so you can ignore it.
-
- >Questions:
- >1. Is this a bug? Should there maybe be a /lib/milli.sl?
-
- No, the message doesn't indicate the bug.
- Maybe. I.e. if there was a shared version of milli.a it would be in
- the kernel and be called external millicode.
- (The Procedure Calling Convensions manual has some discussion about this.)
-
- I don't work on ld, so someone else will have to tell you about the
- real problem/cause behind error code 138.
-