GNU bug report logs - #8395
Compile error with Xcode 4.1 in unexec

Previous Next

Packages: emacs, ns;

Reported by: "William R. Otte" <wotte <at> dre.vanderbilt.edu>

Date: Thu, 31 Mar 2011 16:49:01 UTC

Severity: important

Done: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Bob Halley <halley <at> play-bow.org>
To: 8395 <at> debbugs.gnu.org
Subject: bug#8395: ASLR Issue?
Date: Tue, 5 Jul 2011 15:45:49 +0100
I too see this problem trying to build Aquamacs' emacs-24-based branch on Lion GM with Xcode 4.1 preview 7.  The problem is *not* an unknown section name.  I added some debugging printfs, and this is what I see.  Basically things seem to be going OK until we try to write __data, where we get EFAULT when we try to write() it.  I don't know why sectp->addr is giving EFAULT; perhaps ASLR?

If I discover more, I will add to the ticket.

As an aside, could emacs switch to an external core image like other lisps use instead of continuing to use the fragile unexec mechanism?

--- Load Commands written to Output File ---
Writing segment __PAGEZERO       @        0 (       0/0x100000000 @          0)
write 72
sz = 72
Writing segment __TEXT           @        0 (0x1ed000/0x1ed000 @ 0x100000000)
write 712
sz = 712
Writing segment __DATA           @ 0x1ed000 (0x458000/0x458000 @ 0x1001ed000)
write 80
sz = 80
        section __program_vars   at 0x1ed000 - 0x1ed028 (sz:     0x28)
write 80
sz = 80
        section __nl_symbol_ptr  at 0x1ed028 - 0x1ed038 (sz:     0x10)
write 80
sz = 80
        section __got            at 0x1ed038 - 0x1ed208 (sz:    0x1d0)
write 80
sz = 80
        section __la_symbol_ptr  at 0x1ed208 - 0x1eda90 (sz:    0x888)
write 80
sz = 80
        section __objc_classlist at 0x1eda90 - 0x1edb00 (sz:     0x70)
write 80
sz = 80
        section __objc_protolist at 0x1edb00 - 0x1edb10 (sz:     0x10)
write 80
sz = 80
        section __objc_imageinfo at 0x1edb10 - 0x1edb18 (sz:      0x8)
write 80
sz = 80
        section __objc_const     at 0x1edb18 - 0x1efef8 (sz:   0x23e0)
write 80
sz = 80
        section __objc_selrefs   at 0x1efef8 - 0x1f1030 (sz:   0x1138)
write 80
sz = 80
        section __objc_msgrefs   at 0x1f1030 - 0x1f1120 (sz:     0xf0)
write 80
sz = 80
        section __objc_classrefs at 0x1f1120 - 0x1f1338 (sz:    0x218)
write 80
sz = 80
        section __objc_superrefs at 0x1f1338 - 0x1f13a0 (sz:     0x68)
write 80
sz = 80
        section __objc_data      at 0x1f13a0 - 0x1f1800 (sz:    0x460)
sectp->addr = 1001f1800
write 4019480
sz = -1
errno = 14 Bad address
unexec: cannot write 1 section __data





This bug report was last modified 13 years and 323 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.