Dynamic linking in RTEMS
Pavel Pisa
pisa at cmp.felk.cvut.cz
Tue Jul 19 15:12:46 UTC 2016
Hello Saeed,
libdl had been merged to RTEMS mainline.
https://git.rtems.org/rtems/tree/cpukit/libdl
There is even example how to use it in mainline
and shell functions for test from commandline
int shell_dlopen (int argc, char* argv[]);
int shell_dlclose (int argc, char* argv[]);
int shell_dlsym (int argc, char* argv[]);
int shell_dlcall (int argc, char* argv[]);
The test cases are included in mainline as well
https://git.rtems.org/rtems/tree/testsuites/libtests/dl01
https://git.rtems.org/rtems/tree/testsuites/libtests/dl02
There is some my example for dlopen shell command as well.
https://rtime.felk.cvut.cz/gitweb/rtems-devel.git/blob/HEAD:/rtems-omk-template/appdl/init.c
I have posted recently cache operations patches series
which is pending comments. This includes some corrections
required to synchronize caches after code load and relocate.
These patches are required to use libdl on CPUs
where instruction cache is not snooped/synchronized
automatically (most RISCs, ARM, PowerPC etc.).
Best wishes
Pavel
--
Pavel Pisa
e-mail: pisa at cmp.felk.cvut.cz
www: http://cmp.felk.cvut.cz/~pisa
university: http://dce.fel.cvut.cz/
company: http://www.pikron.com/
On Tuesday 19 of July 2016 11:57:47 Saeed Ehteshamifar wrote:
> Hi,
>
> For the slingshot (RTEMS fault-injection tool) I need to dynamically link
> test cases into the test suite(s) and execute them on-the-fly.
> With a google search on "rtems libdl", I found two pointers for libdl:
>
> 1. https://git.rtems.org/chrisj/rtl.git/
> https://git.rtems.org/chrisj/rtl-host.git/
>
> 2. https://git.rtems.org/rtems/tree/cpukit/libdl
>
> Now my question is: Has libdl already been merged in the tree, as the
> second pointer suggests? And if yes, are there examples available maybe in
> the testsuite folder on how to use that?
>
> Best Regards,
> Saeed
More information about the devel
mailing list