diff --git a/gnu/usr.bin/binutils/libbfd/Makefile.sparc64 b/gnu/usr.bin/binutils/libbfd/Makefile.sparc64 index a10a08120a95..868a5f126a68 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 000000000000..5f3c3dfaff1a --- /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)); diff --git a/libexec/Makefile b/libexec/Makefile index 33ff57911b6e..be2b9be1654a 100644 --- a/libexec/Makefile +++ b/libexec/Makefile @@ -43,9 +43,6 @@ _named-xfer= named-xfer _ftp-proxy= ftp-proxy .endif -.if ${MACHINE_ARCH} == "sparc64" -NOPIC=yes -.endif .if !defined(NOPIC) _rtld-elf= rtld-elf .endif