Mercurial > hg > CbC > CbC_gcc
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" |