libdl documentation?

2023-10-18 Thread Sebastian Huber

Hello,

I tried to get a bit more familiar with the libdl. Is there some 
documentation available? I tried the user manual, but I see only a work 
in progress page:


https://docs.rtems.org/branches/master/user/tools/linker.html

For example, I can use dlopen() to load an object file (ELF). For what 
do I need RAP files?


Can I load also archives? It seems this can be done through 
configuration files. Are there API calls to do this?


--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: libdl documentation?

2023-10-18 Thread Chris Johns
On 18/10/2023 7:21 pm, Sebastian Huber wrote:
> I tried to get a bit more familiar with the libdl. Is there some documentation
> available? I tried the user manual, but I see only a work in progress page:
> 
> https://docs.rtems.org/branches/master/user/tools/linker.html

There is this https://git.rtems.org/rtems-tools/tree/linkers/main-page.cpp which
has not been moved across.

> For example, I can use dlopen() to load an object file (ELF). For what do I 
> need
> RAP files?

RAP requires use of the linker. It has some issues that need to be addressed to
be at the same level as the ELF loader. For example I have not looked into TLS
and there is the failure of the tests in the testsuite (dl06).

RAP is an intermediate format where a lot of the required linking can be done on
the host and the file set you need for the target can be collected. This lets
you have a golden base image and a single loadable application.

> Can I load also archives? It seems this can be done through configuration 
> files.
> Are there API calls to do this?

Currently there is no API call available. One could be added if you feel it is
required. I decided you need a valid file system for loading to work so a
configuration file was the simplest method.

Loading from archives is done via the /etc/libdl.conf file:

https://git.rtems.org/rtems/tree/testsuites/libtests/dl10/etc/libdl.conf

The file can be updated at runtime and it is checked on each load for changes.

Note, I did some initial analysis for this at the time the change was made and
if you use runlib on the archives before loading the symbol table for libraries
like libc is manageable.

Chris
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


Re: libdl documentation?

2023-10-19 Thread Sebastian Huber

Hello Chris,

thanks for the information. I will try to figure out if I can get the 
64-bit powerpc ELFv2 support working.


--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel