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

  1. Path: sparky!uunet!mcsun!news.funet.fi!hydra!klaava!torvalds
  2. From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
  3. Newsgroups: comp.os.linux
  4. Subject: Re: shared libs - can everyone be happy with this?
  5. Message-ID: <1992Aug21.075538.12640@klaava.Helsinki.FI>
  6. Date: 21 Aug 92 07:55:38 GMT
  7. References: <1992Aug17.152210.23427@riacs.edu> <1992Aug18.023010.6841@colorado.edu> <TED.92Aug20103404@pylos.nmsu.edu>
  8. Organization: University of Helsinki
  9. Lines: 27
  10.  
  11. In article <TED.92Aug20103404@pylos.nmsu.edu> ted@nmsu.edu writes:
  12. >
  13. >writable code segments or executable data segments are _very_
  14. >important to programs that would like to do dynamic loading.
  15. >
  16. >of these two options, the second is preferable.
  17.  
  18. Right now, linux accepts both: early versions of linux didn't allow
  19. executable data-segments (the code segment was only as long as indicated
  20. by the executable header), but I changed that as gcc-2 actually assumes
  21. data space is executable (it can build small functions on the stack). 
  22. Another reason was actually to get 'crashme' to run: without an
  23. executable data-segment crashme won't run at all (without
  24. modifications).  And while it might sound weird to change the kernel to
  25. /help/ crashme, that's what I did. After all, the idea of crashme is to
  26. test whether a system is stable, and if crashme fails for the silly
  27. reason that it cannot execute the code it has just set up, it's not
  28. anything to brag about. The fact that crashme /still/ seems to fail
  29. despite being able to try, is a good thing (tm).
  30.  
  31. Writable code might go away eventually: there is no longer any good
  32. reason for it now that the standard library should be well-behaved.  But
  33. I'm not in any hurry about it: if somebody /wants/ to write
  34. self-modifying code, maybe it should be permissible.  I don't dislike
  35. goto's either.
  36.  
  37.         Linus
  38.