[OpenWrt-Devel] [PATCH][RESEND] [tools] gcc: don't clobber stamp-bits with a symlink to itself

John Szakmeister john at szakmeister.net
Tue Dec 9 05:46:49 EST 2014


Several versions of gcc have an issue in libstdc++v3 where the build may
clobber stamp-bits with a link to itself.  This doesn't manifest itself
on all systems.  On several Ubuntu systems, this doesn't appear to be a
problem, but it is an issue on Fedora 16 systems.

To fix the issue, we'll simply filter out stamp-bits from the symlinks
to be generated.

Note: gcc 4.4.7 is unaffected by this issue, so no fix is necessary
there.

Signed-off-by: John Szakmeister <john at szakmeister.net>
---
This is a resend of a patch I sent earlier
(https://lists.openwrt.org/pipermail/openwrt-devel/2014-September/028068.html).
I've updated to work with the current set of gcc toolchains.

 .../gcc/patches/4.6-linaro/940-no-clobber-stamp-bits.patch  | 11 +++++++++++
 .../gcc/patches/4.8-linaro/940-no-clobber-stamp-bits.patch  | 11 +++++++++++
 .../gcc/patches/4.9-linaro/940-no-clobber-stamp-bits.patch  | 13 +++++++++++++
 3 files changed, 35 insertions(+)
 create mode 100644 toolchain/gcc/patches/4.6-linaro/940-no-clobber-stamp-bits.patch
 create mode 100644 toolchain/gcc/patches/4.8-linaro/940-no-clobber-stamp-bits.patch
 create mode 100644 toolchain/gcc/patches/4.9-linaro/940-no-clobber-stamp-bits.patch

diff --git a/toolchain/gcc/patches/4.6-linaro/940-no-clobber-stamp-bits.patch b/toolchain/gcc/patches/4.6-linaro/940-no-clobber-stamp-bits.patch
new file mode 100644
index 0000000..9106a4a
--- /dev/null
+++ b/toolchain/gcc/patches/4.6-linaro/940-no-clobber-stamp-bits.patch
@@ -0,0 +1,11 @@
+--- a/libstdc++-v3/include/Makefile.in
++++ b/libstdc++-v3/include/Makefile.in
+@@ -1326,7 +1326,7 @@
+ 	@$(STAMP) stamp-bits
+ 
+ stamp-bits-sup: stamp-bits ${bits_sup_headers}
+-	@-cd ${bits_builddir} && $(LN_S) $? . 2>/dev/null
++	@-cd ${bits_builddir} && $(LN_S) $(filter-out stamp-bits,$?) . 2>/dev/null
+ 	@$(STAMP) stamp-bits-sup
+ 
+ stamp-c_base: ${c_base_headers}
diff --git a/toolchain/gcc/patches/4.8-linaro/940-no-clobber-stamp-bits.patch b/toolchain/gcc/patches/4.8-linaro/940-no-clobber-stamp-bits.patch
new file mode 100644
index 0000000..dbecef2
--- /dev/null
+++ b/toolchain/gcc/patches/4.8-linaro/940-no-clobber-stamp-bits.patch
@@ -0,0 +1,11 @@
+--- a/libstdc++-v3/include/Makefile.in
++++ b/libstdc++-v3/include/Makefile.in
+@@ -1342,7 +1342,7 @@
+ 	@$(STAMP) stamp-bits
+ 
+ stamp-bits-sup: stamp-bits ${bits_sup_headers}
+-	@-cd ${bits_builddir} && $(LN_S) $? . 2>/dev/null
++	@-cd ${bits_builddir} && $(LN_S) $(filter-out stamp-bits,$?) . 2>/dev/null
+ 	@$(STAMP) stamp-bits-sup
+ 
+ stamp-c_base: ${c_base_headers}
diff --git a/toolchain/gcc/patches/4.9-linaro/940-no-clobber-stamp-bits.patch b/toolchain/gcc/patches/4.9-linaro/940-no-clobber-stamp-bits.patch
new file mode 100644
index 0000000..f874255
--- /dev/null
+++ b/toolchain/gcc/patches/4.9-linaro/940-no-clobber-stamp-bits.patch
@@ -0,0 +1,13 @@
+Index: gcc-linaro-4.9-2014.10/libstdc++-v3/include/Makefile.in
+===================================================================
+--- gcc-linaro-4.9-2014.10.orig/libstdc++-v3/include/Makefile.in	2013-11-16 12:44:48.000000000 -0500
++++ gcc-linaro-4.9-2014.10/libstdc++-v3/include/Makefile.in	2014-12-02 06:23:02.236660279 -0500
+@@ -1366,7 +1366,7 @@
+ 	@$(STAMP) stamp-bits
+ 
+ stamp-bits-sup: stamp-bits ${bits_sup_headers}
+-	@-cd ${bits_builddir} && $(LN_S) $? . 2>/dev/null
++	@-cd ${bits_builddir} && $(LN_S) $(filter-out stamp-bits,$?) . 2>/dev/null
+ 	@$(STAMP) stamp-bits-sup
+ 
+ stamp-c_base: ${c_base_headers}
-- 
2.1.1
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list