mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-19 07:13:40 +08:00
6fe014bcd3
When a wrapper symbol, __wrap_FOO, is defined in IR, its resolution should be LDPR_PREVAILING_DEF, not PREVAILING_DEF_IRONLY, since LTO doesn't know that __wrap_FOO provides definition of FOO. And resolution of FOO should be LDPR_RESOLVED_IR since it is resolved by __wrap_FOO in IR. PR ld/24406 * ld.texi: Remove LTO warning from --wrap. * plugin.c (get_symbols): Update resolution for wrapper and wrapped symbols. * testsuite/ld-plugin/lto.exp: Run ld/24406 tests. * testsuite/ld-plugin/pr24406-1.c: New file. * testsuite/ld-plugin/pr24406-2a.c: Likewise. * testsuite/ld-plugin/pr24406-2b.c: Likewise.
18 lines
173 B
C
18 lines
173 B
C
#include <stdio.h>
|
|
|
|
extern int cook(void);
|
|
|
|
int __wrap_cook(void)
|
|
{
|
|
puts ("PASS");
|
|
return 0;
|
|
}
|
|
|
|
int main()
|
|
{
|
|
if (cook () == -1)
|
|
__builtin_abort ();
|
|
|
|
return 0;
|
|
}
|