2 * Track misc arch-specific features that aren't config options
5 #ifndef _BITS_UCLIBC_ARCH_FEATURES_H
6 #define _BITS_UCLIBC_ARCH_FEATURES_H
8 /* instruction used when calling abort() to kill yourself */
9 #define __UCLIBC_ABORT_INSTRUCTION__ "bl abort"
11 /* can your target use syscall6() for mmap ? */
12 #undef __UCLIBC_MMAP_HAS_6_ARGS__
14 /* does your target align 64bit values in register pairs ? (32bit arches only) */
16 #define __UCLIBC_SYSCALL_ALIGN_64BIT__
18 #undef __UCLIBC_SYSCALL_ALIGN_64BIT__
21 /* does your target have a broken create_module() ? */
22 #define __UCLIBC_BROKEN_CREATE_MODULE__
24 /* does your target have to worry about older [gs]etrlimit() ? */
25 #undef __UCLIBC_HANDLE_OLDER_RLIMIT__
27 /* does your target have an asm .set ? */
28 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
30 /* define if target doesn't like .global */
31 #undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
33 /* define if target supports .weak */
34 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
36 /* define if target supports .weakext */
37 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
39 /* needed probably only for ppc64 */
40 #undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
42 /* define if target supports CFI pseudo ops */
43 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
45 /* define if target supports IEEE signed zero floats */
46 #define __UCLIBC_HAVE_SIGNED_ZERO__
48 /* only weird assemblers generally need this */
49 #undef __UCLIBC_ASM_LINE_SEP__
52 # define __need_uClibc_config_h
53 # include <bits/uClibc_config.h>
54 # undef __need_uClibc_config_h
55 # if defined __CONFIG_ARM_EABI__ && !defined __ARM_EABI__
56 # error Your toolchain does not support EABI
57 # elif !defined __CONFIG_ARM_EABI__ && defined __ARM_EABI__
58 # error Your toolchain was built for EABI, but you have chosen OABI
62 #endif /* _BITS_UCLIBC_ARCH_FEATURES_H */