diff options
Diffstat (limited to 'linker/dlfcn.c')
-rw-r--r-- | linker/dlfcn.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/linker/dlfcn.c b/linker/dlfcn.c index 053713c..039926c 100644 --- a/linker/dlfcn.c +++ b/linker/dlfcn.c @@ -137,6 +137,12 @@ int dlclose(void *handle) #define ANDROID_LIBDL_STRTAB \ "dlopen\0dlclose\0dlsym\0dlerror\0dl_iterate_phdr\0" +#elif defined(ANDROID_SH_LINKER) +// 0000000 00011111 111112 22222222 2333333333344444 +// 0123456 78901234 567890 12345678 9012345678901234 +#define ANDROID_LIBDL_STRTAB \ + "dlopen\0dlclose\0dlsym\0dlerror\0dl_iterate_phdr\0" + #else /* !defined(ANDROID_ARM_LINKER) && !defined(ANDROID_X86_LINKER) */ #error Unsupported architecture. Only ARM and x86 are presently supported. #endif @@ -181,6 +187,12 @@ static Elf32_Sym libdl_symtab[] = { st_info: STB_GLOBAL << 4, st_shndx: 1, }, +#elif defined(ANDROID_SH_LINKER) + { st_name: 29, + st_value: (Elf32_Addr) &dl_iterate_phdr, + st_info: STB_GLOBAL << 4, + st_shndx: 1, + }, #endif }; |