aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbapt <bapt@FreeBSD.org>2014-10-10 22:38:39 +0800
committerbapt <bapt@FreeBSD.org>2014-10-10 22:38:39 +0800
commit88db45adc9809379f53efb83920f29fe390d374a (patch)
treef62a625a7a45f77b1783d9360e6c8b4386823019
parentc8e35358e590e77f47d80075cc3d057d03d62126 (diff)
downloadfreebsd-ports-gnome-88db45adc9809379f53efb83920f29fe390d374a.tar.gz
freebsd-ports-gnome-88db45adc9809379f53efb83920f29fe390d374a.tar.zst
freebsd-ports-gnome-88db45adc9809379f53efb83920f29fe390d374a.zip
Integrate a sparc64 patch from base version of binutils
Submitted by: marius
-rw-r--r--devel/binutils/files/patch-bfd_elfxx-sparc.c26
-rw-r--r--devel/sparc64-binutils/Makefile2
2 files changed, 27 insertions, 1 deletions
diff --git a/devel/binutils/files/patch-bfd_elfxx-sparc.c b/devel/binutils/files/patch-bfd_elfxx-sparc.c
new file mode 100644
index 000000000000..747e489c4fe2
--- /dev/null
+++ b/devel/binutils/files/patch-bfd_elfxx-sparc.c
@@ -0,0 +1,26 @@
+--- bfd/elfxx-sparc.c.orig 2013-11-08 11:13:48.000000000 +0100
++++ bfd/elfxx-sparc.c 2014-10-10 16:30:23.316125000 +0200
+@@ -2942,12 +2942,14 @@
+ Elf_Internal_Rela *relend;
+ int num_relocs;
+ bfd_boolean is_vxworks_tls;
++ const struct elf_backend_data *bed;
+
+ htab = _bfd_sparc_elf_hash_table (info);
+ BFD_ASSERT (htab != NULL);
+ symtab_hdr = &elf_symtab_hdr (input_bfd);
+ sym_hashes = elf_sym_hashes (input_bfd);
+ local_got_offsets = elf_local_got_offsets (input_bfd);
++ bed = get_elf_backend_data (output_bfd);
+
+ if (elf_hash_table (info)->hgot == NULL)
+ got_base = 0;
+@@ -3528,6 +3530,8 @@
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
++ if (bed->elf_osabi == ELFOSABI_FREEBSD)
++ outrel.r_addend -= osec->vma;
+ }
+
+ outrel.r_info = SPARC_ELF_R_INFO (htab, rel, indx,
diff --git a/devel/sparc64-binutils/Makefile b/devel/sparc64-binutils/Makefile
index 711f7398cc0c..a9109b375036 100644
--- a/devel/sparc64-binutils/Makefile
+++ b/devel/sparc64-binutils/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-PORTREVISION= 2
+PORTREVISION= 3
COMMENT= GNU binutils for sparc64 cross-development
PKGNAMEPREFIX= sparc64-
PLIST= ${.CURDIR}/pkg-plist