home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / sys / sun / admin / 9606 < prev    next >
Encoding:
Internet Message Format  |  1992-12-21  |  2.6 KB

  1. Xref: sparky comp.sys.sun.admin:9606 comp.unix.wizards:5284
  2. Path: sparky!uunet!olivea!charnel!rat!koko.csustan.edu!nic.csu.net!nic.csu.net!nntp
  3. From: oleg@gd.cs.csufresno.edu (Oleg Kibirev)
  4. Newsgroups: comp.sys.sun.admin,comp.unix.wizards
  5. Subject: Custom shlib - getting it straight
  6. Message-ID: <1992Dec19.021123.3592@nic.csu.net>
  7. Date: 19 Dec 92 10:11:21 GMT
  8. Sender: oleg@gd.cs.csufresno.edu
  9. Organization: Computer Science Departement of California State University in Fresno
  10. Lines: 41
  11. Nntp-Posting-Host: gd.cs.csufresno.edu
  12.  
  13. While building  custom shared  libraries, I  have noticed  several interesting
  14. "undocumented  features" left  by Sun for unsuspecting customers. I have heard
  15. about more such features from other people as well. Can anyone  explain any of
  16. this:
  17.  
  18. -  if  libc.so.*  is  compiled without -ldl  option, cc  will  get  unresolved
  19. externals and  ldd  shows that /usr/lib/libdl.so.*  is not included.  However,
  20. compiled programs run just fine! As well as ones  from  4.1.2  that don't know
  21. anything about libdl.
  22.  
  23. If -ldl _is_  specified, existing  programs  appear  to include libdl *twice*,
  24. doing to mmaps and apparently wasting some memory. From the other  hand, newly
  25. compiled programs include libdl just one.
  26.  
  27. Looks like the problem is with cc refusing to link  in libdl if  a nonstandard
  28. libc is present.  A wrapper to cc that appends  -lc -ldl to the end of options
  29. works just fine, but this doesn't explain why I have to do this. I posted this
  30. before, but never got an answer explaining why...
  31.  
  32. -  dbx  crashes  with  "error  reading  shared  library"  message  if anything
  33. nonstandard is present (even if .pic thing is just ld'ed without any changes).
  34. gdb works great in the same time. Is there a fix?
  35.  
  36. - Occasionally, make will fail complaining that "ld returned  error code 4" if
  37. running  with custom library (again,  no matter  what  it is). In these cases,
  38. BSD4.3 or GNU make works great. What did Sun  do to it's version? What is ld's
  39. error code 4 anyway?
  40.  
  41. - Is there a way to generate libc.sa.* when making a custom library? 
  42.  
  43. - I suspect  that there are all-new problems  when rebuilding 5lib version  of
  44. libc. Anyone knows if it's true and how to fix it? I didn't get to it yet.
  45.  
  46.  
  47. Another,  somewhat  unrelated question...  I have  noticed  that  programs  in
  48. system() call still have sh -c hanging around. Obviously, when a lot of copies
  49. of application in question are running, shells do no good to swap space. I was
  50. thinking about  having system() prepend  exec  to the  command  line. However,
  51. looks like Sun's  /bin/sh  can't handle exec  of a builtin  gracefully. Do you
  52. know  of  any  reasonably  compatible  sh  that  does?  I  could  put  it   as
  53. /bin/sh.system...
  54.