1 /* 2 * Copyright (C) 2013 Synopsys, Inc. (www.synopsys.com) 3 * 4 * Licensed under the LGPL v2.1 or later, see the file COPYING.LIB in this tarball. 5 */ 6 7 /* 8 * Track misc arch-specific features that aren't config options 9 */ 10 11 #ifndef _BITS_UCLIBC_ARCH_FEATURES_H 12 #define _BITS_UCLIBC_ARCH_FEATURES_H 13 14 /* instruction used when calling abort() to kill yourself */ 15 #define __UCLIBC_ABORT_INSTRUCTION__ "flag 0" 16 17 /* can your target use syscall6() for mmap ? */ 18 #undef __UCLIBC_MMAP_HAS_6_ARGS__ 19 20 /* does your target have a broken create_module() ? */ 21 #undef __UCLIBC_BROKEN_CREATE_MODULE__ 22 23 /* does your target have to worry about older [gs]etrlimit() ? */ 24 #undef __UCLIBC_HANDLE_OLDER_RLIMIT__ 25 26 /* does your target have an asm .set ? */ 27 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ 28 29 /* define if target supports .weak */ 30 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__ 31 32 /* define if target supports .weakext */ 33 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__ 34 35 /* define if target supports CFI pseudo ops */ 36 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__ 37 38 /* define if target supports IEEE signed zero floats */ 39 #define __UCLIBC_HAVE_SIGNED_ZERO__ 40 41 /* The default ';' is a comment on ARC. */ 42 #define __UCLIBC_ASM_LINE_SEP__ ` 43 44 /* does your target align 64bit values in register pairs ? (32bit arches only) 45 * - ARC700 never had any constraint on reg pairs (even if ABI v3) 46 * - Inital HS ABI (v3: non upstream gcc) had 64-bit data aligned in even-odd 47 * reg pairs (thus allowed reg holes when passing such args to calls) 48 * - Upstream gcc (6.x) HS ABI doesn't have that restriction 49 */ 50 51 #if defined(__A7__) || (__GNUC__ > 4) 52 #undef __UCLIBC_SYSCALL_ALIGN_64BIT__ 53 #else 54 #define __UCLIBC_SYSCALL_ALIGN_64BIT__ 55 #endif 56 57 #endif /* _BITS_UCLIBC_ARCH_FEATURES_H */ 58