X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=ld%2Femultempl%2Fcr16elf.em;h=5bbc170364c7b2d7a5d3a03e1079e93171b4ad92;hb=a8a566853a0fc7f57159e55436ff6f395e499568;hp=3e10b422ed27001f5120ec58b130b15565252699;hpb=d003af558092dc521f93d16628b9ccbf434370e3;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/emultempl/cr16elf.em b/ld/emultempl/cr16elf.em index 3e10b422ed..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 @@ -99,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) + if ((strncmp (bfd_section_name (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)); + einfo (_("%X%P: %pB: section %s has relocs; can not use --embedded-relocs\n"), + abfd, bfd_section_name (sec)); } static void @@ -120,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 @@ -158,10 +157,10 @@ cr16elf_before_allocation (void) &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); } }