Loading mozglue/linker/CustomElf.cpp +6 −3 Original line number Diff line number Diff line Loading @@ -679,8 +679,11 @@ CustomElf::RelocateJumps() symptr = GetSymbolPtrInDeps(strtab.GetStringAt(sym.st_name)); if (symptr == NULL) { log("%s: Error: relocation to NULL @0x%08" PRIxAddr " for symbol \"%s\"", GetPath(), rel->r_offset, strtab.GetStringAt(sym.st_name)); log("%s: %s: relocation to NULL @0x%08" PRIxAddr " for symbol \"%s\"", GetPath(), (ELF_ST_BIND(sym.st_info) == STB_WEAK) ? "Warning" : "Error", rel->r_offset, strtab.GetStringAt(sym.st_name)); if (ELF_ST_BIND(sym.st_info) != STB_WEAK) return false; } /* Apply relocation */ Loading mozglue/linker/CustomElf.h +6 −0 Original line number Diff line number Diff line Loading @@ -26,12 +26,18 @@ #define ELFCLASS ELFCLASS64 #define ELF_R_TYPE ELF64_R_TYPE #define ELF_R_SYM ELF64_R_SYM #ifndef ELF_ST_BIND #define ELF_ST_BIND ELF64_ST_BIND #endif #define PRIxAddr "lx" #else #define Elf_(type) Elf32_ ## type #define ELFCLASS ELFCLASS32 #define ELF_R_TYPE ELF32_R_TYPE #define ELF_R_SYM ELF32_R_SYM #ifndef ELF_ST_BIND #define ELF_ST_BIND ELF32_ST_BIND #endif #define PRIxAddr "x" #endif Loading Loading
mozglue/linker/CustomElf.cpp +6 −3 Original line number Diff line number Diff line Loading @@ -679,8 +679,11 @@ CustomElf::RelocateJumps() symptr = GetSymbolPtrInDeps(strtab.GetStringAt(sym.st_name)); if (symptr == NULL) { log("%s: Error: relocation to NULL @0x%08" PRIxAddr " for symbol \"%s\"", GetPath(), rel->r_offset, strtab.GetStringAt(sym.st_name)); log("%s: %s: relocation to NULL @0x%08" PRIxAddr " for symbol \"%s\"", GetPath(), (ELF_ST_BIND(sym.st_info) == STB_WEAK) ? "Warning" : "Error", rel->r_offset, strtab.GetStringAt(sym.st_name)); if (ELF_ST_BIND(sym.st_info) != STB_WEAK) return false; } /* Apply relocation */ Loading
mozglue/linker/CustomElf.h +6 −0 Original line number Diff line number Diff line Loading @@ -26,12 +26,18 @@ #define ELFCLASS ELFCLASS64 #define ELF_R_TYPE ELF64_R_TYPE #define ELF_R_SYM ELF64_R_SYM #ifndef ELF_ST_BIND #define ELF_ST_BIND ELF64_ST_BIND #endif #define PRIxAddr "lx" #else #define Elf_(type) Elf32_ ## type #define ELFCLASS ELFCLASS32 #define ELF_R_TYPE ELF32_R_TYPE #define ELF_R_SYM ELF32_R_SYM #ifndef ELF_ST_BIND #define ELF_ST_BIND ELF32_ST_BIND #endif #define PRIxAddr "x" #endif Loading