load dynamic libraries after base image update

Chris Johns chrisj at rtems.org
Fri Nov 23 00:24:12 UTC 2018


On 22/11/2018 23:04, José Soler wrote:
> I am starting to use RTEMS applications, i.e. RAP files that are dynamically
> loaded by rtems-rtl. After reading the documentation I found, something is
> unclear to me and maybe somebody can help clarify: when creating the application
> with rtems-ld a base image has to be provided to resolve symbols, and I would
> like to know whether the applications must always be created anew whenever the
> base image itself is updated, or under some circumstances it is possible to load
> apps that were linked with a different (previous) base image (e.g. if the actual
> symbols that the applications needs have not been changed).

The binding between the application being loaded and the base image is just
symbols. You can change either and be fine _if_ no "interfaces" have changed.
The key to this is what "interfaces" means. I suppose the simple rule I can
state is ...

 "Do not change any ABI settings or function or data signatures"

The ABI settings and the function and data signatures are not visible to the RTL
code and so not checked. The "ABI settings" are the machine flags to the compiler.

Different builds of the tools for each part could be OK but it could also break
in subtle ways.

Chris


More information about the users mailing list