Add a testcase for PR ld/17973
ld/ PR ld/17973 * testplug2.c (allsymbolsread_silent): New. (set_register_hook): Handle allsymbolsreadsilent. (onall_symbols_read): Skip a message if allsymbolsread_silent is TRUE. ld/testsuite/ PR ld/17973 * ld-plugin/plugin.exp (regassilent): New. Compile tmpdir/dummy.s and ld-plugin/pr17973.s. (plugin_tests): Add a test for PR ld/17973. * ld-plugin/pr17973.d: New file. * ld-plugin/pr17973.s: Likewise.
This commit is contained in:
parent
ce875075f9
commit
f58926a652
|
@ -1,3 +1,11 @@
|
|||
2015-02-14 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/17973
|
||||
* testplug2.c (allsymbolsread_silent): New.
|
||||
(set_register_hook): Handle allsymbolsreadsilent.
|
||||
(onall_symbols_read): Skip a message if allsymbolsread_silent is
|
||||
TRUE.
|
||||
|
||||
2015-02-14 Alan Modra <amodra@gmail.com>
|
||||
|
||||
PR ld/17973
|
||||
|
|
|
@ -125,6 +125,7 @@ static bfd_boolean register_claimfile_hook = TRUE;
|
|||
static bfd_boolean register_allsymbolsread_hook = FALSE;
|
||||
static bfd_boolean register_cleanup_hook = FALSE;
|
||||
static bfd_boolean dumpresolutions = FALSE;
|
||||
static bfd_boolean allsymbolsread_silent = FALSE;
|
||||
|
||||
/* The master list of all claimable/claimed files. */
|
||||
static claim_file_t *claimfiles_list = NULL;
|
||||
|
@ -307,6 +308,11 @@ set_register_hook (const char *whichhook, bfd_boolean yesno)
|
|||
register_claimfile_hook = yesno;
|
||||
else if (!strcmp ("allsymbolsread", whichhook))
|
||||
register_allsymbolsread_hook = yesno;
|
||||
else if (!strcmp ("allsymbolsreadsilent", whichhook))
|
||||
{
|
||||
register_allsymbolsread_hook = yesno;
|
||||
allsymbolsread_silent = TRUE;
|
||||
}
|
||||
else if (!strcmp ("cleanup", whichhook))
|
||||
register_cleanup_hook = yesno;
|
||||
else
|
||||
|
@ -573,7 +579,8 @@ onall_symbols_read (void)
|
|||
char buffer[30];
|
||||
int fd;
|
||||
char *filename;
|
||||
TV_MESSAGE (LDPL_INFO, "hook called: all symbols read.");
|
||||
if (! allsymbolsread_silent)
|
||||
TV_MESSAGE (LDPL_INFO, "hook called: all symbols read.");
|
||||
for ( ; claimfile; claimfile = claimfile->next)
|
||||
{
|
||||
enum ld_plugin_status rv;
|
||||
|
|
|
@ -1,3 +1,12 @@
|
|||
2015-02-14 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/17973
|
||||
* ld-plugin/plugin.exp (regassilent): New.
|
||||
Compile tmpdir/dummy.s and ld-plugin/pr17973.s.
|
||||
(plugin_tests): Add a test for PR ld/17973.
|
||||
* ld-plugin/pr17973.d: New file.
|
||||
* ld-plugin/pr17973.s: Likewise.
|
||||
|
||||
2015-02-12 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* ld-i386/i386.exp: Replace elf_i386 with elf_i386_nacl for nacl.
|
||||
|
|
|
@ -66,6 +66,7 @@ verbose "Full plugin3 path $plugin3_path" 2
|
|||
|
||||
set regclm "-plugin-opt registerclaimfile"
|
||||
set regas "-plugin-opt registerallsymbolsread"
|
||||
set regassilent "-plugin-opt registerallsymbolsreadsilent"
|
||||
set regcln "-plugin-opt registercleanup"
|
||||
|
||||
if { [istarget m681*-*-*] || [istarget m68hc1*-*-*] || [istarget m9s12x*-*-*] } {
|
||||
|
@ -85,7 +86,9 @@ set plugin_nm_output ""
|
|||
if { $can_compile && \
|
||||
(![ld_compile "$CC $CFLAGS" $srcdir/$subdir/main.c tmpdir/main.o] \
|
||||
|| ![ld_compile "$CC $CFLAGS" $srcdir/$subdir/func.c tmpdir/func.o] \
|
||||
|| ![ld_compile "$CC $CFLAGS" $srcdir/$subdir/text.c tmpdir/text.o]) } {
|
||||
|| ![ld_compile "$CC $CFLAGS" $srcdir/$subdir/text.c tmpdir/text.o] \
|
||||
|| ![ld_compile "$CC $CFLAGS" $srcdir/$subdir/dummy.s tmpdir/dummy.o] \
|
||||
|| ![ld_compile "$CC $CFLAGS" $srcdir/$subdir/pr17973.s tmpdir/pr17973.o]) } {
|
||||
# Defer fail until we have list of tests set.
|
||||
set failed_compile 1
|
||||
}
|
||||
|
@ -174,6 +177,9 @@ set plugin_tests [list \
|
|||
$testobjfiles $libs" "" "" "" {{ld plugin-28.d}} "main.x" ] \
|
||||
[list "plugin warning" "-plugin $plugin2_path -plugin-opt warning \
|
||||
$testobjfiles $libs" "" "" "" {{ld plugin-29.d}} "main.x" ] \
|
||||
[list "PR ld/17973" "-plugin $plugin2_path -shared $regassilent \
|
||||
-plugin-opt add:tmpdir/pr17973.o \
|
||||
tmpdir/dummy.o" "" "" "" {{readelf -sW pr17973.d}} "main.x" ] \
|
||||
]
|
||||
|
||||
set plugin_lib_tests [list \
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
#failif
|
||||
#...
|
||||
.*0+ +FILE +LOCAL +DEFAULT +ABS tmpdir/pr17973.o
|
||||
#...
|
|
@ -0,0 +1,3 @@
|
|||
.data
|
||||
foo:
|
||||
.dc.a bar
|
Loading…
Reference in New Issue