This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] Add support for non-contiguous memory regions
On Wed, 19 Feb 2020 at 23:23, Alan Modra <amodra@gmail.com> wrote:
>
> On Wed, Feb 19, 2020 at 01:28:23PM +0100, Christophe Lyon wrote:
> > On Wed, 19 Feb 2020 at 08:19, Alan Modra <amodra@gmail.com> wrote:
> > >
> > > On Fri, Feb 14, 2020 at 02:53:55PM +0100, Christophe Lyon wrote:
> > > > Here are the updated patches.
> > >
> > > Wrong set of patches? elfnn-aarch64.c, elf32-metag.c, and
> > > elf32-nios2.c won't compile with these patches applied. All due to
> > > missing "struct bfd_link_info *info;" in build_one_stub.
> > >
> >
> > Oops, thanks for noticing.
> > I don't understand what happened. Here's the right version (the only
> > difference is the declaration of struct bfd_link_info *info; in
> > build_one_stub.
>
Hi Alan,
Thanks for the feedback.
> The test results don't inspire me with confidence. A lot of the fails
> are due to targets not supporting -mlittle-endian, but there are other
> fails that show the patch series needs more work before it is ready
> for review. Also, please don't write tests that require one
> particular endianness. Write the objdump match patterns to suit both
> endians instead. Something like this:
>
> Contents of section \.raml:
> 1fff0000 (010+ 020+ 030+|0+01 0+02 0+03) .*
>
OK, I was wondering/hoping there's a nicer way of achieving this. I'll
update my patch to use this pattern.
>
> alpha-linux FAIL: non-contiguous
> alpha-netbsd FAIL: non-contiguous
> alpha-unknown-freebsd4.7 FAIL: non-contiguous
> am33_2.0-linux FAIL: non-contiguous
> arc-elf FAIL: non-contiguous
> arc-linux-uclibc FAIL: non-contiguous
> arm-nacl FAIL: non-contiguous-arm2
> arm-nacl FAIL: non-contiguous-arm3
> arm-nacl FAIL: non-contiguous-arm5
> arm-nacl FAIL: non-contiguous-arm6
> bfin-elf FAIL: non-contiguous
> bfin-linux-uclibc FAIL: non-contiguous
> cr16-elf FAIL: non-contiguous
> cris-elf FAIL: non-contiguous
> cris-linux FAIL: non-contiguous
> crisv32-linux FAIL: non-contiguous
> crx-elf FAIL: non-contiguous
> d10v-elf FAIL: non-contiguous
> epiphany-elf FAIL: non-contiguous
> fr30-elf FAIL: non-contiguous
> frv-elf FAIL: non-contiguous
> frv-linux FAIL: non-contiguous
> ft32-elf FAIL: non-contiguous
> h8300-elf FAIL: non-contiguous
> h8300-linux FAIL: non-contiguous
> i386-lynxos FAIL: non-contiguous
> i586-linux FAIL: non-contiguous
> i686-nacl FAIL: non-contiguous
> i686-nto FAIL: non-contiguous
> i686-pc-elf FAIL: non-contiguous
> ia64-elf FAIL: non-contiguous
> ia64-freebsd5 FAIL: non-contiguous
> ia64-linux FAIL: non-contiguous
> ia64-netbsd FAIL: non-contiguous
> ip2k-elf FAIL: non-contiguous
> iq2000-elf FAIL: non-contiguous
> lm32-elf FAIL: non-contiguous
> lm32-linux FAIL: non-contiguous
> m32c-elf FAIL: non-contiguous
> m32r-elf FAIL: non-contiguous
> m32r-linux FAIL: non-contiguous
> m68k-elf FAIL: non-contiguous
> m68k-linux FAIL: non-contiguous
> mcore-elf FAIL: non-contiguous
> mep-elf FAIL: non-contiguous
> microblaze-elf FAIL: non-contiguous
> microblaze-linux FAIL: non-contiguous
> mips64el-openbsd FAIL: non-contiguous
> mips64-linux FAIL: non-contiguous
> mips64-openbsd FAIL: non-contiguous
> mipsel-linux-gnu FAIL: non-contiguous
> mipsisa32el-linux FAIL: non-contiguous
> mips-linux FAIL: non-contiguous
> mips-sgi-irix6 FAIL: non-contiguous
> mipstx39-elf FAIL: non-contiguous
> mn10200-elf FAIL: non-contiguous
> mn10300-elf FAIL: non-contiguous
> moxie-elf FAIL: non-contiguous
> msp430-elf FAIL: non-contiguous
> mt-elf FAIL: non-contiguous
> nds32be-elf FAIL: non-contiguous
> nds32le-linux FAIL: non-contiguous
> or1k-elf FAIL: non-contiguous
> or1k-linux FAIL: non-contiguous
> powerpc64-freebsd FAIL: non-contiguous-powerpc
> powerpc64le-linux FAIL: non-contiguous-powerpc
> powerpc64-linux FAIL: non-contiguous-powerpc
> powerpc-freebsd FAIL: non-contiguous
> pru-elf FAIL: non-contiguous
> riscv32-elf FAIL: non-contiguous
> riscv64-linux FAIL: non-contiguous
> rl78-elf FAIL: non-contiguous
> s390-linux FAIL: non-contiguous
> s390x-linux FAIL: non-contiguous
> score-elf FAIL: non-contiguous
> shle-unknown-netbsdelf FAIL: non-contiguous
> sh-linux FAIL: non-contiguous
> sh-nto FAIL: non-contiguous
> sh-rtems FAIL: non-contiguous
> sparc64-linux FAIL: non-contiguous
> sparc-elf FAIL: non-contiguous
> sparc-linux FAIL: non-contiguous
> sparc-sun-solaris2 FAIL: non-contiguous
> spu-elf FAIL: non-contiguous
> tic6x-elf FAIL: non-contiguous
> tilegx-linux FAIL: non-contiguous
> tilepro-linux FAIL: non-contiguous
> v850-elf FAIL: non-contiguous
> vax-netbsdelf FAIL: non-contiguous
> visium-elf FAIL: non-contiguous
> x86_64-cloudabi FAIL: non-contiguous
> x86_64-linux FAIL: non-contiguous
> x86_64-nacl FAIL: non-contiguous
> x86_64-pc-linux-gnux32 FAIL: non-contiguous
> xc16x-elf FAIL: non-contiguous
> xstormy16-elf FAIL: non-contiguous
> xtensa-elf FAIL: non-contiguous
> z80-elf FAIL: non-contiguous
>
So... I did run the tests on a few targets, but obviously not this long list.
How do you manage this? Is that list maintained somewhere?
Are there scripts to exercise all these targets? (--enable-targets=all
is not enough AFAICT)
Or should I just copy & paste that list from your email and
for i in <that-list>
do
configure --target=$i
make all check
done
Thanks,
Christophe
> --
> Alan Modra
> Australia Development Lab, IBM