* bfd_section_* macros
@ 2019-09-18 14:14 Alan Modra
2019-09-18 14:18 ` Alan Modra
2019-09-18 15:19 ` Andrew Burgess
0 siblings, 2 replies; 4+ messages in thread
From: Alan Modra @ 2019-09-18 14:14 UTC (permalink / raw)
To: binutils, gdb-patches
[-- Attachment #1: Type: text/plain, Size: 7630 bytes --]
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.
Tested with my usual set of binutils targets, gdb --enable-targets=all
and by building one of each of the sims (minus sh64 which is obsoleted
by removal of the necessary bfd support).
I'd like an approval from one of the gdb maintainers before I go
ahead and commit this.
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.
--
Alan Modra
Australia Development Lab, IBM
[-- Attachment #2: 0001-bfd_section_-macros.patch.xz --]
[-- Type: application/x-xz, Size: 87944 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: bfd_section_* macros
2019-09-18 14:14 bfd_section_* macros Alan Modra
@ 2019-09-18 14:18 ` Alan Modra
2019-09-18 15:19 ` Andrew Burgess
1 sibling, 0 replies; 4+ messages in thread
From: Alan Modra @ 2019-09-18 14:18 UTC (permalink / raw)
To: binutils, gdb-patches
On Wed, Sep 18, 2019 at 11:44:37PM +0930, Alan Modra wrote:
> I'd like an approval from one of the gdb maintainers before I go
> ahead and commit this.
In principle I mean. I hardly expect anyone to go over the patch
looking at every change!
--
Alan Modra
Australia Development Lab, IBM
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: bfd_section_* macros
2019-09-18 14:14 bfd_section_* macros Alan Modra
2019-09-18 14:18 ` Alan Modra
@ 2019-09-18 15:19 ` Andrew Burgess
2019-09-19 0:49 ` Alan Modra
1 sibling, 1 reply; 4+ messages in thread
From: Andrew Burgess @ 2019-09-18 15:19 UTC (permalink / raw)
To: Alan Modra; +Cc: binutils, gdb-patches
* Alan Modra <amodra@gmail.com> [2019-09-18 23:44:37 +0930]:
> 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.
>
> Tested with my usual set of binutils targets, gdb --enable-targets=all
> and by building one of each of the sims (minus sh64 which is obsoleted
> by removal of the necessary bfd support).
>
> I'd like an approval from one of the gdb maintainers before I go
> ahead and commit this.
I took a look through the GDB parts of this patch, and it all looks
good to me. This feels like a nice cleanup.
Thanks,
Andrew
>
> 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.
>
> --
> Alan Modra
> Australia Development Lab, IBM
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: bfd_section_* macros
2019-09-18 15:19 ` Andrew Burgess
@ 2019-09-19 0:49 ` Alan Modra
0 siblings, 0 replies; 4+ messages in thread
From: Alan Modra @ 2019-09-19 0:49 UTC (permalink / raw)
To: Andrew Burgess; +Cc: binutils, gdb-patches
On Wed, Sep 18, 2019 at 11:19:48AM -0400, Andrew Burgess wrote:
> I took a look through the GDB parts of this patch, and it all looks
> good to me. This feels like a nice cleanup.
Thanks! Now committed. And yes, it cleaned up things like the
following in gdb/symfile.c. ;-)
- lower_offset = bfd_section_vma (bfd_get_filename (abfd), lower_sect);
+ lower_offset = bfd_section_vma (lower_sect);
--
Alan Modra
Australia Development Lab, IBM
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-09-19 0:49 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-18 14:14 bfd_section_* macros Alan Modra
2019-09-18 14:18 ` Alan Modra
2019-09-18 15:19 ` Andrew Burgess
2019-09-19 0:49 ` Alan Modra
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox