From 37f89d6bdad29782ab34752f419fd3d2282f1d80 Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Tue, 27 May 2008 01:46:16 +0000 Subject: [PATCH] re-enable async-unwind-tables --- glibc-sparcv9v-fix-async-unwind-tables.patch | 12 ++++++++++++ glibc.spec | 14 +++++++------- 2 files changed, 19 insertions(+), 7 deletions(-) create mode 100644 glibc-sparcv9v-fix-async-unwind-tables.patch diff --git a/glibc-sparcv9v-fix-async-unwind-tables.patch b/glibc-sparcv9v-fix-async-unwind-tables.patch new file mode 100644 index 0000000..7005084 --- /dev/null +++ b/glibc-sparcv9v-fix-async-unwind-tables.patch @@ -0,0 +1,12 @@ +diff -up glibc-20080412T0741/elf/Makefile.BAD glibc-20080412T0741/elf/Makefile +--- glibc-20080412T0741/elf/Makefile.BAD 2008-05-26 20:09:30.000000000 -0500 ++++ glibc-20080412T0741/elf/Makefile 2008-05-26 20:10:19.000000000 -0500 +@@ -389,6 +389,8 @@ CFLAGS-ldconfig.c = $(SYSCONF-FLAGS) -D' + -D'SLIBDIR="$(slibdir)"' -DIS_IN_ldconfig=1 + CFLAGS-dl-cache.c = $(SYSCONF-FLAGS) + CFLAGS-cache.c = $(SYSCONF-FLAGS) ++CFLAGS-soinit.c += -fno-asynchronous-unwind-tables ++CFLAGS-sofini.c += -fno-asynchronous-unwind-tables + + CPPFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),-DNOT_IN_libc=1 -DIS_IN_rtld=1) + diff --git a/glibc.spec b/glibc.spec index a1ff6db..584aab2 100644 --- a/glibc.spec +++ b/glibc.spec @@ -23,7 +23,7 @@ Summary: The GNU libc libraries Name: glibc Version: 2.8 -Release: 5 +Release: 6 # GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries. # Things that are linked directly into dynamically linked programs # and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional @@ -41,6 +41,7 @@ Source2: %(echo %{glibcsrcdir} | sed s/glibc-/glibc-libidn-/).tar.bz2 Source3: %{glibcname}-fedora-%{glibcdate}.tar.bz2 Patch0: %{glibcname}-fedora.patch Patch1: %{name}-ia64-lib64.patch +Patch2: glibc-sparcv9v-fix-async-unwind-tables.patch Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Obsoletes: glibc-profile < 2.4 Provides: ldconfig @@ -220,6 +221,7 @@ package or when debugging this package. %patch1 -p1 %endif %endif +%patch2 -p1 # A lot of programs still misuse memcpy when they have to use # memmove. The memcpy implementation below is not tolerant at @@ -285,13 +287,7 @@ GCC="gcc -m64" GXX="g++ -m64" %endif -# Applying -fasynchronous-unwind-tables to everything is definitely wrong on sparc arches, probably wrong everywhere. -# FIXME -%ifarch sparc sparcv9 sparcv9v sparc64 sparc64v -BuildFlags="$BuildFlags -DNDEBUG=1" -%else BuildFlags="$BuildFlags -DNDEBUG=1 -fasynchronous-unwind-tables" -%endif #BuildFlags="$BuildFlags -fasynchronous-unwind-tables" EnableKernel="--enable-kernel=%{enablekernel}" echo "$GCC" > Gcc @@ -986,6 +982,10 @@ rm -f *.filelist* %endif %changelog +* Mon May 26 2008 Tom "spot" Callaway 2.8-6 +- disable async-unwind-tables for soinit.c and sofini.c +- re-enable fasynchronous-unwind-tables + * Sun May 18 2008 Tom "spot" Callaway 2.8-5 - fasynchronous-unwind-tables causes failures on sparc arches, dont use it