From 533d76fbc420a8cdca389dbea0d86eb64e0e8096 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Wed, 13 Aug 2003 20:08:30 +0000 Subject: Patch from Paul Mundt adding uClibc sh64 support: Here's a patch that implements the beginnings of a rudimentary sh64 port. So far, this only works static, as I haven't done any of the ldso work yet. I've also not touched the libpthread stuff yet either, so that's also disabled for now. This port was based off of some work that Sean McGoogan at SuperH did for his initial port, but the this patch doesn't carry over too much from there (basically the libc/sysdeps/linux/sh64/Makefile (or rather, parts of it), the setjmp/longjmp stuff (which I had to rewrite portions of it to work with the new toolchains), etc.). However, for static, everything appears to work correcly, at least in a hello world type application. --- extra/Configs/Config.sh | 4 -- extra/Configs/Config.sh.default | 1 - extra/Configs/Config.sh64 | 61 +++++++++++++++++++++++++ extra/Configs/Config.sh64.default | 95 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 156 insertions(+), 5 deletions(-) create mode 100644 extra/Configs/Config.sh64 create mode 100644 extra/Configs/Config.sh64.default (limited to 'extra/Configs') diff --git a/extra/Configs/Config.sh b/extra/Configs/Config.sh index 45aed28f5..bf4326c52 100644 --- a/extra/Configs/Config.sh +++ b/extra/Configs/Config.sh @@ -41,7 +41,6 @@ choice - "SH2" Hitachi SH2 - "SH3" Hitachi SH3 - "SH4" Hitachi SH4 - - "SH5" Hitachi SH5 config CONFIG_SH2 bool "SH2" @@ -52,9 +51,6 @@ config CONFIG_SH3 config CONFIG_SH4 bool "SH4" -config CONFIG_SH5 - bool "SH5" - endchoice choice diff --git a/extra/Configs/Config.sh.default b/extra/Configs/Config.sh.default index ca31a99e8..fc9ec12ca 100644 --- a/extra/Configs/Config.sh.default +++ b/extra/Configs/Config.sh.default @@ -10,7 +10,6 @@ HAVE_DOT_HIDDEN=y # CONFIG_SH2 is not set # CONFIG_SH3 is not set CONFIG_SH4=y -# CONFIG_SH5 is not set ARCH_LITTLE_ENDIAN=y # ARCH_BIG_ENDIAN is not set UCLIBC_HAS_MMU=y diff --git a/extra/Configs/Config.sh64 b/extra/Configs/Config.sh64 new file mode 100644 index 000000000..ab77aba66 --- /dev/null +++ b/extra/Configs/Config.sh64 @@ -0,0 +1,61 @@ +# +# For a description of the syntax of this configuration file, +# see extra/config/Kconfig-language.txt +# + +mainmenu "uClibc C Library Configuration" + +menu "Target Architecture Features and Options" + +config HAVE_ELF + bool + default y + +config ARCH_CFLAGS + string + +config ARCH_LDFLAGS + string + +config LIBGCC_CFLAGS + string + +choice + prompt "Target Processor Type" + default CONFIG_SH5 + help + This is the processor type of your CPU. This information is used for + optimizing purposes, as well as to determine if your CPU has an MMU, + an FPU, etc. If you pick the wrong CPU type, there is no guarantee + that uClibc will work at all.... + + Here are the available choices: + - "SH5" SH-5 101, 103 + +config CONFIG_SH5 + bool "SH5" + +endchoice + +choice + prompt "Target Processor Endianness" + default ARCH_LITTLE_ENDIAN + help + This is the endianness you wish to build use. Choose either Big + Endian, or Little Endian. + +config ARCH_LITTLE_ENDIAN + bool "Little Endian" + +config ARCH_BIG_ENDIAN + bool "Big Endian" + +endchoice + +source "extra/Configs/Config.in.arch" + +endmenu + +source "extra/Configs/Config.in" + + diff --git a/extra/Configs/Config.sh64.default b/extra/Configs/Config.sh64.default new file mode 100644 index 000000000..1e90f2182 --- /dev/null +++ b/extra/Configs/Config.sh64.default @@ -0,0 +1,95 @@ +# +# Automatically generated make config: don't edit +# + +# +# Target Architecture Features and Options +# +HAVE_ELF=y +CONFIG_SH5=y +ARCH_LITTLE_ENDIAN=y +# ARCH_BIG_ENDIAN is not set +UCLIBC_HAS_MMU=y +UCLIBC_HAS_FLOATS=y +HAS_FPU=y +# DO_C99_MATH is not set +WARNINGS="-Wall" +KERNEL_SOURCE="/usr/src/linux" +C_SYMBOL_PREFIX="" +HAVE_DOT_CONFIG=y + +# +# General Library Settings +# +# DOPIC is not set +UCLIBC_CTOR_DTOR=y +UCLIBC_PROFILING=y +# UCLIBC_HAS_THREADS is not set +UCLIBC_HAS_LFS=y +# MALLOC is not set +MALLOC_930716=y +UCLIBC_DYNAMIC_ATEXIT=y +HAS_SHADOW=y +UCLIBC_HAS_REGEX=y +UNIX98PTY_ONLY=y +ASSUME_DEVPTS=y +UCLIBC_HAS_TM_EXTENSIONS=y +UCLIBC_HAS_TZ_CACHING=y +UCLIBC_HAS_TZ_FILE=y +UCLIBC_HAS_TZ_FILE_READ_MANY=y +UCLIBC_TZ_FILE_PATH="/etc/TZ" + +# +# Networking Support +# +# UCLIBC_HAS_IPV6 is not set +# UCLIBC_HAS_RPC is not set + +# +# String and Stdio Support +# +UCLIBC_HAS_CTYPE_SIGNED=y +UCLIBC_HAS_CTYPE_UNSAFE=y +# UCLIBC_HAS_CTYPE_CHECKED is not set +# UCLIBC_HAS_CTYPE_ENFORCED is not set +# UCLIBC_HAS_WCHAR is not set +# UCLIBC_HAS_HEXADECIMAL_FLOATS is not set +# UCLIBC_HAS_GLIBC_CUSTOM_PRINTF is not set +# USE_OLD_VFPRINTF is not set +UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9 +# UCLIBC_HAS_SCANF_GLIBC_A_FLAG is not set +# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set +UCLIBC_HAS_STDIO_BUFSIZ_256=y +# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_4096 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set +UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y +# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set +# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set +UCLIBC_HAS_STDIO_GETC_MACRO=y +UCLIBC_HAS_STDIO_PUTC_MACRO=y +UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y +# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set +# UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE is not set +# UCLIBC_HAS_GLIBC_CUSTOM_STREAMS is not set +# UCLIBC_HAS_PRINTF_M_SPEC is not set +UCLIBC_HAS_ERRNO_MESSAGES=y +# UCLIBC_HAS_SYS_ERRLIST is not set +UCLIBC_HAS_SIGNUM_MESSAGES=y +# UCLIBC_HAS_SYS_SIGLIST is not set + +# +# Library Installation Options +# +DEVEL_PREFIX="/usr/$(TARGET_ARCH)-linux-uclibc" +SYSTEM_DEVEL_PREFIX="$(DEVEL_PREFIX)" +DEVEL_TOOL_PREFIX="$(DEVEL_PREFIX)/usr" + +# +# uClibc development/debugging options +# +# DODEBUG is not set +# DOASSERTS is not set +# UCLIBC_MJN3_ONLY is not set -- cgit v1.2.3