Module Name: src Committed By: christos Date: Sat Mar 6 20:11:08 UTC 2021
Modified Files: src/libexec/ld.elf_so/arch/mips: mips_reloc.c Log Message: Don't or the got object in, just assign it. Fixes cc -mabi=64 hello.c -lcrypto Now all 64 bit binaries work, and I tested that we did not break the 32 bit ones XXX: That 0x80000000 seems wrong for 64 bit stuff. To generate a diff of this commit: cvs rdiff -u -r1.73 -r1.74 src/libexec/ld.elf_so/arch/mips/mips_reloc.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/libexec/ld.elf_so/arch/mips/mips_reloc.c diff -u src/libexec/ld.elf_so/arch/mips/mips_reloc.c:1.73 src/libexec/ld.elf_so/arch/mips/mips_reloc.c:1.74 --- src/libexec/ld.elf_so/arch/mips/mips_reloc.c:1.73 Sat Nov 2 23:15:59 2019 +++ src/libexec/ld.elf_so/arch/mips/mips_reloc.c Sat Mar 6 15:11:08 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: mips_reloc.c,v 1.73 2019/11/03 03:15:59 christos Exp $ */ +/* $NetBSD: mips_reloc.c,v 1.74 2021/03/06 20:11:08 christos Exp $ */ /* * Copyright 1997 Michael L. Hitch <mhi...@montana.edu> @@ -30,7 +30,7 @@ #include <sys/cdefs.h> #ifndef lint -__RCSID("$NetBSD: mips_reloc.c,v 1.73 2019/11/03 03:15:59 christos Exp $"); +__RCSID("$NetBSD: mips_reloc.c,v 1.74 2021/03/06 20:11:08 christos Exp $"); #endif /* not lint */ #include <sys/types.h> @@ -129,7 +129,7 @@ _rtld_setup_pltgot(const Obj_Entry *obj) { obj->pltgot[0] = (Elf_Addr) &_rtld_bind_start; /* XXX only if obj->pltgot[1] & 0x80000000 ?? */ - obj->pltgot[1] |= (Elf_Addr) obj; + obj->pltgot[1] = (Elf_Addr) obj; } void