On 05/02/2023 at 9:10 AM Matthias Klose wrote:
what exactly is broken?

Please, just reproduce it, will ya?

See here:

$ locale -a | grep -E '^de'
de_AT.utf8
de_BE.utf8
de_CH.utf8
de_DE.utf8
de_IT.utf8
de_LI.utf8
de_LU.utf8
$ env | grep -E '^L[AC]'
LANGUAGE=de_DE.UTF-8
LANG=de_DE.UTF-8
LC_ALL=de_DE.UTF-8
$ ls -l /usr/share/locale/de/LC_MESSAGES/ld.mo
-rw-r--r-- 1 root root 51848 20. Feb 2021
/usr/share/locale/de/LC_MESSAGES/ld.mo
$ ld --help
Usage: ld [options] file...
Options:
  -a KEYWORD                  Shared library control for HP/UX
compatibility
  -A ARCH, --architecture ARCH
                              Set architecture
  -b TARGET, --format TARGET  Specify target for following input files
  -c FILE, --mri-script FILE  Read MRI format linker script
  -d, -dc, -dp                Force common symbols to be defined
  --dependency-file FILE      Write dependency file
  --force-group-allocation    Force group members out of groups
  -e ADDRESS, --entry ADDRESS Set start address
  -E, --export-dynamic        Export all dynamic symbols
  --no-export-dynamic         Undo the effect of --export-dynamic
  --enable-non-contiguous-regions
                              Enable support of non-contiguous memory
regions
  --enable-non-contiguous-regions-warnings
                              Enable warnings when
--enable-non-contiguous-regions may cause unexpected behaviour
  -EB                         Link big-endian objects
  -EL                         Link little-endian objects
  -f SHLIB, --auxiliary SHLIB Auxiliary filter for shared object symbol
table
  -F SHLIB, --filter SHLIB    Filter for shared object symbol table
  -g                          Ignored
  -G SIZE, --gpsize SIZE      Small data size (if no size, same as
--shared)
  -h FILENAME, -soname FILENAME
                              Set internal name of shared library
  -I PROGRAM, --dynamic-linker PROGRAM
                              Set PROGRAM as the dynamic linker to use
  --no-dynamic-linker         Produce an executable with no program
interpreter header
  -l LIBNAME, --library LIBNAME
                              Search for library LIBNAME
  -L DIRECTORY, --library-path DIRECTORY
                              Add DIRECTORY to library search path
  --sysroot=<DIRECTORY>       Override the default sysroot location
  -m EMULATION                Set emulation
  -M, --print-map             Print map file on standard output
  -n, --nmagic                Do not page align data
  -N, --omagic                Do not page align data, do not make text
readonly
  --no-omagic                 Page align data, make text readonly
  -o FILE, --output FILE      Set output file name
  -O                          Optimize output file
  --out-implib FILE           Generate import library
  -plugin PLUGIN              Load named plugin
  -plugin-opt ARG             Send arg to last-loaded plugin
  -flto                       Ignored for GCC LTO option compatibility
  -flto-partition=            Ignored for GCC LTO option compatibility
  -fuse-ld=                   Ignored for GCC linker option compatibility
  --map-whole-files           Ignored for gold option compatibility
  --no-map-whole-files        Ignored for gold option compatibility
  -Qy                         Ignored for SVR4 compatibility
  -q, --emit-relocs           Generate relocations in final output
  -r, -i, --relocatable       Generate relocatable output
  -R FILE, --just-symbols FILE
                              Just link symbols (if directory, same as
--rpath)
  -s, --strip-all             Strip all symbols
  -S, --strip-debug           Strip debugging symbols
  --strip-discarded           Strip symbols in discarded sections
  --no-strip-discarded        Do not strip symbols in discarded sections
  -t, --trace                 Trace file opens
  -T FILE, --script FILE      Read linker script
  --default-script FILE, -dT  Read default linker script
  -u SYMBOL, --undefined SYMBOL
                              Start with undefined reference to SYMBOL
  --require-defined SYMBOL    Require SYMBOL be defined in the final output
  --unique [=SECTION]         Don't merge input [SECTION | orphan] sections
  -Ur                         Build global constructor/destructor tables
  -v, --version               Print version information
  -V                          Print version and emulation information
  -x, --discard-all           Discard all local symbols
  -X, --discard-locals        Discard temporary local symbols (default)
  --discard-none              Don't discard any local symbols
  -y SYMBOL, --trace-symbol SYMBOL
                              Trace mentions of SYMBOL
  -Y PATH                     Default search path for Solaris compatibility
  -(, --start-group           Start a group
  -), --end-group             End a group
  --accept-unknown-input-arch Accept input files whose architecture
cannot be determined
  --no-accept-unknown-input-arch
                              Reject input files whose architecture is
unknown
  --as-needed                 Only set DT_NEEDED for following dynamic
libs if used
  --no-as-needed              Always set DT_NEEDED for dynamic
libraries mentioned on
                                the command line
  -assert KEYWORD             Ignored for SunOS compatibility
  -Bdynamic, -dy, -call_shared
                              Link against shared libraries
  -Bstatic, -dn, -non_shared, -static
                              Do not link against shared libraries
  -Bsymbolic                  Bind global references locally
  -Bsymbolic-functions        Bind global function references locally
  --check-sections            Check section addresses for overlaps
(default)
  --no-check-sections         Do not check section addresses for overlaps
  --copy-dt-needed-entries    Copy DT_NEEDED links mentioned inside
DSOs that follow
  --no-copy-dt-needed-entries Do not copy DT_NEEDED links mentioned
inside DSOs that follow
  --cref                      Output cross reference table
  --defsym SYMBOL=EXPRESSION  Define a symbol
  --demangle [=STYLE]         Demangle symbol names [using STYLE]
  --disable-multiple-abs-defs Do not allow multiple definitions with
symbols included
           in filename invoked by -R or --just-symbols
  --embedded-relocs           Generate embedded relocs
  --fatal-warnings            Treat warnings as errors
  --no-fatal-warnings         Do not treat warnings as errors (default)
  -fini SYMBOL                Call SYMBOL at unload-time
  --force-exe-suffix          Force generation of file with .exe suffix
  --gc-sections               Remove unused sections (on some targets)
  --no-gc-sections            Don't remove unused sections (default)
  --print-gc-sections         List removed unused sections on stderr
  --no-print-gc-sections      Do not list removed unused sections
  --gc-keep-exported          Keep exported symbols when removing
unused sections
  --hash-size=<NUMBER>        Set default hash table size close to <NUMBER>
  --help                      Print option help
  -init SYMBOL                Call SYMBOL at load-time
  -Map FILE/DIR               Write a linker map to FILE or
