Commit Graph

11 Commits

Author SHA1 Message Date
Chris Johns
f59d435d16 libdl: Remove _t from all structures as this is reserved for the standards 2018-04-12 17:57:40 +10:00
Sebastian Huber
990adc5438 libdl: Include <rtems/rtl/rtl-*.h>
Prepare for header file move to common include directory.

Update #3254.
2017-12-13 09:04:26 +01:00
Sebastian Huber
8bdbefedd5 libdl: Fix warnings
Update #3155.
2017-10-06 09:43:17 +02:00
Sebastian Huber
b2ed712d26 Include missing <string.h>
Update #2133.
2017-08-25 10:58:58 +02:00
Chris Johns
bba48d90bc libdl: Support link ordered loading of ELF sections.
The ARM C++ exception ABI uses an address ordered index table to
locate the correct frame data and this requires the EXIDX sections are
loaded in the order the order the matching text is loaded.

The EXIDX sections set the SHF_LINK_ORDER flag and link field. This patch
adds support to load those flagged sections in the linked-to section
order.

Updates #2955.
Closes #2959
2017-03-31 09:00:14 +11:00
Chris Johns
c6eead1353 libdl: Add C++ exception support to loaded modules.
This has been tested on SPARC, i386, PowerPC and ARM.

Closes #2767.
2016-12-14 09:07:16 +11:00
Pavel Pisa
89b4a5cc5f libdl/rtl-obj.c: synchronize cache should not depend on CPU_CACHE_LINE_BYTES.
Use of rtems_cache_get_maximal_line_size() is more descriptive
choice. The min/max data/instruction cache line size is not critical
there, value is used for optimization only to use single operation
for directly following sections.
2016-10-04 23:17:25 +02:00
Pavel Pisa
8709aa0459 libdl/rtl-obj.c: synchronize cache after code relocation.
Memory content changes caused by relocation has to be
propagated to memory/cache level which is used/snooped
during instruction cache fill.

Closes #2438
2016-07-21 02:35:00 +02:00
Pavel Pisa
2b885d6084 libdl/rtl-obj.c: ensure that loaded code is synchronized through caches.
Synchronize each cluster of sections of the same type separately
to support even cases where text and data are allocated from different
areas (for example due allocation from different MPU protection regions).

rtems_cache_instruction_sync_after_code_change is called even to data
sections. Propagation of data only changes should not require cache
maintenance operation on sane SMP mutithread capable systems if barrier
instruction is added but be on safe side even for case where self
modifying code uses data sections initial values etc.
2016-07-04 15:55:57 +02:00
Sebastian Huber
d4edbdbcbf Replace www.rtems.com with www.rtems.org 2015-03-20 15:42:34 +01:00
Chris Johns
ae5fe7e6bc cpukit: Add libdl with the Runtime Loader (RTL) code.
This is a merge of the RTL project.
2014-10-31 11:04:15 +11:00