GNU bug report logs -
#9927
24.1.50; unexec/unexmacosx doesn't grok GCC 4.6+ sections
Previous Next
Reported by: Peter Dyballa <Peter_Dyballa <at> Freenet.DE>
Date: Tue, 1 Nov 2011 00:30:02 UTC
Severity: important
Found in versions 24.1.50, 24.0.90
Done: Paul Eggert <eggert <at> cs.ucla.edu>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Samuel Bronson <naesten <at> gmail.com> wrote:
> I suppose, though, that if we could be sure that we aren't linking in
> any static libraries with these *new* BSS sections which will have
> trouble because of Emacs' dumping them, we could just skip that part;
> then all we'd need to do is make sure that my_endbss_static refers to
> an address in __DATA.__bss, not __DATA.__bss1 or __DATA.bss2 like it
> would naturally end up at on GCC 4.6 or 4.7 (respectively). (And make
> unexmacosx.c dump these new BSS sections, of course.)
Well, after my GCC 4.7 build finished, I had a go at building Emacs with
it and (after getting distracted for a bit playing with the
--enable-gcc-warnings flag) I got temacs to build and link. (There was
some awkwardness involving the -fobjc-exceptions flag that we'll need to
straighten out...)
I decided I might as well try the simplest thing that could possibly
work: just dump __DATA.__static_data in the usual way, and dump these
new BSS sections like __DATA.__bss, only in their entirety rather than
messing about with markers.
When my first try ended in SIGSEGV, I ran "gobjdump --all" on temacs and
didn't see any evidence of staticly-linked libraries besides libgcc and
gnulib; then I noticed that I hadn't looked closely enough at the code
I'd copied and pasted into my new "else if" clause and rewrote it to
ACTUALLY work like that for __DATA.__bss without the marker stuff, and
then I actually got an Emacs.app that worked!
You can see my changes at:
http://bazaar.launchpad.net/~naesten/emacs/nextstep-stuff/revision/108754
Be warned that the line numbers will probably be way off of emacs trunk
right now, since an earlier commit on my branch deletes largish swathes
of code that wasn't really doing anything useful.
This bug report was last modified 10 years and 251 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.