binutils-gdb/ld/emultempl
Hakan Candar f4e363cae2 ld/ELF: Add --image-base command line option to the ELF linker
LLD has dropped the option -Ttext-segment for specifying image base
addresses, instead forcing the use of the --image-base option for both
ELF and PE targets. As it stands, GNU LD and LLVM LLD are incompatible,
having two different options for the same functionality.

This patch enables the use of --image-base on ELF targets, advancing
consistency and compatibility.

See: https://reviews.llvm.org/D70468
     https://maskray.me/blog/2020-11-15-explain-gnu-linker-options#address-related
     https://sourceware.org/bugzilla/show_bug.cgi?id=25207

Moreover, a new test has been added to ensure -z separate-code behaviour
when used with -Ttext-segment stays the same. When this combination is
used, -Ttext-segment sets the address of the first segment (R), not the
text segment (RX), and like with -z noseparate-code, no segments lesser
than the specified address are created. If this behaviour was to change,
the first (R) segment of the ELF file would begin in a lesser address
than the specified text (RX) segment, breaking traditional use of this
option for specifying image base address.
2024-10-29 19:38:39 +10:30
..
aarch64elf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
aix.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
alphaelf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
arclinux.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
armelf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
avrelf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
beos.em ld/ELF: Add --image-base command line option to the ELF linker 2024-10-29 19:38:39 +10:30
bfin.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
cr16elf.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
crxelf.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
cskyelf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
elf-generic.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
elf-x86.em ld: Add --enable-mark-plt configure option 2024-01-09 06:45:38 -08:00
elf.em Enable -z separate-code, -z common and -z text for more targets 2024-09-27 10:02:14 +09:30
emulation.em ld: Add a before_plugin_all_symbols_read hook 2022-03-09 18:23:43 -08:00
epiphanyelf_4x4.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
genelf.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
generic.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
hppaelf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
ia64elf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
irix.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
kvxelf.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
loongarchelf.em LoongArch: Add support for OUTPUT_FORMAT("binary") 2024-08-05 17:38:49 +08:00
m68hc1xelf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
m68kelf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
metagelf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
mipself.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
mmix-elfnmmo.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
mmixelf.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
mmo.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
msp430.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
nds32elf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
needrelax.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
netbsd.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
nios2elf.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
nto.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
pdp11.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
pe.em ld/ELF: Add --image-base command line option to the ELF linker 2024-10-29 19:38:39 +10:30
pep.em ld/ELF: Add --image-base command line option to the ELF linker 2024-10-29 19:38:39 +10:30
ppc32elf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
ppc64elf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
pruelf.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
README Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
riscvelf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
rxelf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
rxlinux.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
s390.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
scoreelf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
solaris2-x86.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
solaris2.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
spu_icache.o_c Regenerate spu overlay and icache manager files 2014-11-04 22:36:13 +10:30
spu_icache.S
spu_ovl.o_c Regenerate spu_ovl.o_c 2016-10-15 12:53:57 +10:30
spu_ovl.S Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
spuelf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
stringify.sed ld STRINGIFY 2023-08-26 10:57:00 +09:30
tic6xdsbt.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
ticoff.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
v850elf.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
vanilla.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
vms.em PR 30569, always call elf_backend_size_dynamic_sections 2024-04-02 10:32:04 +10:30
vxworks.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
xtensaelf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
z80.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

The files in this directory are sourced by genscripts.sh, after
setting some variables to substitute in, to produce
C source files that contain jump tables for each emulation.

Copyright (C) 2012-2024 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.