From: Dimitar Dimitrov Date: Mon, 10 May 2021 13:00:00 +0000 (+0100) Subject: Enable linker garbage collection for the PRU target. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5b45e89f56db79fc22ecbb1657eff8ef39fc2c5f;p=binutils-gdb.git Enable linker garbage collection for the PRU target. bfd * elf32-pru.c (elf_backend_can_gc_sections): Define as 1. ld * testsuite/ld-elf/group8a.d: Remove pru from XFAIL list. * testsuite/ld-elf/group8b.d: Ditto. * testsuite/ld-elf/group9a.d: Ditto. * testsuite/ld-elf/group9b.d: Ditto. * testsuite/ld-elf/pr12851.d: Ditto. * testsuite/ld-elf/pr22677.d: Ditto. * testsuite/lib/ld-lib.exp (check_gc_sections_available): Remove pru from list. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 376e8fd540c..39395faff36 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,7 @@ +2021-05-10 Dimitar Dimitrov + + * elf32-pru.c (elf_backend_can_gc_sections): Define as 1. + 2021-05-08 Mike Frysinger * doc/Makefile.am (html-local, bfd/index.html): New targets. diff --git a/bfd/elf32-pru.c b/bfd/elf32-pru.c index e3001d57558..b9368440843 100644 --- a/bfd/elf32-pru.c +++ b/bfd/elf32-pru.c @@ -1601,6 +1601,7 @@ pru_elf32_link_hash_table_create (bfd *abfd) #define elf_backend_relocate_section pru_elf32_relocate_section #define bfd_elf32_bfd_relax_section pru_elf32_relax_section +#define elf_backend_can_gc_sections 1 #define TARGET_LITTLE_SYM pru_elf32_vec #define TARGET_LITTLE_NAME "elf32-pru" diff --git a/ld/ChangeLog b/ld/ChangeLog index b66e72281ea..e92638a162b 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,14 @@ +2021-05-10 Dimitar Dimitrov + + * testsuite/ld-elf/group8a.d: Remove pru from XFAIL list. + * testsuite/ld-elf/group8b.d: Ditto. + * testsuite/ld-elf/group9a.d: Ditto. + * testsuite/ld-elf/group9b.d: Ditto. + * testsuite/ld-elf/pr12851.d: Ditto. + * testsuite/ld-elf/pr22677.d: Ditto. + * testsuite/lib/ld-lib.exp (check_gc_sections_available): Remove + pru from list. + 2021-05-10 Dimitar Dimitrov * scripttempl/pru.sc (.resource_table): Add ALIGN directive. diff --git a/ld/testsuite/ld-elf/group8a.d b/ld/testsuite/ld-elf/group8a.d index 59043b29839..96cab9e0146 100644 --- a/ld/testsuite/ld-elf/group8a.d +++ b/ld/testsuite/ld-elf/group8a.d @@ -2,7 +2,7 @@ #ld: -r --gc-sections --entry foo #readelf: -g --wide # generic linker targets don't support --gc-sections, nor do a bunch of others -#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-* pru-*-* +#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-* COMDAT group section \[[ 0-9]+\] `.group' \[foo\] contains . sections: \[Index\] Name diff --git a/ld/testsuite/ld-elf/group8b.d b/ld/testsuite/ld-elf/group8b.d index 7de82ef515a..8ff5b97d7e8 100644 --- a/ld/testsuite/ld-elf/group8b.d +++ b/ld/testsuite/ld-elf/group8b.d @@ -2,7 +2,7 @@ #ld: -r --gc-sections --entry bar #readelf: -g --wide # generic linker targets don't support --gc-sections, nor do a bunch of others -#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-* pru-*-* +#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-* COMDAT group section \[[ 0-9]+\] `.group' \[bar\] contains . sections: \[Index\] Name diff --git a/ld/testsuite/ld-elf/group9a.d b/ld/testsuite/ld-elf/group9a.d index d2ec10c9f72..a44e75b0ad9 100644 --- a/ld/testsuite/ld-elf/group9a.d +++ b/ld/testsuite/ld-elf/group9a.d @@ -2,7 +2,7 @@ #ld: -r --gc-sections --entry foo #readelf: -g --wide # generic linker targets don't support --gc-sections, nor do a bunch of others -#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-* pru-*-* +#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-* COMDAT group section \[[ 0-9]+\] `.group' \[foo\] contains . sections: \[Index\] Name diff --git a/ld/testsuite/ld-elf/group9b.d b/ld/testsuite/ld-elf/group9b.d index df7f57626b4..0007ebee9fd 100644 --- a/ld/testsuite/ld-elf/group9b.d +++ b/ld/testsuite/ld-elf/group9b.d @@ -2,7 +2,7 @@ #ld: -r --gc-sections --entry bar #readelf: -g --wide # generic linker targets don't support --gc-sections, nor do a bunch of others -#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-* pru-*-* +#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-* COMDAT group section \[[ 0-9]+\] `.group' \[foo\] contains . sections: \[Index\] Name diff --git a/ld/testsuite/ld-elf/pr12851.d b/ld/testsuite/ld-elf/pr12851.d index fe75caf43eb..8b88f032c71 100644 --- a/ld/testsuite/ld-elf/pr12851.d +++ b/ld/testsuite/ld-elf/pr12851.d @@ -2,7 +2,7 @@ #source: start.s #ld: --gc-sections #readelf: -s --wide -#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-* pru-*-* +#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-* # generic linker targets don't support --gc-sections, nor do a bunch of others #... diff --git a/ld/testsuite/ld-elf/pr22677.d b/ld/testsuite/ld-elf/pr22677.d index 49af52a4158..e229f85a448 100644 --- a/ld/testsuite/ld-elf/pr22677.d +++ b/ld/testsuite/ld-elf/pr22677.d @@ -2,7 +2,7 @@ #readelf: -S --wide # generic linker targets don't support --gc-sections, nor do a bunch of # others. -#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-* pru-*-* +#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-* #... \[[ 0-9]+\] \.preinit_array\.01000[ \t]+PREINIT_ARRAY[ \t0-9a-f]+WA?.* diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp index b1080889a8e..8fd14afc63e 100644 --- a/ld/testsuite/lib/ld-lib.exp +++ b/ld/testsuite/lib/ld-lib.exp @@ -1090,7 +1090,6 @@ proc check_gc_sections_available { } { || [istarget mep-*-*] || [istarget mn10200-*-*] || [istarget pj*-*-*] - || [istarget pru*-*-*] || [istarget s12z-*-*] || [istarget xgate-*-*] || [istarget z80-*-*] } {