DIR/<outputname>.map
  --no-define-common          Do not define Common storage
  --no-demangle               Do not demangle symbol names
  --no-keep-memory            Use less memory and more disk I/O
  --no-undefined              Do not allow unresolved references in
object files
  --allow-shlib-undefined     Allow unresolved references in shared
libraries
  --no-allow-shlib-undefined  Do not allow unresolved references in
shared libs
  --allow-multiple-definition Allow multiple definitions
  --no-undefined-version      Disallow undefined version
  --default-symver            Create default symbol version
  --default-imported-symver   Create default symbol version for
imported symbols
  --no-warn-mismatch          Don't warn about mismatched input files
  --no-warn-search-mismatch   Don't warn on finding an incompatible library
  --no-whole-archive          Turn off --whole-archive
  --noinhibit-exec            Create an output file even if errors occur
  -nostdlib                   Only use library directories specified on
                                the command line
  --oformat TARGET            Specify target of output file
  --print-output-format       Print default output format
  --print-sysroot             Print current sysroot
  -qmagic                     Ignored for Linux compatibility
  --reduce-memory-overheads   Reduce memory overheads, possibly taking
much longer
  --relax                     Reduce code size by using target specific
optimizations
  --no-relax                  Do not use relaxation techniques to
reduce code size
  --retain-symbols-file FILE  Keep only symbols listed in FILE
  -rpath PATH                 Set runtime shared library search path
  -rpath-link PATH            Set link time shared library search path
  -shared, -Bshareable        Create a shared library
  -pie, --pic-executable      Create a position independent executable
  --sort-common [=ascending|descending]
                              Sort common symbols by alignment [in
specified order]
  --sort-section name|alignment
                              Sort sections by name or maximum alignment
  --spare-dynamic-tags COUNT  How many tags to reserve in .dynamic section
  --split-by-file [=SIZE]     Split output sections every SIZE octets
  --split-by-reloc [=COUNT]   Split output sections every COUNT relocs
  --stats                     Print memory usage statistics
  --target-help               Display target specific options
  --task-link SYMBOL          Do task level linking
  --traditional-format        Use same format as native linker
  --section-start SECTION=ADDRESS
                              Set address of named section
  -Tbss ADDRESS               Set address of .bss section
  -Tdata ADDRESS              Set address of .data section
  -Ttext ADDRESS              Set address of .text section
  -Ttext-segment ADDRESS      Set address of text segment
  -Trodata-segment ADDRESS    Set address of rodata segment
  -Tldata-segment ADDRESS     Set address of ldata segment
  --unresolved-symbols=<method>
                              How to handle unresolved symbols.
<method> is:
                                ignore-all, report-all,
ignore-in-object-files,
                                ignore-in-shared-libs
  --verbose [=NUMBER]         Output lots of information during link
  --version-script FILE       Read version information script
  --version-exports-section SYMBOL
                              Take export symbols list from .exports, using
                                SYMBOL as the version.
  --dynamic-list-data         Add data symbols to dynamic list
  --dynamic-list-cpp-new      Use C++ operator new/delete dynamic list
  --dynamic-list-cpp-typeinfo Use C++ typeinfo dynamic list
  --dynamic-list FILE         Read dynamic list
  --export-dynamic-symbol SYMBOL
                              Export the specified symbol
  --export-dynamic-symbol-list FILE
                              Read export dynamic symbol list
  --warn-common               Warn about duplicate common symbols
  --warn-constructors         Warn if global constructors/destructors
are seen
  --warn-multiple-gp          Warn if the multiple GP values are used
  --warn-once                 Warn only once per undefined symbol
  --warn-section-align        Warn if start of section changes due to
alignment
  --warn-textrel              Warn if outpout has DT_TEXTREL
  --warn-alternate-em         Warn if an object has alternate ELF
machine code
  --warn-unresolved-symbols   Report unresolved symbols as warnings
  --error-unresolved-symbols  Report unresolved symbols as errors
  --whole-archive             Include all objects from following archives
  --wrap SYMBOL               Use wrapper functions for SYMBOL
  --ignore-unresolved-symbol SYMBOL
                              Unresolved SYMBOL will not cause an error
or warning
  --push-state                Push state of flags governing input file
handling
  --pop-state                 Pop state of flags governing input file
handling
  --print-memory-usage        Report target memory usage
  --orphan-handling =MODE     Control how orphan sections are handled.
  --print-map-discarded       Show discarded sections in map file
output (default)
  --no-print-map-discarded    Do not show discarded sections in map
file output
  @FILE                       Read options from FILE
ld: supported targets: elf64-littleaarch64 elf64-bigaarch64
elf32-littleaarch64 elf32-bigaarch64 elf32-littlearm elf32-bigarm
elf64-little elf64-big elf32-little elf32-big srec symbolsrec verilog
tekhex binary ihex plugin
ld: supported emulations: aarch64linux aarch64elf aarch64elf32
aarch64elf32b aarch64elfb armelf armelfb aarch64linuxb aarch64linux32
aarch64linux32b armelfb_linux_eabi armelf_linux_eabi
ld: emulation specific options:
ELF emulations:
  --build-id[=STYLE]          Generate build ID note
  --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi]
                              Compress DWARF debug sections using zlib
                                Default: none
  -z common-page-size=SIZE    Set common page size to SIZE
  -z max-page-size=SIZE       Set maximum page size to SIZE
  -z defs                     Report unresolved symbols in object files
  -z muldefs                  Allow multiple definitions
  -z execstack                Mark executable as requiring executable stack
  -z noexecstack              Mark executable as not requiring
executable stack
  -z globalaudit              Mark executable requiring global auditing
  --audit=AUDITLIB            Specify a library to use for auditing
  -Bgroup                     Selects group name lookup rules for DSO
  --disable-new-dtags         Disable new dynamic tags
  --enable-new-dtags          Enable new dynamic tags
  --eh-frame-hdr              Create .eh_frame_hdr section
  --no-eh-frame-hdr           Do not create .eh_frame_hdr section
  --exclude-libs=LIBS         Make all symbols in LIBS hidden
  --hash-style=STYLE          Set hash style to sysv/gnu/both.
Default: both
  -P AUDITLIB, --depaudit=AUDITLIB
                              Specify a library to use for auditing
dependencies
  -z combreloc                Merge dynamic relocs into one section and
sort
  -z nocombreloc              Don't merge dynamic relocs into one section
  -z global                   Make symbols in DSO available for
subsequently
                                loaded objects
  -z initfirst                Mark DSO to be initialized first at runtime
  -z interpose                Mark object to interpose all DSOs but
