X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=ld%2Fldemul.c;h=16ddb6dcf5430837890a790ebe49ba698630d590;hb=f8861f5dc2391e0c46dd118370195e7730ec46ca;hp=8b2cae7711bdc41e38b5afd55d37aa745445d879;hpb=b90efa5b79ac1524ec260f8eb89d1be37e0219a7;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/ldemul.c b/ld/ldemul.c index 8b2cae7711..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) { @@ -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")); }