Commit Graph

31 Commits

Author SHA1 Message Date
Sebastian Huber
f5cf2fe293 libdl: Fix warning 2017-02-15 11:19:50 +01: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
Jiri Gaisler
316da9356a rtl-mdreloc-sparc.c: Do not print unaligned pointer and cause unaligned access.
updates #2802.
2016-11-14 08:21:12 -06: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
Chris Johns
11323b7da9 libdl: Add ARM C++ relocation record support.
Closes #2767
2016-09-08 16:41:59 +10:00
Chris Johns
58c34961ca libdl: Fix cache corruption bugs.
This patch fixes a number of bugs in the cache when requests are
made to read close to the end of the file and the data is copied
from the top of the cache buffer to the bottom of the buffer. This
was compounded by attempting to read past the end of the file.

Closes #2754.
2016-08-15 15:44:38 +10:00
Chris Johns
75386e1131 libdl: Add trace output when reading section headers. 2016-08-15 15:41:52 +10: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
506bfc8580 Move printer initialization to separate header
The RTEMS print user need to know nothing about a particular printer
implementation.  In particular get rid of the <stdio.h> include which
would be visible via <rtems.h>.
2016-06-22 07:29:26 +02:00
Joel Sherrill
f5201df0dc Remove M32R architecture
updates #2446.
2016-01-04 11:07:00 -06:00
Joel Sherrill
0771936eab libdl/rtl-shell.c: Adjust printf() format for off_t based on target 2015-03-24 08:17:04 -05:00
Joel Sherrill
30ea9bf981 libdl/rtl-mdreloc-moxie.c: Fix printf() format warnings 2015-03-24 08:16:54 -05:00
Sebastian Huber
d4edbdbcbf Replace www.rtems.com with www.rtems.org 2015-03-20 15:42:34 +01:00
Joel Sherrill
4b7df86b8e cpukit/libdl/rtl-obj-comp.c: Use correct printf() specification 2015-03-17 10:05:03 -05:00
Joel Sherrill
d9cda35785 cpukit/libdl/rtl-mdreloc-m32r.c: Add parentheses per Chris' suggestion 2015-03-09 16:14:18 -05:00
Joel Sherrill
e0eb07a22b Fix more Doxygen typos 2015-03-06 13:26:12 -06:00
Joel Sherrill
a5201ea4d0 libdl/rtl-mdreloc-powerpc.c: Fix warnings
This patch addresses the following warnings:
  + The variable "target" was unused.
  + The parentheses in the expression around line 72 were ambiguous.
2014-11-20 12:57:33 -06:00
Joel Sherrill
c8784667fb libdl/.../mips/machine/elf_machdep.h: Fix typo so compiles 2014-11-20 12:57:32 -06:00
Chris Johns
580466cc9c libdl: Update comment with details about the error fix.
See refs #2192.
2014-11-20 13:52:12 +11:00
Chris Johns
2ae58c695f libdl: Update the comments.
See refs #2191.
2014-11-20 10:19:46 +11:00
Chris Johns
fc523ac869 libdl: Fix possible 16-bit overflow (Coverity 1255339) refs #2192.
On a 16-bit target the section value could result in a sign-extension
overflow.
2014-11-20 10:18:16 +11:00
Chris Johns
4f1bbbfcdf libdl: Add a comment.
See ref #2191.
2014-11-20 08:43:15 +11:00
Chris Johns
80590a8ecf libdl: Add a comment to the previous fix.
The fix is ref #2191.
2014-11-20 08:38:28 +11:00
Chris Johns
90f65007e9 libdl: Fix allocator NULL check (Coverity 1255328) refs #2191
The address returned from the allocator call was not checked when zeroing
the memory.
2014-11-20 08:30:01 +11:00
Chris Johns
f98abbe0eb libdl: Disable building libdl for the NIOS2. No relocation support.
This should have been added.
2014-11-06 13:09:54 +11:00
Joel Sherrill
1dc5b0e0c1 libdl/rtl-mdreloc-bfin.c: Include rtems/rtl/rtl.h not rtl.h 2014-11-04 14:56:11 -06:00
Joel Sherrill
598a1f4a68 libdl/Makefile.am: Need preinstall on all targets 2014-11-04 14:56:11 -06:00
Chris Johns
028ed6c390 libdl: RTLD_DEFAULT searches the global symbol table. 2014-11-04 16:34:37 +11:00
Chris Johns
a2e1e30d98 libdl: Add a local symbol table to the object module.
Adding a local symbol lets the relocator find local symbols referenced
in relocation records. The local symbol table is erased once the object
module has been loaded.
2014-11-04 12:12:25 +11: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