* ld.texinfo (--no-warn-search-mismatch): Document.
* ldfile.c (ldfile_try_open_bfd): Don't warn about skipping incompatible libraries if --no-warn-search-mismatch. * ld.h (args_type): Add warn_search_mismatch. * ldmain.c (main): Init it. * lexsup.c (enum option_values): Add OPTION_NO_WARN_SEARCH_MISMATCH. (ld_options): Add entry for --no-warn-search-mismatch. (parse_args): Handle OPTION_NO_WARN_SEARCH_MISMATCH.
This commit is contained in:
parent
083a6ddf8c
commit
fe7929ce4a
11
ld/ChangeLog
11
ld/ChangeLog
@ -1,3 +1,14 @@
|
||||
2007-05-03 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* ld.texinfo (--no-warn-search-mismatch): Document.
|
||||
* ldfile.c (ldfile_try_open_bfd): Don't warn about skipping
|
||||
incompatible libraries if --no-warn-search-mismatch.
|
||||
* ld.h (args_type): Add warn_search_mismatch.
|
||||
* ldmain.c (main): Init it.
|
||||
* lexsup.c (enum option_values): Add OPTION_NO_WARN_SEARCH_MISMATCH.
|
||||
(ld_options): Add entry for --no-warn-search-mismatch.
|
||||
(parse_args): Handle OPTION_NO_WARN_SEARCH_MISMATCH.
|
||||
|
||||
2007-05-03 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* scripttempl/elf.sc: Add .debug_pubtypes and .debug_ranges.
|
||||
|
4
ld/ld.h
4
ld/ld.h
@ -177,6 +177,10 @@ typedef struct {
|
||||
files. */
|
||||
bfd_boolean warn_mismatch;
|
||||
|
||||
/* Warn on attempting to open an incompatible library during a library
|
||||
search. */
|
||||
bfd_boolean warn_search_mismatch;
|
||||
|
||||
/* Name of shared object whose symbol table should be filtered with
|
||||
this shared object. From the --filter option. */
|
||||
char *filter_shlib;
|
||||
|
@ -1390,6 +1390,11 @@ errors. This option should only be used with care, in cases when you
|
||||
have taken some special action that ensures that the linker errors are
|
||||
inappropriate.
|
||||
|
||||
@kindex --no-warn-search-mismatch
|
||||
@item --no-warn-search-mismatch
|
||||
Normally @command{ld} will give a warning if it finds an incompatible
|
||||
library during a library search. This option silences the warning.
|
||||
|
||||
@kindex --no-whole-archive
|
||||
@item --no-whole-archive
|
||||
Turn off the effect of the @option{--whole-archive} option for subsequent
|
||||
|
12
ld/ldfile.c
12
ld/ldfile.c
@ -252,8 +252,10 @@ ldfile_try_open_bfd (const char *attempt,
|
||||
yyin = NULL;
|
||||
if (skip)
|
||||
{
|
||||
einfo (_("%P: skipping incompatible %s when searching for %s\n"),
|
||||
attempt, entry->local_sym_name);
|
||||
if (command_line.warn_search_mismatch)
|
||||
einfo (_("%P: skipping incompatible %s "
|
||||
"when searching for %s\n"),
|
||||
attempt, entry->local_sym_name);
|
||||
bfd_close (entry->the_bfd);
|
||||
entry->the_bfd = NULL;
|
||||
return FALSE;
|
||||
@ -279,8 +281,10 @@ ldfile_try_open_bfd (const char *attempt,
|
||||
&& bfd_get_flavour (output_bfd) == bfd_target_xcoff_flavour
|
||||
&& bfd_check_format (entry->the_bfd, bfd_archive)))
|
||||
{
|
||||
einfo (_("%P: skipping incompatible %s when searching for %s\n"),
|
||||
attempt, entry->local_sym_name);
|
||||
if (command_line.warn_search_mismatch)
|
||||
einfo (_("%P: skipping incompatible %s "
|
||||
"when searching for %s\n"),
|
||||
attempt, entry->local_sym_name);
|
||||
bfd_close (entry->the_bfd);
|
||||
entry->the_bfd = NULL;
|
||||
return FALSE;
|
||||
|
@ -257,6 +257,7 @@ main (int argc, char **argv)
|
||||
command_line.interpreter = NULL;
|
||||
command_line.rpath = NULL;
|
||||
command_line.warn_mismatch = TRUE;
|
||||
command_line.warn_search_mismatch = TRUE;
|
||||
command_line.check_section_addresses = TRUE;
|
||||
command_line.accept_unknown_input_arch = FALSE;
|
||||
command_line.symbolic = symbolic_unset;
|
||||
|
@ -83,6 +83,7 @@ enum option_values
|
||||
OPTION_NO_DEMANGLE,
|
||||
OPTION_NO_KEEP_MEMORY,
|
||||
OPTION_NO_WARN_MISMATCH,
|
||||
OPTION_NO_WARN_SEARCH_MISMATCH,
|
||||
OPTION_NOINHIBIT_EXEC,
|
||||
OPTION_NON_SHARED,
|
||||
OPTION_NO_WHOLE_ARCHIVE,
|
||||
@ -428,6 +429,10 @@ static const struct ld_option ld_options[] =
|
||||
TWO_DASHES },
|
||||
{ {"no-warn-mismatch", no_argument, NULL, OPTION_NO_WARN_MISMATCH},
|
||||
'\0', NULL, N_("Don't warn about mismatched input files"), TWO_DASHES},
|
||||
{ {"no-warn-search-mismatch", no_argument, NULL,
|
||||
OPTION_NO_WARN_SEARCH_MISMATCH},
|
||||
'\0', NULL, N_("Don't warn on finding an incompatible library"),
|
||||
TWO_DASHES},
|
||||
{ {"no-whole-archive", no_argument, NULL, OPTION_NO_WHOLE_ARCHIVE},
|
||||
'\0', NULL, N_("Turn off --whole-archive"), TWO_DASHES },
|
||||
{ {"noinhibit-exec", no_argument, NULL, OPTION_NOINHIBIT_EXEC},
|
||||
@ -963,6 +968,9 @@ parse_args (unsigned argc, char **argv)
|
||||
case OPTION_NO_WARN_MISMATCH:
|
||||
command_line.warn_mismatch = FALSE;
|
||||
break;
|
||||
case OPTION_NO_WARN_SEARCH_MISMATCH:
|
||||
command_line.warn_search_mismatch = FALSE;
|
||||
break;
|
||||
case OPTION_NOINHIBIT_EXEC:
|
||||
force_make_executable = TRUE;
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user