X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=ld%2Femultempl%2Fm68kelf.em;h=e909f755da73937515a6d4a5bf3c5b8f3111b76c;hb=53215f214c61b850085196a8d69774eed026ecd9;hp=c1a514c5a8fbb81d30b590ed4e1db25bcbba7fe9;hpb=6f2750feaf2827ef8a1a0a5b2f90c1e9a6cabbd1;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/emultempl/m68kelf.em b/ld/emultempl/m68kelf.em index c1a514c5a8..e909f755da 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-2016 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 @@ -127,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 */ @@ -166,31 +163,19 @@ 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 runtime reloc information: %E\n", + einfo (_("%X%P: %pB: can not create " + "runtime reloc information: %E\n"), abfd); else - einfo ("%X%B: can not create runtime reloc information: %s\n", + einfo (_("%X%P: %pB: can not create " + "runtime reloc information: %s\n"), abfd, errmsg); } } @@ -230,15 +215,15 @@ PARSE_AND_LIST_OPTIONS=' PARSE_AND_LIST_ARGS_CASES=' case OPTION_GOT: if (strcmp (optarg, "target") == 0) - got_handling = GOT_HANDLING_TARGET_DEFAULT; + got_handling = GOT_HANDLING_TARGET_DEFAULT; else if (strcmp (optarg, "single") == 0) - got_handling = 0; + got_handling = 0; else if (strcmp (optarg, "negative") == 0) - got_handling = 1; + got_handling = 1; else if (strcmp (optarg, "multigot") == 0) - got_handling = 2; + got_handling = 2; else - einfo (_("Unrecognized --got argument '\''%s'\''.\n"), optarg); + einfo (_("%P: unrecognized --got argument '\''%s'\''\n"), optarg); break; '