From: Alan Modra Date: Sat, 11 Mar 2017 00:21:56 +0000 (+1030) Subject: Don't run new orphan tests on i860 and i960 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e299b3551edbe81be2062fcaef9319d681d0d15b;p=binutils-gdb.git Don't run new orphan tests on i860 and i960 These targets use the generic ELF support, so don't handle orphans well. The patch also updates the orphan doco to reflect this fact, and deletes some ELF details that don't really add anything. * ld.texinfo (Orphan Sections): Mention that not all targets handle orphans well. Delete ELF details. * testsuite/ld-elf/orphan-9.d: Don't run for i860 and i960. * testsuite/ld-elf/orphan-10.d: Likewise. --- diff --git a/ld/ChangeLog b/ld/ChangeLog index adefe321ea9..2ea76303368 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,10 @@ +2017-03-11 Alan Modra + + * ld.texinfo (Orphan Sections): Mention that not all targets + handle orphans well. + * testsuite/ld-elf/orphan-9.d: Don't run for i860 and i960. + * testsuite/ld-elf/orphan-10.d: Likewise. + 2017-03-09 Andrew Burgess * ldlang.c (lang_size_sections_1): Shortcut loop only after diff --git a/ld/ld.texinfo b/ld/ld.texinfo index 176b9f26887..769725d28ed 100644 --- a/ld/ld.texinfo +++ b/ld/ld.texinfo @@ -5777,14 +5777,11 @@ one new output section. If new output sections are created to hold orphaned input sections, then the linker must decide where to place these new output sections -in relation to existing output sections. The linker uses a simple -heuristic to do this. It attempts to place orphan sections after -sections of the same attribute, such as code vs data, loadable vs -non-loadable, etc. If no sections with matching attributes are found, -the orphan section is placed at the end of the file. - -For ELF targets, the attribute of the section includes section type as -well as section flag. +in relation to existing output sections. On most modern targets, the +linker attempts to place orphan sections after sections of the same +attribute, such as code vs data, loadable vs non-loadable, etc. If no +sections with matching attributes are found, or your target lacks this +support, the orphan section is placed at the end of the file. The command line options @samp{--orphan-handling} and @samp{--unique} (@pxref{Options,,Command Line Options}) can be used to control which diff --git a/ld/testsuite/ld-elf/orphan-10.d b/ld/testsuite/ld-elf/orphan-10.d index a5cf6d9eb01..1dbec42e636 100644 --- a/ld/testsuite/ld-elf/orphan-10.d +++ b/ld/testsuite/ld-elf/orphan-10.d @@ -1,7 +1,7 @@ #source: orphan-10.s #ld: -N -T orphan-9.ld #objdump: -h -#notarget: d30v-* dlx-* fr30-* frv-* ft32-* iq2000-* mn10200-* moxie-* ms1-* msp430-* mt-* pj-* +#notarget: d30v-* dlx-* fr30-* frv-* ft32-* i860-* i960-* iq2000-* mn10200-* moxie-* ms1-* msp430-* mt-* pj-* #... . \.text 0+(08|10) [0-9a-f]+ 0+200 .* diff --git a/ld/testsuite/ld-elf/orphan-9.d b/ld/testsuite/ld-elf/orphan-9.d index 637e8c5d374..790cff1a74c 100644 --- a/ld/testsuite/ld-elf/orphan-9.d +++ b/ld/testsuite/ld-elf/orphan-9.d @@ -1,7 +1,7 @@ #source: orphan-9.s #ld: -N -T orphan-9.ld #objdump: -h -#notarget: d30v-* dlx-* fr30-* frv-* ft32-* iq2000-* mn10200-* moxie-* ms1-* msp430-* mt-* pj-* +#notarget: d30v-* dlx-* fr30-* frv-* ft32-* i860-* i960-* iq2000-* mn10200-* moxie-* ms1-* msp430-* mt-* pj-* #... . \.text 0+(08|10) [0-9a-f]+ 0+200 .*