From 0d77c4f28123a0bb3f0c4582c51408c24fb15074 Mon Sep 17 00:00:00 2001 From: Pavel Pisa Date: Thu, 21 Jul 2016 02:35:00 +0200 Subject: 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 --- cpukit/libdl/rtl-elf.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'cpukit/libdl/rtl-elf.c') 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)) -- cgit v1.2.3