diff options
author | Jang, Bongseo <graycells@gmail.com> | 2012-09-23 02:18:30 (GMT) |
---|---|---|
committer | Jang, Bongseo <graycells@gmail.com> | 2012-09-23 02:18:30 (GMT) |
commit | 3d37777119311bb649fa2a79e353a5137dd3d951 (patch) | |
tree | ce2ac0afd587d80f1b76615335ceeeba51f30038 /patches/eglibc/ports-2_16 | |
parent | 6eefc4b665c8ce20169892087c19785746b95b78 (diff) |
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" <graycells@gmail.com>
[yann.morin.1998@free.fr: fix the ports patches depth]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-ID: <5040c8e83e35618361dc.1348370890@localhost.localdomain>
PatchWork-ID: 186177
Diffstat (limited to 'patches/eglibc/ports-2_16')
3 files changed, 93 insertions, 0 deletions
diff --git a/patches/eglibc/ports-2_16/001-Avoid-use-of-libgcc_s-and-libgcc_eh-when-building-gl.patch b/patches/eglibc/ports-2_16/001-Avoid-use-of-libgcc_s-and-libgcc_eh-when-building-gl.patch new file mode 100644 index 0000000..0e58a76 --- /dev/null +++ b/patches/eglibc/ports-2_16/001-Avoid-use-of-libgcc_s-and-libgcc_eh-when-building-gl.patch @@ -0,0 +1,40 @@ +Upstream-Status: Backport +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +From 95f5a9a866695da4e038aa4e6ccbbfd5d9cf63b7 Mon Sep 17 00:00:00 2001 +From: Joseph Myers <joseph@codesourcery.com> +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 --git a/patches/eglibc/ports-2_16/002-Add-ARM-specific-static-stubs.c.patch b/patches/eglibc/ports-2_16/002-Add-ARM-specific-static-stubs.c.patch new file mode 100644 index 0000000..3a30621 --- /dev/null +++ b/patches/eglibc/ports-2_16/002-Add-ARM-specific-static-stubs.c.patch @@ -0,0 +1,27 @@ +Upstream-Status: Backport + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +From c57a67e03368687fc0d2ae8354cd1b347a61ea44 Mon Sep 17 00:00:00 2001 +From: Joseph Myers <joseph@codesourcery.com> +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 <elf/static-stubs.c> ++#include <aeabi_unwind_cpp_pr1.c> diff --git a/patches/eglibc/ports-2_16/003-mips-rld-map-check.patch b/patches/eglibc/ports-2_16/003-mips-rld-map-check.patch new file mode 100644 index 0000000..19cb838 --- /dev/null +++ b/patches/eglibc/ports-2_16/003-mips-rld-map-check.patch @@ -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 <qing.he@intel.com> + + +--- +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) |