<div dir="ltr"><div><div><div><div><div><div>Hello,<br><br></div>Thanks Pavel for your answer. I tried to write an app myself that uses dynamic loading and I ended up with the following questions:<br><br></div>1. How to generate <b>tar</b> array? Since on top of dl-tar.c it's been noted that it's automatically generated. If I'm not wrong, by making a tar image, RTEMS puts all binary objects within a single tar file and calls them dynamically at run-time, right?<br><br></div>2. What's the difference between dl01.exe and dl01.pre? Both are executable but running dl01.pre leads to "unresolved externals" and the execution hangs.<br><br></div>Thank you in advance.<br><br></div>Best Regards,<br></div>Saeed<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jul 19, 2016 at 5:12 PM, Pavel Pisa <span dir="ltr"><<a href="mailto:pisa@cmp.felk.cvut.cz" target="_blank">pisa@cmp.felk.cvut.cz</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello Saeed,<br>
<br>
libdl had been merged to RTEMS mainline.<br>
<br>
<a href="https://git.rtems.org/rtems/tree/cpukit/libdl" rel="noreferrer" target="_blank">https://git.rtems.org/rtems/tree/cpukit/libdl</a><br>
<br>
There is even example how to use it in mainline<br>
and shell functions for test from commandline<br>
<br>
int shell_dlopen (int argc, char* argv[]);<br>
int shell_dlclose (int argc, char* argv[]);<br>
int shell_dlsym (int argc, char* argv[]);<br>
int shell_dlcall (int argc, char* argv[]);<br>
<br>
The test cases are included in mainline as well<br>
<br>
<a href="https://git.rtems.org/rtems/tree/testsuites/libtests/dl01" rel="noreferrer" target="_blank">https://git.rtems.org/rtems/tree/testsuites/libtests/dl01</a><br>
<br>
<a href="https://git.rtems.org/rtems/tree/testsuites/libtests/dl02" rel="noreferrer" target="_blank">https://git.rtems.org/rtems/tree/testsuites/libtests/dl02</a><br>
<br>
There is some my example for dlopen shell command as well.<br>
<br>
<a href="https://rtime.felk.cvut.cz/gitweb/rtems-devel.git/blob/HEAD:/rtems-omk-template/appdl/init.c" rel="noreferrer" target="_blank">https://rtime.felk.cvut.cz/gitweb/rtems-devel.git/blob/HEAD:/rtems-omk-template/appdl/init.c</a><br>
<br>
I have posted recently cache operations patches series<br>
which is pending comments. This includes some corrections<br>
required to synchronize caches after code load and relocate.<br>
These patches are required to use libdl on CPUs<br>
where instruction cache is not snooped/synchronized<br>
automatically (most RISCs, ARM, PowerPC etc.).<br>
<br>
Best wishes<br>
                Pavel<br>
--<br>
<br>
                Pavel Pisa<br>
    e-mail:     <a href="mailto:pisa@cmp.felk.cvut.cz">pisa@cmp.felk.cvut.cz</a><br>
    www:        <a href="http://cmp.felk.cvut.cz/~pisa" rel="noreferrer" target="_blank">http://cmp.felk.cvut.cz/~pisa</a><br>
    university: <a href="http://dce.fel.cvut.cz/" rel="noreferrer" target="_blank">http://dce.fel.cvut.cz/</a><br>
    company:    <a href="http://www.pikron.com/" rel="noreferrer" target="_blank">http://www.pikron.com/</a><br>
<div class="HOEnZb"><div class="h5"><br>
On Tuesday 19 of July 2016 11:57:47 Saeed Ehteshamifar wrote:<br>
> Hi,<br>
><br>
> For the slingshot (RTEMS fault-injection tool) I need to dynamically link<br>
> test cases into the test suite(s) and execute them on-the-fly.<br>
> With a google search on "rtems libdl", I found two pointers for libdl:<br>
><br>
> 1. <a href="https://git.rtems.org/chrisj/rtl.git/" rel="noreferrer" target="_blank">https://git.rtems.org/chrisj/rtl.git/</a><br>
> <a href="https://git.rtems.org/chrisj/rtl-host.git/" rel="noreferrer" target="_blank">https://git.rtems.org/chrisj/rtl-host.git/</a><br>
><br>
> 2. <a href="https://git.rtems.org/rtems/tree/cpukit/libdl" rel="noreferrer" target="_blank">https://git.rtems.org/rtems/tree/cpukit/libdl</a><br>
><br>
> Now my question is: Has libdl already been merged in the tree, as the<br>
> second pointer suggests? And if yes, are there examples available maybe in<br>
> the testsuite folder on how to use that?<br>
><br>
> Best Regards,<br>
> Saeed<br>
</div></div></blockquote></div><br></div>