alnyan/yggdrasil: target-level support for x86_64-unknown-yggdrasil
This commit is contained in:
Vendored
+1
-1
@@ -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* | yggdrasil* )
|
||||||
;;
|
;;
|
||||||
# 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*)
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ target=fixinc.sh
|
|||||||
|
|
||||||
# Check for special fix rules for particular targets
|
# Check for special fix rules for particular targets
|
||||||
case $machine in
|
case $machine in
|
||||||
|
*-yggdrasil* | \
|
||||||
|
*-*-yggdrasil* | \
|
||||||
i?86-*-cygwin* | \
|
i?86-*-cygwin* | \
|
||||||
i?86-*-mingw32* | \
|
i?86-*-mingw32* | \
|
||||||
x86_64-*-mingw32* | \
|
x86_64-*-mingw32* | \
|
||||||
|
|||||||
+10
-1
@@ -181,7 +181,7 @@
|
|||||||
# the --with-sysroot configure option or the
|
# the --with-sysroot configure option or the
|
||||||
# --sysroot command line option is used this
|
# --sysroot command line option is used this
|
||||||
# will be relative to the sysroot.
|
# will be relative to the sysroot.
|
||||||
# target_type_format_char
|
# target_type_format_char
|
||||||
# The default character to be used for formatting
|
# The default character to be used for formatting
|
||||||
# the attribute in a
|
# the attribute in a
|
||||||
# .type symbol_name, ${t_t_f_c}<property>
|
# .type symbol_name, ${t_t_f_c}<property>
|
||||||
@@ -690,6 +690,12 @@ x86_cpus="generic intel"
|
|||||||
|
|
||||||
# Common parts for widely ported systems.
|
# Common parts for widely ported systems.
|
||||||
case ${target} in
|
case ${target} in
|
||||||
|
*-*-yggdrasil*)
|
||||||
|
gas=yes
|
||||||
|
gnu_ld=yes
|
||||||
|
default_use_cxa_atexit=yes
|
||||||
|
use_gcc_stdint=provide
|
||||||
|
;;
|
||||||
*-*-darwin*)
|
*-*-darwin*)
|
||||||
tmake_file="t-darwin "
|
tmake_file="t-darwin "
|
||||||
tm_file="${tm_file} darwin.h"
|
tm_file="${tm_file} darwin.h"
|
||||||
@@ -1126,6 +1132,9 @@ case ${target} in
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
case ${target} in
|
case ${target} in
|
||||||
|
x86_64-*-yggdrasil*)
|
||||||
|
tm_file="${tm_file} i386/unix.h i386/att.h elfos.h glibc-stdint.h i386/i386elf.h i386/x86-64.h yggdrasil.h"
|
||||||
|
;;
|
||||||
aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*)
|
aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*)
|
||||||
tm_file="${tm_file} elfos.h newlib-stdint.h"
|
tm_file="${tm_file} elfos.h newlib-stdint.h"
|
||||||
tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-errata.h aarch64/aarch64-elf-raw.h"
|
tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-errata.h aarch64/aarch64-elf-raw.h"
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
#undef TARGET_YGGDRASIL
|
||||||
|
#define TARGET_YGGDRASIL 1
|
||||||
|
|
||||||
|
#undef LIB_SPEC
|
||||||
|
#define LIB_SPEC "-static -lygglibc"
|
||||||
|
|
||||||
|
/* Tell ld to force 4KB pages*/
|
||||||
|
#undef LINK_SPEC
|
||||||
|
#define LINK_SPEC "-z max-page-size=4096"
|
||||||
|
|
||||||
|
#undef STARTFILE_SPEC
|
||||||
|
#define STARTFILE_SPEC "crti.o%s crtbegin.o%s"
|
||||||
|
|
||||||
|
#undef ENDFILE_SPEC
|
||||||
|
#define ENDFILE_SPEC "crtend.o%s"
|
||||||
|
|
||||||
|
/* Additional predefined macros. */
|
||||||
|
#undef TARGET_OS_CPP_BUILTINS
|
||||||
|
#define TARGET_OS_CPP_BUILTINS() \
|
||||||
|
do { \
|
||||||
|
builtin_define ("__yggdrasil__"); \
|
||||||
|
builtin_define ("__unix__"); \
|
||||||
|
builtin_assert ("system=yggdrasil"); \
|
||||||
|
builtin_assert ("system=unix"); \
|
||||||
|
builtin_assert ("system=posix"); \
|
||||||
|
} while(0);
|
||||||
+5
-1
@@ -103,7 +103,7 @@ arm*-*-*)
|
|||||||
;;
|
;;
|
||||||
avr-*-*)
|
avr-*-*)
|
||||||
cpu_type=avr
|
cpu_type=avr
|
||||||
;;
|
;;
|
||||||
bfin*-*)
|
bfin*-*)
|
||||||
cpu_type=bfin
|
cpu_type=bfin
|
||||||
;;
|
;;
|
||||||
@@ -386,6 +386,10 @@ i[34567]86-*-cygwin* | x86_64-*-cygwin*)
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
case ${host} in
|
case ${host} in
|
||||||
|
x86_64-*-yggdrasil*)
|
||||||
|
extra_parts="$extra_parts crti.o crtbegin.o crtend.o crtn.o"
|
||||||
|
tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
|
||||||
|
;;
|
||||||
aarch64*-*-elf | aarch64*-*-rtems*)
|
aarch64*-*-elf | aarch64*-*-rtems*)
|
||||||
extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o"
|
extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o"
|
||||||
extra_parts="$extra_parts crtfastmath.o"
|
extra_parts="$extra_parts crtfastmath.o"
|
||||||
|
|||||||
Vendored
+5973
File diff suppressed because it is too large
Load Diff
@@ -90,7 +90,7 @@ case "${host}" in
|
|||||||
|
|
||||||
*-freebsd*)
|
*-freebsd*)
|
||||||
SECTION_FLAGS='-ffunction-sections -fdata-sections'
|
SECTION_FLAGS='-ffunction-sections -fdata-sections'
|
||||||
AC_SUBST(SECTION_FLAGS)
|
AC_SUBST(SECTION_FLAGS)
|
||||||
GLIBCXX_CHECK_LINKER_FEATURES
|
GLIBCXX_CHECK_LINKER_FEATURES
|
||||||
AC_DEFINE(HAVE_SETENV)
|
AC_DEFINE(HAVE_SETENV)
|
||||||
AC_DEFINE(HAVE_FINITEF)
|
AC_DEFINE(HAVE_FINITEF)
|
||||||
@@ -198,9 +198,15 @@ case "${host}" in
|
|||||||
AC_CHECK_FUNCS(_wfopen)
|
AC_CHECK_FUNCS(_wfopen)
|
||||||
GCC_CHECK_TLS
|
GCC_CHECK_TLS
|
||||||
;;
|
;;
|
||||||
|
*-yggdrasil*)
|
||||||
|
GLIBCXX_CHECK_COMPILER_FEATURES
|
||||||
|
GLIBCXX_CHECK_LINKER_FEATURES
|
||||||
|
GLIBCXX_CHECK_MATH_SUPPORT
|
||||||
|
GLIBCXX_CHECK_STDLIB_SUPPORT
|
||||||
|
;;
|
||||||
*-netbsd* | *-openbsd*)
|
*-netbsd* | *-openbsd*)
|
||||||
SECTION_FLAGS='-ffunction-sections -fdata-sections'
|
SECTION_FLAGS='-ffunction-sections -fdata-sections'
|
||||||
AC_SUBST(SECTION_FLAGS)
|
AC_SUBST(SECTION_FLAGS)
|
||||||
GLIBCXX_CHECK_LINKER_FEATURES
|
GLIBCXX_CHECK_LINKER_FEATURES
|
||||||
AC_DEFINE(HAVE_FINITEF)
|
AC_DEFINE(HAVE_FINITEF)
|
||||||
AC_DEFINE(HAVE_FINITE)
|
AC_DEFINE(HAVE_FINITE)
|
||||||
@@ -221,7 +227,7 @@ case "${host}" in
|
|||||||
;;
|
;;
|
||||||
*-qnx6.1* | *-qnx6.2*)
|
*-qnx6.1* | *-qnx6.2*)
|
||||||
SECTION_FLAGS='-ffunction-sections -fdata-sections'
|
SECTION_FLAGS='-ffunction-sections -fdata-sections'
|
||||||
AC_SUBST(SECTION_FLAGS)
|
AC_SUBST(SECTION_FLAGS)
|
||||||
GLIBCXX_CHECK_LINKER_FEATURES
|
GLIBCXX_CHECK_LINKER_FEATURES
|
||||||
AC_DEFINE(HAVE_COSF)
|
AC_DEFINE(HAVE_COSF)
|
||||||
AC_DEFINE(HAVE_COSL)
|
AC_DEFINE(HAVE_COSL)
|
||||||
|
|||||||
Reference in New Issue
Block a user