aboutsummaryrefslogtreecommitdiff
path: root/devel/binutils
diff options
context:
space:
mode:
authorBeat Gaetzi <beat@FreeBSD.org>2011-12-24 14:20:41 +0000
committerBeat Gaetzi <beat@FreeBSD.org>2011-12-24 14:20:41 +0000
commita5123c5f6cd7685ac9f778b0b265dcd54516e185 (patch)
tree9c018993b18f1e32756979290d5d50fb4788f7ea /devel/binutils
parentdaa6d8547710c24984fe3f283e9d40b807f433a6 (diff)
downloadports-a5123c5f6cd7685ac9f778b0b265dcd54516e185.tar.gz
ports-a5123c5f6cd7685ac9f778b0b265dcd54516e185.zip
Notes
Diffstat (limited to 'devel/binutils')
-rw-r--r--devel/binutils/files/patch-bfd__config.bfd26
-rw-r--r--devel/binutils/files/patch-bfd__configure18
-rw-r--r--devel/binutils/files/patch-bfd__elf32-ppc.c36
-rw-r--r--devel/binutils/files/patch-bfd__elf64-ppc.c25
-rw-r--r--devel/binutils/files/patch-bfd__targets.c34
-rw-r--r--devel/binutils/files/patch-gas__config__tc-ppc.c13
-rw-r--r--devel/binutils/files/patch-ld__Makefile.in29
-rw-r--r--devel/binutils/files/patch-ld__configure.tgt22
-rw-r--r--devel/binutils/files/patch-ld__emulparams__elf32ppc_fbsd.sh8
-rw-r--r--devel/binutils/files/patch-ld__emulparams__elf64ppc_fbsd.sh9
-rw-r--r--devel/binutils/files/patch-ld__emultempl__ppc64elf.em11
11 files changed, 231 insertions, 0 deletions
diff --git a/devel/binutils/files/patch-bfd__config.bfd b/devel/binutils/files/patch-bfd__config.bfd
new file mode 100644
index 000000000000..d5c25bcf6c39
--- /dev/null
+++ b/devel/binutils/files/patch-bfd__config.bfd
@@ -0,0 +1,26 @@
+--- ./bfd/config.bfd.orig 2011-07-29 00:35:13.000000000 +0200
++++ ./bfd/config.bfd 2011-12-21 09:44:40.000000000 +0100
+@@ -1128,6 +1128,11 @@
+ targ_selvecs=rs6000coff_vec
+ want64=true
+ ;;
++ powerpc64-*-freebsd*)
++ targ_defvec=bfd_elf64_powerpc_freebsd_vec
++ targ_selvecs="bfd_elf64_powerpc_vec bfd_elf32_powerpc_vec bfd_elf32_powerpc_freebsd_vec bfd_elf32_powerpcle_vec rs6000coff_vec rs6000coff64_vec aix5coff64_vec"
++ want64=true
++ ;;
+ powerpc64-*-elf* | powerpc-*-elf64* | powerpc64-*-linux* | \
+ powerpc64-*-*bsd*)
+ targ_defvec=bfd_elf64_powerpc_vec
+@@ -1140,6 +1145,11 @@
+ want64=true
+ ;;
+ #endif
++ powerpc-*-*freebsd*)
++ targ_defvec=bfd_elf32_powerpc_freebsd_vec
++ targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec bfd_elf32_powerpcle_vec ppcboot_vec"
++ targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec bfd_elf64_powerpc_freebsd_vec"
++ ;;
+ powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
+ powerpc-*-solaris2* | powerpc-*-linux-* | powerpc-*-rtems* | \
+ powerpc-*-chorus*)
diff --git a/devel/binutils/files/patch-bfd__configure b/devel/binutils/files/patch-bfd__configure
new file mode 100644
index 000000000000..21d187067b66
--- /dev/null
+++ b/devel/binutils/files/patch-bfd__configure
@@ -0,0 +1,18 @@
+--- ./bfd/configure.orig 2011-11-21 12:55:48.000000000 +0100
++++ ./bfd/configure 2011-12-21 09:44:40.000000000 +0100
+@@ -15262,6 +15262,7 @@
+ bfd_elf32_pjl_vec) tb="$tb elf32-pj.lo elf32.lo $elf";;
+ bfd_elf32_powerpc_vec) tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;;
+ bfd_elf32_powerpcle_vec) tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;;
++ bfd_elf32_powerpc_freebsd_vec) tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;;
+ bfd_elf32_powerpc_vxworks_vec) tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;;
+ bfd_elf32_rx_le_vec) tb="$tb elf32-rx.lo elf32.lo $elf" ;;
+ bfd_elf32_rx_be_vec) tb="$tb elf32-rx.lo elf32.lo $elf" ;;
+@@ -15327,6 +15328,7 @@
+ bfd_elf64_mmix_vec) tb="$tb elf64-mmix.lo elf64.lo $elf" target_size=64 ;;
+ bfd_elf64_powerpc_vec) tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf"; target_size=64 ;;
+ bfd_elf64_powerpcle_vec) tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;;
++ bfd_elf64_powerpc_freebsd_vec) tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;;
+ bfd_elf64_s390_vec) tb="$tb elf64-s390.lo elf64.lo $elf"; target_size=64 ;;
+ bfd_elf64_sh64_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
+ bfd_elf64_sh64l_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;;
diff --git a/devel/binutils/files/patch-bfd__elf32-ppc.c b/devel/binutils/files/patch-bfd__elf32-ppc.c
new file mode 100644
index 000000000000..f48beae451cb
--- /dev/null
+++ b/devel/binutils/files/patch-bfd__elf32-ppc.c
@@ -0,0 +1,36 @@
+--- ./bfd/elf32-ppc.c.orig 2011-11-21 10:29:21.000000000 +0100
++++ ./bfd/elf32-ppc.c 2011-12-21 09:44:40.000000000 +0100
+@@ -9127,6 +9127,24 @@
+
+ #include "elf32-target.h"
+
++/* FreeBSD Target */
++
++#undef TARGET_LITTLE_SYM
++#undef TARGET_LITTLE_NAME
++
++#undef TARGET_BIG_SYM
++#define TARGET_BIG_SYM bfd_elf32_powerpc_freebsd_vec
++#undef TARGET_BIG_NAME
++#define TARGET_BIG_NAME "elf32-powerpc-freebsd"
++
++#undef ELF_OSABI
++#define ELF_OSABI ELFOSABI_FREEBSD
++
++#undef elf32_bed
++#define elf32_bed elf32_powerpc_fbsd_bed
++
++#include "elf32-target.h"
++
+ /* VxWorks Target */
+
+ #undef TARGET_LITTLE_SYM
+@@ -9137,6 +9155,8 @@
+ #undef TARGET_BIG_NAME
+ #define TARGET_BIG_NAME "elf32-powerpc-vxworks"
+
++#undef ELF_OSABI
++
+ /* VxWorks uses the elf default section flags for .plt. */
+ static const struct bfd_elf_special_section *
+ ppc_elf_vxworks_get_sec_type_attr (bfd *abfd ATTRIBUTE_UNUSED, asection *sec)
diff --git a/devel/binutils/files/patch-bfd__elf64-ppc.c b/devel/binutils/files/patch-bfd__elf64-ppc.c
new file mode 100644
index 000000000000..f199ae44f5b0
--- /dev/null
+++ b/devel/binutils/files/patch-bfd__elf64-ppc.c
@@ -0,0 +1,25 @@
+--- ./bfd/elf64-ppc.c.orig 2011-11-21 10:29:24.000000000 +0100
++++ ./bfd/elf64-ppc.c 2011-12-21 09:44:40.000000000 +0100
+@@ -13897,3 +13897,22 @@
+ }
+
+ #include "elf64-target.h"
++
++/* FreeBSD support */
++
++#undef TARGET_LITTLE_SYM
++#undef TARGET_LITTLE_NAME
++
++#undef TARGET_BIG_SYM
++#define TARGET_BIG_SYM bfd_elf64_powerpc_freebsd_vec
++#undef TARGET_BIG_NAME
++#define TARGET_BIG_NAME "elf64-powerpc-freebsd"
++
++#undef ELF_OSABI
++#define ELF_OSABI ELFOSABI_FREEBSD
++
++#undef elf64_bed
++#define elf64_bed elf64_powerpc_fbsd_bed
++
++#include "elf64-target.h"
++
diff --git a/devel/binutils/files/patch-bfd__targets.c b/devel/binutils/files/patch-bfd__targets.c
new file mode 100644
index 000000000000..0a08e9a2fe30
--- /dev/null
+++ b/devel/binutils/files/patch-bfd__targets.c
@@ -0,0 +1,34 @@
+--- ./bfd/targets.c.orig 2011-08-17 02:39:38.000000000 +0200
++++ ./bfd/targets.c 2011-12-21 09:44:40.000000000 +0100
+@@ -667,6 +667,7 @@
+ extern const bfd_target bfd_elf32_pjl_vec;
+ extern const bfd_target bfd_elf32_powerpc_vec;
+ extern const bfd_target bfd_elf32_powerpcle_vec;
++extern const bfd_target bfd_elf32_powerpc_freebsd_vec;
+ extern const bfd_target bfd_elf32_powerpc_vxworks_vec;
+ extern const bfd_target bfd_elf32_rx_le_vec;
+ extern const bfd_target bfd_elf32_rx_be_vec;
+@@ -729,6 +730,7 @@
+ extern const bfd_target bfd_elf64_mmix_vec;
+ extern const bfd_target bfd_elf64_powerpc_vec;
+ extern const bfd_target bfd_elf64_powerpcle_vec;
++extern const bfd_target bfd_elf64_powerpc_freebsd_vec;
+ extern const bfd_target bfd_elf64_s390_vec;
+ extern const bfd_target bfd_elf64_sh64_vec;
+ extern const bfd_target bfd_elf64_sh64l_vec;
+@@ -1033,6 +1035,7 @@
+ &bfd_elf32_powerpc_vec,
+ &bfd_elf32_powerpc_vxworks_vec,
+ &bfd_elf32_powerpcle_vec,
++ &bfd_elf32_powerpc_freebsd_vec,
+ &bfd_elf32_rx_be_vec,
+ &bfd_elf32_rx_be_ns_vec,
+ &bfd_elf32_rx_le_vec,
+@@ -1095,6 +1098,7 @@
+ &bfd_elf64_mmix_vec,
+ &bfd_elf64_powerpc_vec,
+ &bfd_elf64_powerpcle_vec,
++ &bfd_elf64_powerpc_freebsd_vec,
+ &bfd_elf64_s390_vec,
+ &bfd_elf64_sh64_vec,
+ &bfd_elf64_sh64l_vec,
diff --git a/devel/binutils/files/patch-gas__config__tc-ppc.c b/devel/binutils/files/patch-gas__config__tc-ppc.c
new file mode 100644
index 000000000000..12f52afcbb4b
--- /dev/null
+++ b/devel/binutils/files/patch-gas__config__tc-ppc.c
@@ -0,0 +1,13 @@
+--- ./gas/config/tc-ppc.c.orig 2011-06-14 11:03:51.000000000 +0200
++++ ./gas/config/tc-ppc.c 2011-12-21 09:44:40.000000000 +0100
+@@ -1370,7 +1370,9 @@
+ #endif
+ #endif
+ #ifdef OBJ_ELF
+-# ifdef TE_VXWORKS
++# ifdef TE_FreeBSD
++ return (ppc_obj64 ? "elf64-powerpc-freebsd" : "elf32-powerpc-freebsd");
++# elif defined (TE_VXWORKS)
+ return "elf32-powerpc-vxworks";
+ # else
+ return (target_big_endian
diff --git a/devel/binutils/files/patch-ld__Makefile.in b/devel/binutils/files/patch-ld__Makefile.in
new file mode 100644
index 000000000000..93f7fee27f40
--- /dev/null
+++ b/devel/binutils/files/patch-ld__Makefile.in
@@ -0,0 +1,29 @@
+--- ./ld/Makefile.in.orig 2011-07-22 22:22:37.000000000 +0200
++++ ./ld/Makefile.in 2011-12-21 09:44:40.000000000 +0100
+@@ -783,6 +783,7 @@
+ eelf64ltsmip_fbsd.c \
+ eelf64mmix.c \
+ eelf64ppc.c \
++ eelf64ppc_fbsd.c \
+ eelf64tilegx.c \
+ eelf_l1om.c \
+ eelf_l1om_fbsd.c \
+@@ -1180,6 +1181,7 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64ltsmip_fbsd.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64mmix.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64ppc.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64ppc_fbsd.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64tilegx.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_be.Po@am__quote@
+@@ -3425,6 +3427,10 @@
+ ldemul-list.h \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64ppc "$(tdir_elf64ppc)"
++eelf64ppc_fbsd.c: $(srcdir)/emulparams/elf64ppc_fbsd.sh \
++ $(srcdir)/emultempl/ppc64elf.em ldemul-list.h \
++ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
++ ${GENSCRIPTS} elf64ppc_fbsd "$(tdir_elf64ppc_fbsd)"
+ eelf64tilegx.c: $(srcdir)/emulparams/elf64tilegx.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
diff --git a/devel/binutils/files/patch-ld__configure.tgt b/devel/binutils/files/patch-ld__configure.tgt
new file mode 100644
index 000000000000..b3d1c2bdbc12
--- /dev/null
+++ b/devel/binutils/files/patch-ld__configure.tgt
@@ -0,0 +1,22 @@
+--- ./ld/configure.tgt.orig 2011-11-21 10:29:37.000000000 +0100
++++ ./ld/configure.tgt 2011-12-21 09:44:40.000000000 +0100
+@@ -453,10 +453,17 @@
+ pj*-*-*) targ_emul=pjelf
+ ;;
+ powerpc-*-freebsd* | powerpc-*-kfreebsd*-gnu)
+- targ_emul=elf32ppc_fbsd;
+- targ_extra_emuls="elf32ppc elf32ppcsim";
++ targ_emul=elf32ppc_fbsd
++ targ_extra_emuls="elf32ppc elf32ppcsim"
+ targ_extra_libpath=elf32ppc;
+ tdir_elf32ppcsim=`echo ${targ_alias} | sed -e 's/ppc/ppcsim/'` ;;
++powerpc64-*-freebsd*)
++ targ_emul=elf64ppc_fbsd
++ targ_extra_emuls="elf64ppc elf32ppc_fbsd elf32ppc"
++ targ_extra_libpath="elf32ppc_fbsd elf32ppc"
++ tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'`
++ tdir_elf32ppc_fbsd=$tdir_elf32ppc
++ ;;
+ powerpc*-*-linux*) case "${targ}" in
+ *64*) targ_emul=elf64ppc
+ targ_extra_emuls="elf32ppclinux elf32ppc elf32ppcsim"
diff --git a/devel/binutils/files/patch-ld__emulparams__elf32ppc_fbsd.sh b/devel/binutils/files/patch-ld__emulparams__elf32ppc_fbsd.sh
new file mode 100644
index 000000000000..d9d7dc2e91ef
--- /dev/null
+++ b/devel/binutils/files/patch-ld__emulparams__elf32ppc_fbsd.sh
@@ -0,0 +1,8 @@
+--- ./ld/emulparams/elf32ppc_fbsd.sh.orig 2002-02-18 10:38:01.000000000 +0100
++++ ./ld/emulparams/elf32ppc_fbsd.sh 2011-12-21 09:44:40.000000000 +0100
+@@ -1,2 +1,5 @@
+ . ${srcdir}/emulparams/elf32ppc.sh
+ . ${srcdir}/emulparams/elf_fbsd.sh
++
++OUTPUT_FORMAT="elf32-powerpc-freebsd"
++
diff --git a/devel/binutils/files/patch-ld__emulparams__elf64ppc_fbsd.sh b/devel/binutils/files/patch-ld__emulparams__elf64ppc_fbsd.sh
new file mode 100644
index 000000000000..db0f24901157
--- /dev/null
+++ b/devel/binutils/files/patch-ld__emulparams__elf64ppc_fbsd.sh
@@ -0,0 +1,9 @@
+--- ./ld/emulparams/elf64ppc_fbsd.sh.orig 2011-12-21 09:44:40.000000000 +0100
++++ ./ld/emulparams/elf64ppc_fbsd.sh 2011-12-21 09:44:40.000000000 +0100
+@@ -0,0 +1,6 @@
++. ${srcdir}/emulparams/elf64ppc.sh
++. ${srcdir}/emulparams/elf_fbsd.sh
++
++OUTPUT_FORMAT="elf64-powerpc-freebsd"
++DEFAULT_PLT_STATIC_CHAIN=1
++
diff --git a/devel/binutils/files/patch-ld__emultempl__ppc64elf.em b/devel/binutils/files/patch-ld__emultempl__ppc64elf.em
new file mode 100644
index 000000000000..f936d9419168
--- /dev/null
+++ b/devel/binutils/files/patch-ld__emultempl__ppc64elf.em
@@ -0,0 +1,11 @@
+--- ./ld/emultempl/ppc64elf.em.orig 2011-11-21 10:29:39.000000000 +0100
++++ ./ld/emultempl/ppc64elf.em 2011-12-21 09:44:40.000000000 +0100
+@@ -62,7 +62,7 @@
+ static int no_toc_sort = 0;
+
+ /* Set if PLT call stubs should load r11. */
+-static int plt_static_chain = 0;
++static int plt_static_chain = ${DEFAULT_PLT_STATIC_CHAIN-0};
+
+ /* Whether to emit symbols for stubs. */
+ static int emit_stub_syms = -1;