diff options
author | Brandon Bergren <bdragon@FreeBSD.org> | 2020-10-06 09:19:23 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2020-10-06 17:09:27 +1030 |
commit | 6afcdeb3581e99e2d4ce06d0034c7c47292aeec1 (patch) | |
tree | 742611b296f94d1680d5d4b06e0872bad3935afd | |
parent | 0897537869c1b81955140ae4bd693e504ac05016 (diff) | |
download | gdb-6afcdeb3581e99e2d4ce06d0034c7c47292aeec1.zip gdb-6afcdeb3581e99e2d4ce06d0034c7c47292aeec1.tar.gz gdb-6afcdeb3581e99e2d4ce06d0034c7c47292aeec1.tar.bz2 |
PR26667, Add powerpc64le-*-freebsd* support
PR 26667
bfd/
* config.bfd: Add powerpc64le-*-freebsd*.
* configure.ac: Add powerpc_elf64_fbsd_le_vec.
* elf64-ppc.c (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME): Define for
freebsd.
* targets.c (powerpc_elf64_fbsd_le_vec): Declare.
(_bfd_target_vector): Add it.
* configure: Regenerate.
ld/
* Makefile.am (ALL_64_EMULATION_SOURCES): Add eelf64lppc_fbsd.c.
Include $(DEPDIR)/eelf64lppc_fbsd.Pc.
* configure.tgt: Add powerpc64le-*-freebsd*.
* emulparams/elf64lppc_fbsd.sh: New file.
* Makefile.in: Regenerate.
* po/BLD-POTFILES.in: Regenerate.
-rw-r--r-- | bfd/ChangeLog | 10 | ||||
-rw-r--r-- | bfd/config.bfd | 5 | ||||
-rwxr-xr-x | bfd/configure | 1 | ||||
-rw-r--r-- | bfd/configure.ac | 1 | ||||
-rw-r--r-- | bfd/elf64-ppc.c | 2 | ||||
-rw-r--r-- | bfd/targets.c | 2 | ||||
-rw-r--r-- | ld/ChangeLog | 9 | ||||
-rw-r--r-- | ld/Makefile.am | 2 | ||||
-rw-r--r-- | ld/Makefile.in | 3 | ||||
-rw-r--r-- | ld/configure.tgt | 4 | ||||
-rw-r--r-- | ld/emulparams/elf64lppc_fbsd.sh | 6 | ||||
-rw-r--r-- | ld/po/BLD-POTFILES.in | 1 |
12 files changed, 46 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 1517db9..5121889 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,13 @@ +2020-10-06 Brandon Bergren <bdragon@FreeBSD.org> + + * config.bfd: Add powerpc64le-*-freebsd*. + * configure.ac: Add powerpc_elf64_fbsd_le_vec. + * elf64-ppc.c (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME): Define for + freebsd. + * targets.c (powerpc_elf64_fbsd_le_vec): Declare. + (_bfd_target_vector): Add it. + * configure: Regenerate. + 2020-10-05 Kamil Rytarowski <n54@gmx.com> * config.bfd (aarch64-*-netbsd*, aarch64_be-*-netbsd*): Add target. diff --git a/bfd/config.bfd b/bfd/config.bfd index e2992a0..fdc6dbe 100644 --- a/bfd/config.bfd +++ b/bfd/config.bfd @@ -1085,6 +1085,11 @@ case "${targ}" in targ_selvecs="powerpc_elf64_vec powerpc_elf32_vec powerpc_elf32_fbsd_vec powerpc_elf32_le_vec rs6000_xcoff_vec rs6000_xcoff64_vec rs6000_xcoff64_aix_vec" want64=true ;; + powerpc64le-*-freebsd*) + targ_defvec=powerpc_elf64_fbsd_le_vec + targ_selvecs="powerpc_elf64_vec powerpc_elf32_vec powerpc_elf32_fbsd_vec powerpc_elf32_le_vec rs6000_xcoff_vec rs6000_xcoff64_vec rs6000_xcoff64_aix_vec" + want64=true + ;; powerpc64-*-elf* | powerpc-*-elf64* | powerpc64-*-linux* | \ powerpc64-*-*bsd*) targ_defvec=powerpc_elf64_vec diff --git a/bfd/configure b/bfd/configure index a9c4fd9..636f338 100755 --- a/bfd/configure +++ b/bfd/configure @@ -14914,6 +14914,7 @@ do powerpc_elf64_vec) tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf"; target_size=64 ;; powerpc_elf64_le_vec) tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;; powerpc_elf64_fbsd_vec) tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;; + powerpc_elf64_fbsd_le_vec) tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;; powerpc_xcoff_vec) tb="$tb coff-rs6000.lo $xcoff" ;; pru_elf32_vec) tb="$tb elf32-pru.lo elf32.lo $elf" ;; riscv_elf32_vec) tb="$tb elf32-riscv.lo elfxx-riscv.lo elf32.lo $elf" ;; diff --git a/bfd/configure.ac b/bfd/configure.ac index f62659a..cecb0fb 100644 --- a/bfd/configure.ac +++ b/bfd/configure.ac @@ -620,6 +620,7 @@ do powerpc_elf64_vec) tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf"; target_size=64 ;; powerpc_elf64_le_vec) tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;; powerpc_elf64_fbsd_vec) tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;; + powerpc_elf64_fbsd_le_vec) tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;; powerpc_xcoff_vec) tb="$tb coff-rs6000.lo $xcoff" ;; pru_elf32_vec) tb="$tb elf32-pru.lo elf32.lo $elf" ;; riscv_elf32_vec) tb="$tb elf32-riscv.lo elfxx-riscv.lo elf32.lo $elf" ;; diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index 35f3cbe..fa0c7f9 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -17717,7 +17717,9 @@ ppc64_elf_finish_dynamic_sections (bfd *output_bfd, /* FreeBSD support */ #undef TARGET_LITTLE_SYM +#define TARGET_LITTLE_SYM powerpc_elf64_fbsd_le_vec #undef TARGET_LITTLE_NAME +#define TARGET_LITTLE_NAME "elf64-powerpcle-freebsd" #undef TARGET_BIG_SYM #define TARGET_BIG_SYM powerpc_elf64_fbsd_vec diff --git a/bfd/targets.c b/bfd/targets.c index 35492b9..b188009 100644 --- a/bfd/targets.c +++ b/bfd/targets.c @@ -838,6 +838,7 @@ extern const bfd_target powerpc_elf32_vxworks_vec; extern const bfd_target powerpc_elf64_vec; extern const bfd_target powerpc_elf64_le_vec; extern const bfd_target powerpc_elf64_fbsd_vec; +extern const bfd_target powerpc_elf64_fbsd_le_vec; extern const bfd_target powerpc_xcoff_vec; extern const bfd_target pru_elf32_vec; extern const bfd_target riscv_elf32_vec; @@ -1224,6 +1225,7 @@ static const bfd_target * const _bfd_target_vector[] = &powerpc_elf64_vec, &powerpc_elf64_le_vec, &powerpc_elf64_fbsd_vec, + &powerpc_elf64_fbsd_le_vec, #endif #if 0 /* This has the same magic number as RS/6000. */ diff --git a/ld/ChangeLog b/ld/ChangeLog index c259b09..62937a1 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,12 @@ +2020-10-06 Brandon Bergren <bdragon@FreeBSD.org> + + * Makefile.am (ALL_64_EMULATION_SOURCES): Add eelf64lppc_fbsd.c. + Include $(DEPDIR)/eelf64lppc_fbsd.Pc. + * configure.tgt: Add powerpc64le-*-freebsd*. + * emulparams/elf64lppc_fbsd.sh: New file. + * Makefile.in: Regenerate. + * po/BLD-POTFILES.in: Regenerate. + 2020-10-05 T.K. Chia <u1049321969@caramail.com> PR gas/26694 diff --git a/ld/Makefile.am b/ld/Makefile.am index e5b1920..41db0c6 100644 --- a/ld/Makefile.am +++ b/ld/Makefile.am @@ -431,6 +431,7 @@ ALL_64_EMULATION_SOURCES = \ eelf64btsmip_fbsd.c \ eelf64hppa.c \ eelf64lppc.c \ + eelf64lppc_fbsd.c \ eelf64lriscv.c \ eelf64lriscv_lp64f.c \ eelf64lriscv_lp64.c \ @@ -911,6 +912,7 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS) @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64btsmip_fbsd.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64hppa.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64lppc.Pc@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64lppc_fbsd.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64lriscv.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64lriscv_lp64f.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64lriscv_lp64.Pc@am__quote@ diff --git a/ld/Makefile.in b/ld/Makefile.in index 48ecc75..712e3f4 100644 --- a/ld/Makefile.in +++ b/ld/Makefile.in @@ -915,6 +915,7 @@ ALL_64_EMULATION_SOURCES = \ eelf64btsmip_fbsd.c \ eelf64hppa.c \ eelf64lppc.c \ + eelf64lppc_fbsd.c \ eelf64lriscv.c \ eelf64lriscv_lp64f.c \ eelf64lriscv_lp64.c \ @@ -1355,6 +1356,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64btsmip_fbsd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64hppa.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64lppc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64lppc_fbsd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64lriscv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64lriscv_lp64.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64lriscv_lp64f.Po@am__quote@ @@ -2506,6 +2508,7 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS) @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64btsmip_fbsd.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64hppa.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64lppc.Pc@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64lppc_fbsd.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64lriscv.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64lriscv_lp64f.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64lriscv_lp64.Pc@am__quote@ diff --git a/ld/configure.tgt b/ld/configure.tgt index 32f17d2..7035930 100644 --- a/ld/configure.tgt +++ b/ld/configure.tgt @@ -636,6 +636,10 @@ powerpc64-*-freebsd*) tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'` tdir_elf32ppc_fbsd=$tdir_elf32ppc ;; +powerpc64le-*-freebsd*) + targ_emul=elf64lppc_fbsd + targ_extra_emuls="elf64lppc" + ;; powerpc-*-vxworks*) targ_emul=elf32ppcvxworks targ_extra_emuls="elf32ppc elf32ppclinux elf32ppcsim" diff --git a/ld/emulparams/elf64lppc_fbsd.sh b/ld/emulparams/elf64lppc_fbsd.sh new file mode 100644 index 0000000..5e70ab6 --- /dev/null +++ b/ld/emulparams/elf64lppc_fbsd.sh @@ -0,0 +1,6 @@ +source_sh ${srcdir}/emulparams/elf64lppc.sh +source_sh ${srcdir}/emulparams/elf_fbsd.sh + +OUTPUT_FORMAT="elf64-powerpcle-freebsd" +DEFAULT_PLT_STATIC_CHAIN=1 + diff --git a/ld/po/BLD-POTFILES.in b/ld/po/BLD-POTFILES.in index a954e77..2d6a30f 100644 --- a/ld/po/BLD-POTFILES.in +++ b/ld/po/BLD-POTFILES.in @@ -177,6 +177,7 @@ eelf64btsmip.c eelf64btsmip_fbsd.c eelf64hppa.c eelf64lppc.c +eelf64lppc_fbsd.c eelf64lriscv.c eelf64lriscv_lp64.c eelf64lriscv_lp64f.c |