/* Xtensa Linux configuration.
Derived from the configuration for GCC for Intel i386 running Linux.
- Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GCC.
Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA. */
+#define TARGET_OS_CPP_BUILTINS() LINUX_TARGET_OS_CPP_BUILTINS()
+
+#undef SUBTARGET_CPP_SPEC
+#define SUBTARGET_CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
+
#undef TARGET_VERSION
#define TARGET_VERSION fputs (" (Xtensa GNU/Linux with ELF)", stderr);
-#undef ASM_SPEC
-#define ASM_SPEC "%{v} %{mno-density:--no-density} \
- %{mtext-section-literals:--text-section-literals} \
- %{mno-text-section-literals:--no-text-section-literals} \
- %{mtarget-align:--target-align} \
- %{mno-target-align:--no-target-align} \
- %{mlongcalls:--longcalls} \
- %{mno-longcalls:--no-longcalls}"
+#undef WCHAR_TYPE
+#define WCHAR_TYPE "long int"
-#undef ASM_FINAL_SPEC
+#undef WCHAR_TYPE_SIZE
+#define WCHAR_TYPE_SIZE 32
-#undef LIB_SPEC
-#define LIB_SPEC \
- "%{shared: -lc} \
- %{!shared: %{pthread:-lpthread} \
- %{profile:-lc_p} %{!profile: -lc}}"
+#undef ASM_SPEC
+#define ASM_SPEC \
+ "%{v} \
+ %{mtext-section-literals:--text-section-literals} \
+ %{mno-text-section-literals:--no-text-section-literals} \
+ %{mtarget-align:--target-align} \
+ %{mno-target-align:--no-target-align} \
+ %{mlongcalls:--longcalls} \
+ %{mno-longcalls:--no-longcalls}"
#undef LINK_SPEC
#define LINK_SPEC \
%{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
%{static:-static}}}"
-#undef CPP_PREDEFINES
-#define CPP_PREDEFINES \
- "-D__XTENSA__ -D__ELF__ -Acpu=xtensa -Amachine=xtensa \
- -Dunix -D__gnu_linux__ -Dlinux -Asystem=posix"
-
#undef LOCAL_LABEL_PREFIX
#define LOCAL_LABEL_PREFIX "."
do \
{ \
if (!flag_inhibit_size_directive) \
- { \
- char label[256]; \
- static int labelno; \
- \
- labelno++; \
- \
- ASM_GENERATE_INTERNAL_LABEL (label, "Lfe", labelno); \
- ASM_OUTPUT_INTERNAL_LABEL (FILE, "Lfe", labelno); \
- ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME, label); \
- } \
+ ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME); \
XTENSA_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL); \
} \
while (0)