diff --git a/gold/ChangeLog b/gold/ChangeLog index efd7752e4e..c3d1b5af13 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,9 @@ +2013-03-07 Alan Modra + + * testsuite/discard_locals_relocatable_test.c: Add a powerpc + relocation referencing .LC0. + * testsuite/discard_locals_test.sh: Remove FIXMEs. + 2013-03-07 Alan Modra * testsuite/ifunc-sel.h (ifunc_sel, ifunc_one): Mark diff --git a/gold/testsuite/discard_locals_relocatable_test.c b/gold/testsuite/discard_locals_relocatable_test.c index d46151e42c..f7f8b27920 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 0d0a118472..3fc679a458 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"