bug-hurd
[Top][All Lists]
Advanced

[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

Hi!

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
elf/rtld.c.
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:
<URL:http://sources.redhat.com/bugzilla/show_bug.cgi?id=1253>.


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


Regards,
 Thomas




reply via email to

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