diff options
Diffstat (limited to 'gold')
-rw-r--r-- | gold/ChangeLog | 6 | ||||
-rw-r--r-- | gold/testsuite/discard_locals_relocatable_test.c | 9 | ||||
-rwxr-xr-x | gold/testsuite/discard_locals_test.sh | 2 |
3 files changed, 15 insertions, 2 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index efd7752..c3d1b5a 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,5 +1,11 @@ 2013-03-07 Alan Modra <amodra@gmail.com> + * testsuite/discard_locals_relocatable_test.c: Add a powerpc + relocation referencing .LC0. + * testsuite/discard_locals_test.sh: Remove FIXMEs. + +2013-03-07 Alan Modra <amodra@gmail.com> + * testsuite/ifunc-sel.h (ifunc_sel, ifunc_one): Mark always_inline. Add assembly for powerpc to avoid GOT. diff --git a/gold/testsuite/discard_locals_relocatable_test.c b/gold/testsuite/discard_locals_relocatable_test.c index d46151e..f7f8b27 100644 --- a/gold/testsuite/discard_locals_relocatable_test.c +++ b/gold/testsuite/discard_locals_relocatable_test.c @@ -31,6 +31,15 @@ in the output object file. */ asm (".Lshould_be_discarded:"); +#ifdef __powerpc__ +/* Test wants to keep one local. Satisfy it. */ +#ifdef __powerpc64__ +asm (".reloc 0,R_PPC64_NONE,.LC0"); +#else +asm (".reloc 0,R_PPC_NONE,.LC0"); +#endif +#endif + extern void print_func (const char* s); extern int func (void); diff --git a/gold/testsuite/discard_locals_test.sh b/gold/testsuite/discard_locals_test.sh index 0d0a118..3fc679a 100755 --- a/gold/testsuite/discard_locals_test.sh +++ b/gold/testsuite/discard_locals_test.sh @@ -55,10 +55,8 @@ check_non_discarded() check_discarded "discard_locals_test.syms" "should_be_discarded" -# FIXME: gcc doesn't generate a .LC0 sym for powerpc64 check_non_discarded "discard_locals_relocatable_test1.syms" ".LC0" check_discarded "discard_locals_relocatable_test1.syms" "should_be_discarded" -# FIXME: gcc doesn't generate a .LC0 sym for powerpc64 check_non_discarded "discard_locals_relocatable_test2.syms" ".LC0" check_discarded "discard_locals_relocatable_test2.syms" "should_be_discarded" |