From 33b5330a828948fa8f4d7be64b037802b476b363 Mon Sep 17 00:00:00 2001 From: doko Date: Tue, 15 Sep 2015 15:52:40 +0000 Subject: * Work around PR c++/65913, link with -latomic when linking with -stdc++. Closes: #797577. git-svn-id: svn://anonscm.debian.org/gcccvs/branches/sid/gcc-5@8229 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca --- debian/patches/pr65913-workaround-old.diff | 25 +++++++++++++++++++------ debian/patches/pr65913-workaround.diff | 25 +++++++++++++++++++------ 2 files changed, 38 insertions(+), 12 deletions(-) diff --git a/debian/patches/pr65913-workaround-old.diff b/debian/patches/pr65913-workaround-old.diff index 6a1bb22..26c026c 100644 --- a/debian/patches/pr65913-workaround-old.diff +++ b/debian/patches/pr65913-workaround-old.diff @@ -43,8 +43,17 @@ # If we are building libgomp, bootstrap it. if echo " ${target_configdirs} " | grep " libgomp " > /dev/null 2>&1 ; then bootstrap_target_libs=${bootstrap_target_libs}target-libgomp, +@@ -3389,7 +3394,7 @@ + GCC_TARGET_TOOL(cc, CC_FOR_TARGET, CC, [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/]) + dnl see comments for CXX_FOR_TARGET_FLAG_TO_PASS + GCC_TARGET_TOOL(c++, CXX_FOR_TARGET, CXX, +- [gcc/xg++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `if test -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags; then $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes; else echo -funconfigured-libstdc++-v3 ; fi` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs], ++ [gcc/xg++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `if test -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags; then $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes; else echo -funconfigured-libstdc++-v3 ; fi` -L$$r/$(TARGET_SUBDIR)/libatomic/.libs -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs], + c++) + GCC_TARGET_TOOL(c++ for libstdc++, RAW_CXX_FOR_TARGET, CXX, + [gcc/xgcc -shared-libgcc -B$$r/$(HOST_SUBDIR)/gcc -nostdinc++ -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs], --- a/src/Makefile.def -+++ a/src/Makefile.def ++++ b/src/Makefile.def @@ -166,7 +166,7 @@ target_modules = { module= libada; }; target_modules = { module= libgomp; bootstrap= true; lib_path=.libs; }; @@ -62,16 +71,18 @@ dependencies = { module=configure-target-libstdc++-v3; on=configure-target-libgomp; }; dependencies = { module=configure-target-liboffloadmic; on=configure-target-libgomp; }; dependencies = { module=configure-target-libsanitizer; on=all-target-libstdc++-v3; }; -@@ -574,6 +575,7 @@ +@@ -574,6 +575,9 @@ dependencies = { module=install-target-libitm; on=install-target-libgcc; }; dependencies = { module=install-target-libobjc; on=install-target-libgcc; }; dependencies = { module=install-target-libstdc++-v3; on=install-target-libgcc; }; +dependencies = { module=install-target-libstdc++-v3; on=install-target-libatomic; }; ++dependencies = { module=install-target-libcc1; on=install-target-libstdc++-v3; }; ++dependencies = { module=install-target-libcc1; on=install-target-libatomic; }; // Target modules in the 'src' repository. lang_env_dependencies = { module=libtermcap; }; --- a/src/Makefile.tpl -+++ a/src/Makefile.tpl ++++ b/src/Makefile.tpl @@ -240,11 +240,13 @@ POSTSTAGE1_CXX_EXPORT = \ CXX="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/xg++$(exeext) \ @@ -87,7 +98,7 @@ -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs"; \ export CXX; \ --- a/src/Makefile.in -+++ a/src/Makefile.in ++++ b/src/Makefile.in @@ -237,11 +237,13 @@ POSTSTAGE1_CXX_EXPORT = \ CXX="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/xg++$(exeext) \ @@ -695,15 +706,17 @@ configure-target-libstdc++-v3: maybe-configure-target-libgomp configure-stage1-target-libstdc++-v3: maybe-configure-stage1-target-libgomp -@@ -50377,6 +50912,7 @@ +@@ -50377,6 +50912,9 @@ install-target-libitm: maybe-install-target-libgcc install-target-libobjc: maybe-install-target-libgcc install-target-libstdc++-v3: maybe-install-target-libgcc +install-target-libstdc++-v3: maybe-install-target-libatomic ++install-target-libcc1: maybe-install-target-libstdc++-v3 ++install-target-libcc1: maybe-install-target-libatomic all-target-libgloss: maybe-all-target-newlib all-target-winsup: maybe-all-target-libtermcap configure-target-newlib: maybe-all-binutils -@@ -50420,6 +50956,12 @@ +@@ -50420,6 +50958,12 @@ configure-stage4-target-libgomp: maybe-all-stage4-target-libgcc configure-stageprofile-target-libgomp: maybe-all-stageprofile-target-libgcc configure-stagefeedback-target-libgomp: maybe-all-stagefeedback-target-libgcc diff --git a/debian/patches/pr65913-workaround.diff b/debian/patches/pr65913-workaround.diff index 153ffe8..2463f85 100644 --- a/debian/patches/pr65913-workaround.diff +++ b/debian/patches/pr65913-workaround.diff @@ -46,8 +46,17 @@ # If we are building libgomp, bootstrap it. if echo " ${target_configdirs} " | grep " libgomp " > /dev/null 2>&1 ; then bootstrap_target_libs=${bootstrap_target_libs}target-libgomp, +@@ -3389,7 +3394,7 @@ + GCC_TARGET_TOOL(cc, CC_FOR_TARGET, CC, [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/]) + dnl see comments for CXX_FOR_TARGET_FLAG_TO_PASS + GCC_TARGET_TOOL(c++, CXX_FOR_TARGET, CXX, +- [gcc/xg++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `if test -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags; then $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes; else echo -funconfigured-libstdc++-v3 ; fi` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs], ++ [gcc/xg++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `if test -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags; then $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes; else echo -funconfigured-libstdc++-v3 ; fi` -L$$r/$(TARGET_SUBDIR)/libatomic/.libs -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs], + c++) + GCC_TARGET_TOOL(c++ for libstdc++, RAW_CXX_FOR_TARGET, CXX, + [gcc/xgcc -shared-libgcc -B$$r/$(HOST_SUBDIR)/gcc -nostdinc++ -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs], --- a/src/Makefile.def -+++ a/src/Makefile.def ++++ b/src/Makefile.def @@ -166,7 +166,7 @@ target_modules = { module= libada; }; target_modules = { module= libgomp; bootstrap= true; lib_path=.libs; }; @@ -65,16 +74,18 @@ dependencies = { module=configure-target-libstdc++-v3; on=configure-target-libgomp; }; dependencies = { module=configure-target-liboffloadmic; on=configure-target-libgomp; }; dependencies = { module=configure-target-libsanitizer; on=all-target-libstdc++-v3; }; -@@ -574,6 +575,7 @@ +@@ -574,6 +575,9 @@ dependencies = { module=install-target-libitm; on=install-target-libgcc; }; dependencies = { module=install-target-libobjc; on=install-target-libgcc; }; dependencies = { module=install-target-libstdc++-v3; on=install-target-libgcc; }; +dependencies = { module=install-target-libstdc++-v3; on=install-target-libatomic; }; ++dependencies = { module=install-target-libcc1; on=install-target-libstdc++-v3; }; ++dependencies = { module=install-target-libcc1; on=install-target-libatomic; }; // Target modules in the 'src' repository. lang_env_dependencies = { module=libtermcap; }; --- a/src/Makefile.tpl -+++ a/src/Makefile.tpl ++++ b/src/Makefile.tpl @@ -240,11 +240,13 @@ POSTSTAGE1_CXX_EXPORT = \ CXX="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/xg++$(exeext) \ @@ -90,7 +101,7 @@ -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs"; \ export CXX; \ --- a/src/Makefile.in -+++ a/src/Makefile.in ++++ b/src/Makefile.in @@ -237,11 +237,13 @@ POSTSTAGE1_CXX_EXPORT = \ CXX="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/xg++$(exeext) \ @@ -698,15 +709,17 @@ configure-target-libstdc++-v3: maybe-configure-target-libgomp configure-stage1-target-libstdc++-v3: maybe-configure-stage1-target-libgomp -@@ -50377,6 +50912,7 @@ +@@ -50377,6 +50912,9 @@ install-target-libitm: maybe-install-target-libgcc install-target-libobjc: maybe-install-target-libgcc install-target-libstdc++-v3: maybe-install-target-libgcc +install-target-libstdc++-v3: maybe-install-target-libatomic ++install-target-libcc1: maybe-install-target-libstdc++-v3 ++install-target-libcc1: maybe-install-target-libatomic all-target-libgloss: maybe-all-target-newlib all-target-winsup: maybe-all-target-libtermcap configure-target-newlib: maybe-all-binutils -@@ -50420,6 +50956,12 @@ +@@ -50420,6 +50958,12 @@ configure-stage4-target-libgomp: maybe-all-stage4-target-libgcc configure-stageprofile-target-libgomp: maybe-all-stageprofile-target-libgcc configure-stagefeedback-target-libgomp: maybe-all-stagefeedback-target-libgcc -- cgit v1.2.3