Work around gcc10 FAIL: S-records with constructors
authorAlan Modra <amodra@gmail.com>
Sat, 21 Sep 2019 08:43:52 +0000 (18:13 +0930)
committerAlan Modra <amodra@gmail.com>
Wed, 25 Sep 2019 00:35:14 +0000 (10:05 +0930)
gcc10 on x86_64 and powerpc64le recognises that the loop in
Foo::operator= can be turned into a call to memmove, which then
results in an undefined symbol when linking.  Avoid that by making the
loop smaller.

* testsuite/ld-srec/sr3.cc (FOO_MSG_LEN): Set to 4.

(cherry picked from commit a13ba30840ba7a8450dcb4edd356de61fcb89130)

ld/ChangeLog
ld/testsuite/ld-srec/sr3.cc

index 6d57c99..d1250b0 100644 (file)
@@ -1,3 +1,9 @@
+2019-09-25  Alan Modra  <amodra@gmail.com>
+
+       Apply from master
+       2019-09-22  Alan Modra  <amodra@gmail.com>
+       * testsuite/ld-srec/sr3.cc (FOO_MSG_LEN): Set to 4.
+
 2019-09-19  Alan Modra  <amodra@gmail.com>
 
        PR 24981
index 0b5fa7e..29f8019 100644 (file)
@@ -1,6 +1,6 @@
 // This file is compiled and linked into the S-record format.
 
-#define FOO_MSG_LEN 80
+#define FOO_MSG_LEN 4
 
 class Foo {
     static int foos;