diff --git a/ChangeLog b/ChangeLog index ca22729f74..80afbb18e3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2015-06-10 Gleb Fotengauer-Malinovskiy + + [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 * Makeconfig (+interp): Remove unused variable. diff --git a/NEWS b/NEWS index 221ec2f8c2..218bf3aea9 100644 --- a/NEWS +++ b/NEWS @@ -20,7 +20,7 @@ Version 2.22 18111, 18116, 18125, 18128, 18138, 18185, 18196, 18197, 18206, 18210, 18211, 18217, 18220, 18221, 18234, 18244, 18247, 18287, 18319, 18324, 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 _SC_LEVEL1_ICACHE_SIZE as argument. diff --git a/nptl/Makefile b/nptl/Makefile index d58324d590..530d14b9d4 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -33,7 +33,7 @@ routines = alloca_cutoff forward libc-lowlevellock libc-cancellation \ register-atfork unregister-atfork 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_join pthread_tryjoin pthread_timedjoin \ pthread_self pthread_equal pthread_yield \ @@ -138,7 +138,8 @@ libpthread-routines = nptl-init vars events version \ # pthread_setgid pthread_setegid pthread_setregid \ # 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 # Since cancellation handling is in large parts handled using exceptions @@ -608,6 +609,8 @@ $(objpfx)banner.h: Banner generated += banner.h # Give libpthread.so an entry point and make it directly runnable itself. 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 ifeq ($(run-built-tests),yes) diff --git a/nptl/pt-interp.c b/nptl/pt-interp.c new file mode 100644 index 0000000000..ecf1fe70df --- /dev/null +++ b/nptl/pt-interp.c @@ -0,0 +1 @@ +#include