summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2019-09-21 18:13:52 +0930
committerAlan Modra <amodra@gmail.com>2019-09-22 21:13:10 +0930
commita13ba30840ba7a8450dcb4edd356de61fcb89130 (patch)
treea7fac2ef7181f54a8d2a606a3417e782049cb000
parent77d036789aab73c90dc7f4c798f34748b03de726 (diff)
downloadbinutils-gdb-a13ba30840ba7a8450dcb4edd356de61fcb89130.tar.gz
Work around gcc10 FAIL: S-records with constructors
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.
-rw-r--r--ld/ChangeLog4
-rw-r--r--ld/testsuite/ld-srec/sr3.cc2
2 files changed, 5 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 57d4df713aa..eb7981ea48a 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,7 @@
+2019-09-22 Alan Modra <amodra@gmail.com>
+
+ * testsuite/ld-srec/sr3.cc (FOO_MSG_LEN): Set to 4.
+
2019-09-20 Nelson Chu <nelson.chu@sifive.com>
* testsuite/ld-riscv-elf/weakref32.s: Add relaxable undef weak code.
diff --git a/ld/testsuite/ld-srec/sr3.cc b/ld/testsuite/ld-srec/sr3.cc
index 0b5fa7ec893..29f8019468d 100644
--- a/ld/testsuite/ld-srec/sr3.cc
+++ b/ld/testsuite/ld-srec/sr3.cc
@@ -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;