浏览代码

Fix buggy R_PPC_RELATIVE relocation. Symptom was that strings
internal to a library were not relocated correctly, specifically
sys_errlist[].

David Schleef 22 年之前
父节点
当前提交
b76b3fcd18
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      ldso/ldso/powerpc/elfinterp.c

+ 1 - 1
ldso/ldso/powerpc/elfinterp.c

@@ -380,7 +380,7 @@ int _dl_parse_relocation_information(struct elf_resolve *tpnt,
 			}
 			break;
 		case R_PPC_RELATIVE:
-			*reloc_addr += (unsigned long)tpnt->loadaddr + addend;
+			*reloc_addr = (unsigned long)tpnt->loadaddr + addend;
 			break;
 		case R_PPC_ADDR32:
 			*reloc_addr += symbol_addr;