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 <[email protected]> --- 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 [email protected] https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
