# HG changeset patch # User Jang, Bongseo # Date 1348366710 -32400 # Node ID 2800ef0ff45053d08347ca29fc6ae0f614313e75 # Parent b60b008ab49cc1b8623ba2623fb0467ef479b7a4 libc/eglibc: Split changeset 3052:06b663f297 into eglibc/libc and eglibc/ports patches crosstool-ng's glibc patche is made against glibc/libc sub-dir. changeset 3052:06b663f297 is against glibc top-dir. it needs to split. Signed-off-by: "Jang, Bongseo" [yann.morin.1998@free.fr: fix the ports patches depth] Signed-off-by: "Yann E. MORIN" Message-ID: <5040c8e83e35618361dc.1348370890@localhost.localdomain> PatchWork-ID: 186177 diff -r b60b008ab49c -r 2800ef0ff450 patches/eglibc/2_16/001-Avoid-use-of-libgcc_s-and-libgcc_eh-when-building-gl.patch --- a/patches/eglibc/2_16/001-Avoid-use-of-libgcc_s-and-libgcc_eh-when-building-gl.patch Fri Sep 21 16:38:18 2012 +0200 +++ b/patches/eglibc/2_16/001-Avoid-use-of-libgcc_s-and-libgcc_eh-when-building-gl.patch Sun Sep 23 11:18:30 2012 +0900 @@ -17,10 +17,10 @@ 7 files changed, 206 insertions(+), 21 deletions(-) create mode 100644 elf/static-stubs.c -Index: a/libc/Makeconfig +Index: a/Makeconfig =================================================================== ---- a/libc/Makeconfig 2012-07-04 18:26:22.000000000 -0700 -+++ b/libc/Makeconfig 2012-08-14 20:16:10.197093639 -0700 +--- a/Makeconfig 2012-07-04 18:26:22.000000000 -0700 ++++ b/Makeconfig 2012-08-14 20:16:10.197093639 -0700 @@ -415,9 +415,9 @@ LDFLAGS-rtld += $(hashstyle-LDFLAGS) endif @@ -150,10 +150,10 @@ libc.so-gnulib := -lgcc endif +preinit = $(addprefix $(csu-objpfx),crti.o) -Index: a/libc/Rules +Index: a/Rules =================================================================== ---- a/libc/Rules 2012-07-04 18:25:47.000000000 -0700 -+++ b/libc/Rules 2012-08-14 20:16:10.197093639 -0700 +--- a/Rules 2012-07-04 18:25:47.000000000 -0700 ++++ b/Rules 2012-08-14 20:16:10.197093639 -0700 @@ -1,5 +1,4 @@ -# Copyright (C) 1991-2000,2002,2003,2004,2005,2006,2011 -# Free Software Foundation, Inc. @@ -238,10 +238,10 @@ ifeq ($(build-bounded),yes) binaries-bounded = $(addsuffix -bp,$(tests) $(xtests) $(test-srcs)) $(addprefix $(objpfx),$(binaries-bounded)): %-bp: %.ob \ -Index: a/libc/elf/Makefile +Index: a/elf/Makefile =================================================================== ---- a/libc/elf/Makefile 2012-07-04 18:26:34.000000000 -0700 -+++ b/libc/elf/Makefile 2012-08-14 20:16:10.197093639 -0700 +--- a/elf/Makefile 2012-07-04 18:26:34.000000000 -0700 ++++ b/elf/Makefile 2012-08-14 20:16:10.197093639 -0700 @@ -71,6 +71,8 @@ install-bin = sprof pldd others-static = sln @@ -269,10 +269,10 @@ $(objpfx)ldconfig: $(ldconfig-modules:%=$(objpfx)%.o) $(objpfx)pldd: $(pldd-modules:%=$(objpfx)%.o) -Index: a/libc/elf/static-stubs.c +Index: a/elf/static-stubs.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ a/libc/elf/static-stubs.c 2012-08-14 20:16:10.197093639 -0700 ++++ a/elf/static-stubs.c 2012-08-14 20:16:10.197093639 -0700 @@ -0,0 +1,46 @@ +/* Stub implementations of functions to link into statically linked + programs without needing libgcc_eh. @@ -320,24 +320,3 @@ +{ + abort (); +} -Index: a/ports/sysdeps/arm/Makefile -=================================================================== ---- a/ports/sysdeps/arm/Makefile 2012-07-04 18:25:41.000000000 -0700 -+++ b/ports/sysdeps/arm/Makefile 2012-08-14 20:16:10.201093638 -0700 -@@ -1,8 +1,16 @@ -+gnulib-arch = $(elfobjdir)/libgcc-stubs.a -+static-gnulib-arch = $(elfobjdir)/libgcc-stubs.a -+ - ifeq ($(subdir),elf) - sysdep-dl-routines += tlsdesc dl-tlsdesc - sysdep_routines += aeabi_unwind_cpp_pr1 find_exidx tlsdesc dl-tlsdesc - sysdep-rtld-routines += aeabi_unwind_cpp_pr1 tlsdesc dl-tlsdesc - shared-only-routines += aeabi_unwind_cpp_pr1 -+ -+$(objpfx)libgcc-stubs.a: $(objpfx)aeabi_unwind_cpp_pr1.os -+ $(build-extra-lib) -+ -+lib-noranlib: $(objpfx)libgcc-stubs.a - endif - - ifeq ($(subdir),csu) diff -r b60b008ab49c -r 2800ef0ff450 patches/eglibc/2_16/002-Add-ARM-specific-static-stubs.c.patch --- a/patches/eglibc/2_16/002-Add-ARM-specific-static-stubs.c.patch Fri Sep 21 16:38:18 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ -Upstream-Status: Backport - -Signed-off-by: Khem Raj - -From c57a67e03368687fc0d2ae8354cd1b347a61ea44 Mon Sep 17 00:00:00 2001 -From: Joseph Myers -Date: Thu, 5 Jul 2012 22:16:03 +0000 -Subject: [PATCH] Add ARM-specific static-stubs.c. - ---- - ports/ChangeLog.arm | 4 ++++ - ports/sysdeps/arm/static-stubs.c | 7 +++++++ - 2 files changed, 11 insertions(+) - create mode 100644 ports/sysdeps/arm/static-stubs.c - -Index: a/ports/sysdeps/arm/static-stubs.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ b/ports/sysdeps/arm/static-stubs.c 2012-08-15 15:04:59.687669241 -0700 -@@ -0,0 +1,7 @@ -+/* When building with GCC with static-only libgcc, the dummy -+ _Unwind_Resume from static-stubs.c needs to be used together with -+ the dummy __aeabi_unwind_cpp_pr* from aeabi_unwind_cpp_pr1.c -+ instead of the copies from libgcc. */ -+ -+#include -+#include diff -r b60b008ab49c -r 2800ef0ff450 patches/eglibc/2_16/003-mips-rld-map-check.patch --- a/patches/eglibc/2_16/003-mips-rld-map-check.patch Fri Sep 21 16:38:18 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ - -On mips target, binutils currently sets DT_MIPS_RLD_MAP to 0 in dynamic -section if a --version-script sets _RLD_MAP to local. This is apparently -a binutils bug, but libc shouldn't segfault in this case. - -see also: http://sourceware.org/bugilla/show_bug.cgi?id=11615 - -Upstream-Status: Pending - -9/19/2010 - added by Qing He - - ---- -diff -ru glibc-2.10.1.orig/ports/sysdeps/mips/dl-machine.h glibc-2.10.1/ports/sysdeps/mips/dl-machine.h ---- glibc-2.10.1.orig/ports/sysdeps/mips/dl-machine.h 2009-05-16 16:36:20.000000000 +0800 -+++ glibc-2.10.1/ports/sysdeps/mips/dl-machine.h 2010-09-19 09:11:53.000000000 +0800 -@@ -70,7 +70,8 @@ - /* If there is a DT_MIPS_RLD_MAP entry in the dynamic section, fill it in - with the run-time address of the r_debug structure */ - #define ELF_MACHINE_DEBUG_SETUP(l,r) \ --do { if ((l)->l_info[DT_MIPS (RLD_MAP)]) \ -+do { if ((l)->l_info[DT_MIPS (RLD_MAP)] && \ -+ (l)->l_info[DT_MIPS (RLD_MAP)]->d_un.d_ptr) \ - *(ElfW(Addr) *)((l)->l_info[DT_MIPS (RLD_MAP)]->d_un.d_ptr) = \ - (ElfW(Addr)) (r); \ - } while (0) diff -r b60b008ab49c -r 2800ef0ff450 patches/eglibc/ports-2_16/001-Avoid-use-of-libgcc_s-and-libgcc_eh-when-building-gl.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/eglibc/ports-2_16/001-Avoid-use-of-libgcc_s-and-libgcc_eh-when-building-gl.patch Sun Sep 23 11:18:30 2012 +0900 @@ -0,0 +1,40 @@ +Upstream-Status: Backport +Signed-off-by: Khem Raj + +From 95f5a9a866695da4e038aa4e6ccbbfd5d9cf63b7 Mon Sep 17 00:00:00 2001 +From: Joseph Myers +Date: Tue, 3 Jul 2012 19:14:59 +0000 +Subject: [PATCH] Avoid use of libgcc_s and libgcc_eh when building glibc. + +--- + ChangeLog | 47 ++++++++++++++++++++++++++++++ + Makeconfig | 68 ++++++++++++++++++++++++++++++++++++++------ + Rules | 45 ++++++++++++++++++++++------- + elf/Makefile | 6 +++- + elf/static-stubs.c | 46 ++++++++++++++++++++++++++++++ + ports/ChangeLog.arm | 7 +++++ + ports/sysdeps/arm/Makefile | 8 ++++++ + 7 files changed, 206 insertions(+), 21 deletions(-) + create mode 100644 elf/static-stubs.c + +-Index: a/ports/sysdeps/arm/Makefile +=================================================================== +--- a/ports/sysdeps/arm/Makefile 2012-07-04 18:25:41.000000000 -0700 ++++ b/ports/sysdeps/arm/Makefile 2012-08-14 20:16:10.201093638 -0700 +@@ -1,8 +1,16 @@ ++gnulib-arch = $(elfobjdir)/libgcc-stubs.a ++static-gnulib-arch = $(elfobjdir)/libgcc-stubs.a ++ + ifeq ($(subdir),elf) + sysdep-dl-routines += tlsdesc dl-tlsdesc + sysdep_routines += aeabi_unwind_cpp_pr1 find_exidx tlsdesc dl-tlsdesc + sysdep-rtld-routines += aeabi_unwind_cpp_pr1 tlsdesc dl-tlsdesc + shared-only-routines += aeabi_unwind_cpp_pr1 ++ ++$(objpfx)libgcc-stubs.a: $(objpfx)aeabi_unwind_cpp_pr1.os ++ $(build-extra-lib) ++ ++lib-noranlib: $(objpfx)libgcc-stubs.a + endif + + ifeq ($(subdir),csu) diff -r b60b008ab49c -r 2800ef0ff450 patches/eglibc/ports-2_16/002-Add-ARM-specific-static-stubs.c.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/eglibc/ports-2_16/002-Add-ARM-specific-static-stubs.c.patch Sun Sep 23 11:18:30 2012 +0900 @@ -0,0 +1,27 @@ +Upstream-Status: Backport + +Signed-off-by: Khem Raj + +From c57a67e03368687fc0d2ae8354cd1b347a61ea44 Mon Sep 17 00:00:00 2001 +From: Joseph Myers +Date: Thu, 5 Jul 2012 22:16:03 +0000 +Subject: [PATCH] Add ARM-specific static-stubs.c. + +--- + ports/ChangeLog.arm | 4 ++++ + ports/sysdeps/arm/static-stubs.c | 7 +++++++ + 2 files changed, 11 insertions(+) + create mode 100644 ports/sysdeps/arm/static-stubs.c + +Index: a/ports/sysdeps/arm/static-stubs.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ b/ports/sysdeps/arm/static-stubs.c 2012-08-15 15:04:59.687669241 -0700 +@@ -0,0 +1,7 @@ ++/* When building with GCC with static-only libgcc, the dummy ++ _Unwind_Resume from static-stubs.c needs to be used together with ++ the dummy __aeabi_unwind_cpp_pr* from aeabi_unwind_cpp_pr1.c ++ instead of the copies from libgcc. */ ++ ++#include ++#include diff -r b60b008ab49c -r 2800ef0ff450 patches/eglibc/ports-2_16/003-mips-rld-map-check.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/eglibc/ports-2_16/003-mips-rld-map-check.patch Sun Sep 23 11:18:30 2012 +0900 @@ -0,0 +1,26 @@ + +On mips target, binutils currently sets DT_MIPS_RLD_MAP to 0 in dynamic +section if a --version-script sets _RLD_MAP to local. This is apparently +a binutils bug, but libc shouldn't segfault in this case. + +see also: http://sourceware.org/bugilla/show_bug.cgi?id=11615 + +Upstream-Status: Pending + +9/19/2010 - added by Qing He + + +--- +diff -ru glibc-2.10.1.orig/ports/sysdeps/mips/dl-machine.h glibc-2.10.1/sysdeps/mips/dl-machine.h +--- glibc-2.10.1.orig/ports/sysdeps/mips/dl-machine.h 2009-05-16 16:36:20.000000000 +0800 ++++ glibc-2.10.1/ports/sysdeps/mips/dl-machine.h 2010-09-19 09:11:53.000000000 +0800 +@@ -70,7 +70,8 @@ + /* If there is a DT_MIPS_RLD_MAP entry in the dynamic section, fill it in + with the run-time address of the r_debug structure */ + #define ELF_MACHINE_DEBUG_SETUP(l,r) \ +-do { if ((l)->l_info[DT_MIPS (RLD_MAP)]) \ ++do { if ((l)->l_info[DT_MIPS (RLD_MAP)] && \ ++ (l)->l_info[DT_MIPS (RLD_MAP)]->d_un.d_ptr) \ + *(ElfW(Addr) *)((l)->l_info[DT_MIPS (RLD_MAP)]->d_un.d_ptr) = \ + (ElfW(Addr)) (r); \ + } while (0)