소스 검색

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;