aboutsummaryrefslogtreecommitdiff
path: root/ld/ldlang.h
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2020-12-24 15:56:23 +1030
committerAlan Modra <amodra@gmail.com>2020-12-24 22:58:03 +1030
commitde34d42812a0b978b278cd344abeaee7c71fa55c (patch)
tree3ce14917aa8bf1a4949291d3b4db89f8a42da4df /ld/ldlang.h
parent62fa7b3c6a7bca91df55cf520a97cb047070a475 (diff)
downloadbinutils-de34d42812a0b978b278cd344abeaee7c71fa55c.zip
binutils-de34d42812a0b978b278cd344abeaee7c71fa55c.tar.gz
binutils-de34d42812a0b978b278cd344abeaee7c71fa55c.tar.bz2
PR27100, final link failed: bad value
The failure on this PR is due to using the same bfd section for multiple output sections. Commit 21401fc7bf67 managed to create duplicate linker script output section statements, but not the actual bfd sections. PR 27100 * ldlang.h (lang_output_section_statement_type): Add dup_output. * ldlang.c (lang_output_section_statement_lookup): Set dup_output. (init_os): Test dup_output rather than constraint. * testsuite/ld-scripts/pr27100.d, * testsuite/ld-scripts/pr27100.s, * testsuite/ld-scripts/pr27100.t: New test. * testsuite/ld-scripts/data.exp: Run it. Don't exclude aout here. * testsuite/ld-scripts/data.d: Do so here instead. * testsuite/ld-scripts/fill.d: Likewise. * testsuite/ld-scripts/fill16.d: Likewise.
Diffstat (limited to 'ld/ldlang.h')
-rw-r--r--ld/ldlang.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/ld/ldlang.h b/ld/ldlang.h
index 0f1b607..fe601a8 100644
--- a/ld/ldlang.h
+++ b/ld/ldlang.h
@@ -173,6 +173,9 @@ typedef struct lang_output_section_statement_struct
unsigned int after_end : 1;
/* If this section uses the alignment of its input sections. */
unsigned int align_lma_with_input : 1;
+ /* If script has duplicate output section statements of the same name
+ create duplicate output sections. */
+ unsigned int dup_output : 1;
} lang_output_section_statement_type;
typedef struct