[gold commit] Fix failing aarch64 test case for PR 23870
Cary Coutant
ccoutant@gmail.com
Sat Mar 20 01:01:32 GMT 2021
The test case was returning from main with a random return value.
(Well, not so random -- it's returning the value in x0, which is
the function pointer originally passed to foo.) Fix the code to
check that the call to the shared library was successful, and
return 0 if so.
I've committed the following patch to fix this test case.
-cary
2021-03-19 Cary Coutant <ccoutant@gmail.com>
gold/
PR gold/pr23870
* testsuite/aarch64_pr23870_bar.c: Return a magic value.
* testsuite/aarch64_pr23870_foo.c: Check the magic value and return
success or failure.
diff --git a/gold/testsuite/aarch64_pr23870_bar.c
b/gold/testsuite/aarch64_pr23870_bar.c
index 9e19767f33b..bfbd3c5f5fd 100644
--- a/gold/testsuite/aarch64_pr23870_bar.c
+++ b/gold/testsuite/aarch64_pr23870_bar.c
@@ -1,6 +1,6 @@
-void bar (void);
+int bar (void);
-void bar ()
+int bar ()
{
- return;
+ return 0x55;
}
diff --git a/gold/testsuite/aarch64_pr23870_foo.c
b/gold/testsuite/aarch64_pr23870_foo.c
index ade3ee6329d..220fd572367 100644
--- a/gold/testsuite/aarch64_pr23870_foo.c
+++ b/gold/testsuite/aarch64_pr23870_foo.c
@@ -1,6 +1,6 @@
-void foo (void (*bar)(void));
+int foo (int (*bar)(void));
-void foo (void (*bar)(void))
+int foo (int (*bar)(void))
{
- bar();
+ return bar() == 0x55 ? 0 : 1;
}
More information about the Binutils
mailing list