executable
  -z lazy                     Mark object lazy runtime binding (default)
  -z loadfltr                 Mark object requiring immediate process
  -z nocopyreloc              Don't create copy relocs
  -z nodefaultlib             Mark object not to use default search paths
  -z nodelete                 Mark DSO non-deletable at runtime
  -z nodlopen                 Mark DSO not available to dlopen
  -z nodump                   Mark DSO not available to dldump
  -z now                      Mark object non-lazy runtime binding
  -z origin                   Mark object requiring immediate $ORIGIN
                                processing at runtime
  -z relro                    Create RELRO program header (default)
  -z norelro                  Don't create RELRO program header
  -z separate-code            Create separate code program header
  -z noseparate-code          Don't create separate code program header
(default)
  -z common                   Generate common symbols with STT_COMMON type
  -z nocommon                 Generate common symbols with STT_OBJECT type
  -z stack-size=SIZE          Set size of stack segment
  -z text                     Treat DT_TEXTREL in output as error
  -z notext                   Don't treat DT_TEXTREL in output as error
(default)
  -z textoff                  Don't treat DT_TEXTREL in output as error
(default)
aarch64linux:
  --no-enum-size-warning      Don't warn about objects with incompatible
                                enum sizes
  --no-wchar-size-warning     Don't warn about objects with incompatible
                                wchar_t sizes
  --pic-veneer                Always generate PIC interworking veneers
  --stub-group-size=N         Maximum size of a group of input sections
that
                                can be handled by one stub section.  A
negative
                                value locates all stubs after their
branches
                                (with a group size of -N), while a positive
                                value allows two groups of input
sections, one
                                before, and one after each stub section.
                                Values of +/-1 indicate the linker should
                                choose suitable defaults.
  --fix-cortex-a53-835769      Fix erratum 835769
  --fix-cortex-a53-843419[=full|adr|adrp]      Fix erratum 843419 and
optionally specify which workaround to use.
                                               full (default): Use both
ADRP and ADR workaround, this will
                                                 increase the size of
your binaries.
                                               adr: Only use the ADR
workaround, this will not cause any increase
                                                 in binary size but
linking will fail if the referenced address is
                                                 out of range of an ADR
instruction.  This will remove the need of using
                                                 a veneer and results
in both performance and size benefits.
                                               adrp: Use only the ADRP
workaround, this will never rewrite your ADRP
                                                 instruction into an
ADR.  As such the workaround will always use a
                                                 veneer and this will
give you both a performance and size overhead.
  --no-apply-dynamic-relocs    Do not apply link-time values for
dynamic relocations
  -z force-bti                  Turn on Branch Target Identification
mechanism and generate PLTs with BTI. Generate warnings for missing BTI
on inputs
  -z pac-plt                    Protect PLTs with Pointer Authentication.
aarch64elf:
  --no-enum-size-warning      Don't warn about objects with incompatible
                                enum sizes
  --no-wchar-size-warning     Don't warn about objects with incompatible
                                wchar_t sizes
  --pic-veneer                Always generate PIC interworking veneers
  --stub-group-size=N         Maximum size of a group of input sections
that
                                can be handled by one stub section.  A
negative
                                value locates all stubs after their
branches
                                (with a group size of -N), while a positive
                                value allows two groups of input
sections, one
                                before, and one after each stub section.
                                Values of +/-1 indicate the linker should
                                choose suitable defaults.
  --fix-cortex-a53-835769      Fix erratum 835769
  --fix-cortex-a53-843419[=full|adr|adrp]      Fix erratum 843419 and
optionally specify which workaround to use.
                                               full (default): Use both
ADRP and ADR workaround, this will
                                                 increase the size of
your binaries.
                                               adr: Only use the ADR
workaround, this will not cause any increase
                                                 in binary size but
linking will fail if the referenced address is
                                                 out of range of an ADR
instruction.  This will remove the need of using
                                                 a veneer and results
in both performance and size benefits.
                                               adrp: Use only the ADRP
workaround, this will never rewrite your ADRP
                                                 instruction into an
ADR.  As such the workaround will always use a
                                                 veneer and this will
give you both a performance and size overhead.
  --no-apply-dynamic-relocs    Do not apply link-time values for
dynamic relocations
  -z force-bti                  Turn on Branch Target Identification
mechanism and generate PLTs with BTI. Generate warnings for missing BTI
on inputs
  -z pac-plt                    Protect PLTs with Pointer Authentication.
aarch64elf32:
  --no-enum-size-warning      Don't warn about objects with incompatible
                                enum sizes
  --no-wchar-size-warning     Don't warn about objects with incompatible
                                wchar_t sizes
  --pic-veneer                Always generate PIC interworking veneers
  --stub-group-size=N         Maximum size of a group of input sections
that
                                can be handled by one stub section.  A
negative
                                value locates all stubs after their
branches
                                (with a group size of -N), while a positive
                                value allows two groups of input
sections, one
                                before, and one after each stub section.
                                Values of +/-1 indicate the linker should
                                choose suitable defaults.
  --fix-cortex-a53-835769      Fix erratum 835769
  --fix-cortex-a53-843419[=full|adr|adrp]      Fix erratum 843419 and
optionally specify which workaround to use.
                                               full (default): Use both
ADRP and ADR workaround, this will
                                                 increase the size of
your binaries.
                                               adr: Only use the ADR
workaround, this will not cause any increase
                                                 in binary size but
linking will fail if the referenced address is
                                                 out of range of an ADR
instruction.  This will remove the need of using
                                                 a veneer and results
in both performance and size benefits.
                                               adrp: Use only the ADRP
workaround, this will never rewrite your ADRP
                                                 instruction into an
ADR.  As such the workaround will always use a
                                                 veneer and this will
give you both a performance and size overhead.
  --no-apply-dynamic-relocs    Do not apply link-time values for
dynamic relocations
  -z force-bti                  Turn on Branch Target Identification
mechanism and generate PLTs with BTI. Generate warnings for missing BTI
on inputs
  -z pac-plt                    Protect PLTs with Pointer Authentication.
aarch64elf32b:
  --no-enum-size-warning      Don't warn about objects with incompatible
                                enum sizes
  --no-wchar-size-warning     Don't warn about objects with incompatible
                                wchar_t sizes
  --pic-veneer                Always generate PIC interworking veneers
  --stub-group-size=N         Maximum size of a group of input sections
that
                                can be handled by one stub section.  A
negative
                                value locates all stubs after their
branches
                                (with a group size of -N), while a positive
                                value allows two groups of input
