diff options
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 7 | ||||
-rw-r--r-- | ld/ld.texinfo | 13 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/orphan-10.d | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/orphan-9.d | 2 |
4 files changed, 14 insertions, 10 deletions
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 <amodra@gmail.com> + + * 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 <andrew.burgess@embecosm.com> * 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 .* |