This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]