sections, one
                                before, and one after each stub section.
                                Values of +/-1 indicate the linker should
                                choose suitable defaults.
  --fix-cortex-a53-835769      Fix erratum 835769
  --fix-cortex-a53-843419[=full|adr|adrp]      Fix erratum 843419 and
optionally specify which workaround to use.
                                               full (default): Use both
ADRP and ADR workaround, this will
                                                 increase the size of
your binaries.
                                               adr: Only use the ADR
workaround, this will not cause any increase
                                                 in binary size but
linking will fail if the referenced address is
                                                 out of range of an ADR
instruction.  This will remove the need of using
                                                 a veneer and results
in both performance and size benefits.
                                               adrp: Use only the ADRP
workaround, this will never rewrite your ADRP
                                                 instruction into an
ADR.  As such the workaround will always use a
                                                 veneer and this will
give you both a performance and size overhead.
  --no-apply-dynamic-relocs    Do not apply link-time values for
dynamic relocations
  -z force-bti                  Turn on Branch Target Identification
mechanism and generate PLTs with BTI. Generate warnings for missing BTI
on inputs
  -z pac-plt                    Protect PLTs with Pointer Authentication.
aarch64elfb:
  --no-enum-size-warning      Don't warn about objects with incompatible
                                enum sizes
  --no-wchar-size-warning     Don't warn about objects with incompatible
                                wchar_t sizes
  --pic-veneer                Always generate PIC interworking veneers
  --stub-group-size=N         Maximum size of a group of input sections
that
                                can be handled by one stub section.  A
negative
                                value locates all stubs after their
branches
                                (with a group size of -N), while a positive
                                value allows two groups of input
sections, one
                                before, and one after each stub section.
                                Values of +/-1 indicate the linker should
                                choose suitable defaults.
  --fix-cortex-a53-835769      Fix erratum 835769
  --fix-cortex-a53-843419[=full|adr|adrp]      Fix erratum 843419 and
optionally specify which workaround to use.
                                               full (default): Use both
ADRP and ADR workaround, this will
                                                 increase the size of
your binaries.
                                               adr: Only use the ADR
workaround, this will not cause any increase
                                                 in binary size but
linking will fail if the referenced address is
                                                 out of range of an ADR
instruction.  This will remove the need of using
                                                 a veneer and results
in both performance and size benefits.
                                               adrp: Use only the ADRP
workaround, this will never rewrite your ADRP
                                                 instruction into an
ADR.  As such the workaround will always use a
                                                 veneer and this will
give you both a performance and size overhead.
  --no-apply-dynamic-relocs    Do not apply link-time values for
dynamic relocations
  -z force-bti                  Turn on Branch Target Identification
mechanism and generate PLTs with BTI. Generate warnings for missing BTI
on inputs
  -z pac-plt                    Protect PLTs with Pointer Authentication.
armelf:
  --thumb-entry=<sym>         Set the entry point to be Thumb symbol <sym>
  --be8                       Output BE8 format image
  --target1-rel               Interpret R_ARM_TARGET1 as R_ARM_REL32
  --target1-abs               Interpret R_ARM_TARGET1 as R_ARM_ABS32
  --target2=<type>            Specify definition of R_ARM_TARGET2
  --fix-v4bx                  Rewrite BX rn as MOV pc, rn for ARMv4
  --fix-v4bx-interworking     Rewrite BX rn branch to ARMv4
interworking veneer
  --use-blx                   Enable use of BLX instructions
  --vfp11-denorm-fix          Specify how to fix VFP11 denorm erratum
  --fix-stm32l4xx-629360      Specify how to fix STM32L4XX 629360 erratum
  --no-enum-size-warning      Don't warn about objects with incompatible
                                enum sizes
  --no-wchar-size-warning     Don't warn about objects with incompatible
                                wchar_t sizes
  --pic-veneer                Always generate PIC interworking veneers
  --long-plt                  Generate long .plt entries
                              to handle large .plt/.got displacements
  --cmse-implib               Make import library to be a secure
gateway import
                                library as per ARMv8-M Security Extensions
  --in-implib                 Import library whose symbols address must
                                remain stable
  --stub-group-size=N         Maximum size of a group of input sections
that
                                can be handled by one stub section.  A
negative
                                value locates all stubs after their
branches
                                (with a group size of -N), while a positive
                                value allows two groups of input
sections, one
                                before, and one after each stub section.
                                Values of +/-1 indicate the linker should
                                choose suitable defaults.
  --[no-]fix-cortex-a8        Disable/enable Cortex-A8 Thumb-2 branch
erratum fix
  --no-merge-exidx-entries    Disable merging exidx entries
  --[no-]fix-arm1176          Disable/enable ARM1176 BLX immediate
erratum fix
armelfb:
  --thumb-entry=<sym>         Set the entry point to be Thumb symbol <sym>
  --be8                       Output BE8 format image
  --target1-rel               Interpret R_ARM_TARGET1 as R_ARM_REL32
  --target1-abs               Interpret R_ARM_TARGET1 as R_ARM_ABS32
  --target2=<type>            Specify definition of R_ARM_TARGET2
  --fix-v4bx                  Rewrite BX rn as MOV pc, rn for ARMv4
  --fix-v4bx-interworking     Rewrite BX rn branch to ARMv4
interworking veneer
  --use-blx                   Enable use of BLX instructions
  --vfp11-denorm-fix          Specify how to fix VFP11 denorm erratum
  --fix-stm32l4xx-629360      Specify how to fix STM32L4XX 629360 erratum
  --no-enum-size-warning      Don't warn about objects with incompatible
                                enum sizes
  --no-wchar-size-warning     Don't warn about objects with incompatible
                                wchar_t sizes
  --pic-veneer                Always generate PIC interworking veneers
  --long-plt                  Generate long .plt entries
                              to handle large .plt/.got displacements
  --cmse-implib               Make import library to be a secure
gateway import
                                library as per ARMv8-M Security Extensions
  --in-implib                 Import library whose symbols address must
                                remain stable
  --stub-group-size=N         Maximum size of a group of input sections
that
                                can be handled by one stub section.  A
negative
                                value locates all stubs after their
branches
                                (with a group size of -N), while a positive
                                value allows two groups of input
sections, one
                                before, and one after each stub section.
                                Values of +/-1 indicate the linker should
                                choose suitable defaults.
  --[no-]fix-cortex-a8        Disable/enable Cortex-A8 Thumb-2 branch
erratum fix
  --no-merge-exidx-entries    Disable merging exidx entries
  --[no-]fix-arm1176          Disable/enable ARM1176 BLX immediate
