Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Dec 1997 18:06:39 -0800 (PST)
From:      John Polstra <jdp@FreeBSD.ORG>
To:        cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG, cvs-gnu@FreeBSD.ORG
Subject:   cvs commit: src/gnu/usr.bin/ld/rtld rtld.c
Message-ID:  <199712050206.SAA04556@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
jdp         1997/12/04 18:06:38 PST

  Modified files:
    gnu/usr.bin/ld/rtld  rtld.c 
  Log:
  Make emacs work again.  This is a workaround for the fact that the
  emacs a.out file, self-generated by emacs's "unexec" function in
  "unexsunos4.c", is invalid.  In particular, its "_end" symbol has
  the wrong value.  The dynamic linker was using the value of that
  symbol to initialize its sbrk break level.
  
  The workaround is to peek at the executable's a.out header in
  memory, and calculate what "_end" should be based on the segment
  sizes.
  
  I will work out a fix for emacs and send it to the FSF.  This
  dynamic linker workaround is still worthwhile, if only to avoid
  forcing all emacs users to build a new version.
  
  Note: xemacs gives a bogus warning at startup, for related reasons.
  The warning is harmless and can safely be ignored.  I will send a
  patch to the xemacs maintainers to get rid of it, and meanwhile
  add a patch file to our port.
  
  Revision  Changes    Path
  1.51      +33 -18    src/gnu/usr.bin/ld/rtld/rtld.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199712050206.SAA04556>