X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=ld%2Femultempl%2Fm68kelf.em;h=e909f755da73937515a6d4a5bf3c5b8f3111b76c;hb=307f2595ddeebff38f95045b25be937e6b72eff2;hp=de4ef7d31e8c17c972f9666d8a88849f59ca62f6;hpb=6c19b93bcd0d136f7be4d1e1e3f2e8d7b5917009;p=binutils-gdb.git diff --git a/ld/emultempl/m68kelf.em b/ld/emultempl/m68kelf.em index de4ef7d31e8..e909f755da7 100644 --- a/ld/emultempl/m68kelf.em +++ b/ld/emultempl/m68kelf.em @@ -1,5 +1,5 @@ # This shell script emits a C file. -*- C -*- -# Copyright (C) 2000-2017 Free Software Foundation, Inc. +# Copyright (C) 2000-2020 Free Software Foundation, Inc. # Written by Michael Sokolov , based on armelf.em # # This file is part of the GNU Binutils. @@ -20,9 +20,9 @@ # MA 02110-1301, USA. -# This file is sourced from elf32.em, and defines some extra routines for m68k +# This file is sourced from elf.em, and defines some extra routines for m68k # embedded systems using ELF and for some other systems using m68k ELF. While -# it is sourced from elf32.em for all m68k ELF configurations, here we include +# it is sourced from elf.em for all m68k ELF configurations, here we include # only the features we want depending on the configuration. case ${target} in @@ -45,6 +45,8 @@ esac fragment <reloc_count * 12)) - einfo (_("%F%B: can not create .emreloc section: %E\n")); + || !bfd_set_section_alignment (relsec, 2) + || !bfd_set_section_size (relsec, datasec->reloc_count * 12)) + einfo (_("%F%P: %pB: can not create .emreloc section: %E\n")); } /* Double check that all other data sections are empty, as is @@ -128,11 +124,11 @@ m68k_elf_after_open (void) static void check_sections (bfd *abfd, asection *sec, void *datasec) { - if ((bfd_get_section_flags (abfd, sec) & SEC_DATA) + if ((bfd_section_flags (sec) & SEC_DATA) && sec != datasec && sec->reloc_count != 0) - einfo (_("%B%X: section %s has relocs; can not use --embedded-relocs\n"), - abfd, bfd_get_section_name (abfd, sec)); + einfo (_("%X%P: %pB: section %s has relocs; can not use --embedded-relocs\n"), + abfd, bfd_section_name (sec)); } #endif /* SUPPORT_EMBEDDED_RELOCS */ @@ -167,34 +163,18 @@ m68k_elf_after_allocation (void) relsec = bfd_get_section_by_name (abfd, ".emreloc"); ASSERT (relsec != NULL); - if (bfd_get_flavour (abfd) == bfd_target_coff_flavour) - { - if (! bfd_m68k_coff_create_embedded_relocs (abfd, &link_info, - datasec, relsec, - &errmsg)) - { - if (errmsg == NULL) - einfo (_("%B%X: can not create " - "runtime reloc information: %E\n"), - abfd); - else - einfo (_("%X%B: can not create " - "runtime reloc information: %s\n"), - abfd, errmsg); - } - } - else if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) + if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) { if (! bfd_m68k_elf32_create_embedded_relocs (abfd, &link_info, datasec, relsec, &errmsg)) { if (errmsg == NULL) - einfo (_("%B%X: can not create " + einfo (_("%X%P: %pB: can not create " "runtime reloc information: %E\n"), abfd); else - einfo (_("%X%B: can not create " + einfo (_("%X%P: %pB: can not create " "runtime reloc information: %s\n"), abfd, errmsg); } @@ -243,7 +223,7 @@ PARSE_AND_LIST_ARGS_CASES=' else if (strcmp (optarg, "multigot") == 0) got_handling = 2; else - einfo (_("Unrecognized --got argument '\''%s'\''.\n"), optarg); + einfo (_("%P: unrecognized --got argument '\''%s'\''\n"), optarg); break; '