Set up powerpc64-fcx-xenon target

This commit is contained in:
Aiden Isik 2025-02-04 17:31:14 +00:00
parent 53400733ec
commit 1c6a4f7528
4 changed files with 19 additions and 2 deletions

2
config.sub vendored
View file

@ -1749,7 +1749,7 @@ case $os in
| onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
| midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
| nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \ | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \
| fiwix* ) | fiwix* | xenon* )
;; ;;
# This one is extra strict with allowed versions # This one is extra strict with allowed versions
sco3.2v2 | sco3.2v[4-9]* | sco5v6*) sco3.2v2 | sco3.2v[4-9]* | sco5v6*)

View file

@ -20,7 +20,8 @@ case $machine in
powerpcle-*-eabisim* | \ powerpcle-*-eabisim* | \
powerpcle-*-eabi* | \ powerpcle-*-eabi* | \
*-*-vxworks7* | \ *-*-vxworks7* | \
*-musl* ) *-musl* | \
*-fcx-* )
# IF there is no include fixing, # IF there is no include fixing,
# THEN create a no-op fixer and exit # THEN create a no-op fixer and exit
(echo "#! /bin/sh" ; echo "exit 0" ) > ${target} (echo "#! /bin/sh" ; echo "exit 0" ) > ${target}

View file

@ -825,6 +825,11 @@ case ${target} in
rust_target_objs="${rust_target_objs} dragonfly-rust.o" rust_target_objs="${rust_target_objs} dragonfly-rust.o"
target_has_targetrustm=yes target_has_targetrustm=yes
;; ;;
*-fcx-*)
# Configuration for FreeChainXenon
gas=yes
gnu_ld=yes
;;
*-*-freebsd*) *-*-freebsd*)
# This is the generic ELF configuration of FreeBSD. Later # This is the generic ELF configuration of FreeBSD. Later
# machine-specific sections may refine and add to this # machine-specific sections may refine and add to this
@ -1758,6 +1763,12 @@ epiphany-*-elf | epiphany-*-rtems*)
tm_defines="${tm_defines} EPIPHANY_STACK_OFFSET=${with_stack_offset:-8}" tm_defines="${tm_defines} EPIPHANY_STACK_OFFSET=${with_stack_offset:-8}"
extra_headers="epiphany_intrinsics.h" extra_headers="epiphany_intrinsics.h"
;; ;;
*-fcx-*)
tm_file="${tm_file} elfos.h gnu-user.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabialtivec.h"
extra_options="${extra_options} rs6000/sysv4.opt"
tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
use_gcc_stdint=wrap
;;
fr30-*-elf) fr30-*-elf)
tm_file="elfos.h newlib-stdint.h ${tm_file}" tm_file="elfos.h newlib-stdint.h ${tm_file}"
;; ;;

View file

@ -281,6 +281,11 @@ case ${host} in
tmake_file="$tmake_file t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver" tmake_file="$tmake_file t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o" extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
;; ;;
*-fcx-*)
# Configuration for FreeChainXenon
tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
;;
*-*-freebsd*) *-*-freebsd*)
# This is the generic ELF configuration of FreeBSD. Later # This is the generic ELF configuration of FreeBSD. Later
# machine-specific sections may refine and add to this # machine-specific sections may refine and add to this