summaryrefslogtreecommitdiff
path: root/ld/testsuite
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2023-03-15 14:27:21 +0000
committerNick Clifton <nickc@redhat.com>2023-03-15 14:27:21 +0000
commit2d5783fad77c2cb9cdcb396d65fe0a60e3d8938b (patch)
tree6f498d98b1bd86aba1498861443099802ac0f8c8 /ld/testsuite
parent71f646f2b3fc6e273fd17b5fdc9ba6bae242b330 (diff)
Add --enable-linker-version option to bfd linker to add an entry in the .comment section.
PR 30187 * NEWS: Mention the new feature. * ld.texi: Document the new feature. * ldgram.y: Handle LINKER_VERSION token. * ldlang.c (lang_add_version): New function. (enable_linker_version): New global variable. * ldlang.h (land_add_version): Prototype. (enable_linker_version): Export. * ldlex.h (OPTION_ENABLE_LINKER_VERSION): Define. (OPTION_DISABLE_LINKER_VERSION): Define. * ldlex.l (LINKER_VERSION): Add token. * lexsup.c (ld_options): Add --enable-linker-version and --disable-linker-version. (parse_args): Handle the new options. * scripttempl/arclinux.sc: Remove stabs and comment sections and replace with inclusion of misc-sections.sc * scripttempl/avr.sc: Likewise. * scripttempl/dlx.sc: Likewise. * scripttempl/elf.sc: Likewise. * scripttempl/elf32cr16.sc: Likewise. * scripttempl/elf32crx.sc: Likewise. * scripttempl/elf32msp430.sc: Likewise. * scripttempl/elf64bpf.sc: Likewise. * scripttempl/elf64hppa.sc: Likewise. * scripttempl/elf_chaos.sc: Likewise. * scripttempl/elfarc.sc: Likewise. * scripttempl/elfarcv2.sc: Likewise. * scripttempl/elfd10v.sc: Likewise. * scripttempl/elfd30v.sc: Likewise. * scripttempl/elfm68hc11.sc: Likewise. * scripttempl/elfm68hc12.sc: Likewise. * scripttempl/elfm9s12z.sc: Likewise. * scripttempl/elfmicroblaze.sc: Likewise. * scripttempl/elfxgate.sc: Likewise. * scripttempl/elfxtensa.sc: Likewise. * scripttempl/epiphany_4x4.sc: Likewise. * scripttempl/ft32.sc: Likewise. * scripttempl/ip2k.sc: Likewise. * scripttempl/iq2000.sc: Likewise. * scripttempl/mep.sc: Likewise. * scripttempl/nds32elf.sc: Likewise. * scripttempl/pru.sc: Likewise. * scripttempl/v850.sc: Likewise. * scripttempl/v850_rh850.sc: Likewise. * scripttempl/visium.sc: Likewise. * scripttempl/xstormy16.sc: Likewise. * scripttempl/z80.sc: Likewise. * testsuite/ld-scripts/script.exp: Run new tests. * scripttempl/misc-sections.sc: New file. * testsuite/ld-scripts/ld-version-2.d: New file. * testsuite/ld-scripts/ld-version.d: New file. * testsuite/ld-scripts/ld-version.t: New file.
Diffstat (limited to 'ld/testsuite')
-rw-r--r--ld/testsuite/ld-scripts/ld-version-2.d8
-rw-r--r--ld/testsuite/ld-scripts/ld-version.d7
-rw-r--r--ld/testsuite/ld-scripts/ld-version.t9
-rw-r--r--ld/testsuite/ld-scripts/script.exp2
4 files changed, 26 insertions, 0 deletions
diff --git a/ld/testsuite/ld-scripts/ld-version-2.d b/ld/testsuite/ld-scripts/ld-version-2.d
new file mode 100644
index 00000000000..761234901ff
--- /dev/null
+++ b/ld/testsuite/ld-scripts/ld-version-2.d
@@ -0,0 +1,8 @@
+# source: data.s
+# ld: --enable-linker-version -e 0
+# readelf: -p.comment
+# target: [is_elf_format]
+# skip: ft32-*-* pru-*-*
+
+String dump of section '.comment':
+.*GNU ld \(GNU Binutils\) 2.*
diff --git a/ld/testsuite/ld-scripts/ld-version.d b/ld/testsuite/ld-scripts/ld-version.d
new file mode 100644
index 00000000000..a55fc5e003b
--- /dev/null
+++ b/ld/testsuite/ld-scripts/ld-version.d
@@ -0,0 +1,7 @@
+# source: data.s
+# ld: --enable-linker-version -T ld-version.t
+# readelf: -p.comment
+# target: [is_elf_format]
+
+String dump of section '.comment':
+.*GNU ld \(GNU Binutils\) 2.*
diff --git a/ld/testsuite/ld-scripts/ld-version.t b/ld/testsuite/ld-scripts/ld-version.t
new file mode 100644
index 00000000000..5e7d22c7bae
--- /dev/null
+++ b/ld/testsuite/ld-scripts/ld-version.t
@@ -0,0 +1,9 @@
+SECTIONS
+{
+ .comment :
+ {
+ *(.comment);
+ LINKER_VERSION;
+ }
+ /DISCARD/ : { *(*) }
+}
diff --git a/ld/testsuite/ld-scripts/script.exp b/ld/testsuite/ld-scripts/script.exp
index a574dde034c..28cc6daf51d 100644
--- a/ld/testsuite/ld-scripts/script.exp
+++ b/ld/testsuite/ld-scripts/script.exp
@@ -231,6 +231,8 @@ run_dump_test "asciz"
run_dump_test "align-with-input"
run_dump_test "pr20302"
run_dump_test "output-section-types"
+run_dump_test "ld-version"
+run_dump_test "ld-version-2"
run_dump_test "segment-start" {{name (default)}}
run_dump_test "segment-start" {{name (overridden)} \