diff options
-rw-r--r-- | gold/ChangeLog | 6 | ||||
-rw-r--r-- | gold/testsuite/ifuncmain6pie.c | 14 | ||||
-rw-r--r-- | gold/testsuite/ifuncmod6.c | 10 |
3 files changed, 14 insertions, 16 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index 33d97dd..a1d3d30 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,9 @@ +2021-01-17 H.J. Lu <hongjiu.lu@intel.com> + + * testsuite/ifuncmain6pie.c: Remove non-JUMP_SLOT relocations + against foo in ifuncmod6.so. + * testsuite/ifuncmod6.c: Likewise. + 2021-01-14 Nick Clifton <nickc@redhat.com> * po/fr.po: Updated French translation. diff --git a/gold/testsuite/ifuncmain6pie.c b/gold/testsuite/ifuncmain6pie.c index 8478d4c..5c3eb60 100644 --- a/gold/testsuite/ifuncmain6pie.c +++ b/gold/testsuite/ifuncmain6pie.c @@ -9,7 +9,6 @@ #include "ifunc-sel.h" typedef int (*foo_p) (void); -extern foo_p foo_ptr; static int one (void) @@ -27,20 +26,17 @@ foo_ifunc (void) } extern int foo (void); -extern foo_p get_foo (void); +extern int call_foo (void); extern foo_p get_foo_p (void); -foo_p my_foo_ptr = foo; +foo_p foo_ptr = foo; int main (void) { foo_p p; - p = get_foo (); - if (p != foo) - abort (); - if ((*p) () != -30) + if (call_foo () != -30) abort (); p = get_foo_p (); @@ -51,12 +47,8 @@ main (void) if (foo_ptr != foo) abort (); - if (my_foo_ptr != foo) - abort (); if ((*foo_ptr) () != -30) abort (); - if ((*my_foo_ptr) () != -30) - abort (); if (foo () != -30) abort (); diff --git a/gold/testsuite/ifuncmod6.c b/gold/testsuite/ifuncmod6.c index 89a50f9..d324a82 100644 --- a/gold/testsuite/ifuncmod6.c +++ b/gold/testsuite/ifuncmod6.c @@ -5,9 +5,9 @@ extern int foo (void); typedef int (*foo_p) (void); extern foo_p get_foo_p (void); -extern foo_p get_foo (void); +extern int call_foo (void); -foo_p foo_ptr = foo; +extern foo_p foo_ptr; foo_p get_foo_p (void) @@ -15,8 +15,8 @@ get_foo_p (void) return foo_ptr; } -foo_p -get_foo (void) +int +call_foo (void) { - return foo; + return foo (); } |