toplevel libgcc md-unwind-support.h change breaks build

David Miller
Thu Jun 9 00:52:00 GMT 2011

The bootstrap breaks in stage1 when trying to build libgcc for
multilib (this is sparc-unknown-linux with "--enable-targets=all"):

make[3]: Leaving directory `/home/davem/src/GIT/GCC/build-sparc-linux/gcc'
mkdir -p -- sparc-unknown-linux-gnu/libgcc
Checking multilib configuration for libgcc...
Configuring stage 1 in sparc-unknown-linux-gnu/libgcc
configure: creating cache ./config.cache
checking for __attribute__((visibility("hidden")))... yes
checking whether the target assembler supports thread-local storage... yes
checking whether the thread-local storage support is from emutls... no
configure: updating cache ./config.cache
configure: creating ./config.status
config.status: creating Makefile
config.status: linking ../../../gcc/libgcc/config/sparc/linux.h to md-unwind-support.h
config.status: error: ../../../gcc/libgcc/config/sparc/linux.h: file not found
make[2]: *** [configure-stage1-target-libgcc] Error 1
make[2]: Leaving directory `/home/davem/src/GIT/GCC/build-sparc-linux'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/home/davem/src/GIT/GCC/build-sparc-linux'
make: *** [all] Error 2

It's using "linux.h" instead of "linux-unwind.h" for whatever reason.

So we need something like this?

diff --git a/libgcc/ b/libgcc/
index 24282e1..713b2a9 100644
--- a/libgcc/
+++ b/libgcc/
@@ -600,7 +600,7 @@ sparc-*-elf*)
 sparc-*-linux*)		# SPARC's running GNU/Linux, libc6
 	extra_parts="$extra_parts crtfastmath.o"
 	tmake_file="${tmake_file} t-crtfm"
-	md_unwind_header=sparc/linux.h
+	md_unwind_header=sparc/linux-unwind.h
 sparc-*-rtems* | sparc64-*-rtems* )
 	tmake_file="sparc/t-elf t-crtin t-crtfm t-rtems"

More information about the Gcc-patches mailing list