X-Git-Url: http://drtracing.org/?a=blobdiff_plain;ds=sidebyside;f=ld%2Fldemul.c;h=16ddb6dcf5430837890a790ebe49ba698630d590;hb=9a24a2763daa773328a788988048a7b3f344a548;hp=4898892c43789ecd991f6d0838c58278d67681f6;hpb=3ea6077552ad86ebb441bef6e1bd40e18d06ab44;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/ldemul.c b/ld/ldemul.c index 4898892c43..16ddb6dcf5 100644 --- a/ld/ldemul.c +++ b/ld/ldemul.c @@ -1,5 +1,5 @@ /* ldemul.c -- clearing house for ld emulation states - Copyright (C) 1991-2015 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) { @@ -120,10 +126,6 @@ ldemul_open_dynamic_archive (const char *arch, search_dirs_type *search, lang_output_section_statement_type * ldemul_place_orphan (asection *s, const char *name, int constraint) { - if (config.warn_orphan) - einfo (_("%P: Warning: input section '%s' from file '%B' is not mentioned in linker script\n"), - name, s->owner); - if (ld_emulation->place_orphan) return (*ld_emulation->place_orphan) (s, name, constraint); return NULL; @@ -209,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; @@ -223,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 @@ -230,6 +237,11 @@ after_open_default (void) { } +void +after_check_relocs_default (void) +{ +} + void after_allocation_default (void) { @@ -239,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); } @@ -264,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 }; @@ -332,7 +344,7 @@ ldemul_list_emulation_options (FILE *f) } } - if (! options_found) + if (!options_found) fprintf (f, _(" no emulation specific options.\n")); }