diff options
author | Nick Clifton <nickc@redhat.com> | 2023-03-15 14:27:21 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2023-03-15 14:27:21 +0000 |
commit | 2d5783fad77c2cb9cdcb396d65fe0a60e3d8938b (patch) | |
tree | 6f498d98b1bd86aba1498861443099802ac0f8c8 /ld/ld.texi | |
parent | 71f646f2b3fc6e273fd17b5fdc9ba6bae242b330 (diff) | |
download | gdb-2d5783fad77c2cb9cdcb396d65fe0a60e3d8938b.zip gdb-2d5783fad77c2cb9cdcb396d65fe0a60e3d8938b.tar.gz gdb-2d5783fad77c2cb9cdcb396d65fe0a60e3d8938b.tar.bz2 |
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/ld.texi')
-rw-r--r-- | ld/ld.texi | 30 |
1 files changed, 29 insertions, 1 deletions
@@ -461,6 +461,22 @@ will contain a colon separated list of audit interfaces to use. This option is only meaningful on ELF platforms supporting the rtld-audit interface. The -P option is provided for Solaris compatibility. +@kindex --enable-linker-version +@item --enable-linker-version +Enables the @code{LINKER_VERSION} linker script directive, described +in @ref{Output Section Data}. If this directive is used in a linker +script and this option has been enabled then a string containing the +linker version will be inserted at the current point. + +Note - this location of this option on the linker command line is +significant. It will only affect linker scripts that come after it on +the command line, or which are built into the linker. + +@kindex --disable-linker-version +@item --disable-linker-version +Disables the @code{LINKER_VERSION} linker script directive, so that it +does not insert a version string. This is the default. + @kindex --enable-non-contiguous-regions @item --enable-non-contiguous-regions This option avoids generating an error if an input section does not @@ -1168,7 +1184,9 @@ in a linker script. @itemx --version @itemx -V Display the version number for @command{ld}. The @option{-V} option also -lists the supported emulations. +lists the supported emulations. See also the description of the +@option{--enable-linker-version} in @ref{Options,,Command-line Options} +which can be used to insert the linker version string into a binary. @kindex -x @kindex --discard-all @@ -5393,6 +5411,16 @@ entire section. If both are used, the @code{FILL} command takes precedence. @xref{Output Section Fill}, for details on the fill expression. +@kindex LINKER_VERSION +@cindex LINKER_VERSION +Inserts a string containing the version of the linker at the current +point. Note - by default this directive is disabled and will do +nothing. It only becomes active if the +@option{--enable-linker-version} command line option is used. + +Built-in linker scripts for ELF based targets already include this +directive in their @samp{.comment} section. + @node Output Section Keywords @subsection Output Section Keywords There are a couple of keywords which can appear as output section |