[PATCH] Add support for non-contiguous memory regions

Alan Modra amodra@gmail.com
Wed Feb 19 22:23:00 GMT 2020
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.

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)  .*


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

-- 
Alan Modra
Australia Development Lab, IBM



More information about the Binutils mailing list