Add another test for PR ld/18841
PR ld/18841 * ld-ifunc/ifunc.exp: Add another test for PR ld/18841. * ld-ifunc/pr18841c.c: New file.
This commit is contained in:
parent
26d56a939e
commit
4e1626f5a8
@ -1,3 +1,9 @@
|
||||
2015-08-18 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/18841
|
||||
* ld-ifunc/ifunc.exp: Add another test for PR ld/18841.
|
||||
* ld-ifunc/pr18841c.c: New file.
|
||||
|
||||
2015-08-18 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/18841
|
||||
|
@ -473,12 +473,20 @@ run_cc_link_tests [list \
|
||||
"libpr18808.so" \
|
||||
] \
|
||||
[list \
|
||||
"Build libpr18841.so" \
|
||||
"Build libpr18841b.so" \
|
||||
"-shared" \
|
||||
"-fPIC -O0 -g" \
|
||||
{ pr18841b.c } \
|
||||
{} \
|
||||
"libpr18841.so" \
|
||||
"libpr18841b.so" \
|
||||
] \
|
||||
[list \
|
||||
"Build libpr18841c.so" \
|
||||
"-shared" \
|
||||
"-fPIC -O0 -g" \
|
||||
{ pr18841c.c } \
|
||||
{} \
|
||||
"libpr18841c.so" \
|
||||
] \
|
||||
]
|
||||
|
||||
@ -492,11 +500,19 @@ run_ld_link_exec_tests [] [list \
|
||||
"pr18808.out" \
|
||||
] \
|
||||
[list \
|
||||
"Run pr18841" \
|
||||
"tmpdir/libpr18841.so" \
|
||||
"Run pr18841 with libpr18841b.so" \
|
||||
"tmpdir/libpr18841b.so" \
|
||||
"" \
|
||||
{ pr18841a.c } \
|
||||
"pr18841" \
|
||||
"pr18841b" \
|
||||
"pr18841.out" \
|
||||
] \
|
||||
[list \
|
||||
"Run pr18841 with libpr18841c.so" \
|
||||
"tmpdir/libpr18841c.so" \
|
||||
"" \
|
||||
{ pr18841a.c } \
|
||||
"pr18841c" \
|
||||
"pr18841.out" \
|
||||
] \
|
||||
]
|
||||
|
17
ld/testsuite/ld-ifunc/pr18841c.c
Normal file
17
ld/testsuite/ld-ifunc/pr18841c.c
Normal file
@ -0,0 +1,17 @@
|
||||
void foo() __attribute__((ifunc("resolve_foo")));
|
||||
|
||||
static void foo_impl() {}
|
||||
extern void zoo(void);
|
||||
void (*pz)(void) = zoo;
|
||||
|
||||
void test()
|
||||
{
|
||||
void (*pg)(void) = foo;
|
||||
pg();
|
||||
}
|
||||
|
||||
static void* resolve_foo()
|
||||
{
|
||||
pz();
|
||||
return foo_impl;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user