Automatic date update in version.in
[binutils-gdb.git] / ld / ldmain.c
index 6527613c983a1c33152090eb26579832424dcd68..f31eeb29c3ceac62adb0df73c6f1d08fef8a23ea 100644 (file)
@@ -280,6 +280,7 @@ main (int argc, char **argv)
   link_info.keep_memory = TRUE;
   link_info.combreloc = TRUE;
   link_info.strip_discarded = TRUE;
+  link_info.prohibit_multiple_definition_absolute = FALSE;
   link_info.emit_hash = DEFAULT_EMIT_SYSV_HASH;
   link_info.emit_gnu_hash = DEFAULT_EMIT_GNU_HASH;
   link_info.callbacks = &link_callbacks;
@@ -305,8 +306,6 @@ main (int argc, char **argv)
   emulation = get_emulation (argc, argv);
   ldemul_choose_mode (emulation);
   default_target = ldemul_choose_target (argc, argv);
-  config.maxpagesize = bfd_emul_get_maxpagesize (default_target);
-  config.commonpagesize = bfd_emul_get_commonpagesize (default_target);
   lang_init ();
   ldexp_init ();
   ldemul_before_parse ();
@@ -970,12 +969,13 @@ multiple_definition (struct bfd_link_info *info,
      discarded, and this is not really a multiple definition at all.
      FIXME: It would be cleaner to somehow ignore symbols defined in
      sections which are being discarded.  */
-  if ((osec->output_section != NULL
-       && !bfd_is_abs_section (osec)
-       && bfd_is_abs_section (osec->output_section))
-      || (nsec->output_section != NULL
-         && !bfd_is_abs_section (nsec)
-         && bfd_is_abs_section (nsec->output_section)))
+  if (!info->prohibit_multiple_definition_absolute
+      && ((osec->output_section != NULL
+          && ! bfd_is_abs_section (osec)
+          && bfd_is_abs_section (osec->output_section))
+         || (nsec->output_section != NULL
+             && !bfd_is_abs_section (nsec)
+             && bfd_is_abs_section (nsec->output_section))))
     return;
 
   name = h->root.string;