X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=ld%2Femultempl%2Fcr16elf.em;h=5bbc170364c7b2d7a5d3a03e1079e93171b4ad92;hb=a78a19b15254de31c3d38b7e27469aaef0a30e97;hp=3e2e7b575ee6bffa3482413a984ad6141494ab46;hpb=2571583aed598dd3f9651b53434e5f177a0e3cf7;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/emultempl/cr16elf.em b/ld/emultempl/cr16elf.em index 3e2e7b575e..5bbc170364 100644 --- a/ld/emultempl/cr16elf.em +++ b/ld/emultempl/cr16elf.em @@ -1,5 +1,5 @@ # This shell script emits a C file. -*- C -*- -# Copyright (C) 2007-2017 Free Software Foundation, Inc. +# Copyright (C) 2007-2020 Free Software Foundation, Inc. # Contributed by M R Swami Reddy # # This file is part of the GNU Binutils. @@ -20,12 +20,13 @@ # MA 02110-1301, USA. # -# This file is sourced from elf32.em, and defines extra cr16-elf +# This file is sourced from elf.em, and defines extra cr16-elf # specific routines. # fragment <reloc_count * 8)) - einfo ("%F%B: can not create .emreloc section: %E\n"); + || !bfd_set_section_flags (relsec, (SEC_ALLOC + | SEC_LOAD + | SEC_HAS_CONTENTS + | SEC_IN_MEMORY)) + || !bfd_set_section_alignment (relsec, 2) + || !bfd_set_section_size (relsec, datasec->reloc_count * 8)) + einfo (_("%F%P: %pB: can not create .emreloc section: %E\n")); } /* Double check that all other data sections are empty, as is @@ -98,11 +98,11 @@ cr16_elf_after_open (void) static void check_sections (bfd *abfd, asection *sec, void *datasec) { - if ((strncmp (bfd_get_section_name (abfd, sec), ".data.rel", 9) == 0) - && 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)); + if ((strncmp (bfd_section_name (sec), ".data.rel", 9) == 0) + && sec != datasec + && sec->reloc_count == 0 ) + einfo (_("%X%P: %pB: section %s has relocs; can not use --embedded-relocs\n"), + abfd, bfd_section_name (sec)); } static void @@ -119,7 +119,7 @@ cr16elf_after_parse (void) is true the link sometimes fails. */ config.magic_demand_paged = FALSE; - gld${EMULATION_NAME}_after_parse (); + ldelf_after_parse (); } /* This is called after the sections have been attached to output @@ -131,16 +131,16 @@ cr16elf_before_allocation (void) /* Call the default first. */ gld${EMULATION_NAME}_before_allocation (); - if (command_line.embedded_relocs - && (!bfd_link_relocatable (&link_info))) - { + if (command_line.embedded_relocs + && (!bfd_link_relocatable (&link_info))) + { - bfd *abfd; + bfd *abfd; - /* If we are generating embedded relocs, call a special BFD backend + /* If we are generating embedded relocs, call a special BFD backend routine to do the work. */ - for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link.next) - { + for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link.next) + { asection *datasec, *relsec; char *errmsg; @@ -153,18 +153,18 @@ cr16elf_before_allocation (void) ASSERT (relsec != NULL); if (! bfd_cr16_elf32_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); - } - } - } + datasec, relsec, + &errmsg)) + { + if (errmsg == NULL) + einfo (_("%X%P: %pB: can not create runtime reloc information: %E\n"), + abfd); + else + einfo (_("%X%P: %pB: can not create runtime reloc information: %s\n"), + abfd, errmsg); + } + } + } /* Enable relaxation by default if the "--no-relax" option was not specified. This is done here instead of in the before_parse hook