summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordoko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>2015-09-15 15:52:40 +0000
committerdoko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>2015-09-15 15:52:40 +0000
commit33b5330a828948fa8f4d7be64b037802b476b363 (patch)
treeb7af6b23eec7026627ea90553dec4702faa3898c
parentd9743453f029d351790f997f99369fbe2fde465e (diff)
downloadgcc-5-33b5330a828948fa8f4d7be64b037802b476b363.tar.gz
* 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
-rw-r--r--debian/patches/pr65913-workaround-old.diff25
-rw-r--r--debian/patches/pr65913-workaround.diff25
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