summaryrefslogtreecommitdiffstats
path: root/cpukit/libdl/rtl-elf.c
diff options
context:
space:
mode:
authorPavel Pisa <pisa@cmp.felk.cvut.cz>2016-07-21 02:35:00 +0200
committerPavel Pisa <pisa@cmp.felk.cvut.cz>2016-07-21 02:35:00 +0200
commit8709aa0459217822ce4118416c8547ed08d96ac1 (patch)
tree39a7e1475c886666edd02ee649d8c1d7619ebee9 /cpukit/libdl/rtl-elf.c
parentarm/raspberrypi: reorder and update MMU config table to nor force RW section ... (diff)
downloadrtems-8709aa0459217822ce4118416c8547ed08d96ac1.tar.bz2
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
Diffstat (limited to 'cpukit/libdl/rtl-elf.c')
-rw-r--r--cpukit/libdl/rtl-elf.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/cpukit/libdl/rtl-elf.c b/cpukit/libdl/rtl-elf.c
index 0eee5400c1..48d81df124 100644
--- a/cpukit/libdl/rtl-elf.c
+++ b/cpukit/libdl/rtl-elf.c
@@ -941,6 +941,8 @@ rtems_rtl_elf_file_load (rtems_rtl_obj_t* obj, int fd)
if (!rtems_rtl_obj_relocate (obj, fd, rtems_rtl_elf_relocator, &ehdr))
return false;
+ rtems_rtl_obj_synchronize_cache (obj);
+
rtems_rtl_symbol_obj_erase_local (obj);
if (!rtems_rtl_elf_load_details (obj))