From 536504fc3c2194a2919c312e7dfd471b52766141 Mon Sep 17 00:00:00 2001 From: obrien Date: Thu, 17 Jun 2004 16:08:20 +0000 Subject: Commit a crude hack so we get sparc64 snapshots working again with a stable ld.so. We need to revisit the rtld-elf/sparc64/rtld_start.S rev. 1.5 and rtld-elf/sparc64/rtld_machdep.h rev. 1.5, which was suppose to allow stock Binutils 2.13 (and later) to be used. --- gnu/usr.bin/binutils/libbfd/Makefile.sparc64 | 7 ++++++- .../binutils/libbfd/sparc64/elf64-sparc.c-bad-rtld.diff | 13 +++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 gnu/usr.bin/binutils/libbfd/sparc64/elf64-sparc.c-bad-rtld.diff (limited to 'gnu/usr.bin') diff --git a/gnu/usr.bin/binutils/libbfd/Makefile.sparc64 b/gnu/usr.bin/binutils/libbfd/Makefile.sparc64 index a10a081..868a5f1 100644 --- a/gnu/usr.bin/binutils/libbfd/Makefile.sparc64 +++ b/gnu/usr.bin/binutils/libbfd/Makefile.sparc64 @@ -7,7 +7,7 @@ SRCS+= aout32.c \ elf32-sparc.c \ elf32-target.h \ elf32.c \ - elf64-sparc.c \ + elf64-sparc%FIXED.c \ elf64-target.h \ elf64.c \ elflink.c \ @@ -25,3 +25,8 @@ elf32-target.h: elfxx-target.h elf64-target.h: elfxx-target.h sed -e s/NN/64/g ${.ALLSRC} > ${.TARGET} + +CLEANFILES+= elf64-sparc%FIXED.c +elf64-sparc%FIXED.c: elf64-sparc.c elf64-sparc.c-bad-rtld.diff + cp ${.ALLSRC:M*.c} ${.TARGET} + patch -b .orig < ${.ALLSRC:M*.diff} diff --git a/gnu/usr.bin/binutils/libbfd/sparc64/elf64-sparc.c-bad-rtld.diff b/gnu/usr.bin/binutils/libbfd/sparc64/elf64-sparc.c-bad-rtld.diff new file mode 100644 index 0000000..5f3c3df --- /dev/null +++ b/gnu/usr.bin/binutils/libbfd/sparc64/elf64-sparc.c-bad-rtld.diff @@ -0,0 +1,13 @@ +$FreeBSD$ +Index: elf64-sparc.c +=================================================================== +RCS file: /home/ncvs/src/contrib/binutils/bfd/elf64-sparc.c,v +retrieving revision 1.1.1.12 +diff -u -u -0 -r1.1.1.12 elf64-sparc.c +--- elf64-sparc%FIXED.c 16 Jun 2004 05:44:32 -0000 1.1.1.12 ++++ elf64-sparc%FIXED.c 17 Jun 2004 05:24:42 -0000 +@@ -2790,2 +2790,2 @@ +- bfd_put_64 (output_bfd, (bfd_vma) 0, +- sgot->contents + (h->got.offset &~ (bfd_vma) 1)); ++//XXX:DEO bfd_put_64 (output_bfd, (bfd_vma) 0, ++// sgot->contents + (h->got.offset &~ (bfd_vma) 1)); -- cgit v1.1