From 537494b031b3df4d4861fd83c90302d8d2d9d821 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Thu, 19 Jan 2006 10:02:23 +0000 Subject: move a bunch of arch-specific checks out of common files and into an arch specific header file to make porting/updates a lot easier --- include/features.h | 1 + include/libc-internal.h | 11 ++++++ ldso/include/dl-syscall.h | 2 +- ldso/ldso/mips/dl-syscalls.h | 2 -- ldso/ldso/powerpc/dl-syscalls.h | 2 -- ldso/ldso/sh/dl-syscalls.h | 2 -- ldso/ldso/sparc/dl-syscalls.h | 2 -- ldso/ldso/x86_64/dl-syscalls.h | 2 -- libc/stdlib/abort.c | 36 +++----------------- .../linux/alpha/bits/uClibc_arch_features.h | 33 ++++++++++++++++++ libc/sysdeps/linux/arm/bits/uClibc_arch_features.h | 33 ++++++++++++++++++ .../sysdeps/linux/bfin/bits/uClibc_arch_features.h | 34 +++++++++++++++++++ .../linux/common/bits/uClibc_arch_features.h | 36 ++++++++++++++++++++ libc/sysdeps/linux/common/create_module.c | 7 ++-- libc/sysdeps/linux/common/ftruncate64.c | 4 +-- libc/sysdeps/linux/common/truncate64.c | 4 +-- .../sysdeps/linux/cris/bits/uClibc_arch_features.h | 34 +++++++++++++++++++ libc/sysdeps/linux/e1/bits/uClibc_arch_features.h | 34 +++++++++++++++++++ libc/sysdeps/linux/frv/bits/uClibc_arch_features.h | 34 +++++++++++++++++++ .../linux/h8300/bits/uClibc_arch_features.h | 34 +++++++++++++++++++ .../sysdeps/linux/hppa/bits/uClibc_arch_features.h | 33 ++++++++++++++++++ .../sysdeps/linux/i386/bits/uClibc_arch_features.h | 33 ++++++++++++++++++ .../sysdeps/linux/i960/bits/uClibc_arch_features.h | 34 +++++++++++++++++++ .../sysdeps/linux/m68k/bits/uClibc_arch_features.h | 37 ++++++++++++++++++++ .../linux/microblaze/bits/uClibc_arch_features.h | 34 +++++++++++++++++++ .../sysdeps/linux/mips/bits/uClibc_arch_features.h | 33 ++++++++++++++++++ .../sysdeps/linux/nios/bits/uClibc_arch_features.h | 34 +++++++++++++++++++ .../linux/nios2/bits/uClibc_arch_features.h | 34 +++++++++++++++++++ .../linux/powerpc/bits/uClibc_arch_features.h | 33 ++++++++++++++++++ libc/sysdeps/linux/sh/bits/uClibc_arch_features.h | 39 ++++++++++++++++++++++ .../sysdeps/linux/sh64/bits/uClibc_arch_features.h | 34 +++++++++++++++++++ .../linux/sparc/bits/uClibc_arch_features.h | 33 ++++++++++++++++++ .../sysdeps/linux/v850/bits/uClibc_arch_features.h | 34 +++++++++++++++++++ .../linux/x86_64/bits/uClibc_arch_features.h | 33 ++++++++++++++++++ 34 files changed, 773 insertions(+), 52 deletions(-) create mode 100644 libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h create mode 100644 libc/sysdeps/linux/arm/bits/uClibc_arch_features.h create mode 100644 libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h create mode 100644 libc/sysdeps/linux/common/bits/uClibc_arch_features.h create mode 100644 libc/sysdeps/linux/cris/bits/uClibc_arch_features.h create mode 100644 libc/sysdeps/linux/e1/bits/uClibc_arch_features.h create mode 100644 libc/sysdeps/linux/frv/bits/uClibc_arch_features.h create mode 100644 libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h create mode 100644 libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h create mode 100644 libc/sysdeps/linux/i386/bits/uClibc_arch_features.h create mode 100644 libc/sysdeps/linux/i960/bits/uClibc_arch_features.h create mode 100644 libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h create mode 100644 libc/sysdeps/linux/microblaze/bits/uClibc_arch_features.h create mode 100644 libc/sysdeps/linux/mips/bits/uClibc_arch_features.h create mode 100644 libc/sysdeps/linux/nios/bits/uClibc_arch_features.h create mode 100644 libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h create mode 100644 libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h create mode 100644 libc/sysdeps/linux/sh/bits/uClibc_arch_features.h create mode 100644 libc/sysdeps/linux/sh64/bits/uClibc_arch_features.h create mode 100644 libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h create mode 100644 libc/sysdeps/linux/v850/bits/uClibc_arch_features.h create mode 100644 libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h diff --git a/include/features.h b/include/features.h index 0f4921b9f..ec807d523 100644 --- a/include/features.h +++ b/include/features.h @@ -293,6 +293,7 @@ #define __need_uClibc_config_h #include #undef __need_uClibc_config_h +#include #ifdef __UCLIBC_HAS_WCHAR__ /* wchar_t uses ISO 10646-1 (2nd ed., published 2000-09-15) / Unicode 3.0. */ diff --git a/include/libc-internal.h b/include/libc-internal.h index 53fc0ae62..265a90023 100644 --- a/include/libc-internal.h +++ b/include/libc-internal.h @@ -21,6 +21,17 @@ #include +#ifdef __UCLIBC_NO_UNDERSCORES__ +# define NO_UNDERSCORES +#else +# undef NO_UNDERSCORES +#endif +#ifdef __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ +# define HAVE_ASM_SET_DIRECTIVE +#else +# undef HAVE_ASM_SET_DIRECTIVE +#endif + #undef __SYMBOL_PREFIX #ifndef __SYMBOL_PREFIX # ifdef NO_UNDERSCORES diff --git a/ldso/include/dl-syscall.h b/ldso/include/dl-syscall.h index bf25c85be..261e5e6f0 100644 --- a/ldso/include/dl-syscall.h +++ b/ldso/include/dl-syscall.h @@ -119,7 +119,7 @@ static inline _syscall2(int, _dl_gettimeofday, struct timeval *, tv, struct time #endif #ifdef __NR_mmap -#ifdef MMAP_HAS_6_ARGS +#ifdef __UCLIBC_MMAP_HAS_6_ARGS__ #define __NR__dl_mmap __NR_mmap static inline _syscall6(void *, _dl_mmap, void *, start, size_t, length, int, prot, int, flags, int, fd, off_t, offset); diff --git a/ldso/ldso/mips/dl-syscalls.h b/ldso/ldso/mips/dl-syscalls.h index afb1cd630..996bb87c6 100644 --- a/ldso/ldso/mips/dl-syscalls.h +++ b/ldso/ldso/mips/dl-syscalls.h @@ -4,5 +4,3 @@ extern int _dl_errno; #undef __set_errno #define __set_errno(X) {(_dl_errno) = (X);} - -#define MMAP_HAS_6_ARGS diff --git a/ldso/ldso/powerpc/dl-syscalls.h b/ldso/ldso/powerpc/dl-syscalls.h index afb1cd630..996bb87c6 100644 --- a/ldso/ldso/powerpc/dl-syscalls.h +++ b/ldso/ldso/powerpc/dl-syscalls.h @@ -4,5 +4,3 @@ extern int _dl_errno; #undef __set_errno #define __set_errno(X) {(_dl_errno) = (X);} - -#define MMAP_HAS_6_ARGS diff --git a/ldso/ldso/sh/dl-syscalls.h b/ldso/ldso/sh/dl-syscalls.h index afb1cd630..996bb87c6 100644 --- a/ldso/ldso/sh/dl-syscalls.h +++ b/ldso/ldso/sh/dl-syscalls.h @@ -4,5 +4,3 @@ extern int _dl_errno; #undef __set_errno #define __set_errno(X) {(_dl_errno) = (X);} - -#define MMAP_HAS_6_ARGS diff --git a/ldso/ldso/sparc/dl-syscalls.h b/ldso/ldso/sparc/dl-syscalls.h index f29661c4e..79682c701 100644 --- a/ldso/ldso/sparc/dl-syscalls.h +++ b/ldso/ldso/sparc/dl-syscalls.h @@ -6,8 +6,6 @@ * sysdeps/linux/sparc/bits/syscalls.h at some point ... */ -#define MMAP_HAS_6_ARGS - #define _SYSCALL_H #include diff --git a/ldso/ldso/x86_64/dl-syscalls.h b/ldso/ldso/x86_64/dl-syscalls.h index afb1cd630..996bb87c6 100644 --- a/ldso/ldso/x86_64/dl-syscalls.h +++ b/ldso/ldso/x86_64/dl-syscalls.h @@ -4,5 +4,3 @@ extern int _dl_errno; #undef __set_errno #define __set_errno(X) {(_dl_errno) = (X);} - -#define MMAP_HAS_6_ARGS diff --git a/libc/stdlib/abort.c b/libc/stdlib/abort.c index 70b65a1b4..c9ad78237 100644 --- a/libc/stdlib/abort.c +++ b/libc/stdlib/abort.c @@ -37,39 +37,11 @@ libc_hidden_proto(raise) libc_hidden_proto(_exit) /* Our last ditch effort to commit suicide */ -#if defined(__alpha__) -#define ABORT_INSTRUCTION asm ("call_pal 0") -#elif defined(__arm__) -#define ABORT_INSTRUCTION asm ("bl abort") -#elif defined(__hppa__) -#define ABORT_INSTRUCTION asm ("iitlbp %r0,(%sr0,%r0)") -#elif defined(__i386__) -#define ABORT_INSTRUCTION asm ("hlt") -#elif defined(__ia64__) -#define ABORT_INSTRUCTION asm ("break 0") -#elif defined(__m68k__) -#define ABORT_INSTRUCTION asm ("illegal") -#elif defined(__mc68000__) -#define ABORT_INSTRUCTION asm (".long 0xffffffff") -#elif defined(__mips__) -#define ABORT_INSTRUCTION asm ("break 255") -#elif defined(__powerpc__) -#define ABORT_INSTRUCTION asm (".long 0") -#elif defined(__s390__) -#define ABORT_INSTRUCTION asm (".word 0") -#elif defined(__sparc__) -#define ABORT_INSTRUCTION asm ("unimp 0xf00") -#elif defined(__SH5__) -#define ABORT_INSTRUCTION asm ("movi 0x10, r9; shori 0xff, r9; trapa r9") -#elif defined(__sh2__) -#define ABORT_INSTRUCTION asm ("trapa #32") -#elif defined(__sh__) -#define ABORT_INSTRUCTION asm ("trapa #0xff") -#elif defined(__x86_64__) -#define ABORT_INSTRUCTION asm ("hlt") +#ifdef __UCLIBC_ABORT_INSTRUCTION__ +# define ABORT_INSTRUCTION asm(__UCLIBC_ABORT_INSTRUCTION__) #else -#define ABORT_INSTRUCTION -#warning no abort instruction defined for your arch +# define ABORT_INSTRUCTION +# warning "no abort instruction defined for your arch" #endif #ifdef __UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT__ diff --git a/libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h b/libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h new file mode 100644 index 000000000..eafb7f78c --- /dev/null +++ b/libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h @@ -0,0 +1,33 @@ +/* + * Track misc arch-specific features that aren't config options + */ + +#ifndef _BITS_UCLIBC_ARCH_FEATURES_H +#define _BITS_UCLIBC_ARCH_FEATURES_H + +/* instruction used when calling abort() to kill yourself */ +#define __UCLIBC_ABORT_INSTRUCTION__ "call_pal 0" + +/* can your target use syscall6() for mmap ? */ +#undef __UCLIBC_MMAP_HAS_6_ARGS__ + +/* does your target use syscall4() for truncate64 ? (32bit arches only) */ +#undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__ + +/* does your target have a broken create_module() ? */ +#define __UCLIBC_SLIGHTLY_BROKEN_CREATE_MODULE__ + +/* does your target prefix all symbols with an _ ? */ +#define __UCLIBC_NO_UNDERSCORES__ + +/* does your target have an asm .set ? */ +#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ + +/* shouldn't need to change these ... */ +#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__ +#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__ +#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__ + +#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */ diff --git a/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h b/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h new file mode 100644 index 000000000..333a84966 --- /dev/null +++ b/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h @@ -0,0 +1,33 @@ +/* + * Track misc arch-specific features that aren't config options + */ + +#ifndef _BITS_UCLIBC_ARCH_FEATURES_H +#define _BITS_UCLIBC_ARCH_FEATURES_H + +/* instruction used when calling abort() to kill yourself */ +#define __UCLIBC_ABORT_INSTRUCTION__ "bl abort" + +/* can your target use syscall6() for mmap ? */ +#undef __UCLIBC_MMAP_HAS_6_ARGS__ + +/* does your target use syscall4() for truncate64 ? (32bit arches only) */ +#undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__ + +/* does your target have a broken create_module() ? */ +#define __UCLIBC_BROKEN_CREATE_MODULE__ + +/* does your target prefix all symbols with an _ ? */ +#define __UCLIBC_NO_UNDERSCORES__ + +/* does your target have an asm .set ? */ +#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ + +/* shouldn't need to change these ... */ +#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__ +#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__ +#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__ + +#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */ diff --git a/libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h b/libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h new file mode 100644 index 000000000..003857082 --- /dev/null +++ b/libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h @@ -0,0 +1,34 @@ +/* + * Track misc arch-specific features that aren't config options + */ + +#ifndef _BITS_UCLIBC_ARCH_FEATURES_H +#define _BITS_UCLIBC_ARCH_FEATURES_H + +/* instruction used when calling abort() to kill yourself */ +/*#define __UCLIBC_ABORT_INSTRUCTION__ "asm instruction"*/ +#undef __UCLIBC_ABORT_INSTRUCTION__ + +/* can your target use syscall6() for mmap ? */ +#undef __UCLIBC_MMAP_HAS_6_ARGS__ + +/* does your target use syscall4() for truncate64 ? (32bit arches only) */ +#undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__ + +/* does your target have a broken create_module() ? */ +#undef __UCLIBC_BROKEN_CREATE_MODULE__ + +/* does your target prefix all symbols with an _ ? */ +#define __UCLIBC_NO_UNDERSCORES__ + +/* does your target have an asm .set ? */ +#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ + +/* shouldn't need to change these ... */ +#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__ +#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__ +#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__ + +#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */ diff --git a/libc/sysdeps/linux/common/bits/uClibc_arch_features.h b/libc/sysdeps/linux/common/bits/uClibc_arch_features.h new file mode 100644 index 000000000..5e513bff0 --- /dev/null +++ b/libc/sysdeps/linux/common/bits/uClibc_arch_features.h @@ -0,0 +1,36 @@ +/* + * Track misc arch-specific features that aren't config options + */ + +#ifndef _BITS_UCLIBC_ARCH_FEATURES_H +#define _BITS_UCLIBC_ARCH_FEATURES_H + +#error "You should copy this to your arch/bits/ dir and customize" + +/* instruction used when calling abort() to kill yourself */ +/*#define __UCLIBC_ABORT_INSTRUCTION__ "asm instruction"*/ +#undef __UCLIBC_ABORT_INSTRUCTION__ + +/* can your target use syscall6() for mmap ? */ +#undef __UCLIBC_MMAP_HAS_6_ARGS__ + +/* does your target use syscall4() for truncate64 ? (32bit arches only) */ +#undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__ + +/* does your target have a broken create_module() ? */ +#undef __UCLIBC_BROKEN_CREATE_MODULE__ + +/* does your target prefix all symbols with an _ ? */ +#define __UCLIBC_NO_UNDERSCORES__ + +/* does your target have an asm .set ? */ +#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ + +/* shouldn't need to change these ... */ +#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__ +#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__ +#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__ + +#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */ diff --git a/libc/sysdeps/linux/common/create_module.c b/libc/sysdeps/linux/common/create_module.c index 7bd38a39c..461ba5bc5 100644 --- a/libc/sysdeps/linux/common/create_module.c +++ b/libc/sysdeps/linux/common/create_module.c @@ -13,11 +13,8 @@ #ifdef __NR_create_module -#if defined(__i386__) || defined(__m68k__) || defined(__arm__) || defined(__thumb__) || defined(__cris__) || defined(__i960__) +#if defined(__UCLIBC_BROKEN_CREATE_MODULE__) # define __NR___create_module __NR_create_module -# ifdef __STR_NR_create_module -# define __STR_NR___create_module __STR_NR_create_module -# endif static inline _syscall2(long, __create_module, const char *, name, size_t, size); /* By checking the value of errno, we know if we have been fooled * by the syscall2 macro making a very high address look like a @@ -33,7 +30,7 @@ unsigned long create_module(const char *name, size_t size) } return ret; } -#elif defined(__alpha__) +#elif defined(__UCLIBC_SLIGHTLY_BROKEN_CREATE_MODULE__) # define __NR___create_module __NR_create_module /* Alpha doesn't have the same problem, exactly, but a bug in older kernels fails to clear the error flag. Clear it here explicitly. */ diff --git a/libc/sysdeps/linux/common/ftruncate64.c b/libc/sysdeps/linux/common/ftruncate64.c index ff732d432..cea9bc1bc 100644 --- a/libc/sysdeps/linux/common/ftruncate64.c +++ b/libc/sysdeps/linux/common/ftruncate64.c @@ -35,7 +35,7 @@ _syscall2(int, ftruncate64, int, fd, __off64_t, length); # ifndef INLINE_SYSCALL # define INLINE_SYSCALL(name, nr, args...) __syscall_ftruncate64 (args) # define __NR___syscall_ftruncate64 __NR_ftruncate64 -# if defined(__powerpc__) || defined(__mips__) +# if defined(__UCLIBC_TRUNCATE64_HAS_4_ARGS__) static inline _syscall4(int, __syscall_ftruncate64, int, fd, uint32_t, pad, unsigned long, high_length, unsigned long, low_length); # else @@ -49,7 +49,7 @@ int ftruncate64 (int fd, __off64_t length) { uint32_t low = length & 0xffffffff; uint32_t high = length >> 32; -# if defined(__powerpc__) || defined(__mips__) +# if defined(__UCLIBC_TRUNCATE64_HAS_4_ARGS__) return INLINE_SYSCALL(ftruncate64, 4, fd, 0, __LONG_LONG_PAIR (high, low)); # else diff --git a/libc/sysdeps/linux/common/truncate64.c b/libc/sysdeps/linux/common/truncate64.c index 59324fd3e..e227900c5 100644 --- a/libc/sysdeps/linux/common/truncate64.c +++ b/libc/sysdeps/linux/common/truncate64.c @@ -32,7 +32,7 @@ _syscall2(int, truncate64, const char *, path, __off64_t, length); #ifndef INLINE_SYSCALL #define INLINE_SYSCALL(name, nr, args...) __syscall_truncate64 (args) #define __NR___syscall_truncate64 __NR_truncate64 -#if defined(__powerpc__) || defined(__mips__) +#if defined(__UCLIBC_TRUNCATE64_HAS_4_ARGS__) static inline _syscall4(int, __syscall_truncate64, const char *, path, uint32_t, pad, unsigned long, high_length, unsigned long, low_length); #else @@ -47,7 +47,7 @@ int truncate64 (const char * path, __off64_t length) { uint32_t low = length & 0xffffffff; uint32_t high = length >> 32; -#if defined(__powerpc__) || defined(__mips__) +#if defined(__UCLIBC_TRUNCATE64_HAS_4_ARGS__) return INLINE_SYSCALL(truncate64, 4, path, 0, __LONG_LONG_PAIR (high, low)); #else diff --git a/libc/sysdeps/linux/cris/bits/uClibc_arch_features.h b/libc/sysdeps/linux/cris/bits/uClibc_arch_features.h new file mode 100644 index 000000000..2da833ee4 --- /dev/null +++ b/libc/sysdeps/linux/cris/bits/uClibc_arch_features.h @@ -0,0 +1,34 @@ +/* + * Track misc arch-specific features that aren't config options + */ + +#ifndef _BITS_UCLIBC_ARCH_FEATURES_H +#define _BITS_UCLIBC_ARCH_FEATURES_H + +/* instruction used when calling abort() to kill yourself */ +/*#define __UCLIBC_ABORT_INSTRUCTION__ "asm instruction"*/ +#undef __UCLIBC_ABORT_INSTRUCTION__ + +/* can your target use syscall6() for mmap ? */ +#undef __UCLIBC_MMAP_HAS_6_ARGS__ + +/* does your target use syscall4() for truncate64 ? (32bit arches only) */ +#undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__ + +/* does your target have a broken create_module() ? */ +#define __UCLIBC_BROKEN_CREATE_MODULE__ + +/* does your target prefix all symbols with an _ ? */ +#define __UCLIBC_NO_UNDERSCORES__ + +/* does your target have an asm .set ? */ +#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ + +/* shouldn't need to change these ... */ +#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__ +#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__ +#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__ + +#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */ diff --git a/libc/sysdeps/linux/e1/bits/uClibc_arch_features.h b/libc/sysdeps/linux/e1/bits/uClibc_arch_features.h new file mode 100644 index 000000000..003857082 --- /dev/null +++ b/libc/sysdeps/linux/e1/bits/uClibc_arch_features.h @@ -0,0 +1,34 @@ +/* + * Track misc arch-specific features that aren't config options + */ + +#ifndef _BITS_UCLIBC_ARCH_FEATURES_H +#define _BITS_UCLIBC_ARCH_FEATURES_H + +/* instruction used when calling abort() to kill yourself */ +/*#define __UCLIBC_ABORT_INSTRUCTION__ "asm instruction"*/ +#undef __UCLIBC_ABORT_INSTRUCTION__ + +/* can your target use syscall6() for mmap ? */ +#undef __UCLIBC_MMAP_HAS_6_ARGS__ + +/* does your target use syscall4() for truncate64 ? (32bit arches only) */ +#undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__ + +/* does your target have a broken create_module() ? */ +#undef __UCLIBC_BROKEN_CREATE_MODULE__ + +/* does your target prefix all symbols with an _ ? */ +#define __UCLIBC_NO_UNDERSCORES__ + +/* does your target have an asm .set ? */ +#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ + +/* shouldn't need to change these ... */ +#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__ +#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__ +#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__ + +#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */ diff --git a/libc/sysdeps/linux/frv/bits/uClibc_arch_features.h b/libc/sysdeps/linux/frv/bits/uClibc_arch_features.h new file mode 100644 index 000000000..003857082 --- /dev/null +++ b/libc/sysdeps/linux/frv/bits/uClibc_arch_features.h @@ -0,0 +1,34 @@ +/* + * Track misc arch-specific features that aren't config options + */ + +#ifndef _BITS_UCLIBC_ARCH_FEATURES_H +#define _BITS_UCLIBC_ARCH_FEATURES_H + +/* instruction used when calling abort() to kill yourself */ +/*#define __UCLIBC_ABORT_INSTRUCTION__ "asm instruction"*/ +#undef __UCLIBC_ABORT_INSTRUCTION__ + +/* can your target use syscall6() for mmap ? */ +#undef __UCLIBC_MMAP_HAS_6_ARGS__ + +/* does your target use syscall4() for truncate64 ? (32bit arches only) */ +#undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__ + +/* does your target have a broken create_module() ? */ +#undef __UCLIBC_BROKEN_CREATE_MODULE__ + +/* does your target prefix all symbols with an _ ? */ +#define __UCLIBC_NO_UNDERSCORES__ + +/* does your target have an asm .set ? */ +#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ + +/* shouldn't need to change these ... */ +#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__ +#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__ +#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__ + +#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */ diff --git a/libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h b/libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h new file mode 100644 index 000000000..fb91b767e --- /dev/null +++ b/libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h @@ -0,0 +1,34 @@ +/* + * Track misc arch-specific features that aren't config options + */ + +#ifndef _BITS_UCLIBC_ARCH_FEATURES_H +#define _BITS_UCLIBC_ARCH_FEATURES_H + +/* instruction used when calling abort() to kill yourself */ +/*#define __UCLIBC_ABORT_INSTRUCTION__ "asm instruction"*/ +#undef __UCLIBC_ABORT_INSTRUCTION__ + +/* can your target use syscall6() for mmap ? */ +#define __UCLIBC_MMAP_HAS_6_ARGS__ + +/* does your target use syscall4() for truncate64 ? (32bit arches only) */ +#undef __UCLIBC_MMAP_HAS_6_ARGS__ + +/* does your target have a broken create_module() ? */ +#undef __UCLIBC_BROKEN_CREATE_MODULE__ + +/* does your target prefix all symbols with an _ ? */ +#define __UCLIBC_NO_UNDERSCORES__ + +/* does your target have an asm .set ? */ +#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ + +/* shouldn't need to change these ... */ +#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__ +#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__ +#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__ + +#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */ diff --git a/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h b/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h new file mode 100644 index 000000000..b10bc85b1 --- /dev/null +++ b/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h @@ -0,0 +1,33 @@ +/* + * Track misc arch-specific features that aren't config options + */ + +#ifndef _BITS_UCLIBC_ARCH_FEATURES_H +#define _BITS_UCLIBC_ARCH_FEATURES_H + +/* instruction used when calling abort() to kill yourself */ +#define __UCLIBC_ABORT_INSTRUCTION__ "iitlbp %r0,(%sr0,%r0)" + +/* can your target use syscall6() for mmap ? */ +#undef __UCLIBC_MMAP_HAS_6_ARGS__ + +/* does your target use syscall4() for truncate64 ? (32bit arches only) */ +#undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__ + +/* does your target have a broken create_module() ? */ +#undef __UCLIBC_BROKEN_CREATE_MODULE__ + +/* does your target prefix all symbols with an _ ? */ +#define __UCLIBC_NO_UNDERSCORES__ + +/* does your target have an asm .set ? */ +#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ + +/* shouldn't need to change these ... */ +#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__ +#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__ +#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__ + +#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */ diff --git a/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h b/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h new file mode 100644 index 000000000..7eb946dee --- /dev/null +++ b/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h @@ -0,0 +1,33 @@ +/* + * Track misc arch-specific features that aren't config options + */ + +#ifndef _BITS_UCLIBC_ARCH_FEATURES_H +#define _BITS_UCLIBC_ARCH_FEATURES_H + +/* instruction used when calling abort() to kill yourself */ +#define __UCLIBC_ABORT_INSTRUCTION__ "hlt" + +/* can your target use syscall6() for mmap ? */ +#undef __UCLIBC_MMAP_HAS_6_ARGS__ + +/* does your target use syscall4() for truncate64 ? (32bit arches only) */ +#undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__ + +/* does your target have a broken create_module() ? */ +#define __UCLIBC_BROKEN_CREATE_MODULE__ + +/* does your target prefix all symbols with an _ ? */ +#define __UCLIBC_NO_UNDERSCORES__ + +/* does your target have an asm .set ? */ +#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ + +/* shouldn't need to change these ... */ +#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__ +#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__ +#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__ + +#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */ diff --git a/libc/sysdeps/linux/i960/bits/uClibc_arch_features.h b/libc/sysdeps/linux/i960/bits/uClibc_arch_features.h new file mode 100644 index 000000000..2da833ee4 --- /dev/null +++ b/libc/sysdeps/linux/i960/bits/uClibc_arch_features.h @@ -0,0 +1,34 @@ +/* + * Track misc arch-specific features that aren't config options + */ + +#ifndef _BITS_UCLIBC_ARCH_FEATURES_H +#define _BITS_UCLIBC_ARCH_FEATURES_H + +/* instruction used when calling abort() to kill yourself */ +/*#define __UCLIBC_ABORT_INSTRUCTION__ "asm instruction"*/ +#undef __UCLIBC_ABORT_INSTRUCTION__ + +/* can your target use syscall6() for mmap ? */ +#undef __UCLIBC_MMAP_HAS_6_ARGS__ + +/* does your target use syscall4() for truncate64 ? (32bit arches only) */ +#undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__ + +/* does your target have a broken create_module() ? */ +#define __UCLIBC_BROKEN_CREATE_MODULE__ + +/* does your target prefix all symbols with an _ ? */ +#define __UCLIBC_NO_UNDERSCORES__ + +/* does your target have an asm .set ? */ +#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ + +/* shouldn't need to change these ... */ +#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__ +#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__ +#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__ + +#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */ diff --git a/libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h b/libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h new file mode 100644 index 000000000..347fe9707 --- /dev/null +++ b/libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h @@ -0,0 +1,37 @@ +/* + * Track misc arch-specific features that aren't config options + */ + +#ifndef _BITS_UCLIBC_ARCH_FEATURES_H +#define _BITS_UCLIBC_ARCH_FEATURES_H + +/* instruction used when calling abort() to kill yourself */ +#if defined(__mc68000__) +# define __UCLIBC_ABORT_INSTRUCTION__ ".long 0xffffffff" +#else /* defined(__m68k__) */ +# define __UCLIBC_ABORT_INSTRUCTION__ "illegal" +#endif + +/* can your target use syscall6() for mmap ? */ +#undef __UCLIBC_MMAP_HAS_6_ARGS__ + +/* does your target use syscall4() for truncate64 ? (32bit arches only) */ +#undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__ + +/* does your target have a broken create_module() ? */ +#define __UCLIBC_BROKEN_CREATE_MODULE__ + +/* does your target prefix all symbols with an _ ? */ +#define __UCLIBC_NO_UNDERSCORES__ + +/* does your target have an asm .set ? */ +#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ + +/* shouldn't need to change these ... */ +#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__ +#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__ +#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__ + +#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */ diff --git a/libc/sysdeps/linux/microblaze/bits/uClibc_arch_features.h b/libc/sysdeps/linux/microblaze/bits/uClibc_arch_features.h new file mode 100644 index 000000000..003857082 --- /dev/null +++ b/libc/sysdeps/linux/microblaze/bits/uClibc_arch_features.h @@ -0,0 +1,34 @@ +/* + * Track misc arch-specific features that aren't config options + */ + +#ifndef _BITS_UCLIBC_ARCH_FEATURES_H +#define _BITS_UCLIBC_ARCH_FEATURES_H + +/* instruction used when calling abort() to kill yourself */ +/*#define __UCLIBC_ABORT_INSTRUCTION__ "asm instruction"*/ +#undef __UCLIBC_ABORT_INSTRUCTION__ + +/* can your target use syscall6() for mmap ? */ +#undef __UCLIBC_MMAP_HAS_6_ARGS__ + +/* does your target use syscall4() for truncate64 ? (32bit arches only) */ +#undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__ + +/* does your target have a broken create_module() ? */ +#undef __UCLIBC_BROKEN_CREATE_MODULE__ + +/* does your target prefix all symbols with an _ ? */ +#define __UCLIBC_NO_UNDERSCORES__ + +/* does your target have an asm .set ? */ +#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ + +/* shouldn't need to change these ... */ +#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__ +#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__ +#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__ + +#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */ diff --git a/libc/sysdeps/linux/mips/bits/uClibc_arch_features.h b/libc/sysdeps/linux/mips/bits/uClibc_arch_features.h new file mode 100644 index 000000000..5d73f3f6f --- /dev/null +++ b/libc/sysdeps/linux/mips/bits/uClibc_arch_features.h @@ -0,0 +1,33 @@ +/* + * Track misc arch-specific features that aren't config options + */ + +#ifndef _BITS_UCLIBC_ARCH_FEATURES_H +#define _BITS_UCLIBC_ARCH_FEATURES_H + +/* instruction used when calling abort() to kill yourself */ +#define __UCLIBC_ABORT_INSTRUCTION__ "break 255" + +/* can your target use syscall6() for mmap ? */ +#define __UCLIBC_MMAP_HAS_6_ARGS__ + +/* does your target use syscall4() for truncate64 ? (32bit arches only) */ +#define __UCLIBC_TRUNCATE64_HAS_4_ARGS__ + +/* does your target have a broken create_module() ? */ +#undef __UCLIBC_BROKEN_CREATE_MODULE__ + +/* does your target prefix all symbols with an _ ? */ +#define __UCLIBC_NO_UNDERSCORES__ + +/* does your target have an asm .set ? */ +#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ + +/* shouldn't need to change these ... */ +#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__ +#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__ +#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__ + +#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */ diff --git a/libc/sysdeps/linux/nios/bits/uClibc_arch_features.h b/libc/sysdeps/linux/nios/bits/uClibc_arch_features.h new file mode 100644 index 000000000..003857082 --- /dev/null +++ b/libc/sysdeps/linux/nios/bits/uClibc_arch_features.h @@ -0,0 +1,34 @@ +/* + * Track misc arch-specific features that aren't config options + */ + +#ifndef _BITS_UCLIBC_ARCH_FEATURES_H +#define _BITS_UCLIBC_ARCH_FEATURES_H + +/* instruction used when calling abort() to kill yourself */ +/*#define __UCLIBC_ABORT_INSTRUCTION__ "asm instruction"*/ +#undef __UCLIBC_ABORT_INSTRUCTION__ + +/* can your target use syscall6() for mmap ? */ +#undef __UCLIBC_MMAP_HAS_6_ARGS__ + +/* does your target use syscall4() for truncate64 ? (32bit arches only) */ +#undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__ + +/* does your target have a broken create_module() ? */ +#undef __UCLIBC_BROKEN_CREATE_MODULE__ + +/* does your target prefix all symbols with an _ ? */ +#define __UCLIBC_NO_UNDERSCORES__ + +/* does your target have an asm .set ? */ +#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ + +/* shouldn't need to change these ... */ +#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__ +#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__ +#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__ + +#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */ diff --git a/libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h b/libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h new file mode 100644 index 000000000..003857082 --- /dev/null +++ b/libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h @@ -0,0 +1,34 @@ +/* + * Track misc arch-specific features that aren't config options + */ + +#ifndef _BITS_UCLIBC_ARCH_FEATURES_H +#define _BITS_UCLIBC_ARCH_FEATURES_H + +/* instruction used when calling abort() to kill yourself */ +/*#define __UCLIBC_ABORT_INSTRUCTION__ "asm instruction"*/ +#undef __UCLIBC_ABORT_INSTRUCTION__ + +/* can your target use syscall6() for mmap ? */ +#undef __UCLIBC_MMAP_HAS_6_ARGS__ + +/* does your target use syscall4() for truncate64 ? (32bit arches only) */ +#undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__ + +/* does your target have a broken create_module() ? */ +#undef __UCLIBC_BROKEN_CREATE_MODULE__ + +/* does your target prefix all symbols with an _ ? */ +#define __UCLIBC_NO_UNDERSCORES__ + +/* does your target have an asm .set ? */ +#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ + +/* shouldn't need to change these ... */ +#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__ +#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__ +#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__ + +#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */ diff --git a/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h b/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h new file mode 100644 index 000000000..490109108 --- /dev/null +++ b/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h @@ -0,0 +1,33 @@ +/* + * Track misc arch-specific features that aren't config options + */ + +#ifndef _BITS_UCLIBC_ARCH_FEATURES_H +#define _BITS_UCLIBC_ARCH_FEATURES_H + +/* instruction used when calling abort() to kill yourself */ +#define __UCLIBC_ABORT_INSTRUCTION__ ".long 0" + +/* can your target use syscall6() for mmap ? */ +#define __UCLIBC_MMAP_HAS_6_ARGS__ + +/* does your target use syscall4() for truncate64 ? (32bit arches only) */ +#define __UCLIBC_TRUNCATE64_HAS_4_ARGS__ + +/* does your target have a broken create_module() ? */ +#undef __UCLIBC_BROKEN_CREATE_MODULE__ + +/* does your target prefix all symbols with an _ ? */ +#define __UCLIBC_NO_UNDERSCORES__ + +/* does your target have an asm .set ? */ +#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ + +/* shouldn't need to change these ... */ +#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__ +#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__ +#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__ + +#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */ diff --git a/libc/sysdeps/linux/sh/bits/uClibc_arch_features.h b/libc/sysdeps/linux/sh/bits/uClibc_arch_features.h new file mode 100644 index 000000000..2c53ce643 --- /dev/null +++ b/libc/sysdeps/linux/sh/bits/uClibc_arch_features.h @@ -0,0 +1,39 @@ +/* + * Track misc arch-specific features that aren't config options + */ + +#ifndef _BITS_UCLIBC_ARCH_FEATURES_H +#define _BITS_UCLIBC_ARCH_FEATURES_H + +/* instruction used when calling abort() to kill yourself */ +#if defined(__SH5__) +# define __UCLIBC_ABORT_INSTRUCTION__ "movi 0x10, r9; shori 0xff, r9; trapa r9" +#elif defined(__sh2__) +# define __UCLIBC_ABORT_INSTRUCTION__ "trapa #32" +#else /* defined(__sh__) */ +# define __UCLIBC_ABORT_INSTRUCTION__ "trapa #0xff" +#endif + +/* can your target use syscall6() for mmap ? */ +#define __UCLIBC_MMAP_HAS_6_ARGS__ + +/* does your target use syscall4() for truncate64 ? (32bit arches only) */ +#undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__ + +/* does your target have a broken create_module() ? */ +#undef __UCLIBC_BROKEN_CREATE_MODULE__ + +/* does your target prefix all symbols with an _ ? */ +#define __UCLIBC_NO_UNDERSCORES__ + +/* does your target have an asm .set ? */ +#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ + +/* shouldn't need to change these ... */ +#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__ +#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__ +#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__ + +#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */ diff --git a/libc/sysdeps/linux/sh64/bits/uClibc_arch_features.h b/libc/sysdeps/linux/sh64/bits/uClibc_arch_features.h new file mode 100644 index 000000000..003857082 --- /dev/null +++ b/libc/sysdeps/linux/sh64/bits/uClibc_arch_features.h @@ -0,0 +1,34 @@ +/* + * Track misc arch-specific features that aren't config options + */ + +#ifndef _BITS_UCLIBC_ARCH_FEATURES_H +#define _BITS_UCLIBC_ARCH_FEATURES_H + +/* instruction used when calling abort() to kill yourself */ +/*#define __UCLIBC_ABORT_INSTRUCTION__ "asm instruction"*/ +#undef __UCLIBC_ABORT_INSTRUCTION__ + +/* can your target use syscall6() for mmap ? */ +#undef __UCLIBC_MMAP_HAS_6_ARGS__ + +/* does your target use syscall4() for truncate64 ? (32bit arches only) */ +#undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__ + +/* does your target have a broken create_module() ? */ +#undef __UCLIBC_BROKEN_CREATE_MODULE__ + +/* does your target prefix all symbols with an _ ? */ +#define __UCLIBC_NO_UNDERSCORES__ + +/* does your target have an asm .set ? */ +#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ + +/* shouldn't need to change these ... */ +#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__ +#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__ +#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__ + +#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */ diff --git a/libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h b/libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h new file mode 100644 index 000000000..13ae6a01f --- /dev/null +++ b/libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h @@ -0,0 +1,33 @@ +/* + * Track misc arch-specific features that aren't config options + */ + +#ifndef _BITS_UCLIBC_ARCH_FEATURES_H +#define _BITS_UCLIBC_ARCH_FEATURES_H + +/* instruction used when calling abort() to kill yourself */ +#define __UCLIBC_ABORT_INSTRUCTION__ "unimp 0xf00" + +/* can your target use syscall6() for mmap ? */ +#define __UCLIBC_MMAP_HAS_6_ARGS__ + +/* does your target use syscall4() for truncate64 ? (32bit arches only) */ +#undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__ + +/* does your target have a broken create_module() ? */ +#undef __UCLIBC_BROKEN_CREATE_MODULE__ + +/* does your target prefix all symbols with an _ ? */ +#define __UCLIBC_NO_UNDERSCORES__ + +/* does your target have an asm .set ? */ +#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ + +/* shouldn't need to change these ... */ +#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__ +#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__ +#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__ + +#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */ diff --git a/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h b/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h new file mode 100644 index 000000000..003857082 --- /dev/null +++ b/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h @@ -0,0 +1,34 @@ +/* + * Track misc arch-specific features that aren't config options + */ + +#ifndef _BITS_UCLIBC_ARCH_FEATURES_H +#define _BITS_UCLIBC_ARCH_FEATURES_H + +/* instruction used when calling abort() to kill yourself */ +/*#define __UCLIBC_ABORT_INSTRUCTION__ "asm instruction"*/ +#undef __UCLIBC_ABORT_INSTRUCTION__ + +/* can your target use syscall6() for mmap ? */ +#undef __UCLIBC_MMAP_HAS_6_ARGS__ + +/* does your target use syscall4() for truncate64 ? (32bit arches only) */ +#undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__ + +/* does your target have a broken create_module() ? */ +#undef __UCLIBC_BROKEN_CREATE_MODULE__ + +/* does your target prefix all symbols with an _ ? */ +#define __UCLIBC_NO_UNDERSCORES__ + +/* does your target have an asm .set ? */ +#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ + +/* shouldn't need to change these ... */ +#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__ +#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__ +#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__ + +#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */ diff --git a/libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h b/libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h new file mode 100644 index 000000000..1675aba20 --- /dev/null +++ b/libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h @@ -0,0 +1,33 @@ +/* + * Track misc arch-specific features that aren't config options + */ + +#ifndef _BITS_UCLIBC_ARCH_FEATURES_H +#define _BITS_UCLIBC_ARCH_FEATURES_H + +/* instruction used when calling abort() to kill yourself */ +#define __UCLIBC_ABORT_INSTRUCTION__ "hlt" + +/* can your target use syscall6() for mmap ? */ +#define __UCLIBC_MMAP_HAS_6_ARGS__ + +/* does your target use syscall4() for truncate64 ? (32bit arches only) */ +#undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__ + +/* does your target have a broken create_module() ? */ +#undef __UCLIBC_BROKEN_CREATE_MODULE__ + +/* does your target prefix all symbols with an _ ? */ +#define __UCLIBC_NO_UNDERSCORES__ + +/* does your target have an asm .set ? */ +#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ + +/* shouldn't need to change these ... */ +#define __UCLIBC_ASM_GLOBAL_DIRECTIVE__ +#define __UCLIBC_ASM_TYPE_DIRECTIVE_PREFIX__ +#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__ +#define __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__ + +#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */ -- cgit v1.2.3