link_info.keep_memory = TRUE;
link_info.combreloc = TRUE;
link_info.strip_discarded = TRUE;
- link_info.emit_hash = TRUE;
+ link_info.emit_hash = DEFAULT_EMIT_SYSV_HASH;
+ link_info.emit_gnu_hash = DEFAULT_EMIT_GNU_HASH;
link_info.callbacks = &link_callbacks;
link_info.input_bfds_tail = &link_info.input_bfds;
/* SVR4 linkers seem to set DT_INIT and DT_FINI based on magic _init
if (argc == 2 && version_printed)
xexit (0);
+ if (link_info.inhibit_common_definition && !bfd_link_dll (&link_info))
+ einfo (_("%P%F: --no-define-common may not be used without -shared\n"));
+
if (!lang_has_input_file)
{
if (version_printed || command_line.print_output_format)
bfd **subsbfd ATTRIBUTE_UNUSED)
{
lang_input_statement_type *input;
+ lang_input_statement_type *parent;
lang_input_statement_type orig_input;
input = (lang_input_statement_type *)
input->local_sym_name = abfd->filename;
input->the_bfd = abfd;
+ parent = abfd->my_archive->usrdata;
+ if (parent != NULL && !parent->flags.reload)
+ parent->next = (lang_statement_union_type *) input;
+
/* Save the original data for trace files/tries below, as plugins
(if enabled) may possibly alter it to point to a replacement
BFD, but we still want to output the original BFD filename. */
&& bfd_hash_lookup (info->notice_hash, name, FALSE, FALSE) != NULL)
{
if (bfd_is_und_section (section))
- einfo ("%B: reference to %s\n", abfd, name);
+ einfo (_("%B: reference to %s\n"), abfd, name);
else
- einfo ("%B: definition of %s\n", abfd, name);
+ einfo (_("%B: definition of %s\n"), abfd, name);
}
if (command_line.cref || nocrossref_list != NULL)