home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / os / linux / 8192 < prev    next >
Encoding:
Internet Message Format  |  1992-08-13  |  4.0 KB

  1. Path: sparky!uunet!dtix!darwin.sura.net!cs.ucf.edu!hab
  2. From: hab@engr.ucf.edu (Hubert Bahr)
  3. Newsgroups: comp.os.linux
  4. Subject: Re: shared libs
  5. Message-ID: <1992Aug14.040459.29047@cs.ucf.edu>
  6. Date: 14 Aug 92 04:04:59 GMT
  7. References: <1992Aug12.233349.21513@athena.mit.edu> <1992Aug13.183740.24742@ods.com>
  8. Sender: news@cs.ucf.edu (News system)
  9. Organization: engineering, University of Central Florida, Orlando
  10. Lines: 75
  11.  
  12. In article <1992Aug13.183740.24742@ods.com> david@ods.com (David Engel) writes:
  13. >Owner of this machine (pmacdona@tadpole.bcsc.gov.bc.ca) wrote:
  14. >: At last count, I understood that jump tables do nothing to solve the
  15. >: library data problem.  Has that been solved?   If so, just adding
  16. >: jump table support to GCC, won't solve the problem.  
  17. >
  18. >You're right, a jump table does nothing to solve the data problem.
  19. >What I finally did was bite the bullet and change the library source
  20. >(there really wasn't that many changes needed) so the relevant data
  21. >could be linked at a known location every time.  I also added padding
  22. >to leave room for those things that might grow.
  23. >
  24. >: First, jump tables have a performance hit.   And using them may
  25. >
  26. >Yes, there is a slight performance hit but it's not even noticable
  27. >for most programs.  One of these days, when I get the time and 
  28. >inclination, I'm going to do some more accurate benchmarking.  The 
  29. >2-4 % I measured a long time ago still seems a little high to me.  
  30. >Of course, nobody is forcing you to use the jump table libs.  If you
  31. >need that last bit of performance, you can always use the regular 
  32. >shared libs.
  33.  
  34. Not when HJ only provides GCC only as a binary using jump tables for
  35. it.  We are forced to use at least GCC with jump tables.
  36.  
  37. >
  38. >: never work, since the change of one interface will screw the upgrade.
  39. >: Worse, if an interface changes without us realizing it, then our 
  40. >: programs could just start acting strange (far worse than broken).
  41. >
  42. >Yes, an interface change could wreak havoc on the libraries.  However,
  43. >in developing version 1 of the jump table libs, I learned several
  44. >techniques to handle such changes.  Short of wholesale changes to
  45. >the entire library, I think we can handle most changes and retain 
  46. >backward compatibility.
  47. >
  48. >As someone who has been using the jump table libs almost exclusively
  49. >for four months now, I can atest that they are feasible and they do
  50. >work.
  51. >
  52. >: The current implementation of shared libs has two main characteristics:
  53. >: simple and reliable.
  54. >
  55. >Make that three:  simple, reliable and a pain in the *ss when it comes
  56. >to system maintenance.  You either have to waste disk space by keeping
  57. >multiple images of the same library lying around or you have to relink
  58. >*everything* whenever library bugs are fixed.
  59. >
  60. >: Of course, I would love to be told I am wrong :-)
  61. >
  62. >Give them a try when H.J. releases 2.2.2d.  You might be pleasantly
  63. >surprised.
  64. >
  65. >David
  66.  
  67. I for one want to know that I have an up to date source library for all
  68. the software I use.  I also want this library compilable with the current
  69. make files and utilities.  Yes it will take extensive work to automate
  70. this recompile effort, but I think the dividends are multifold, 1st If
  71. I check things when they have just been changed, the changers will probably
  72. be more responsive to bug reports.  2  New versions of GCC and libraries
  73. are usually to fix bugs or performance flaws.  How can I take advantage
  74. of those changes without recompiling anyway.  3.  I can take advantage
  75. of all information available from GDB to make the programs better.  4  I
  76. don't introduce another level of indirection into my programs.  Frankly
  77. I only intend to use dated binaries as a tool to reach my goal of keeping
  78. my whole library current and buildable with current tools and sources.
  79. In this environment I see absolutely no benefit with jump tables.  True
  80. freedom with software is to have complete control to make desired changes
  81. without undue suprises.
  82.  
  83. Hubert Bahr        hab@engr.ucf.edu
  84.  
  85. PS.  If I wanted to maintain a comercial product in binary form only I
  86. would probably love jump tables.
  87.