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


_______________________________________________
Bug-hurd mailing list
Bug-hurd@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-hurd

Reply via email to