This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH 1/3] bfd: new BFD target entry point _bfd_set_reloc.
Hi Alan.
> Tested in x86_64-linux-gnu and sparc64-linux-gnu.
> No regressions found.
When making infrastructure changes to struct bfd_target, you should
test on a much wider range of targets. I think you'll find that even
--enable-targets=all --enable-64-bit-bfd will show the patch is
incomplete..
And indeed it was incomplete. I was missing a good number of
targets.. fixed.
Note that --enable-targets=all is not really sufficient
since gas mostly just supports the one target. I would regression
test this change on:
aarch64-linux alpha-dec-vms alpha-linux alpha-linuxecoff alpha-netbsd
alpha-unknown-freebsd4.7 am33_2.0-linux arc-linux-uclibc arm-linuxeabi
arm-nacl arm-netbsdelf arm-nto arm-pe arm-symbianelf arm-vxworks
arm-wince-pe avr-elf bfin-elf cr16-elf cris-elf crisv32-linux crx-elf
d10v-elf d30v-elf dlx-elf epiphany-elf fr30-elf frv-elf frv-linux
ft32-elf h8300-elf hppa-linux hppa-hp-hpux10 hppa64-hp-hpux11.23
hppa64-linux i386-darwin i386-lynxos i586-linux i686-nacl i686-pc-beos
i686-pc-elf i686-pe i686-vxworks ia64-elf ia64-freebsd5 ia64-hpux
ia64-linux ia64-netbsd ia64-vms ip2k-elf iq2000-elf lm32-elf m32c-elf
m32r-elf m68hc11-elf m68hc12-elf m68k-elf m68k-linux m68k-netbsd
mcore-elf mcore-pe mep-elf metag-linux microblaze-elf mips-linux
mips-vxworks mips64-linux mipsel-linux-gnu mipsisa32el-linux
mipstx39-elf mmix mn10200-elf mn10300-elf moxie-elf ms1-elf msp430-elf
mt-elf nds32le-elf nios2-linux or1k-elf pdp11-dec-aout pj-elf
powerpc-eabisim powerpc-eabivle powerpc-linux powerpc-nto
powerpc-wrs-vxworks powerpc64-linux powerpcle-cygwin powerpcle-elf
powerpc64le-linux ppc-lynxos pru-elf riscv32-elf riscv64-elf rl78-elf
rs6000-aix4.3.3 rs6000-aix5.1 rx-elf s390-linux s390x-linux score-elf
sh-linux sh-nto sh-pe sh-rtems sh-vxworks shl-unknown-netbsdelf
sparc-aout sparc-linux sparc-vxworks sparc64-linux spu-elf
tic30-unknown-aout tic30-unknown-coff tic4x-coff tic54x-coff tic6x-elf
tilegx-linux tilepro-linux v850-elf vax-netbsdelf visium-elf
x86_64-linux x86_64-w64-mingw32 x86_64-nacl xgate-elf xstormy16-elf
xtensa-elf z8k-coff z80-coff
Testing on these platforms..
> +++ b/bfd/bfd.c
> @@ -1067,13 +1067,12 @@ DESCRIPTION
> */
>
> void
> -bfd_set_reloc (bfd *ignore_abfd ATTRIBUTE_UNUSED,
> +bfd_set_reloc (bfd *abfd,
> sec_ptr asect,
> arelent **location,
> unsigned int count)
> {
> - asect->orelocation = location;
> - asect->reloc_count = count;
> + BFD_SEND (abfd, _bfd_set_reloc, (abfd, asect, location, count));
> }
We don't make any promises about the libbfd ABI. Please make
bfd_set_reloc a macro.
Done.