[GSoC - x86_64 BSP] Using fPIC to compile RTEMS as a shared library

Chris Johns chrisj at rtems.org
Wed Jun 6 01:25:28 UTC 2018


On 4/6/18 7:49 pm, Amaan Cheval wrote:
> Please let me know if that approach doesn't make sense - given that
> there is no dynamic loader in the RTEMS kernel as far as I know,

There is a dynamic loader in RTEMS called libdl. It is not based around the ELF
standard loader used for shared libraries and will not be. GOT and PLT do not
add value to RTEMS because we do not have an active virtual address space with
paging.

The libdl code is currently supported with the i386 static builds. I would hope
this would continue to be supported without major refactoring of that code.
There are tests in the testsuite under libtests.

> what
> we really want _is_ a static file, but for it to be a relocatable PE,
> we need to convince GCC to spit out a relocatable but fully resolved
> shared library.

It is not clear to me yet making the kernel relocatable is free of other
possible issues. I will need to find time to review all the low level parts here
and my time is currently limited.

Does this UEFI work effect the score context switcher, interrupts, etc? If is
does we will need to resolve what happens and if not should we consider leaving
it if we can? For example can iPXE chain load a multiboot image?

Sorry to have disappeared for a period at a critical time in this discussion, it
was beyond my control.

Chris


More information about the devel mailing list