Index: ChangeLog =================================================================== RCS file: /cvs/src/src/bfd/ChangeLog,v retrieving revision 1.5518 diff -u -r1.5518 ChangeLog --- ChangeLog 17 Nov 2011 00:19:58 -0000 1.5518 +++ ChangeLog 19 Nov 2011 21:34:44 -0000 @@ -1,3 +1,12 @@ +2011-11-19 Andreas Tobler + + * config.bfd: Add vectors for powerpc and powerpc64-freebsd. + * configure.in (TDEFINES): Add rules for powerpc*-freebsd. + * configure: Regenerate. + * elf32-ppc.c: Add powerpc-freebsd definitions. + * elf64-ppc.c: Add powerpc64-freebsd definitions. + * targets.c: Add bits for powerpc and powerpc64-freebsd. + 2011-11-17 Philipp Thomas * elf32-arm.c (elf32_thumb_to_arm_stub): Sync message so that it Index: config.bfd =================================================================== RCS file: /cvs/src/src/bfd/config.bfd,v retrieving revision 1.286 diff -u -r1.286 config.bfd --- config.bfd 2 Nov 2011 03:08:58 -0000 1.286 +++ config.bfd 19 Nov 2011 21:34:44 -0000 @@ -1132,6 +1132,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 @@ -1144,6 +1149,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*) Index: configure =================================================================== RCS file: /cvs/src/src/bfd/configure,v retrieving revision 1.356 diff -u -r1.356 configure --- configure 2 Nov 2011 03:08:58 -0000 1.356 +++ configure 19 Nov 2011 21:34:47 -0000 @@ -15263,6 +15263,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_rl78_vec) tb="$tb elf32-rl78.lo $elf" ;; bfd_elf32_rx_le_vec) tb="$tb elf32-rx.lo elf32.lo $elf" ;; @@ -15329,6 +15330,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 ;; Index: configure.in =================================================================== RCS file: /cvs/src/src/bfd/configure.in,v retrieving revision 1.304 diff -u -r1.304 configure.in --- configure.in 2 Nov 2011 03:08:59 -0000 1.304 +++ configure.in 19 Nov 2011 21:34:48 -0000 @@ -762,6 +762,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_rl78_vec) tb="$tb elf32-rl78.lo $elf" ;; bfd_elf32_rx_le_vec) tb="$tb elf32-rx.lo elf32.lo $elf" ;; @@ -828,6 +829,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 ;; Index: elf32-ppc.c =================================================================== RCS file: /cvs/src/src/bfd/elf32-ppc.c,v retrieving revision 1.304 diff -u -r1.304 elf32-ppc.c --- elf32-ppc.c 15 Nov 2011 11:33:57 -0000 1.304 +++ elf32-ppc.c 19 Nov 2011 21:34:49 -0000 @@ -9129,6 +9129,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 Index: elf64-ppc.c =================================================================== RCS file: /cvs/src/src/bfd/elf64-ppc.c,v retrieving revision 1.370 diff -u -r1.370 elf64-ppc.c --- elf64-ppc.c 8 Nov 2011 13:06:01 -0000 1.370 +++ elf64-ppc.c 19 Nov 2011 21:34:50 -0000 @@ -13899,3 +13899,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" + Index: targets.c =================================================================== RCS file: /cvs/src/src/bfd/targets.c,v retrieving revision 1.210 diff -u -r1.210 targets.c --- targets.c 2 Nov 2011 03:09:00 -0000 1.210 +++ targets.c 19 Nov 2011 21:34:51 -0000 @@ -668,6 +668,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_rl78_vec; extern const bfd_target bfd_elf32_rx_le_vec; @@ -731,6 +732,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; @@ -1036,6 +1038,7 @@ &bfd_elf32_powerpc_vec, &bfd_elf32_powerpc_vxworks_vec, &bfd_elf32_powerpcle_vec, + &bfd_elf32_powerpc_freebsd_vec, &bfd_elf32_rl78_vec, &bfd_elf32_rx_be_vec, &bfd_elf32_rx_be_ns_vec, @@ -1099,6 +1102,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,