erratum fix
aarch64linuxb:
  --no-enum-size-warning      Don't warn about objects with incompatible
                                enum sizes
  --no-wchar-size-warning     Don't warn about objects with incompatible
                                wchar_t sizes
  --pic-veneer                Always generate PIC interworking veneers
  --stub-group-size=N         Maximum size of a group of input sections
that
                                can be handled by one stub section.  A
negative
                                value locates all stubs after their
branches
                                (with a group size of -N), while a positive
                                value allows two groups of input
sections, one
                                before, and one after each stub section.
                                Values of +/-1 indicate the linker should
                                choose suitable defaults.
  --fix-cortex-a53-835769      Fix erratum 835769
  --fix-cortex-a53-843419[=full|adr|adrp]      Fix erratum 843419 and
optionally specify which workaround to use.
                                               full (default): Use both
ADRP and ADR workaround, this will
                                                 increase the size of
your binaries.
                                               adr: Only use the ADR
workaround, this will not cause any increase
                                                 in binary size but
linking will fail if the referenced address is
                                                 out of range of an ADR
instruction.  This will remove the need of using
                                                 a veneer and results
in both performance and size benefits.
                                               adrp: Use only the ADRP
workaround, this will never rewrite your ADRP
                                                 instruction into an
ADR.  As such the workaround will always use a
                                                 veneer and this will
give you both a performance and size overhead.
  --no-apply-dynamic-relocs    Do not apply link-time values for
dynamic relocations
  -z force-bti                  Turn on Branch Target Identification
mechanism and generate PLTs with BTI. Generate warnings for missing BTI
on inputs
  -z pac-plt                    Protect PLTs with Pointer Authentication.
aarch64linux32:
  --no-enum-size-warning      Don't warn about objects with incompatible
                                enum sizes
  --no-wchar-size-warning     Don't warn about objects with incompatible
                                wchar_t sizes
  --pic-veneer                Always generate PIC interworking veneers
  --stub-group-size=N         Maximum size of a group of input sections
that
                                can be handled by one stub section.  A
negative
                                value locates all stubs after their
branches
                                (with a group size of -N), while a positive
                                value allows two groups of input
sections, one
                                before, and one after each stub section.
                                Values of +/-1 indicate the linker should
                                choose suitable defaults.
  --fix-cortex-a53-835769      Fix erratum 835769
  --fix-cortex-a53-843419[=full|adr|adrp]      Fix erratum 843419 and
optionally specify which workaround to use.
                                               full (default): Use both
ADRP and ADR workaround, this will
                                                 increase the size of
your binaries.
                                               adr: Only use the ADR
workaround, this will not cause any increase
                                                 in binary size but
linking will fail if the referenced address is
                                                 out of range of an ADR
instruction.  This will remove the need of using
                                                 a veneer and results
in both performance and size benefits.
                                               adrp: Use only the ADRP
workaround, this will never rewrite your ADRP
                                                 instruction into an
ADR.  As such the workaround will always use a
                                                 veneer and this will
give you both a performance and size overhead.
  --no-apply-dynamic-relocs    Do not apply link-time values for
dynamic relocations
  -z force-bti                  Turn on Branch Target Identification
mechanism and generate PLTs with BTI. Generate warnings for missing BTI
on inputs
  -z pac-plt                    Protect PLTs with Pointer Authentication.
aarch64linux32b:
  --no-enum-size-warning      Don't warn about objects with incompatible
                                enum sizes
  --no-wchar-size-warning     Don't warn about objects with incompatible
                                wchar_t sizes
  --pic-veneer                Always generate PIC interworking veneers
  --stub-group-size=N         Maximum size of a group of input sections
that
                                can be handled by one stub section.  A
negative
                                value locates all stubs after their
branches
                                (with a group size of -N), while a positive
                                value allows two groups of input
sections, one
                                before, and one after each stub section.
                                Values of +/-1 indicate the linker should
                                choose suitable defaults.
  --fix-cortex-a53-835769      Fix erratum 835769
  --fix-cortex-a53-843419[=full|adr|adrp]      Fix erratum 843419 and
optionally specify which workaround to use.
                                               full (default): Use both
ADRP and ADR workaround, this will
                                                 increase the size of
your binaries.
                                               adr: Only use the ADR
workaround, this will not cause any increase
                                                 in binary size but
linking will fail if the referenced address is
                                                 out of range of an ADR
instruction.  This will remove the need of using
                                                 a veneer and results
in both performance and size benefits.
                                               adrp: Use only the ADRP
workaround, this will never rewrite your ADRP
                                                 instruction into an
ADR.  As such the workaround will always use a
                                                 veneer and this will
give you both a performance and size overhead.
  --no-apply-dynamic-relocs    Do not apply link-time values for
dynamic relocations
  -z force-bti                  Turn on Branch Target Identification
mechanism and generate PLTs with BTI. Generate warnings for missing BTI
on inputs
  -z pac-plt                    Protect PLTs with Pointer Authentication.
armelfb_linux_eabi:
  --thumb-entry=<sym>         Set the entry point to be Thumb symbol <sym>
  --be8                       Output BE8 format image
  --target1-rel               Interpret R_ARM_TARGET1 as R_ARM_REL32
  --target1-abs               Interpret R_ARM_TARGET1 as R_ARM_ABS32
  --target2=<type>            Specify definition of R_ARM_TARGET2
  --fix-v4bx                  Rewrite BX rn as MOV pc, rn for ARMv4
  --fix-v4bx-interworking     Rewrite BX rn branch to ARMv4
interworking veneer
  --use-blx                   Enable use of BLX instructions
  --vfp11-denorm-fix          Specify how to fix VFP11 denorm erratum
  --fix-stm32l4xx-629360      Specify how to fix STM32L4XX 629360 erratum
  --no-enum-size-warning      Don't warn about objects with incompatible
                                enum sizes
  --no-wchar-size-warning     Don't warn about objects with incompatible
                                wchar_t sizes
  --pic-veneer                Always generate PIC interworking veneers
  --long-plt                  Generate long .plt entries
                              to handle large .plt/.got displacements
  --cmse-implib               Make import library to be a secure
gateway import
                                library as per ARMv8-M Security Extensions
  --in-implib                 Import library whose symbols address must
                                remain stable
  --stub-group-size=N         Maximum size of a group of input sections
that
                                can be handled by one stub section.  A
negative
                                value locates all stubs after their
branches
                                (with a group size of -N), while a positive
                                value allows two groups of input
sections, one
                                before, and one after each stub section.
                                Values of +/-1 indicate the linker should
                                choose suitable defaults.
  --[no-]fix-cortex-a8        Disable/enable Cortex-A8 Thumb-2 branch
