- Timestamp:
- Apr 28, 2015 10:31:51 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kLdr/kLdrModMachO.c
r66 r67 1021 1021 break; 1022 1022 1023 case LC_FUNCTION_STARTS: /** @todo dylib++ */ 1024 /* Ignore for now. */ 1025 break; 1023 1026 case LC_ID_DYLIB: /** @todo dylib */ 1024 1027 case LC_LOAD_DYLIB: /** @todo dylib */ … … 1033 1036 case LC_DYLD_INFO_ONLY: /** @todo dylib */ 1034 1037 case LC_LOAD_UPWARD_DYLIB: /** @todo dylib */ 1035 case LC_FUNCTION_STARTS: /** @todo dylib++ */1036 1038 case LC_DYLD_ENVIRONMENT: /** @todo dylib */ 1037 1039 case LC_MAIN: /** @todo parse this and find and entry point or smth. */ … … 3078 3080 SymAddr -= 4; 3079 3081 break; 3080 case X86_64_RELOC_SIGNED_1: SymAddr -= 1; break;3081 case X86_64_RELOC_SIGNED_2: SymAddr -= 2; break;3082 3082 case X86_64_RELOC_SIGNED: 3083 case X86_64_RELOC_SIGNED_4: SymAddr -= 4; break; 3083 SymAddr -= 4; 3084 break; 3085 case X86_64_RELOC_SIGNED_1: 3086 SymAddr -= 4 + 1; 3087 if (Fixup.r.r_extern) 3088 SymAddr += 1; 3089 break; 3090 case X86_64_RELOC_SIGNED_2: 3091 SymAddr -= 4 + 2; 3092 if (Fixup.r.r_extern) 3093 SymAddr += 2; 3094 break; 3095 case X86_64_RELOC_SIGNED_4: 3096 SymAddr -= 4 + 4; 3097 if (Fixup.r.r_extern) 3098 SymAddr += 4; 3099 break; 3084 3100 default: 3085 3101 KLDRMODMACHO_CHECK_RETURN(0, KLDR_ERR_BAD_FIXUP);
Note:
See TracChangeset
for help on using the changeset viewer.