mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-11 18:06:03 +08:00

* elf32-ppc.c (struct elf_linker_section): Remove sym_hash and sym_offset. Add name, bss_name, sym_name, sym_val. (struct ppc_elf_link_hash_table): Remove sdata and sdata2 pointers. Add sdata array of elf_linker_section_t. (ppc_elf_link_hash_table_create): Set name, sym_name, and bss_name. (enum elf_linker_section_enum): Delete. (ppc_elf_create_linker_section): Rewrite. Don't create syms here. (ppc_elf_check_relocs): Delay ppc_elf_create_linker_section until the special sections are needed. Adjust htab->sdata refs. Ensure dynobj is set in sreloc code. (ppc_elf_size_dynamic_sections): Strip sdata sections. (ppc_elf_set_sdata_syms): New function. (elf_finish_pointer_linker_section): Use 0x8000 for sym_offset. (ppc_elf_relocate_section): Adjust references to htab->sdata. Use sym_val instead of sym_hash. * elf32-ppc.h (ppc_elf_set_sdata_syms): Declare. ld/ * emultempl/ppc32elf.em (gld${EMULATION_NAME}_after_allocation): New function. (LDEMUL_AFTER_ALLOCATION): Define.
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.