Hi Christophe,
i am doing a large testrun for the global changes and hopefully push on monday or at least
have some news. i am afk atm with just little access to a computer.
best regards
Waldemar
Am 13.07.2018 um 17:43 schrieb Christophe Lyon
<christophe.lyon(a)linaro.org>rg>:
Hi,
I'd like to ping the whole series.
For those anxious about Cortex-M support, I'd prefer to have the
current patch series merged, and then add the missing parts for
Cortex-M: I have a simple patch to enable the uclibc-ng build for such
a target, but then there are further problems with binutils and GCC.
So for me it would be much more convenient to have Cortex-A/Cortex-R
support merged, so that I can focus later on smaller improvements.
Thanks,
Christophe
> On Wed, 4 Jul 2018 at 17:56, Christophe Lyon <christophe.lyon(a)st.com> wrote:
>
> Hello,
>
> This patch series implements the uClibc-ng contribution of the FDPIC
> ABI for ARM targets.
>
> This ABI enables to run Linux on ARM MMU-less cores and supports
> shared libraries to reduce the memory footprint.
>
> Without MMU, text and data segments relative distances are different
> from one process to another, hence the need for a dedicated FDPIC
> register holding the start address of the data segment. One of the
> side effects is that function pointers require two words to be
> represented: the address of the code, and the data segment start
> address. These two words are designated as "Function Descriptor",
> hence the "FD PIC" name.
>
> On ARM, the FDPIC register is r9 [1], and the target name is
> arm-uclinuxfdpiceabi. Note that arm-uclinux exists, but uses another
> ABI and the BFLAT file format; it does not support code sharing.
>
> This work was developed some time ago by STMicroelectronics, and was
> presented during Linaro Connect SFO15 (September 2015). You can watch
> the discussion and read the slides [2].
> This presentation was related to the toolchain published on github [3],
> which is based on binutils-2.22, gcc-4.7, uclibc-0.9.33.2, gdb-7.5.1
> and qemu-2.3.0, and for which pre-built binaries are available [3].
>
> The ABI itself is described in details in [1].
>
> Our Linux kernel patches have been updated and committed by Nicolas
> Pitre (Linaro) in July 2017. They are required so that the loader is
> able to handle this new file type. Indeed, the ELF files are tagged
> with ELFOSABI_ARM_FDPIC. This new tag has been allocated by ARM, as
> well as the new relocations involved.
>
> The binutils and QEMU patch series have been merged recently. [4][5]
>
> The GCC patch series has been submitted and is under discussion. [6]
>
> This patch series consists in the original uClibc-based patches, which
> I have rebased and updated for uClibc-ng. Most of them are strictly
> related to FDPIC on ARM, while a few others address generic issues.
>
> Are the uClibc-ng patches OK for inclusion in master?
>
> Thanks,
>
> Christophe.
>
>