comparison gcc/config/i386/sol2.h @ 63:b7f97abdc517 gcc-4.6-20100522

update gcc from gcc-4.5.0 to gcc-4.6
author ryoma <e075725@ie.u-ryukyu.ac.jp>
date Mon, 24 May 2010 12:47:05 +0900
parents 77e2b8dfacca
children f6334be47118
comparison
equal deleted inserted replaced
56:3c8a44c06a95 63:b7f97abdc517
1 /* Target definitions for GCC for Intel 80386 running Solaris 2 1 /* Target definitions for GCC for Intel 80386 running Solaris 2
2 Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2 Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
3 2004, 2007, 2008, 2009 Free Software Foundation, Inc. 3 2004, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
4 Contributed by Fred Fish (fnf@cygnus.com). 4 Contributed by Fred Fish (fnf@cygnus.com).
5 5
6 This file is part of GCC. 6 This file is part of GCC.
7 7
8 GCC is free software; you can redistribute it and/or modify 8 GCC is free software; you can redistribute it and/or modify
70 70
71 #undef LOCAL_LABEL_PREFIX 71 #undef LOCAL_LABEL_PREFIX
72 #define LOCAL_LABEL_PREFIX "." 72 #define LOCAL_LABEL_PREFIX "."
73 73
74 /* The 32-bit Solaris assembler does not support .quad. Do not use it. */ 74 /* The 32-bit Solaris assembler does not support .quad. Do not use it. */
75 #ifndef TARGET_BI_ARCH 75 #ifndef HAVE_AS_IX86_QUAD
76 #undef ASM_QUAD 76 #undef ASM_QUAD
77 #endif 77 #endif
78 78
79 /* The Solaris assembler wants a .local for non-exported aliases. */ 79 /* The Solaris assembler wants a .local for non-exported aliases. */
80 #define ASM_OUTPUT_DEF_FROM_DECLS(FILE, DECL, TARGET) \ 80 #define ASM_OUTPUT_DEF_FROM_DECLS(FILE, DECL, TARGET) \
88 fprintf ((FILE), "%s", LOCAL_ASM_OP); \ 88 fprintf ((FILE), "%s", LOCAL_ASM_OP); \
89 assemble_name ((FILE), declname); \ 89 assemble_name ((FILE), declname); \
90 fprintf ((FILE), "\n"); \ 90 fprintf ((FILE), "\n"); \
91 } \ 91 } \
92 } while (0) 92 } while (0)
93
94 /* Follow Sun requirements for TLS code sequences and use Sun assembler TLS
95 syntax. */
96 #undef TARGET_SUN_TLS
97 #define TARGET_SUN_TLS 1
98
99 /* The Sun assembler uses .tcomm for TLS common sections. */
100 #define TLS_COMMON_ASM_OP ".tcomm"
101
102 /* Similar to the Sun assembler on SPARC, the native assembler requires
103 TLS objects to be declared as @tls_obj (not @tls_object). Unlike SPARC,
104 gas doesn't understand this variant. */
105 #ifndef USE_GAS
106 #undef ASM_DECLARE_OBJECT_NAME
107 #define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \
108 do \
109 { \
110 HOST_WIDE_INT size; \
111 \
112 if (targetm.have_tls && DECL_THREAD_LOCAL_P (DECL)) \
113 ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "tls_obj"); \
114 else \
115 ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "object"); \
116 \
117 size_directive_output = 0; \
118 if (!flag_inhibit_size_directive \
119 && (DECL) && DECL_SIZE (DECL)) \
120 { \
121 size_directive_output = 1; \
122 size = int_size_in_bytes (TREE_TYPE (DECL)); \
123 ASM_OUTPUT_SIZE_DIRECTIVE (FILE, NAME, size); \
124 } \
125 \
126 ASM_OUTPUT_LABEL (FILE, NAME); \
127 } \
128 while (0)
129 #endif
130
131 /* The Solaris assembler cannot grok .stabd directives. */
132 #undef NO_DBX_BNSYM_ENSYM
133 #define NO_DBX_BNSYM_ENSYM 1
93 134
94 /* Solaris-specific #pragmas are implemented on top of attributes. Hook in 135 /* Solaris-specific #pragmas are implemented on top of attributes. Hook in
95 the bits from config/sol2.c. */ 136 the bits from config/sol2.c. */
96 #define SUBTARGET_INSERT_ATTRIBUTES solaris_insert_attributes 137 #define SUBTARGET_INSERT_ATTRIBUTES solaris_insert_attributes
97 #define SUBTARGET_ATTRIBUTE_TABLE SOLARIS_ATTRIBUTE_TABLE 138 #define SUBTARGET_ATTRIBUTE_TABLE SOLARIS_ATTRIBUTE_TABLE
117 sections, so don't use them. */ 158 sections, so don't use them. */
118 #ifndef TARGET_GNU_LD 159 #ifndef TARGET_GNU_LD
119 #define USE_HIDDEN_LINKONCE 0 160 #define USE_HIDDEN_LINKONCE 0
120 #endif 161 #endif
121 162
163 /* Put all *tf routines in libgcc. */
164 #undef LIBGCC2_HAS_TF_MODE
165 #define LIBGCC2_HAS_TF_MODE 1
166 #define LIBGCC2_TF_CEXT q
167 #define TF_SIZE 113
168
122 #define MD_UNWIND_SUPPORT "config/i386/sol2-unwind.h" 169 #define MD_UNWIND_SUPPORT "config/i386/sol2-unwind.h"