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


Message #10 received at control <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: control <at> debbugs.gnu.org
Subject: Re: bug#8395: ASLR Issue?
Date: Tue, 05 Jul 2011 15:10:55 -0400
reassign 8395 emacs,ns
severity 8395 important
thanks

>>>>> "Bob" == Bob Halley <halley <at> play-bow.org> writes:

> 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 355 days ago.

Previous Next


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