erratum fix
  --no-merge-exidx-entries    Disable merging exidx entries
  --[no-]fix-arm1176          Disable/enable ARM1176 BLX immediate
erratum fix
armelf_linux_eabi:
  --thumb-entry=<sym>         Set the entry point to be Thumb symbol <sym>
  --be8                       Output BE8 format image
  --target1-rel               Interpret R_ARM_TARGET1 as R_ARM_REL32
  --target1-abs               Interpret R_ARM_TARGET1 as R_ARM_ABS32
  --target2=<type>            Specify definition of R_ARM_TARGET2
  --fix-v4bx                  Rewrite BX rn as MOV pc, rn for ARMv4
  --fix-v4bx-interworking     Rewrite BX rn branch to ARMv4
interworking veneer
  --use-blx                   Enable use of BLX instructions
  --vfp11-denorm-fix          Specify how to fix VFP11 denorm erratum
  --fix-stm32l4xx-629360      Specify how to fix STM32L4XX 629360 erratum
  --no-enum-size-warning      Don't warn about objects with incompatible
                                enum sizes
  --no-wchar-size-warning     Don't warn about objects with incompatible
                                wchar_t sizes
  --pic-veneer                Always generate PIC interworking veneers
  --long-plt                  Generate long .plt entries
                              to handle large .plt/.got displacements
  --cmse-implib               Make import library to be a secure
gateway import
                                library as per ARMv8-M Security Extensions
  --in-implib                 Import library whose symbols address must
                                remain stable
  --stub-group-size=N         Maximum size of a group of input sections
that
                                can be handled by one stub section.  A
negative
                                value locates all stubs after their
branches
                                (with a group size of -N), while a positive
                                value allows two groups of input
sections, one
                                before, and one after each stub section.
                                Values of +/-1 indicate the linker should
                                choose suitable defaults.
  --[no-]fix-cortex-a8        Disable/enable Cortex-A8 Thumb-2 branch
erratum fix
  --no-merge-exidx-entries    Disable merging exidx entries
  --[no-]fix-arm1176          Disable/enable ARM1176 BLX immediate
erratum fix

Report bugs to <http://www.sourceware.org/bugzilla/>
$ arm-linux-gnueabihf-ld --help
Usage: arm-linux-gnueabihf-ld [options] file...
Options:
  -a KEYWORD                  Shared library control for HP/UX
compatibility
  -A ARCH, --architecture ARCH
                              Set architecture
  -b TARGET, --format TARGET  Specify target for following input files
  -c FILE, --mri-script FILE  Read MRI format linker script
  -d, -dc, -dp                Force common symbols to be defined
  --dependency-file FILE      Write dependency file
  --force-group-allocation    Force group members out of groups
  -e ADDRESS, --entry ADDRESS Set start address
  -E, --export-dynamic        Export all dynamic symbols
  --no-export-dynamic         Undo the effect of --export-dynamic
  --enable-non-contiguous-regions
                              Enable support of non-contiguous memory
regions
  --enable-non-contiguous-regions-warnings
                              Enable warnings when
--enable-non-contiguous-regions may cause unexpected behaviour
  -EB                         Link big-endian objects
  -EL                         Link little-endian objects
  -f SHLIB, --auxiliary SHLIB Auxiliary filter for shared object symbol
table
  -F SHLIB, --filter SHLIB    Filter for shared object symbol table
  -g                          Ignored
  -G SIZE, --gpsize SIZE      Small data size (if no size, same as
--shared)
  -h FILENAME, -soname FILENAME
                              Set internal name of shared library
  -I PROGRAM, --dynamic-linker PROGRAM
                              Set PROGRAM as the dynamic linker to use
  --no-dynamic-linker         Produce an executable with no program
interpreter header
  -l LIBNAME, --library LIBNAME
                              Search for library LIBNAME
  -L DIRECTORY, --library-path DIRECTORY
                              Add DIRECTORY to library search path
  --sysroot=<DIRECTORY>       Override the default sysroot location
  -m EMULATION                Set emulation
  -M, --print-map             Print map file on standard output
  -n, --nmagic                Do not page align data
  -N, --omagic                Do not page align data, do not make text
readonly
  --no-omagic                 Page align data, make text readonly
  -o FILE, --output FILE      Set output file name
  -O                          Optimize output file
  --out-implib FILE           Generate import library
  -plugin PLUGIN              Load named plugin
  -plugin-opt ARG             Send arg to last-loaded plugin
  -flto                       Ignored for GCC LTO option compatibility
  -flto-partition=            Ignored for GCC LTO option compatibility
  -fuse-ld=                   Ignored for GCC linker option compatibility
  --map-whole-files           Ignored for gold option compatibility
  --no-map-whole-files        Ignored for gold option compatibility
  -Qy                         Ignored for SVR4 compatibility
  -q, --emit-relocs           Generate relocations in final output
  -r, -i, --relocatable       Generate relocatable output
  -R FILE, --just-symbols FILE
                              Just link symbols (if directory, same as
--rpath)
  -s, --strip-all             Strip all symbols
  -S, --strip-debug           Strip debugging symbols
  --strip-discarded           Strip symbols in discarded sections
  --no-strip-discarded        Do not strip symbols in discarded sections
  -t, --trace                 Trace file opens
  -T FILE, --script FILE      Read linker script
  --default-script FILE, -dT  Read default linker script
  -u SYMBOL, --undefined SYMBOL
                              Start with undefined reference to SYMBOL
  --require-defined SYMBOL    Require SYMBOL be defined in the final output
  --unique [=SECTION]         Don't merge input [SECTION | orphan] sections
  -Ur                         Build global constructor/destructor tables
  -v, --version               Print version information
  -V                          Print version and emulation information
  -x, --discard-all           Discard all local symbols
  -X, --discard-locals        Discard temporary local symbols (default)
  --discard-none              Don't discard any local symbols
  -y SYMBOL, --trace-symbol SYMBOL
                              Trace mentions of SYMBOL
  -Y PATH                     Default search path for Solaris compatibility
  -(, --start-group           Start a group
  -), --end-group             End a group
  --accept-unknown-input-arch Accept input files whose architecture
cannot be determined
  --no-accept-unknown-input-arch
                              Reject input files whose architecture is
unknown
  --as-needed                 Only set DT_NEEDED for following dynamic
libs if used
  --no-as-needed              Always set DT_NEEDED for dynamic
libraries mentioned on
                                the command line
  -assert KEYWORD             Ignored for SunOS compatibility
  -Bdynamic, -dy, -call_shared
                              Link against shared libraries
  -Bstatic, -dn, -non_shared, -static
                              Do not link against shared libraries
  -Bsymbolic                  Bind global references locally
  -Bsymbolic-functions        Bind global function references locally
  --check-sections            Check section addresses for overlaps
