gdb: Switch "info types" over to use the gdb::options framework
[deliverable/binutils-gdb.git] / ld / ldemul.c
index edbc9ee4b73d0c06518270f6302ffc89e2790c4c..16ddb6dcf5430837890a790ebe49ba698630d590 100644 (file)
@@ -1,5 +1,5 @@
 /* ldemul.c -- clearing house for ld emulation states
-   Copyright (C) 1991-2014 Free Software Foundation, Inc.
+   Copyright (C) 1991-2019 Free Software Foundation, Inc.
 
    This file is part of the GNU Binutils.
 
@@ -64,6 +64,12 @@ ldemul_after_open (void)
   ld_emulation->after_open ();
 }
 
+void
+ldemul_after_check_relocs (void)
+{
+  ld_emulation->after_check_relocs ();
+}
+
 void
 ldemul_after_allocation (void)
 {
@@ -205,7 +211,7 @@ void
 after_parse_default (void)
 {
   if (entry_symbol.name != NULL
-      && (link_info.executable || entry_from_cmdline))
+      && (bfd_link_executable (&link_info) || entry_from_cmdline))
     {
       bfd_boolean is_vma = FALSE;
 
@@ -219,6 +225,11 @@ after_parse_default (void)
       if (!is_vma)
        ldlang_add_undef (entry_symbol.name, entry_from_cmdline);
     }
+  if (config.maxpagesize == 0)
+    config.maxpagesize = bfd_emul_get_maxpagesize (default_target);
+  if (config.commonpagesize == 0)
+    config.commonpagesize = bfd_emul_get_commonpagesize (default_target,
+                                                        link_info.relro);
 }
 
 void
@@ -226,6 +237,11 @@ after_open_default (void)
 {
 }
 
+void
+after_check_relocs_default (void)
+{
+}
+
 void
 after_allocation_default (void)
 {
@@ -235,14 +251,14 @@ after_allocation_default (void)
 void
 before_allocation_default (void)
 {
-  if (!link_info.relocatable)
+  if (!bfd_link_relocatable (&link_info))
     strip_excluded_output_sections ();
 }
 
 void
 finish_default (void)
 {
-  if (!link_info.relocatable)
+  if (!bfd_link_relocatable (&link_info))
     _bfd_fix_excluded_sec_syms (link_info.output_bfd, &link_info);
 }
 
@@ -260,13 +276,13 @@ set_output_arch_default (void)
 void
 syslib_default (char *ignore ATTRIBUTE_UNUSED)
 {
-  info_msg (_("%S SYSLIB ignored\n"), NULL);
+  info_msg (_("%pS SYSLIB ignored\n"), NULL);
 }
 
 void
 hll_default (char *ignore ATTRIBUTE_UNUSED)
 {
-  info_msg (_("%S HLL ignored\n"), NULL);
+  info_msg (_("%pS HLL ignored\n"), NULL);
 }
 
 ld_emulation_xfer_type *ld_emulations[] = { EMULATION_LIST };
@@ -328,7 +344,7 @@ ldemul_list_emulation_options (FILE *f)
        }
     }
 
-  if (! options_found)
+  if (!options_found)
     fprintf (f, _("  no emulation specific options.\n"));
 }
 
@@ -348,3 +364,10 @@ ldemul_new_vers_pattern (struct bfd_elf_version_expr *entry)
     entry = (*ld_emulation->new_vers_pattern) (entry);
   return entry;
 }
+
+void
+ldemul_extra_map_file_text (bfd *abfd, struct bfd_link_info *info, FILE *mapf)
+{
+  if (ld_emulation->extra_map_file_text)
+    ld_emulation->extra_map_file_text (abfd, info, mapf);
+}
This page took 0.026262 seconds and 4 git commands to generate.