diff --git a/config.sub b/config.sub index 38f3d037a78..d099cebfb3d 100755 --- a/config.sub +++ b/config.sub @@ -1749,7 +1749,7 @@ case $os in | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \ - | fiwix* ) + | fiwix* | xenon* ) ;; # This one is extra strict with allowed versions sco3.2v2 | sco3.2v[4-9]* | sco5v6*) diff --git a/fixincludes/mkfixinc.sh b/fixincludes/mkfixinc.sh index df90720b716..4b40063c6bd 100755 --- a/fixincludes/mkfixinc.sh +++ b/fixincludes/mkfixinc.sh @@ -20,7 +20,8 @@ case $machine in powerpcle-*-eabisim* | \ powerpcle-*-eabi* | \ *-*-vxworks7* | \ - *-musl* ) + *-musl* | \ + *-fcx-* ) # IF there is no include fixing, # THEN create a no-op fixer and exit (echo "#! /bin/sh" ; echo "exit 0" ) > ${target} diff --git a/gcc/config.gcc b/gcc/config.gcc index 95c91ee02be..0defa13dc69 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -825,6 +825,11 @@ case ${target} in rust_target_objs="${rust_target_objs} dragonfly-rust.o" target_has_targetrustm=yes ;; +*-fcx-*) + # Configuration for FreeChainXenon + gas=yes + gnu_ld=yes + ;; *-*-freebsd*) # This is the generic ELF configuration of FreeBSD. Later # 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}" 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) tm_file="elfos.h newlib-stdint.h ${tm_file}" ;; diff --git a/libgcc/config.host b/libgcc/config.host index e75a7af647f..495f34fc688 100644 --- a/libgcc/config.host +++ b/libgcc/config.host @@ -281,6 +281,11 @@ case ${host} in tmake_file="$tmake_file t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver" 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*) # This is the generic ELF configuration of FreeBSD. Later # machine-specific sections may refine and add to this