(default)
  --no-check-sections         Do not check section addresses for overlaps
  --copy-dt-needed-entries    Copy DT_NEEDED links mentioned inside
DSOs that follow
  --no-copy-dt-needed-entries Do not copy DT_NEEDED links mentioned
inside DSOs that follow
  --cref                      Output cross reference table
  --defsym SYMBOL=EXPRESSION  Define a symbol
  --demangle [=STYLE]         Demangle symbol names [using STYLE]
  --disable-multiple-abs-defs Do not allow multiple definitions with
symbols included
           in filename invoked by -R or --just-symbols
  --embedded-relocs           Generate embedded relocs
  --fatal-warnings            Treat warnings as errors
  --no-fatal-warnings         Do not treat warnings as errors (default)
  -fini SYMBOL                Call SYMBOL at unload-time
  --force-exe-suffix          Force generation of file with .exe suffix
  --gc-sections               Remove unused sections (on some targets)
  --no-gc-sections            Don't remove unused sections (default)
  --print-gc-sections         List removed unused sections on stderr
  --no-print-gc-sections      Do not list removed unused sections
  --gc-keep-exported          Keep exported symbols when removing
unused sections
  --hash-size=<NUMBER>        Set default hash table size close to <NUMBER>
  --help                      Print option help
  -init SYMBOL                Call SYMBOL at load-time
  -Map FILE/DIR               Write a linker map to FILE or
DIR/<outputname>.map
  --no-define-common          Do not define Common storage
  --no-demangle               Do not demangle symbol names
  --no-keep-memory            Use less memory and more disk I/O
  --no-undefined              Do not allow unresolved references in
object files
  --allow-shlib-undefined     Allow unresolved references in shared
libraries
  --no-allow-shlib-undefined  Do not allow unresolved references in
shared libs
  --allow-multiple-definition Allow multiple definitions
  --no-undefined-version      Disallow undefined version
  --default-symver            Create default symbol version
  --default-imported-symver   Create default symbol version for
imported symbols
  --no-warn-mismatch          Don't warn about mismatched input files
  --no-warn-search-mismatch   Don't warn on finding an incompatible library
  --no-whole-archive          Turn off --whole-archive
  --noinhibit-exec            Create an output file even if errors occur
  -nostdlib                   Only use library directories specified on
                                the command line
  --oformat TARGET            Specify target of output file
  --print-output-format       Print default output format
  --print-sysroot             Print current sysroot
  -qmagic                     Ignored for Linux compatibility
  --reduce-memory-overheads   Reduce memory overheads, possibly taking
much longer
  --relax                     Reduce code size by using target specific
optimizations
  --no-relax                  Do not use relaxation techniques to
reduce code size
  --retain-symbols-file FILE  Keep only symbols listed in FILE
  -rpath PATH                 Set runtime shared library search path
  -rpath-link PATH            Set link time shared library search path
  -shared, -Bshareable        Create a shared library
  -pie, --pic-executable      Create a position independent executable
  --sort-common [=ascending|descending]
                              Sort common symbols by alignment [in
specified order]
  --sort-section name|alignment
                              Sort sections by name or maximum alignment
  --spare-dynamic-tags COUNT  How many tags to reserve in .dynamic section
  --split-by-file [=SIZE]     Split output sections every SIZE octets
  --split-by-reloc [=COUNT]   Split output sections every COUNT relocs
  --stats                     Print memory usage statistics
  --target-help               Display target specific options
  --task-link SYMBOL          Do task level linking
  --traditional-format        Use same format as native linker
  --section-start SECTION=ADDRESS
                              Set address of named section
  -Tbss ADDRESS               Set address of .bss section
  -Tdata ADDRESS              Set address of .data section
  -Ttext ADDRESS              Set address of .text section
  -Ttext-segment ADDRESS      Set address of text segment
  -Trodata-segment ADDRESS    Set address of rodata segment
  -Tldata-segment ADDRESS     Set address of ldata segment
  --unresolved-symbols=<method>
                              How to handle unresolved symbols.
<method> is:
                                ignore-all, report-all,
ignore-in-object-files,
                                ignore-in-shared-libs
  --verbose [=NUMBER]         Output lots of information during link
  --version-script FILE       Read version information script
  --version-exports-section SYMBOL
                              Take export symbols list from .exports, using
                                SYMBOL as the version.
  --dynamic-list-data         Add data symbols to dynamic list
  --dynamic-list-cpp-new      Use C++ operator new/delete dynamic list
  --dynamic-list-cpp-typeinfo Use C++ typeinfo dynamic list
  --dynamic-list FILE         Read dynamic list
  --export-dynamic-symbol SYMBOL
                              Export the specified symbol
  --export-dynamic-symbol-list FILE
                              Read export dynamic symbol list
  --warn-common               Warn about duplicate common symbols
  --warn-constructors         Warn if global constructors/destructors
are seen
  --warn-multiple-gp          Warn if the multiple GP values are used
  --warn-once                 Warn only once per undefined symbol
  --warn-section-align        Warn if start of section changes due to
alignment
  --warn-textrel              Warn if outpout has DT_TEXTREL
  --warn-alternate-em         Warn if an object has alternate ELF
machine code
  --warn-unresolved-symbols   Report unresolved symbols as warnings
  --error-unresolved-symbols  Report unresolved symbols as errors
  --whole-archive             Include all objects from following archives
  --wrap SYMBOL               Use wrapper functions for SYMBOL
  --ignore-unresolved-symbol SYMBOL
                              Unresolved SYMBOL will not cause an error
or warning
  --push-state                Push state of flags governing input file
handling
  --pop-state                 Pop state of flags governing input file
handling
  --print-memory-usage        Report target memory usage
  --orphan-handling =MODE     Control how orphan sections are handled.
  --print-map-discarded       Show discarded sections in map file
output (default)
  --no-print-map-discarded    Do not show discarded sections in map
file output
  @FILE                       Read options from FILE
arm-linux-gnueabihf-ld: supported targets: elf32-littlearm
elf32-littlearm-fdpic elf32-bigarm elf32-bigarm-fdpic elf32-little
elf32-big srec symbolsrec verilog tekhex binary ihex plugin
arm-linux-gnueabihf-ld: supported emulations: armelf_linux_eabi
armelfb_linux_eabi
arm-linux-gnueabihf-ld: emulation specific options:
ELF emulations:
  --build-id[=STYLE]          Generate build ID note
  --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi]
                              Compress DWARF debug sections using zlib
                                Default: none
  -z common-page-size=SIZE    Set common page size to SIZE
  -z max-page-size=SIZE       Set maximum page size to SIZE
  -z defs                     Report unresolved symbols in object files
  -z muldefs                  Allow multiple definitions
  -z execstack                Mark executable as requiring executable stack
  -z noexecstack              Mark executable as not requiring
