diff options
author | Eric Andersen <andersen@codepoet.org> | 2004-02-18 08:04:51 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2004-02-18 08:04:51 +0000 |
commit | baa67289df42b1b994092b8312148a6f9e172274 (patch) | |
tree | 9a6a60a10a0db9879671cd923e7307c993cfbd40 /extra/Configs | |
parent | 377c7157a8802c289c5560f1a2ecd1030d571e7d (diff) |
Alexandre Oliva writes:
This patch adds code to uClibc to support a new ABI designed for the
FR-V architecture, that enables text segments of executables and
shared libraries to be shared by multiple processes on an OS such as
uClinux, that can run on FR-V processors without an MMU.
Patches for binutils and GCC have just been posted in the
corresponding mailing lists. The binutils patch was approved,
but there's one additional patch pending review, that I posted
this week. An updated GCC patch will be posted to
gcc-patches@gcc.gnu.org as soon as I complete testing (I used a
known-good compiler to test the uClibc patch below).
Since the existing dynamic loader code didn't support independent
relocation of segments, it required changes that were somewhat
extensive. I've added a number of new machine-specific macros to try
to keep the platform and ABI-specific details outside the generic
code. I hope this is not a problem.
Diffstat (limited to 'extra/Configs')
-rw-r--r-- | extra/Configs/Config.frv | 32 | ||||
-rw-r--r-- | extra/Configs/Config.frv.default | 140 | ||||
-rw-r--r-- | extra/Configs/Config.in | 7 |
3 files changed, 179 insertions, 0 deletions
diff --git a/extra/Configs/Config.frv b/extra/Configs/Config.frv new file mode 100644 index 000000000..1210ad92f --- /dev/null +++ b/extra/Configs/Config.frv @@ -0,0 +1,32 @@ +# +# For a description of the syntax of this configuration file, +# see extra/config/Kconfig-language.txt +# + +config HAVE_ELF + bool + select HAS_FPU + select ARCH_BIG_ENDIAN + select ARCH_HAS_NO_MMU + default y + +config TARGET_ARCH + string + default "frv" + +config ARCH_CFLAGS + string + +config ARCH_LDFLAGS + string + +config LIBGCC_CFLAGS + string + +config HAVE_DOT_HIDDEN + bool + default y + +config UCLIBC_COMPLETELY_PIC + bool + default y diff --git a/extra/Configs/Config.frv.default b/extra/Configs/Config.frv.default new file mode 100644 index 000000000..4fd945d6d --- /dev/null +++ b/extra/Configs/Config.frv.default @@ -0,0 +1,140 @@ +# +# Automatically generated make config: don't edit +# +# TARGET_alpha is not set +# TARGET_arm is not set +# TARGET_cris is not set +# TARGET_e1 is not set +TARGET_frv=y +# TARGET_h8300 is not set +# TARGET_i386 is not set +# TARGET_i960 is not set +# TARGET_m68k is not set +# TARGET_microblaze is not set +# TARGET_mips is not set +# TARGET_powerpc is not set +# TARGET_sh is not set +# TARGET_sparc is not set +# TARGET_v850 is not set + +# +# Target Architecture Features and Options +# +HAVE_ELF=y +TARGET_ARCH="frv" +HAVE_DOT_HIDDEN=y +UCLIBC_COMPLETELY_PIC=y +# ARCH_LITTLE_ENDIAN is not set +# ARCH_BIG_ENDIAN is not set +ARCH_HAS_NO_MMU=y +UCLIBC_HAS_FLOATS=y +HAS_FPU=y +DO_C99_MATH=y +WARNINGS="-Wall" +KERNEL_SOURCE="$(FRV_KERNEL_DIR)" +UCLIBC_UCLINUX_BROKEN_MUNMAP=y +EXCLUDE_BRK=y +C_SYMBOL_PREFIX="" +HAVE_DOT_CONFIG=y + +# +# General Library Settings +# +# HAVE_NO_PIC is not set +DOPIC=y +# HAVE_NO_SHARED is not set +HAVE_SHARED=y +# ARCH_HAS_NO_LDSO is not set +BUILD_UCLIBC_LDSO=y +FORCE_SHAREABLE_TEXT_SEGMENTS=y +UCLIBC_PIE_SUPPORT=y +LDSO_LDD_SUPPORT=y +UCLIBC_CTOR_DTOR=y +# UCLIBC_PROPOLICE is not set +# UCLIBC_PROFILING is not set +# HAS_NO_THREADS is not set +UCLIBC_HAS_THREADS=y +PTHREADS_DEBUG_SUPPORT=y +UCLIBC_HAS_LFS=y +MALLOC=y +# MALLOC_SIMPLE is not set +# MALLOC_STANDARD is not set +# MALLOC_GLIBC_COMPAT is not set +# UCLIBC_DYNAMIC_ATEXIT is not set +HAS_SHADOW=y +UNIX98PTY_ONLY=y +ASSUME_DEVPTS=y +# UCLIBC_HAS_TM_EXTENSIONS is not set +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=y +UCLIBC_HAS_RPC=y +UCLIBC_HAS_FULL_RPC=y + +# +# String and Stdio Support +# +UCLIBC_HAS_CTYPE_TABLES=y +UCLIBC_HAS_CTYPE_SIGNED=y +# UCLIBC_HAS_CTYPE_UNSAFE is not set +UCLIBC_HAS_CTYPE_CHECKED=y +# UCLIBC_HAS_CTYPE_ENFORCED is not set +UCLIBC_HAS_WCHAR=y +# UCLIBC_HAS_LOCALE is not set +# UCLIBC_HAS_HEXADECIMAL_FLOATS is not set +UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y +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 is not set +# 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=y +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=y +UCLIBC_HAS_SIGNUM_MESSAGES=y +UCLIBC_HAS_SYS_SIGLIST=y +UCLIBC_HAS_GNU_GETOPT=y + +# +# Big and Tall +# +UCLIBC_HAS_REGEX=y +# UCLIBC_HAS_WORDEXP is not set +# UCLIBC_HAS_FTW is not set +UCLIBC_HAS_GLOB=y + +# +# Library Installation Options +# +SHARED_LIB_LOADER_PREFIX="/lib" +RUNTIME_PREFIX="/" +DEVEL_PREFIX="/usr/" + +# +# uClibc development/debugging options +# +# DODEBUG is not set +DOASSERTS=y +SUPPORT_LD_DEBUG=y +# SUPPORT_LD_DEBUG_EARLY is not set +UCLIBC_MALLOC_DEBUGGING=y +# UCLIBC_MJN3_ONLY is not set diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index 8ad0073c3..4f15ea021 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -23,6 +23,9 @@ config TARGET_cris config TARGET_e1 bool "e1" +config TARGET_frv + bool "frv" + config TARGET_h8300 bool "h8300" @@ -74,6 +77,10 @@ if TARGET_e1 source "extra/Configs/Config.e1" endif +if TARGET_frv +source "extra/Configs/Config.frv" +endif + if TARGET_h8300 source "extra/Configs/Config.h8300" endif |