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-10-02 10:40:33 +0200
commit0d77c4f28123a0bb3f0c4582c51408c24fb15074 (patch)
tree96a25f38b1817f1a613b356a8e8a07ab4beb2158 /cpukit/libdl/rtl-elf.c
parentbsps/arm: basic on core cache support changed to use l1 functions. (diff)
downloadrtems-0d77c4f28123a0bb3f0c4582c51408c24fb15074.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 Updates #2782
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 1b7c87448a..b686a4812f 100644
--- a/cpukit/libdl/rtl-elf.c
+++ b/cpukit/libdl/rtl-elf.c
@@ -944,6 +944,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))