home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / sys / hp / 9847 < prev    next >
Encoding:
Internet Message Format  |  1992-08-29  |  2.2 KB

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