mirror of
https://sourceware.org/git/glibc.git
synced 2025-06-02 02:01:46 +03:00
nptl: restore .interp section in libpthread.so
In commit 02657da2cf4457804ed938ee08b8316249126444, .interp section was removed from libpthread.so. This led to an error: $ /lib64/libpthread.so.0 Native POSIX Threads Library by Ulrich Drepper et al Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Forced unwind support included. Segmentation fault (gdb) bt #0 0x00000000000055a6 in _exit@plt () Unfortunately, there is no way to add a regression test for the bug because .interp specifies the path to dynamic linker of the target system. [BZ #18479] * nptl/pt-interp.c: New file. * nptl/Makefile (libpthread-routines, libpthread-shared-only-routines): Add pt-interp. [$(build-shared) = yes] ($(objpfx)pt-interp.os): Depend on $(common-objpfx)runtime-linker.h.
This commit is contained in:
parent
ac63a0783c
commit
78ad175b30
@ -1,3 +1,12 @@
|
|||||||
|
2015-06-10 Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
|
||||||
|
|
||||||
|
[BZ #18479]
|
||||||
|
* nptl/pt-interp.c: New file.
|
||||||
|
* nptl/Makefile (libpthread-routines, libpthread-shared-only-routines):
|
||||||
|
Add pt-interp.
|
||||||
|
[[$(build-shared) = yes] ($(objpfx)pt-interp.os): Depend on
|
||||||
|
$(common-objpfx)runtime-linker.h.
|
||||||
|
|
||||||
2015-06-10 Dmitry V. Levin <ldv@altlinux.org>
|
2015-06-10 Dmitry V. Levin <ldv@altlinux.org>
|
||||||
|
|
||||||
* Makeconfig (+interp): Remove unused variable.
|
* Makeconfig (+interp): Remove unused variable.
|
||||||
|
2
NEWS
2
NEWS
@ -20,7 +20,7 @@ Version 2.22
|
|||||||
18111, 18116, 18125, 18128, 18138, 18185, 18196, 18197, 18206, 18210,
|
18111, 18116, 18125, 18128, 18138, 18185, 18196, 18197, 18206, 18210,
|
||||||
18211, 18217, 18220, 18221, 18234, 18244, 18247, 18287, 18319, 18324,
|
18211, 18217, 18220, 18221, 18234, 18244, 18247, 18287, 18319, 18324,
|
||||||
18333, 18346, 18397, 18409, 18410, 18412, 18418, 18422, 18434, 18444,
|
18333, 18346, 18397, 18409, 18410, 18412, 18418, 18422, 18434, 18444,
|
||||||
18468, 18469, 18470, 18483, 18495, 18496, 18497, 18498, 18507.
|
18468, 18469, 18470, 18479, 18483, 18495, 18496, 18497, 18498, 18507.
|
||||||
|
|
||||||
* Cache information can be queried via sysconf() function on s390 e.g. with
|
* Cache information can be queried via sysconf() function on s390 e.g. with
|
||||||
_SC_LEVEL1_ICACHE_SIZE as argument.
|
_SC_LEVEL1_ICACHE_SIZE as argument.
|
||||||
|
@ -33,7 +33,7 @@ routines = alloca_cutoff forward libc-lowlevellock libc-cancellation \
|
|||||||
register-atfork unregister-atfork
|
register-atfork unregister-atfork
|
||||||
shared-only-routines = forward
|
shared-only-routines = forward
|
||||||
|
|
||||||
libpthread-routines = nptl-init vars events version \
|
libpthread-routines = nptl-init vars events version pt-interp \
|
||||||
pthread_create pthread_exit pthread_detach \
|
pthread_create pthread_exit pthread_detach \
|
||||||
pthread_join pthread_tryjoin pthread_timedjoin \
|
pthread_join pthread_tryjoin pthread_timedjoin \
|
||||||
pthread_self pthread_equal pthread_yield \
|
pthread_self pthread_equal pthread_yield \
|
||||||
@ -138,7 +138,8 @@ libpthread-routines = nptl-init vars events version \
|
|||||||
# pthread_setgid pthread_setegid pthread_setregid \
|
# pthread_setgid pthread_setegid pthread_setregid \
|
||||||
# pthread_setresgid
|
# pthread_setresgid
|
||||||
|
|
||||||
libpthread-shared-only-routines = version pt-allocrtsig unwind-forcedunwind
|
libpthread-shared-only-routines = version pt-interp pt-allocrtsig \
|
||||||
|
unwind-forcedunwind
|
||||||
libpthread-static-only-routines = pthread_atfork
|
libpthread-static-only-routines = pthread_atfork
|
||||||
|
|
||||||
# Since cancellation handling is in large parts handled using exceptions
|
# Since cancellation handling is in large parts handled using exceptions
|
||||||
@ -608,6 +609,8 @@ $(objpfx)banner.h: Banner
|
|||||||
generated += banner.h
|
generated += banner.h
|
||||||
# Give libpthread.so an entry point and make it directly runnable itself.
|
# Give libpthread.so an entry point and make it directly runnable itself.
|
||||||
LDFLAGS-pthread.so += -e __nptl_main
|
LDFLAGS-pthread.so += -e __nptl_main
|
||||||
|
# pt-interp.c exists just to get the runtime linker path into libpthread.so.
|
||||||
|
$(objpfx)pt-interp.os: $(common-objpfx)runtime-linker.h
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(run-built-tests),yes)
|
ifeq ($(run-built-tests),yes)
|
||||||
|
1
nptl/pt-interp.c
Normal file
1
nptl/pt-interp.c
Normal file
@ -0,0 +1 @@
|
|||||||
|
#include <elf/interp.c>
|
Loading…
x
Reference in New Issue
Block a user