1. 11 Oct, 2010 4 commits
  2. 09 Oct, 2010 1 commit
  3. 08 Oct, 2010 2 commits
  4. 07 Oct, 2010 13 commits
  5. 06 Oct, 2010 13 commits
  6. 05 Oct, 2010 2 commits
  7. 04 Oct, 2010 3 commits
  8. 03 Oct, 2010 1 commit
  9. 01 Oct, 2010 1 commit
    • Russ Cox's avatar
      Make.pkg: remove .so before installing new one · f481afae
      Russ Cox authored
      On Linux, overwriting an mmap'ed file causes
      all the MAP_PRIVATE pages to get refreshed
      with the new content, even ones that have been
      modified by the process that did the mmap.
      
      One specific instance of this is that after the
      dynamic linker has relocated a page from a .so,
      overwriting the .so will un-relocate it, making
      the next use of one of the no-longer-relocated
      addresses incorrect and probably crash the
      program.
      
      Linux must go out of its way to break programs
      in this way: the pages have already been copied
      on write, so they're not shared with the file system
      cache, and it trashes them anyway.  The manual
      says the behavior when the file gets overwritten
      is "undefined".  Removing before copy avoids the
      undefined behavior.
      
      R=iant
      CC=golang-dev, msolo
      https://golang.org/cl/2333045
      f481afae