This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH] Add support for non-contiguous memory regions
- From: Christophe Lyon <christophe dot lyon at linaro dot org>
- To: binutils <binutils at sourceware dot org>
- Date: Fri, 14 Feb 2020 13:33:46 +0100
- Subject: [PATCH] Add support for non-contiguous memory regions
Hi,
This is a follow-up to
https://sourceware.org/ml/binutils/2019-11/msg00402.html
https://sourceware.org/ml/binutils/2020-01/msg00064.html
and
https://sourceware.org/ml/binutils/2020-02/msg00037.html
Changes between v3 and v4:
* I ran the tests on more targets (those that have xxx_build_one_stub:
avr csky hppa mc68ch11 metag nios2 ppc aarch64 m68hc11 m68hc12)
* this made me update the generic test (match addresses more lazily to
cope with 64 bits outputs, ignore symbol table whose order depends on
the target), and skip it for the targets that don't support
-mlittle-endian. Is there a more generic way of doing this? (for sure,
there are other targets that don't support that option but that I
haven't tested)
* I updated xxx_build_one_stub similarly to what I needed for arm,
although I didn't write specific tests
The changes between v2 and v3:
* added some doc/NEWS
* fixed bugs detected when running the testsuite with the option
activated by default. In particular, I've noticed and documented the
incompatibility with INSERT (or rather, it's likely to cause problems,
but depends on the actual linker scripts contents), because my new
option breaks the assumption of the parsing & processing order assumed
by INSERT.
* added new option --enable-non-contiguous-regions-warnings which
activates some warnings to help understand why the behaviour changes
in some cases
There are 4 patches, to hopefully make review/comments easier; I can
squash them at commit time if this is preferable.
* patch1: is the main (code) patch
* patch2: generic test
* patch3: arm tests
* patch4: powerpc test
OK?
Thanks,
Christophe