executable stack
  -z globalaudit              Mark executable requiring global auditing
  --audit=AUDITLIB            Specify a library to use for auditing
  -Bgroup                     Selects group name lookup rules for DSO
  --disable-new-dtags         Disable new dynamic tags
  --enable-new-dtags          Enable new dynamic tags
  --eh-frame-hdr              Create .eh_frame_hdr section
  --no-eh-frame-hdr           Do not create .eh_frame_hdr section
  --exclude-libs=LIBS         Make all symbols in LIBS hidden
  --hash-style=STYLE          Set hash style to sysv/gnu/both.
Default: both
  -P AUDITLIB, --depaudit=AUDITLIB
                              Specify a library to use for auditing
dependencies
  -z combreloc                Merge dynamic relocs into one section and
sort
  -z nocombreloc              Don't merge dynamic relocs into one section
  -z global                   Make symbols in DSO available for
subsequently
                                loaded objects
  -z initfirst                Mark DSO to be initialized first at runtime
  -z interpose                Mark object to interpose all DSOs but
executable
  -z lazy                     Mark object lazy runtime binding (default)
  -z loadfltr                 Mark object requiring immediate process
  -z nocopyreloc              Don't create copy relocs
  -z nodefaultlib             Mark object not to use default search paths
  -z nodelete                 Mark DSO non-deletable at runtime
  -z nodlopen                 Mark DSO not available to dlopen
  -z nodump                   Mark DSO not available to dldump
  -z now                      Mark object non-lazy runtime binding
  -z origin                   Mark object requiring immediate $ORIGIN
                                processing at runtime
  -z relro                    Create RELRO program header (default)
  -z norelro                  Don't create RELRO program header
  -z separate-code            Create separate code program header
  -z noseparate-code          Don't create separate code program header
(default)
  -z common                   Generate common symbols with STT_COMMON type
  -z nocommon                 Generate common symbols with STT_OBJECT type
  -z stack-size=SIZE          Set size of stack segment
  -z text                     Treat DT_TEXTREL in output as error
  -z notext                   Don't treat DT_TEXTREL in output as error
(default)
  -z textoff                  Don't treat DT_TEXTREL in output as error
(default)
armelf_linux_eabi:
  --thumb-entry=<sym>         Set the entry point to be Thumb symbol <sym>
  --be8                       Output BE8 format image
  --target1-rel               Interpret R_ARM_TARGET1 as R_ARM_REL32
  --target1-abs               Interpret R_ARM_TARGET1 as R_ARM_ABS32
  --target2=<type>            Specify definition of R_ARM_TARGET2
  --fix-v4bx                  Rewrite BX rn as MOV pc, rn for ARMv4
  --fix-v4bx-interworking     Rewrite BX rn branch to ARMv4
interworking veneer
  --use-blx                   Enable use of BLX instructions
  --vfp11-denorm-fix          Specify how to fix VFP11 denorm erratum
  --fix-stm32l4xx-629360      Specify how to fix STM32L4XX 629360 erratum
  --no-enum-size-warning      Don't warn about objects with incompatible
                                enum sizes
  --no-wchar-size-warning     Don't warn about objects with incompatible
                                wchar_t sizes
  --pic-veneer                Always generate PIC interworking veneers
  --long-plt                  Generate long .plt entries
                              to handle large .plt/.got displacements
  --cmse-implib               Make import library to be a secure
gateway import
                                library as per ARMv8-M Security Extensions
  --in-implib                 Import library whose symbols address must
                                remain stable
  --stub-group-size=N         Maximum size of a group of input sections
that
                                can be handled by one stub section.  A
negative
                                value locates all stubs after their
branches
                                (with a group size of -N), while a positive
                                value allows two groups of input
sections, one
                                before, and one after each stub section.
                                Values of +/-1 indicate the linker should
                                choose suitable defaults.
  --[no-]fix-cortex-a8        Disable/enable Cortex-A8 Thumb-2 branch
erratum fix
  --no-merge-exidx-entries    Disable merging exidx entries
  --[no-]fix-arm1176          Disable/enable ARM1176 BLX immediate
erratum fix
armelfb_linux_eabi:
  --thumb-entry=<sym>         Set the entry point to be Thumb symbol <sym>
  --be8                       Output BE8 format image
  --target1-rel               Interpret R_ARM_TARGET1 as R_ARM_REL32
  --target1-abs               Interpret R_ARM_TARGET1 as R_ARM_ABS32
  --target2=<type>            Specify definition of R_ARM_TARGET2
  --fix-v4bx                  Rewrite BX rn as MOV pc, rn for ARMv4
  --fix-v4bx-interworking     Rewrite BX rn branch to ARMv4
interworking veneer
  --use-blx                   Enable use of BLX instructions
  --vfp11-denorm-fix          Specify how to fix VFP11 denorm erratum
  --fix-stm32l4xx-629360      Specify how to fix STM32L4XX 629360 erratum
  --no-enum-size-warning      Don't warn about objects with incompatible
                                enum sizes
  --no-wchar-size-warning     Don't warn about objects with incompatible
                                wchar_t sizes
  --pic-veneer                Always generate PIC interworking veneers
  --long-plt                  Generate long .plt entries
                              to handle large .plt/.got displacements
  --cmse-implib               Make import library to be a secure
gateway import
                                library as per ARMv8-M Security Extensions
  --in-implib                 Import library whose symbols address must
                                remain stable
  --stub-group-size=N         Maximum size of a group of input sections
that
                                can be handled by one stub section.  A
negative
                                value locates all stubs after their
branches
                                (with a group size of -N), while a positive
                                value allows two groups of input
sections, one
                                before, and one after each stub section.
                                Values of +/-1 indicate the linker should
                                choose suitable defaults.
  --[no-]fix-cortex-a8        Disable/enable Cortex-A8 Thumb-2 branch
erratum fix
  --no-merge-exidx-entries    Disable merging exidx entries
  --[no-]fix-arm1176          Disable/enable ARM1176 BLX immediate
erratum fix

Report bugs to <http://www.sourceware.org/bugzilla/>

As you can see,

also cloning the same issue three times doesn't make any sense.

It does, when you want to test other packages that may be available to
you and make use of the same dependencies. It could have been the case
that only one package is affected.

Reply via email to