@@ -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)
@@ -1,27 +0,0 @@
-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>
@@ -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 <qing.he@intel.com>
-
-
----
-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)
@@ -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/sysdeps/arm/Makefile
+===================================================================
+--- a/sysdeps/arm/Makefile 2012-07-04 18:25:41.000000000 -0700
++++ b/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)
@@ -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/sysdeps/arm/static-stubs.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ b/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>
@@ -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/sysdeps/mips/dl-machine.h glibc-2.10.1/sysdeps/mips/dl-machine.h
+--- glibc-2.10.1.orig/sysdeps/mips/dl-machine.h 2009-05-16 16:36:20.000000000 +0800
++++ glibc-2.10.1/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)
# HG changeset patch # User Jang, Bongseo <graycells@gmail.com> # Date 1348366710 -32400 # Node ID 5040c8e83e35618361dc0f8470ff06abebab3e02 # Parent b60b008ab49cc1b8623ba2623fb0467ef479b7a4 patches/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> -- For unsubscribe information see http://sourceware.org/lists.html#faq