uClibc_arch_features.h 1.4 KB

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