OLD | NEW |
1 /* Target definitions for GCC for NativeClient using ELF | 1 /* Target definitions for GCC for NativeClient using ELF |
2 Copyright (C) 1988, 1991, 1995, 2000, 2001, 2002 | 2 Copyright (C) 1988, 1991, 1995, 2000, 2001, 2002 |
3 Free Software Foundation, Inc. | 3 Free Software Foundation, Inc. |
4 | 4 |
5 Derived from sysv4.h written by Ron Guilmette (rfg@netcom.com). | 5 Derived from sysv4.h written by Ron Guilmette (rfg@netcom.com). |
6 | 6 |
7 This file is part of GCC. | 7 This file is part of GCC. |
8 | 8 |
9 GCC is free software; you can redistribute it and/or modify | 9 GCC is free software; you can redistribute it and/or modify |
10 it under the terms of the GNU General Public License as published by | 10 it under the terms of the GNU General Public License as published by |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 segment descriptor (DS). That is, instead of | 197 segment descriptor (DS). That is, instead of |
198 movl gs:i@NTPOFF, %ecx | 198 movl gs:i@NTPOFF, %ecx |
199 we use | 199 we use |
200 movl %gs:0, %eax | 200 movl %gs:0, %eax |
201 movl i@NTPOFF(%eax), %ecx | 201 movl i@NTPOFF(%eax), %ecx |
202 There is a slight performance penalty for TLS accesses, but there does not | 202 There is a slight performance penalty for TLS accesses, but there does not |
203 seem a way around it. */ | 203 seem a way around it. */ |
204 #undef TARGET_TLS_DIRECT_SEG_REFS_DEFAULT | 204 #undef TARGET_TLS_DIRECT_SEG_REFS_DEFAULT |
205 #define TARGET_TLS_DIRECT_SEG_REFS_DEFAULT 0 | 205 #define TARGET_TLS_DIRECT_SEG_REFS_DEFAULT 0 |
206 | 206 |
207 /* TODO(pasko): eliminate the need to define linux-specific macros. Currently | |
208 Chromium build/build_config.h prevents us from eliminating these defines by | |
209 not recognizing __native_client__ as a platform. */ | |
210 #define LINUX_TARGET_OS_CPP_BUILTINS() \ | 207 #define LINUX_TARGET_OS_CPP_BUILTINS() \ |
211 do { \ | 208 do { \ |
212 builtin_define_std ("unix"); \ | 209 builtin_define_std ("unix"); \ |
213 builtin_assert ("system=unix"); \ | 210 builtin_assert ("system=unix"); \ |
214 builtin_assert ("system=posix"); \ | 211 builtin_assert ("system=posix"); \ |
215 } while (0) | 212 } while (0) |
216 | 213 |
217 /* When running in Native Client all inode numbers are identical. | 214 /* When running in Native Client all inode numbers are identical. |
218 TODO(pasko): re-enable inode numbers once the relevant bug is fixed: | 215 TODO(pasko): re-enable inode numbers once the relevant bug is fixed: |
219 http://code.google.com/p/nativeclient/issues/detail?id=1555 */ | 216 http://code.google.com/p/nativeclient/issues/detail?id=1555 */ |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
292 #undef TARGET_USE_BT | 289 #undef TARGET_USE_BT |
293 #define TARGET_USE_BT (ix86_tune_features[X86_TUNE_USE_BT] && !TARGET_
NACL) | 290 #define TARGET_USE_BT (ix86_tune_features[X86_TUNE_USE_BT] && !TARGET_
NACL) |
294 | 291 |
295 #undef DBX_REGISTER_NUMBER | 292 #undef DBX_REGISTER_NUMBER |
296 #define DBX_REGISTER_NUMBER(n) \ | 293 #define DBX_REGISTER_NUMBER(n) \ |
297 (TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n]) | 294 (TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n]) |
298 | 295 |
299 #define DWARF2_ADDR_SIZE \ | 296 #define DWARF2_ADDR_SIZE \ |
300 (TARGET_NACL ? (TARGET_64BIT ? 8 : 4) : \ | 297 (TARGET_NACL ? (TARGET_64BIT ? 8 : 4) : \ |
301 (POINTER_SIZE / BITS_PER_UNIT)) | 298 (POINTER_SIZE / BITS_PER_UNIT)) |
OLD | NEW |