binutils-gdb/ld/emultempl
Cl?ment Chigot 2d23f9656c xcoff: implement linker relaxation
bfd/ChangeLog:

	* coff-rs6000.c (xcoff_reloc_type_noop): Add info argument.
	(xcoff_reloc_type_fail): Likewise.
	(xcoff_reloc_type_pos): Likewise.
	(xcoff_reloc_type_neg): Likewise.
	(xcoff_reloc_type_rel): Likewise.
	(xcoff_reloc_type_toc): Likewise.
	(xcoff_reloc_type_ba): Likewise.
	(xcoff_reloc_type_crel): Likewise.
	(xcoff_reloc_type_tls): Likewise.
	(xcoff_reloc_type_br): Add stub handler.
	(xcoff_ppc_relocate_section): Add info to
	xcoff_calculate_relocation.
	(xcoff_stub_indirect_call_code): New constant.
	(xcoff_stub_shared_call_code): Likewise.
	(bfd_xcoff_backend_data): Add stub code fields.
	(bfd_pmac_xcoff_backend_data): Likewise.
	* coff64-rs6000.c (xcoff64_reloc_type_br): Add stub handler.
	(xcoff64_ppc_relocate_section): Add info to
	xcoff64_calculate_relocation.
	(xcoff64_stub_indirect_call_code): New constant.
	(xcoff64_stub_shared_call_code): Likewise.
	(bfd_xcoff_backend_data): Add stub code fields.
	(bfd_xcoff_aix5_backend_data): Likewise.
	* libxcoff.h (struct xcoff_backend_data_rec): Add stub fields.
	(bfd_xcoff_stub_indirect_call_code): New define.
	(bfd_xcoff_stub_indirect_call_size): New define.
	(bfd_xcoff_stub_shared_call_code): New define.
	(bfd_xcoff_stub_shared_call_size): New define.
	(xcoff_reloc_function): Add info argument.
	(enum xcoff_stub_type): New enum.
	(struct xcoff_stub_hash_entry): New structure.
	* xcofflink.c (struct xcoff_link_hash_table): Add stub hash
	table and params fields.
	(xcoff_stub_hash_entry): New define.
	(xcoff_stub_hash_lookup): New define.
	(stub_hash_newfunc): New function.
	(_bfd_xcoff_bfd_link_hash_table_free): Free the new stub hash
	table.
	(_bfd_xcoff_bfd_link_hash_table_create): Create the new stub
	hash table.
	(xcoff_link_add_symbols): Save rawsize for XTY_SD.
	(bfd_xcoff_link_init): New function.
	(xcoff_stub_csect_name): New function.
	(xcoff_stub_get_csect_in_range): New function.
	(xcoff_stub_name): New function.
	(bfd_xcoff_get_stub_entry): New function.
	(bfd_xcoff_type_of_stub): New function.
	(xcoff_add_stub): New function.
	(xcoff_build_one_stub): New function.
	(bfd_xcoff_size_stubs): New function.
	(bfd_xcoff_build_stubs): New function.
	(xcoff_stub_create_relocations): New function.
	(xcoff_link_input_bfd): Adapt relocations to stub.
	(xcoff_write_global_symbol): Adapt to new TOC entries generated
	for stubs.
	(_bfd_xcoff_bfd_final_link): Handle stub file.
	* xcofflink.h (struct bfd_xcoff_link_params): New structure.

ld/ChangeLog:

	* emultempl/aix.em (params): New variable.
	(stub_file): New variable.
	(xcoff_add_stub_section): New function.
	(xcoff_layout_sections_again): New function
	(hook_in_stub): New function.
	(_after_allocation): Add stub creation.
	(_create_output_section_statements): Allocate stub file and
	pass params to backend.
2022-04-20 15:11:47 +01:00
..
aarch64elf.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
aix.em xcoff: implement linker relaxation 2022-04-20 15:11:47 +01:00
alphaelf.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
arclinux.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
armelf.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
astring.sed
avrelf.em Add linker warning for when it creates an executable stack. 2022-04-20 13:39:05 +01:00
beos.em ld: Add emultempl/emulation.em 2022-02-06 06:25:41 -08:00
bfin.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
cr16elf.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
crxelf.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
cskyelf.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
elf-generic.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
elf-x86.em Revert "PR28824, relro security issues, x86 keep COMMONPAGESIZE relro" 2022-02-14 17:39:34 -08:00
elf.em ld: Add a before_plugin_all_symbols_read hook 2022-03-09 18:23:43 -08:00
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 2022-01-02 12:04:28 +10:30
genelf.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
generic.em ld: Add emultempl/emulation.em 2022-02-06 06:25:41 -08:00
hppaelf.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
ia64elf.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
irix.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
loongarchelf.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
m68hc1xelf.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
m68kelf.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
metagelf.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
mipself.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
mmix-elfnmmo.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
mmixelf.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
mmo.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
msp430.em ld: Add emultempl/emulation.em 2022-02-06 06:25:41 -08:00
nds32elf.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
needrelax.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
netbsd.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
nios2elf.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
ostring.sed
pdp11.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
pe.em ld: Add emultempl/emulation.em 2022-02-06 06:25:41 -08:00
pep.em ld: Add emultempl/emulation.em 2022-02-06 06:25:41 -08:00
ppc32elf.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
ppc64elf.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
pruelf.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
README Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
riscvelf.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
rxelf.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
rxlinux.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
s390.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
scoreelf.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
solaris2-x86.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
solaris2.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
spu_icache.o_c
spu_icache.S
spu_ovl.o_c
spu_ovl.S Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
spuelf.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
tic6xdsbt.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
ticoff.em ld: Add emultempl/emulation.em 2022-02-06 06:25:41 -08:00
v850elf.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
vanilla.em ld: Add emultempl/emulation.em 2022-02-06 06:25:41 -08:00
vms.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
vxworks.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
xtensaelf.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +10:30
z80.em Update year range in copyright notice of binutils files 2022-01-02 12:04:28 +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-2022 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.