[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

The recent glibc breakage (dynamically linking with libthreads)

From: Thomas Schwinge
Subject: The recent glibc breakage (dynamically linking with libthreads)
Date: Wed, 21 Sep 2005 20:42:37 -0400
User-agent: Mutt/1.5.6+20040523i


I may have found what is causing the recent glibc breakage with respect
to dynamically linking a simple `int main(void) { return 0; }' with
`-lthreads' and only getting EXC_BAD_ACCESS on the following line of code:
`_dl_argv = (void *) (newsp + 1);', sysdeps/mach/hurd/i386/init-first.c.

If the linker supports `-z relro', `attribute_relro' is set to make use
of that feature of the linker and unless `DL_ARGV_NOT_RELRO' is set,
`_dl_argv' is defined as `char **_dl_argv attribute_relro = NULL;' in
Writing to `_dl_argv' is not that promising, then.

Before both machines I was working on had crashed (Sorry, Barry.), I was
able to figure out that EXC_BAD_ACCESS went away when I frobbed configure
so that it thought that the linker wouldn't support `-z relro', which
should be a more rude euquivalent of defining `DL_ARGV_NOT_RELRO'
somewhere (Where?) in sysdeps/*.h.

I also used that patch (written by Roland) while doing my tests:

I'll test all of that in the next days and report back, then.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]