This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/4018] segfault in ld.so on amd64
- From: "Petr dot Salinger at seznam dot cz" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sources dot redhat dot com
- Date: 12 Feb 2007 09:56:46 -0000
- Subject: [Bug libc/4018] segfault in ld.so on amd64
- References: <20070209180136.4018.Petr.Salinger@seznam.cz>
- Reply-to: sourceware-bugzilla at sourceware dot org
------- Additional Comments From Petr dot Salinger at seznam dot cz 2007-02-12 09:56 -------
> Nonsense, that case must never happen.
It happens on _unsupported_ platform.
It could probably happen also on linux without __ASSUME_GETCWD_SYSCALL.
This way would be <posix/getcwd.c> used as fallback also on linux.
<posix/getcwd.c> uses opendir()/readdir()/closedir(), they use
__libc_lock_* functions. They are mapped to __pthread_mutex_* functions via
# define __libc_maybe_call(FUNC, ARGS, ELSE) \
(__extension__ ({ __typeof (FUNC) *_fn = (FUNC); \
_fn != NULL ? (*_fn) ARGS : ELSE; }))
Output of readelf -a elf/ld.so :
Relocation section '.rela.dyn'
00000011afa8 000b00000006 R_X86_64_GLOB_DAT 0000000000000000
__pthread_mutex_lock + 0
00000011afb8 000f00000006 R_X86_64_GLOB_DAT 0000000000000000
__pthread_mutex_init + 0
00000011afc8 001700000006 R_X86_64_GLOB_DAT 0000000000000000
__pthread_mutex_unlock + 0
00000011afd0 001b00000006 R_X86_64_GLOB_DAT 0000000000000000
__pthread_mutex_destro + 0
Relocation section '.rela.plt':
00000011b000 000b00000007 R_X86_64_JUMP_SLO 0000000000000000
__pthread_mutex_lock + 0
00000011b010 000f00000007 R_X86_64_JUMP_SLO 0000000000000000
__pthread_mutex_init + 0
00000011b028 001700000007 R_X86_64_JUMP_SLO 0000000000000000
__pthread_mutex_unlock + 0
00000011b030 001b00000007 R_X86_64_JUMP_SLO 0000000000000000
__pthread_mutex_destro + 0
--
http://sourceware.org/bugzilla/show_bug.cgi?id=4018
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.