Skip to content
  • Alan Modra's avatar
    bfd_section_* macros · fd361982
    Alan Modra authored
    This large patch removes the unnecessary bfd parameter from various
    bfd section macros and functions.  The bfd is hardly ever used and if
    needed for the bfd_set_section_* or bfd_rename_section functions can
    be found via section->owner except for the com, und, abs, and ind
    std_section special sections.  Those sections shouldn't be modified
    anyway.
    
    The patch also removes various bfd_get_section_<field> macros,
    replacing their use with bfd_section_<field>, and adds
    bfd_set_section_lma.  I've also fixed a minor bug in gas where
    compressed section renaming was done directly rather than calling
    bfd_rename_section.  This would have broken bfd_get_section_by_name
    and similar functions, but that hardly mattered at such a late stage
    in gas processing.
    
    bfd/
    	* bfd-in.h (bfd_get_section_name, bfd_get_section_vma),
    	(bfd_get_section_lma, bfd_get_section_alignment),
    	(bfd_get_section_size, bfd_get_section_flags),
    	(bfd_get_section_userdata): Delete.
    	(bfd_section_name, bfd_section_size, bfd_section_vma),
    	(bfd_section_lma, bfd_section_alignment): Lose bfd parameter.
    	(bfd_section_flags, bfd_section_userdata): New.
    	(bfd_is_com_section): Rename parameter.
    	* section.c (bfd_set_section_userdata, bfd_set_section_vma),
    	(bfd_set_section_alignment, bfd_set_section_flags, bfd_rename_section),
    	(bfd_set_section_size): Delete bfd parameter, rename section parameter.
    	(bfd_set_section_lma): New.
    	* bfd-in2.h: Regenerate.
    	* mach-o.c (bfd_mach_o_init_section_from_mach_o): Delete bfd param,
    	update callers.
    	* aoutx.h, * bfd.c, * coff-alpha.c, * coff-arm.c, * coff-mips.c,
    	* coff64-rs6000.c, * coffcode.h, * coffgen.c, * cofflink.c,
    	* compress.c, * ecoff.c, * elf-eh-frame.c, * elf-hppa.h,
    	* elf-ifunc.c, * elf-m10200.c, * elf-m10300.c, * elf-properties.c,
    	* elf-s390-common.c, * elf-vxworks.c, * elf.c, * elf32-arc.c,
    	* elf32-arm.c, * elf32-avr.c, * elf32-bfin.c, * elf32-cr16.c,
    	* elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c, * elf32-csky.c,
    	* elf32-d10v.c, * elf32-epiphany.c, * elf32-fr30.c, * elf32-frv.c,
    	* elf32-ft32.c, * elf32-h8300.c, * elf32-hppa.c, * elf32-i386.c,
    	* elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c, * elf32-m32c.c,
    	* elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c, * elf32-mcore.c,
    	* elf32-mep.c, * elf32-metag.c, * elf32-microblaze.c,
    	* elf32-moxie.c, * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c,
    	* elf32-nios2.c, * elf32-or1k.c, * elf32-ppc.c, * elf32-pru.c,
    	* elf32-rl78.c, * elf32-rx.c, * elf32-s390.c, * elf32-score.c,
    	* elf32-score7.c, * elf32-sh.c, * elf32-spu.c, * elf32-tic6x.c,
    	* elf32-tilepro.c, * elf32-v850.c, * elf32-vax.c, * elf32-visium.c,
    	* elf32-xstormy16.c, * elf32-xtensa.c, * elf64-alpha.c,
    	* elf64-bpf.c, * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mmix.c,
    	* elf64-ppc.c, * elf64-s390.c, * elf64-sparc.c, * elf64-x86-64.c,
    	* elflink.c, * elfnn-aarch64.c, * elfnn-ia64.c, * elfnn-riscv.c,
    	* elfxx-aarch64.c, * elfxx-mips.c, * elfxx-sparc.c,
    	* elfxx-tilegx.c, * elfxx-x86.c, * i386msdos.c, * linker.c,
    	* mach-o.c, * mmo.c, * opncls.c, * pdp11.c, * pei-x86_64.c,
    	* peicode.h, * reloc.c, * section.c, * syms.c, * vms-alpha.c,
    	* xcofflink.c: Update throughout for bfd section macro and function
    	changes.
    binutils/
    	* addr2line.c, * bucomm.c, * coffgrok.c, * dlltool.c, * nm.c,
    	* objcopy.c, * objdump.c, * od-elf32_avr.c, * od-macho.c,
    	* od-xcoff.c, * prdbg.c, * rdcoff.c, * rddbg.c, * rescoff.c,
    	* resres.c, * size.c, * srconv.c, * strings.c, * windmc.c: Update
    	throughout for bfd section macro and function changes.
    gas/
    	* as.c, * as.h, * dw2gencfi.c, * dwarf2dbg.c, * ecoff.c,
    	* read.c, * stabs.c, * subsegs.c, * subsegs.h, * write.c,
    	* config/obj-coff-seh.c, * config/obj-coff.c, * config/obj-ecoff.c,
    	* config/obj-elf.c, * config/obj-macho.c, * config/obj-som.c,
    	* config/tc-aarch64.c, * config/tc-alpha.c, * config/tc-arc.c,
    	* config/tc-arm.c, * config/tc-avr.c, * config/tc-bfin.c,
    	* config/tc-bpf.c, * config/tc-d10v.c, * config/tc-d30v.c,
    	* config/tc-epiphany.c, * config/tc-fr30.c, * config/tc-frv.c,
    	* config/tc-h8300.c, * config/tc-hppa.c, * config/tc-i386.c,
    	* config/tc-ia64.c, * config/tc-ip2k.c, * config/tc-iq2000.c,
    	* config/tc-lm32.c, * config/tc-m32c.c, * config/tc-m32r.c,
    	* config/tc-m68hc11.c, * config/tc-mep.c, * config/tc-microblaze.c,
    	* config/tc-mips.c, * config/tc-mmix.c, * config/tc-mn10200.c,
    	* config/tc-mn10300.c, * config/tc-msp430.c, * config/tc-mt.c,
    	* config/tc-nds32.c, * config/tc-or1k.c, * config/tc-ppc.c,
    	* config/tc-pru.c, * config/tc-rl78.c, * config/tc-rx.c,
    	* config/tc-s12z.c, * config/tc-s390.c, * config/tc-score.c,
    	* config/tc-score7.c, * config/tc-sh.c, * config/tc-sparc.c,
    	* config/tc-spu.c, * config/tc-tic4x.c, * config/tc-tic54x.c,
    	* config/tc-tic6x.c, * config/tc-tilegx.c, * config/tc-tilepro.c,
    	* config/tc-v850.c, * config/tc-visium.c, * config/tc-wasm32.c,
    	* config/tc-xc16x.c, * config/tc-xgate.c, * config/tc-xstormy16.c,
    	* config/tc-xtensa.c, * config/tc-z8k.c: Update throughout for
    	bfd section macro and function changes.
    	* write.c (compress_debug): Use bfd_rename_section.
    gdb/
    	* aarch64-linux-tdep.c, * arm-tdep.c, * auto-load.c,
    	* coff-pe-read.c, * coffread.c, * corelow.c, * dbxread.c,
    	* dicos-tdep.c, * dwarf2-frame.c, * dwarf2read.c, * elfread.c,
    	* exec.c, * fbsd-tdep.c, * gcore.c, * gdb_bfd.c, * gdb_bfd.h,
    	* hppa-tdep.c, * i386-cygwin-tdep.c, * i386-fbsd-tdep.c,
    	* i386-linux-tdep.c, * jit.c, * linux-tdep.c, * machoread.c,
    	* maint.c, * mdebugread.c, * minidebug.c, * mips-linux-tdep.c,
    	* mips-sde-tdep.c, * mips-tdep.c, * mipsread.c, * nto-tdep.c,
    	* objfiles.c, * objfiles.h, * osabi.c, * ppc-linux-tdep.c,
    	* ppc64-tdep.c, * record-btrace.c, * record-full.c, * remote.c,
    	* rs6000-aix-tdep.c, * rs6000-tdep.c, * s390-linux-tdep.c,
    	* s390-tdep.c, * solib-aix.c, * solib-dsbt.c, * solib-frv.c,
    	* solib-spu.c, * solib-svr4.c, * solib-target.c,
    	* spu-linux-nat.c, * spu-tdep.c, * symfile-mem.c, * symfile.c,
    	* symmisc.c, * symtab.c, * target.c, * windows-nat.c,
    	* xcoffread.c, * cli/cli-dump.c, * compile/compile-object-load.c,
    	* mi/mi-interp.c: Update throughout for bfd section macro and
    	function changes.
    	* gcore (gcore_create_callback): Use bfd_set_section_lma.
    	* spu-tdep.c (spu_overlay_new_objfile): Likewise.
    gprof/
    	* corefile.c, * symtab.c: Update throughout for bfd section
    	macro and function changes.
    ld/
    	* ldcref.c, * ldctor.c, * ldelf.c, * ldlang.c, * pe-dll.c,
    	* emultempl/aarch64elf.em, * emultempl/aix.em,
    	* emultempl/armcoff.em, * emultempl/armelf.em,
    	* emultempl/cr16elf.em, * emultempl/cskyelf.em,
    	* emultempl/m68hc1xelf.em, * emultempl/m68kelf.em,
    	* emultempl/mipself.em, * emultempl/mmix-elfnmmo.em,
    	* emultempl/mmo.em, * emultempl/msp430.em,
    	* emultempl/nios2elf.em, * emultempl/pe.em, * emultempl/pep.em,
    	* emultempl/ppc64elf.em, * emultempl/xtensaelf.em: Update
    	throughout for bfd section macro and function changes.
    libctf/
    	* ctf-open-bfd.c: Update throughout for bfd section macro changes.
    opcodes/
    	* arc-ext.c: Update throughout for bfd section macro changes.
    sim/
    	* common/sim-load.c, * common/sim-utils.c, * cris/sim-if.c,
    	* erc32/func.c, * lm32/sim-if.c, * m32c/load.c, * m32c/trace.c,
    	* m68hc11/interp.c, * ppc/hw_htab.c, * ppc/hw_init.c,
    	* rl78/load.c, * rl78/trace.c, * rx/gdb-if.c, * rx/load.c,
    	* rx/trace.c: Update throughout for bfd section macro changes.
    fd361982