From e299b3551edbe81be2062fcaef9319d681d0d15b Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Sat, 11 Mar 2017 10:51:56 +1030 Subject: 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. --- ld/ChangeLog | 7 +++++++ ld/ld.texinfo | 13 +++++-------- ld/testsuite/ld-elf/orphan-10.d | 2 +- ld/testsuite/ld-elf/orphan-9.d | 2 +- 4 files changed, 14 insertions(+), 10 deletions(-) (limited to 'ld') diff --git a/ld/ChangeLog b/ld/ChangeLog index adefe32..2ea7630 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 176b9f2..769725d 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 a5cf6d9..1dbec42 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 637e8c5..790cff1 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 .* -- cgit v1.1