Hi all,
The tests in this patch fail for me on aarch64-none-elf with:
relocation R_AARCH64_ADR_PREL_PG_HI21 against external symbol `_impure_ptr' can
not be used when making a shared object; recompile with -fPIC
I believe since the tests pass -shared to the linker they should be gated on
the 'shared' effective target?
With this patch these tests appear as UNSUPPORTED on aarch64-none-elf rather
than FAILing.
Ok for trunk?
Thanks,
Kyrill
2016-01-24 Kyrylo Tkachov <[email protected]>
* gcc.dg/lto/pr54709_0.c: Require 'shared' effective target.
* gcc.dg/lto/pr61526_0.c: Likewise.
* gcc.dg/lto/pr64415_0.c: Likewise.
diff --git a/gcc/testsuite/gcc.dg/lto/pr54709_0.c b/gcc/testsuite/gcc.dg/lto/pr54709_0.c
index f3db5dc..69697d8 100644
--- a/gcc/testsuite/gcc.dg/lto/pr54709_0.c
+++ b/gcc/testsuite/gcc.dg/lto/pr54709_0.c
@@ -1,6 +1,7 @@
/* { dg-lto-do link } */
/* { dg-require-visibility "hidden" } */
/* { dg-require-effective-target fpic } */
+/* { dg-require-effective-target shared } */
/* { dg-extra-ld-options { -shared } } */
/* { dg-lto-options { { -fPIC -fvisibility=hidden -flto } } } */
diff --git a/gcc/testsuite/gcc.dg/lto/pr61526_0.c b/gcc/testsuite/gcc.dg/lto/pr61526_0.c
index 8a631f0..d3e2c80 100644
--- a/gcc/testsuite/gcc.dg/lto/pr61526_0.c
+++ b/gcc/testsuite/gcc.dg/lto/pr61526_0.c
@@ -1,4 +1,5 @@
/* { dg-require-effective-target fpic } */
+/* { dg-require-effective-target shared } */
/* { dg-lto-do link } */
/* { dg-lto-options { { -fPIC -flto -flto-partition=1to1 } } } */
/* { dg-extra-ld-options { -shared } } */
diff --git a/gcc/testsuite/gcc.dg/lto/pr64415_0.c b/gcc/testsuite/gcc.dg/lto/pr64415_0.c
index 4faab2b..11218e0 100644
--- a/gcc/testsuite/gcc.dg/lto/pr64415_0.c
+++ b/gcc/testsuite/gcc.dg/lto/pr64415_0.c
@@ -1,5 +1,6 @@
/* { dg-lto-do link } */
/* { dg-require-effective-target fpic } */
+/* { dg-require-effective-target shared } */
/* { dg-lto-options { { -O -flto -fpic } } } */
/* { dg-extra-ld-options { -shared } } */
/* { dg-extra-ld-options "-Wl,-undefined,dynamic_lookup" { target *-*-darwin* } } */