1 /*
2  * Track misc arch-specific features that aren't config options
3  */
4 
5 #ifndef _BITS_UCLIBC_ARCH_FEATURES_H
6 #define _BITS_UCLIBC_ARCH_FEATURES_H
7 
8 /* instruction used when calling abort() to kill yourself */
9 #define __UCLIBC_ABORT_INSTRUCTION__ "hlt"
10 
11 /* can your target use syscall6() for mmap ? */
12 #undef __UCLIBC_MMAP_HAS_6_ARGS__
13 
14 /* does your target align 64bit values in register pairs ? (32bit arches only) */
15 #undef __UCLIBC_SYSCALL_ALIGN_64BIT__
16 
17 /* does your target have a broken create_module() ? */
18 #define __UCLIBC_BROKEN_CREATE_MODULE__
19 
20 /* does your target have to worry about older [gs]etrlimit() ? */
21 /* this is only an issue on i386 where linux < 2.3.25, so we just assume it works ... */
22 #undef __UCLIBC_HANDLE_OLDER_RLIMIT__
23 
24 /* does your target have an asm .set ? */
25 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
26 
27 /* define if target supports .weak */
28 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
29 
30 /* define if target supports .weakext */
31 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
32 
33 /* define if target supports CFI pseudo ops */
34 #define __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
35 
36 /* define if target supports IEEE signed zero floats */
37 #define __UCLIBC_HAVE_SIGNED_ZERO__
38 
39 /* only weird assemblers generally need this */
40 #undef __UCLIBC_ASM_LINE_SEP__
41 
42 #if defined _LIBC
43 #define internal_function __attribute__ ((regparm (3), stdcall))
44 #endif
45 
46 #endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
47