libdyld: all ELF relocations may refer to the current object.
authorwhitequark <whitequark@whitequark.org>
Fri, 7 Aug 2015 08:05:28 +0000 (11:05 +0300)
committerwhitequark <whitequark@whitequark.org>
Fri, 7 Aug 2015 08:05:28 +0000 (11:05 +0300)
software/libdyld/dyld.c

index 06512d147dfa24072f99936d80aaf79da0e3b66b..269bca3aa4034163844b0fb307758bdf8f7ede42 100644 (file)
@@ -22,12 +22,11 @@ static int fixup_rela(struct dyld_info *info, Elf32_Rela *rela,
 
         case R_OR1K_32:
         case R_OR1K_GLOB_DAT:
+        case R_OR1K_JMP_SLOT:
         value = (Elf32_Addr)dyld_lookup(&info->strtab[sym->st_name], info);
         if(value != 0)
             break;
-        //fallthrough
 
-        case R_OR1K_JMP_SLOT:
         value = resolve_import(&info->strtab[sym->st_name]);
         if(value == 0) {
             static char error[256];