This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.21-459-g78ad175


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  78ad175b3060aae058ed5d05ced2bc58714901cd (commit)
       via  ac63a0783cdee8454c84fc45f37330d98b6039e7 (commit)
      from  7cbeabac0fb28e24c99aaa5085e613ea543a2346 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=78ad175b3060aae058ed5d05ced2bc58714901cd

commit 78ad175b3060aae058ed5d05ced2bc58714901cd
Author: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
Date:   Tue Jun 2 21:04:06 2015 +0300

    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.

diff --git a/ChangeLog b/ChangeLog
index ca22729..80afbb1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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>
 
 	* Makeconfig (+interp): Remove unused variable.
diff --git a/NEWS b/NEWS
index 221ec2f..218bf3a 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 d58324d..530d14b 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 0000000..ecf1fe7
--- /dev/null
+++ b/nptl/pt-interp.c
@@ -0,0 +1 @@
+#include <elf/interp.c>

http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=ac63a0783cdee8454c84fc45f37330d98b6039e7

commit ac63a0783cdee8454c84fc45f37330d98b6039e7
Author: Dmitry V. Levin <ldv@altlinux.org>
Date:   Fri Jun 5 22:20:13 2015 +0000

    Prepare for restoration of .interp section in libpthread.so
    
    Make runtime-linker.h available outside $(elf-objpfx) by moving
    the file to $(common-objpfx) and the rules for it to Makerules.
    
    Tested for x86_64 and x86 (testsuite, and that no compiled code
    changed by the patch).
    
    * Makeconfig (+interp): Remove unused variable.
    * elf/Makefile ($(objpfx)interp.os): Define for [$(build-shared) = yes]
    only.  Depend on $(common-objpfx)runtime-linker.h instead of
    $(elf-objpfx)runtime-linker.h.
    ($(elf-objpfx)runtime-linker.h): Rename to
    $(common-objpfx)runtime-linker.h and move ...
    * Makerules [$(build-shared) = yes]: ... here.
    * elf/interp.c: Include <runtime-linker.h> instead of
    <elf/runtime-linker.h>.

diff --git a/ChangeLog b/ChangeLog
index 5f745e7..ca22729 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2015-06-10  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* Makeconfig (+interp): Remove unused variable.
+	* elf/Makefile ($(objpfx)interp.os): Define for [$(build-shared) = yes]
+	only.  Depend on $(common-objpfx)runtime-linker.h instead of
+	$(elf-objpfx)runtime-linker.h.
+	($(elf-objpfx)runtime-linker.h): Rename to
+	$(common-objpfx)runtime-linker.h and move ...
+	* Makerules [$(build-shared) = yes]: ... here.
+	* elf/interp.c: Include <runtime-linker.h> instead of
+	<elf/runtime-linker.h>.
+
 2015-06-09  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
 	* sysdeps/unix/sysv/linux/i386/gettimeofday.c
diff --git a/Makeconfig b/Makeconfig
index d32a0fd..0f4b549 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -596,7 +596,6 @@ endif
 # Variants of the two previous definitions for statically linking programs.
 +prectorT = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbeginT.o`
 +postctorT = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtend.o`
-+interp = $(addprefix $(elf-objpfx),interp.os)
 csu-objpfx = $(common-objpfx)csu/
 elf-objpfx = $(common-objpfx)elf/
 
diff --git a/Makerules b/Makerules
index c79915f..ad9d74f 100644
--- a/Makerules
+++ b/Makerules
@@ -123,6 +123,16 @@ $(common-objpfx)libc-abis.stamp: $(..)scripts/gen-libc-abis \
 common-generated += $(common-objpfx)libc-abis.h
 endif # avoid-generated
 
+ifeq (yes,$(build-shared))
+$(common-objpfx)runtime-linker.h: $(common-objpfx)runtime-linker.stamp; @:
+$(common-objpfx)runtime-linker.stamp: $(common-objpfx)config.make
+	$(make-target-directory)
+	echo '#define RUNTIME_LINKER "$(rtlddir)/$(rtld-installed-name)"' \
+		> ${@:stamp=T}
+	$(move-if-change) ${@:stamp=T} ${@:stamp=h}
+	touch $@
+endif
+
 # Make sure the subdirectory for object files gets created.
 ifdef objpfx
 ifeq (,$(wildcard $(objpfx).))
diff --git a/elf/Makefile b/elf/Makefile
index f2a115a..871cb4f 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -365,16 +365,10 @@ $(objpfx)ld.so: $(objpfx)librtld.os $(ld-map)
 	  | $(AWK) '($$7 ~ /^UND(|EF)$$/ && $$1 != "0:" && $$4 != "REGISTER") { print; p=1 } END { exit p != 0 }'
 	mv -f $@.new $@
 
+ifeq (yes,$(build-shared))
 # interp.c exists just to get the runtime linker path into libc.so.
-$(objpfx)interp.os: $(elf-objpfx)runtime-linker.h
-
-$(elf-objpfx)runtime-linker.h: $(elf-objpfx)runtime-linker.st; @:
-$(elf-objpfx)runtime-linker.st: $(common-objpfx)config.make
-	$(make-target-directory)
-	echo '#define RUNTIME_LINKER "$(rtlddir)/$(rtld-installed-name)"' \
-		> ${@:st=T}
-	$(move-if-change) ${@:st=T} ${@:st=h}
-	touch $@
+$(objpfx)interp.os: $(common-objpfx)runtime-linker.h
+endif
 
 ifneq (ld.so,$(rtld-installed-name))
 # Make sure ld.so.1 exists in the build directory so we can link
diff --git a/elf/interp.c b/elf/interp.c
index 5d4246a..422ea95 100644
--- a/elf/interp.c
+++ b/elf/interp.c
@@ -16,7 +16,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#include <elf/runtime-linker.h>
+#include <runtime-linker.h>
 
 const char __invoke_dynamic_linker__[] __attribute__ ((section (".interp")))
   = RUNTIME_LINKER;

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog        |   21 +++++++++++++++++++++
 Makeconfig       |    1 -
 Makerules        |   10 ++++++++++
 NEWS             |    2 +-
 elf/Makefile     |   12 +++---------
 elf/interp.c     |    2 +-
 nptl/Makefile    |    7 +++++--
 nptl/pt-interp.c |    1 +
 8 files changed, 42 insertions(+), 14 deletions(-)
 create mode 100644 nptl/pt-interp.c


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]