# 1 "" # 1 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" /* Specialized bits of code needed to support construction and destruction of file-scope objects in C++ code. Copyright (C) 1991, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. Contributed by Ron Guilmette (rfg@monkeys.com). This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. In addition to the permissions in the GNU General Public License, the Free Software Foundation gives you unlimited permission to link the compiled version of this file into combinations with other programs, and to distribute those combinations without any restriction coming from the use of this file. (The General Public License restrictions do apply in other respects; for example, they cover modification of the file, and distribution when not linked into a combine executable.) GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING. If not, write to the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* This file is a bit like libgcc2.c in that it is compiled multiple times and yields multiple .o files. This file is useful on target machines where the object file format supports multiple "user-defined" sections (e.g. COFF, ELF, ROSE). On such systems, this file allows us to avoid running collect (or any other such slow and painful kludge). Additionally, if the target system supports a .init section, this file allows us to support the linking of C++ code with a non-C++ main program. Note that if INIT_SECTION_ASM_OP is defined in the tm.h file, then this file *will* make use of the .init section. If that symbol is not defined however, then the .init section will not be used. Currently, only ELF and COFF are supported. It is likely however that ROSE could also be supported, if someone was willing to do the work to make whatever (small?) adaptations are needed. (Some work may be needed on the ROSE assembler and linker also.) This file must be compiled with gcc. */ /* Target machine header files require this define. */ #define IN_LIBGCC2 /* FIXME: Including auto-host is incorrect, but until we have identified the set of defines that need to go into auto-target.h, this will have to do. */ #if 0 /* expanded by -frewrite-includes */ #include "auto-host.h" #endif /* expanded by -frewrite-includes */ # 60 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" # 1 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" 1 /* auto-host.h. Generated by configure. */ /* config.in. Generated from configure.ac by autoheader. */ /* $FreeBSD: projects/clang360-import/gnu/usr.bin/cc/cc_tools/auto-host.h 238255 2012-07-08 17:02:14Z nwhitehorn $ */ /* Define as the number of bits in a byte, if \`limits.h' doesn't. */ #ifndef USED_FOR_TARGET /* #undef CHAR_BIT */ #endif # 9 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define 0/1 to force the choice for exception handling model. */ #ifndef USED_FOR_TARGET /* #undef CONFIG_SJLJ_EXCEPTIONS */ #endif # 15 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to enable the use of a default assembler. */ #ifndef USED_FOR_TARGET /* #undef DEFAULT_ASSEMBLER */ #endif # 21 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to enable the use of a default linker. */ #ifndef USED_FOR_TARGET /* #undef DEFAULT_LINKER */ #endif # 27 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you want to use __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global objects. This is essential for fully standards-compliant handling of destructors, but requires __cxa_atexit in libc. */ #ifndef USED_FOR_TARGET #define DEFAULT_USE_CXA_ATEXIT 1 #endif # 36 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you want assertions enabled. This is a cheap check. */ #ifndef USED_FOR_TARGET #define ENABLE_ASSERT_CHECKING 1 #endif # 42 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you want more run-time sanity checks. This one gets a grab bag of miscellaneous but relatively cheap checks. */ #ifndef USED_FOR_TARGET /* #undef ENABLE_CHECKING */ #endif # 49 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 to enable decimal float extension to C. */ #ifndef USED_FOR_TARGET #define ENABLE_DECIMAL_FLOAT 0 #endif # 55 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you want fold checked that it never destructs its argument. This is quite expensive. */ #ifndef USED_FOR_TARGET /* #undef ENABLE_FOLD_CHECKING */ #endif # 62 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you want the garbage collector to operate in maximally paranoid mode, validating the entire heap and collecting garbage at every opportunity. This is extremely expensive. */ #ifndef USED_FOR_TARGET /* #undef ENABLE_GC_ALWAYS_COLLECT */ #endif # 70 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you want the garbage collector to do object poisoning and other memory allocation checks. This is quite expensive. */ #ifndef USED_FOR_TARGET /* #undef ENABLE_GC_CHECKING */ #endif # 77 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if translation of program messages to the user's native language is requested. */ #ifndef USED_FOR_TARGET /* #undef ENABLE_NLS */ #endif # 84 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you want all operations on RTL (the basic data structure of the optimizer and back end) to be checked for dynamic type safety at runtime. This is quite expensive. */ #ifndef USED_FOR_TARGET /* #undef ENABLE_RTL_CHECKING */ #endif # 92 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you want RTL flag accesses to be checked against the RTL codes that are supported for each access macro. This is relatively cheap. */ #ifndef USED_FOR_TARGET /* #undef ENABLE_RTL_FLAG_CHECKING */ #endif # 99 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you want runtime assertions enabled. This is a cheap check. */ #define ENABLE_RUNTIME_CHECKING 1 /* Define if you want all operations on trees (the basic data structure of the front ends) to be checked for dynamic type safety at runtime. This is moderately expensive. The tree browser debugging routines will also be enabled by this option. */ #ifndef USED_FOR_TARGET /* #undef ENABLE_TREE_CHECKING */ #endif # 111 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you want to run subprograms and generated programs through valgrind (a memory checker). This is extremely expensive. */ #ifndef USED_FOR_TARGET /* #undef ENABLE_VALGRIND_CHECKING */ #endif # 118 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if installation paths should be looked up in the Windows Registry. Ignored on non-Windows hosts. */ #ifndef USED_FOR_TARGET /* #undef ENABLE_WIN32_REGISTRY */ #endif # 125 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to the name of a file containing a list of extra machine modes for this architecture. */ #ifndef USED_FOR_TARGET /* #undef EXTRA_MODES_FILE */ #endif # 132 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to enable detailed memory allocation stats gathering. */ #ifndef USED_FOR_TARGET /* #undef GATHER_STATISTICS */ #endif # 138 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to the type of elements in the array set by `getgroups'. Usually this is either `int' or `gid_t'. */ #ifndef USED_FOR_TARGET #define GETGROUPS_T gid_t #endif # 145 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if the zone collector is in use */ #ifndef USED_FOR_TARGET /* #undef GGC_ZONE */ #endif # 151 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* mcontext_t fields start with __ */ #ifndef USED_FOR_TARGET /* #undef HAS_MCONTEXT_T_UNDERSCORES */ #endif # 157 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `alphasort' function. */ #ifndef USED_FOR_TARGET #define HAVE_ALPHASORT 1 #endif # 163 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports dwarf2 .file/.loc directives, and preserves file table indices exactly as given. */ #ifndef USED_FOR_TARGET #define HAVE_AS_DWARF2_DEBUG_LINE 1 #endif # 170 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports explicit relocations. */ #ifndef USED_FOR_TARGET /* #undef HAVE_AS_EXPLICIT_RELOCS */ #endif # 176 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports fprnd. */ #ifndef USED_FOR_TARGET /* #undef HAVE_AS_FPRND */ #endif # 182 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports the --gdwarf2 option. */ #ifndef USED_FOR_TARGET #define HAVE_AS_GDWARF2_DEBUG_FLAG 1 #endif # 188 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define true if the assembler supports '.long foo@GOTOFF'. */ #ifndef USED_FOR_TARGET #define HAVE_AS_GOTOFF_IN_DATA 1 #endif # 194 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports the --gstabs option. */ #ifndef USED_FOR_TARGET #define HAVE_AS_GSTABS_DEBUG_FLAG 1 #endif # 200 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports the Sun syntax for cmov. */ #ifndef USED_FOR_TARGET /* #undef HAVE_AS_IX86_CMOV_SUN_SYNTAX */ #endif # 206 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports the ffreep mnemonic. */ #ifndef USED_FOR_TARGET #define HAVE_AS_IX86_FFREEP 1 #endif # 212 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports the lituse_jsrdirect relocation. */ #ifndef USED_FOR_TARGET /* #undef HAVE_AS_JSRDIRECT_RELOCS */ #endif # 218 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports .sleb128 and .uleb128. */ #ifndef USED_FOR_TARGET #define HAVE_AS_LEB128 1 #endif # 224 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports ltoffx and ldxmov relocations. */ #ifndef USED_FOR_TARGET #define HAVE_AS_LTOFFX_LDXMOV_RELOCS 1 #endif # 230 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports mfcr field. */ #ifndef USED_FOR_TARGET #define HAVE_AS_MFCRF 1 #endif # 236 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports the -no-mul-bug-abort option. */ #ifndef USED_FOR_TARGET /* #undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION */ #endif # 242 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports offsetable %lo(). */ #ifndef USED_FOR_TARGET #define HAVE_AS_OFFSETABLE_LO10 1 #endif # 248 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports popcntb field. */ #ifndef USED_FOR_TARGET /* #undef HAVE_AS_POPCNTB */ #endif # 254 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports .register. */ #ifndef USED_FOR_TARGET #define HAVE_AS_REGISTER_PSEUDO_OP 1 #endif # 260 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports R_PPC_REL16 relocs. */ #ifndef USED_FOR_TARGET #define HAVE_AS_REL16 #endif # 266 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports -relax option. */ #ifndef USED_FOR_TARGET #define HAVE_AS_RELAX_OPTION 1 #endif # 272 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler and linker support unaligned PC relative relocs. */ #ifndef USED_FOR_TARGET #define HAVE_AS_SPARC_UA_PCREL 1 #endif # 279 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler and linker support unaligned PC relative relocs against hidden symbols. */ #ifndef USED_FOR_TARGET #define HAVE_AS_SPARC_UA_PCREL_HIDDEN 1 #endif # 286 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports thread-local storage. */ #ifndef USED_FOR_TARGET #define HAVE_AS_TLS 1 #endif # 292 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `atoll' function. */ #ifndef USED_FOR_TARGET #define HAVE_ATOLL 1 #endif # 298 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `atoq' function. */ #ifndef USED_FOR_TARGET /* #undef HAVE_ATOQ */ #endif # 304 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `clearerr_unlocked' function. */ #ifndef USED_FOR_TARGET #define HAVE_CLEARERR_UNLOCKED 1 #endif # 310 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `clock' function. */ #ifndef USED_FOR_TARGET #define HAVE_CLOCK 1 #endif # 316 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if defines clock_t. */ #ifndef USED_FOR_TARGET #define HAVE_CLOCK_T 1 #endif # 322 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define 0/1 if your assembler and linker support COMDAT groups. */ #ifndef USED_FOR_TARGET #define HAVE_COMDAT_GROUP 1 #endif # 328 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'abort', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_ABORT 1 #endif # 335 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'asprintf', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_ASPRINTF 1 #endif # 342 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'atof', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_ATOF 1 #endif # 348 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'atol', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_ATOL 1 #endif # 354 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'basename', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_BASENAME 0 #endif # 361 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'calloc', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_CALLOC 1 #endif # 368 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'clearerr_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_CLEARERR_UNLOCKED 1 #endif # 375 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'clock', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_CLOCK 1 #endif # 382 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'errno', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_ERRNO 1 #endif # 389 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'feof_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_FEOF_UNLOCKED 1 #endif # 396 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'ferror_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_FERROR_UNLOCKED 1 #endif # 403 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'fflush_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_FFLUSH_UNLOCKED 0 #endif # 410 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'fgetc_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_FGETC_UNLOCKED 0 #endif # 417 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'fgets_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_FGETS_UNLOCKED 0 #endif # 424 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'fileno_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_FILENO_UNLOCKED 1 #endif # 431 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'fprintf_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_FPRINTF_UNLOCKED 0 #endif # 438 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'fputc_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_FPUTC_UNLOCKED 0 #endif # 445 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'fputs_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_FPUTS_UNLOCKED 0 #endif # 452 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'fread_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_FREAD_UNLOCKED 0 #endif # 459 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'free', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_FREE 1 #endif # 465 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'fwrite_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_FWRITE_UNLOCKED 0 #endif # 472 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'getchar_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_GETCHAR_UNLOCKED 1 #endif # 479 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'getcwd', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_GETCWD 1 #endif # 486 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'getc_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_GETC_UNLOCKED 1 #endif # 493 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'getenv', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_GETENV 1 #endif # 500 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'getopt', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_GETOPT 1 #endif # 507 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'getpagesize', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_GETPAGESIZE 1 #endif # 514 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'getrlimit', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_GETRLIMIT 1 #endif # 521 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'getrusage', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_GETRUSAGE 1 #endif # 528 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'getwd', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_GETWD 1 #endif # 535 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'ldgetname', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_LDGETNAME 0 #endif # 542 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'malloc', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_MALLOC 1 #endif # 549 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'putchar_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_PUTCHAR_UNLOCKED 1 #endif # 556 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'putc_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_PUTC_UNLOCKED 1 #endif # 563 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'realloc', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_REALLOC 1 #endif # 570 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'sbrk', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_SBRK 1 #endif # 576 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'setrlimit', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_SETRLIMIT 1 #endif # 583 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'sigaltstack', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_SIGALTSTACK 1 #endif # 590 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'snprintf', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_SNPRINTF 1 #endif # 597 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'strsignal', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_STRSIGNAL 1 #endif # 604 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'strstr', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_STRSTR 1 #endif # 611 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'strverscmp', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_STRVERSCMP 0 #endif # 618 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'times', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_TIMES 1 #endif # 625 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'vasprintf', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_VASPRINTF 1 #endif # 632 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'vsnprintf', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_VSNPRINTF 1 #endif # 639 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET /* #undef HAVE_DIRECT_H */ #endif # 645 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_FCNTL_H 1 #endif # 651 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `feof_unlocked' function. */ #ifndef USED_FOR_TARGET #define HAVE_FEOF_UNLOCKED 1 #endif # 657 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `ferror_unlocked' function. */ #ifndef USED_FOR_TARGET #define HAVE_FERROR_UNLOCKED 1 #endif # 663 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `fflush_unlocked' function. */ #ifndef USED_FOR_TARGET /* #undef HAVE_FFLUSH_UNLOCKED */ #endif # 669 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `fgetc_unlocked' function. */ #ifndef USED_FOR_TARGET /* #undef HAVE_FGETC_UNLOCKED */ #endif # 675 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `fgets_unlocked' function. */ #ifndef USED_FOR_TARGET /* #undef HAVE_FGETS_UNLOCKED */ #endif # 681 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `fileno_unlocked' function. */ #ifndef USED_FOR_TARGET #define HAVE_FILENO_UNLOCKED 1 #endif # 687 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `fork' function. */ #ifndef USED_FOR_TARGET #define HAVE_FORK 1 #endif # 693 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `fprintf_unlocked' function. */ #ifndef USED_FOR_TARGET /* #undef HAVE_FPRINTF_UNLOCKED */ #endif # 699 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `fputc_unlocked' function. */ #ifndef USED_FOR_TARGET /* #undef HAVE_FPUTC_UNLOCKED */ #endif # 705 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `fputs_unlocked' function. */ #ifndef USED_FOR_TARGET /* #undef HAVE_FPUTS_UNLOCKED */ #endif # 711 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `fread_unlocked' function. */ #ifndef USED_FOR_TARGET /* #undef HAVE_FREAD_UNLOCKED */ #endif # 717 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `fwrite_unlocked' function. */ #ifndef USED_FOR_TARGET /* #undef HAVE_FWRITE_UNLOCKED */ #endif # 723 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports .balign and .p2align. */ #ifndef USED_FOR_TARGET #define HAVE_GAS_BALIGN_AND_P2ALIGN 1 #endif # 729 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler uses the new HImode fild and fist notation. */ #ifndef USED_FOR_TARGET #define HAVE_GAS_FILDS_FISTS 1 #endif # 735 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler and linker support .hidden. */ #define HAVE_GAS_HIDDEN 1 /* Define if your assembler supports specifying the maximum number of bytes to skip when using the GAS .p2align command. */ #ifndef USED_FOR_TARGET #define HAVE_GAS_MAX_SKIP_P2ALIGN 1 #endif # 745 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports .nsubspa comdat option. */ #ifndef USED_FOR_TARGET /* #undef HAVE_GAS_NSUBSPA_COMDAT */ #endif # 751 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler and linker support 32-bit section relative relocs via '.secrel32 label'. */ #ifndef USED_FOR_TARGET /* #undef HAVE_GAS_PE_SECREL32_RELOC */ #endif # 758 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define 0/1 if your assembler supports marking sections with SHF_MERGE flag. */ #ifndef USED_FOR_TARGET #define HAVE_GAS_SHF_MERGE 1 #endif # 765 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports .subsection and .subsection -1 starts emitting at the beginning of your section. */ #ifndef USED_FOR_TARGET #define HAVE_GAS_SUBSECTION_ORDERING 1 #endif # 772 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports .weak. */ #ifndef USED_FOR_TARGET #define HAVE_GAS_WEAK 1 #endif # 778 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports .weakref. */ #ifndef USED_FOR_TARGET #define HAVE_GAS_WEAKREF 1 #endif # 784 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `getchar_unlocked' function. */ #ifndef USED_FOR_TARGET #define HAVE_GETCHAR_UNLOCKED 1 #endif # 790 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `getc_unlocked' function. */ #ifndef USED_FOR_TARGET #define HAVE_GETC_UNLOCKED 1 #endif # 796 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if system unwind library has _Unwind_GetIPInfo. */ #define HAVE_GETIPINFO 1 /* Define to 1 if you have the `getrlimit' function. */ #ifndef USED_FOR_TARGET #define HAVE_GETRLIMIT 1 #endif # 805 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `getrusage' function. */ #ifndef USED_FOR_TARGET #define HAVE_GETRUSAGE 1 #endif # 811 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `gettimeofday' function. */ #ifndef USED_FOR_TARGET #define HAVE_GETTIMEOFDAY 1 #endif # 817 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you have the iconv() function. */ #ifndef USED_FOR_TARGET #define HAVE_ICONV 1 #endif # 823 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET /* #undef HAVE_ICONV_H */ #endif # 829 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define .init_array/.fini_array sections are available and working. */ #ifndef USED_FOR_TARGET /* #undef HAVE_INITFINI_ARRAY */ #endif # 835 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you have a working header file. */ #ifndef USED_FOR_TARGET #define HAVE_INTTYPES_H 1 #endif # 841 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `kill' function. */ #ifndef USED_FOR_TARGET #define HAVE_KILL 1 #endif # 847 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you have and nl_langinfo(CODESET). */ #ifndef USED_FOR_TARGET #define HAVE_LANGINFO_CODESET 1 #endif # 853 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_LANGINFO_H 1 #endif # 859 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your file defines LC_MESSAGES. */ #ifndef USED_FOR_TARGET #define HAVE_LC_MESSAGES 1 #endif # 865 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET /* #undef HAVE_LDFCN_H */ #endif # 871 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your linker supports --as-needed and --no-as-needed options. */ #ifndef USED_FOR_TARGET #define HAVE_LD_AS_NEEDED 1 #endif # 877 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your linker supports --demangle option. */ #ifndef USED_FOR_TARGET /* #undef HAVE_LD_DEMANGLE */ #endif # 883 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your linker supports --eh-frame-hdr option. */ #define HAVE_LD_EH_FRAME_HDR 1 /* Define if your PowerPC64 linker only needs function descriptor syms. */ #ifndef USED_FOR_TARGET #define HAVE_LD_NO_DOT_SYMS 1 #endif # 892 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your linker supports -pie option. */ #ifndef USED_FOR_TARGET #define HAVE_LD_PIE 1 #endif # 898 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your linker links a mix of read-only and read-write sections into a read-write section. */ #ifndef USED_FOR_TARGET #define HAVE_LD_RO_RW_SECTION_MIXING 1 #endif # 905 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your linker supports -Bstatic/-Bdynamic option. */ #ifndef USED_FOR_TARGET #define HAVE_LD_STATIC_DYNAMIC 1 #endif # 911 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your linker supports --sysroot. */ #ifndef USED_FOR_TARGET #define HAVE_LD_SYSROOT 1 #endif # 917 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_LIMITS_H 1 #endif # 923 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_LOCALE_H 1 #endif # 929 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if the system has the type `long long'. */ #ifndef USED_FOR_TARGET #define HAVE_LONG_LONG 1 #endif # 935 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET /* #undef HAVE_MALLOC_H */ #endif # 941 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `mbstowcs' function. */ #ifndef USED_FOR_TARGET #define HAVE_MBSTOWCS 1 #endif # 947 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if valgrind's memcheck.h header is installed. */ #ifndef USED_FOR_TARGET /* #undef HAVE_MEMCHECK_H */ #endif # 953 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_MEMORY_H 1 #endif # 959 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `mincore' function. */ #ifndef USED_FOR_TARGET #define HAVE_MINCORE 1 #endif # 965 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `mmap' function. */ #ifndef USED_FOR_TARGET #define HAVE_MMAP 1 #endif # 971 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if mmap with MAP_ANON(YMOUS) works. */ #ifndef USED_FOR_TARGET #define HAVE_MMAP_ANON 1 #endif # 977 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if mmap of /dev/zero works. */ #ifndef USED_FOR_TARGET #define HAVE_MMAP_DEV_ZERO 1 #endif # 983 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if read-only mmap of a plain file works. */ #ifndef USED_FOR_TARGET #define HAVE_MMAP_FILE 1 #endif # 989 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `nl_langinfo' function. */ #ifndef USED_FOR_TARGET #define HAVE_NL_LANGINFO 1 #endif # 995 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `putchar_unlocked' function. */ #ifndef USED_FOR_TARGET #define HAVE_PUTCHAR_UNLOCKED 1 #endif # 1001 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `putc_unlocked' function. */ #ifndef USED_FOR_TARGET #define HAVE_PUTC_UNLOCKED 1 #endif # 1007 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `scandir' function. */ #ifndef USED_FOR_TARGET #define HAVE_SCANDIR 1 #endif # 1013 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `setlocale' function. */ #ifndef USED_FOR_TARGET #define HAVE_SETLOCALE 1 #endif # 1019 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `setrlimit' function. */ #ifndef USED_FOR_TARGET #define HAVE_SETRLIMIT 1 #endif # 1025 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_STDDEF_H 1 #endif # 1031 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_STDINT_H 1 #endif # 1037 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_STDLIB_H 1 #endif # 1043 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_STRINGS_H 1 #endif # 1049 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_STRING_H 1 #endif # 1055 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `strsignal' function. */ #ifndef USED_FOR_TARGET #define HAVE_STRSIGNAL 1 #endif # 1061 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if defines struct tms. */ #ifndef USED_FOR_TARGET #define HAVE_STRUCT_TMS 1 #endif # 1067 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `sysconf' function. */ #ifndef USED_FOR_TARGET #define HAVE_SYSCONF 1 #endif # 1073 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_SYS_FILE_H 1 #endif # 1079 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_SYS_MMAN_H 1 #endif # 1085 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_SYS_PARAM_H 1 #endif # 1091 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_SYS_RESOURCE_H 1 #endif # 1097 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_SYS_STAT_H 1 #endif # 1103 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_SYS_TIMES_H 1 #endif # 1109 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_SYS_TIME_H 1 #endif # 1115 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_SYS_TYPES_H 1 #endif # 1121 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have that is POSIX.1 compatible. */ #ifndef USED_FOR_TARGET #define HAVE_SYS_WAIT_H 1 #endif # 1127 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `times' function. */ #ifndef USED_FOR_TARGET #define HAVE_TIMES 1 #endif # 1133 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_TIME_H 1 #endif # 1139 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_UNISTD_H 1 #endif # 1145 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if valgrind's valgrind/memcheck.h header is installed. */ #ifndef USED_FOR_TARGET /* #undef HAVE_VALGRIND_MEMCHECK_H */ #endif # 1151 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `vfork' function. */ #ifndef USED_FOR_TARGET #define HAVE_VFORK 1 #endif # 1157 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET /* #undef HAVE_VFORK_H */ #endif # 1163 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_WCHAR_H 1 #endif # 1169 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `wcswidth' function. */ #ifndef USED_FOR_TARGET #define HAVE_WCSWIDTH 1 #endif # 1175 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if `fork' works. */ #ifndef USED_FOR_TARGET #define HAVE_WORKING_FORK 1 #endif # 1181 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define this macro if mbstowcs does not crash when its first argument is NULL. */ #ifndef USED_FOR_TARGET #define HAVE_WORKING_MBSTOWCS 1 #endif # 1188 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if `vfork' works. */ #ifndef USED_FOR_TARGET #define HAVE_WORKING_VFORK 1 #endif # 1194 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if the system has the type `__int64'. */ #ifndef USED_FOR_TARGET /* #undef HAVE___INT64 */ #endif # 1200 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define as const if the declaration of iconv() needs const. */ #ifndef USED_FOR_TARGET #define ICONV_CONST const #endif # 1206 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if host mkdir takes a single argument. */ #ifndef USED_FOR_TARGET /* #undef MKDIR_TAKES_ONE_ARG */ #endif # 1212 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */ #ifndef USED_FOR_TARGET #define NEED_64BIT_HOST_WIDE_INT 1 #endif # 1218 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if your C compiler doesn't accept -c and -o together. */ #ifndef USED_FOR_TARGET /* #undef NO_MINUS_C_MINUS_O */ #endif # 1224 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to the address where bug reports for this package should be sent. */ #ifndef USED_FOR_TARGET #define PACKAGE_BUGREPORT "" #endif # 1230 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to the full name of this package. */ #ifndef USED_FOR_TARGET #define PACKAGE_NAME "" #endif # 1236 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to the full name and version of this package. */ #ifndef USED_FOR_TARGET #define PACKAGE_STRING "" #endif # 1242 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to the one symbol short name of this package. */ #ifndef USED_FOR_TARGET #define PACKAGE_TARNAME "" #endif # 1248 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to the version of this package. */ #ifndef USED_FOR_TARGET #define PACKAGE_VERSION "" #endif # 1254 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to PREFIX/include if cpp should also search that directory. */ #ifndef USED_FOR_TARGET /* #undef PREFIX_INCLUDE_DIR */ #endif # 1260 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* The size of a `int', as computed by sizeof. */ #ifndef USED_FOR_TARGET #define SIZEOF_INT 4 #endif # 1266 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* The size of a `long', as computed by sizeof. */ #ifndef USED_FOR_TARGET #define SIZEOF_LONG 4 #endif # 1272 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* The size of a `long long', as computed by sizeof. */ #ifndef USED_FOR_TARGET #define SIZEOF_LONG_LONG 8 #endif # 1278 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* The size of a `short', as computed by sizeof. */ #ifndef USED_FOR_TARGET #define SIZEOF_SHORT 2 #endif # 1284 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* The size of a `void *', as computed by sizeof. */ #ifndef USED_FOR_TARGET #define SIZEOF_VOID_P 4 #endif # 1290 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* The size of a `__int64', as computed by sizeof. */ #ifndef USED_FOR_TARGET /* #undef SIZEOF___INT64 */ #endif # 1296 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the ANSI C header files. */ #ifndef USED_FOR_TARGET #define STDC_HEADERS 1 #endif # 1302 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you can safely include both and . */ #ifndef USED_FOR_TARGET #define STRING_WITH_STRINGS 1 #endif # 1308 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if TFmode long double should be the default */ #ifndef USED_FOR_TARGET /* #undef TARGET_DEFAULT_LONG_DOUBLE_128 */ #endif # 1314 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your target C library provides stack protector support */ #ifndef USED_FOR_TARGET #define TARGET_LIBC_PROVIDES_SSP 1 #endif # 1320 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you can safely include both and . */ #ifndef USED_FOR_TARGET #define TIME_WITH_SYS_TIME 1 #endif # 1326 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler mis-optimizes .eh_frame data. */ #ifndef USED_FOR_TARGET /* #undef USE_AS_TRADITIONAL_FORMAT */ #endif # 1332 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if the 'long long' (or '__int64') is wider than 'long' but still efficiently supported by the host hardware. */ #ifndef USED_FOR_TARGET /* #undef USE_LONG_LONG_FOR_WIDEST_FAST_INT */ #endif # 1339 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if location_t is fileline integer cookie. */ #ifndef USED_FOR_TARGET /* #undef USE_MAPPED_LOCATION */ #endif # 1345 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to be the last component of the Windows registry key under which to look for installation paths. The full key used will be HKEY_LOCAL_MACHINE/SOFTWARE/Free Software Foundation/{WIN32_REGISTRY_KEY}. The default is the GCC version number. */ #ifndef USED_FOR_TARGET /* #undef WIN32_REGISTRY_KEY */ #endif # 1354 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ #ifndef USED_FOR_TARGET /* #undef WORDS_BIGENDIAN */ #endif # 1361 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Always define this when using the GNU C Library */ #ifndef USED_FOR_TARGET /* #undef _GNU_SOURCE */ #endif # 1367 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to `int' if doesn't define. */ #ifndef USED_FOR_TARGET /* #undef gid_t */ #endif # 1373 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus /* #undef inline */ #endif # 1380 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to `int' if does not define. */ #ifndef USED_FOR_TARGET /* #undef pid_t */ #endif # 1385 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to \`long' if doesn't define. */ #ifndef USED_FOR_TARGET /* #undef rlim_t */ #endif # 1391 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to `int' if does not define. */ #ifndef USED_FOR_TARGET /* #undef ssize_t */ #endif # 1397 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to `int' if doesn't define. */ #ifndef USED_FOR_TARGET /* #undef uid_t */ #endif # 1403 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define as `fork' if `vfork' does not work. */ #ifndef USED_FOR_TARGET /* #undef vfork */ #endif # 1409 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Override SIZEOF_?? using proper values. */ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 1411 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" # 1 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/size-host.h" 1 /* $FreeBSD: projects/clang360-import/gnu/usr.bin/cc/cc_tools/size-host.h 169718 2007-05-19 04:25:59Z kan $ */ #ifdef SIZEOF_INT # undef SIZEOF_INT #endif # 6 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/size-host.h" #ifdef SIZEOF_SHORT # undef SIZEOF_SHORT #endif # 10 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/size-host.h" #ifdef SIZEOF_LONG # undef SIZEOF_LONG #endif # 14 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/size-host.h" #ifdef SIZEOF_VOID_P # undef SIZEOF_VOID_P #endif # 18 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/size-host.h" #ifdef SIZEOF_LONG_LONG # undef SIZEOF_LONG_LONG #endif # 22 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/size-host.h" #ifdef HOST_WIDE_INT # undef HOST_WIDE_INT #endif # 26 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/size-host.h" #define SIZEOF_INT 4 #define SIZEOF_SHORT 2 #define SIZEOF_LONG_LONG 8 #if __LP64__ #define SIZEOF_LONG 8 #define SIZEOF_VOID_P 8 #define HOST_WIDE_INT long #else # 36 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/size-host.h" #define SIZEOF_LONG 4 #define SIZEOF_VOID_P 4 #define HOST_WIDE_INT long long #endif # 40 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/size-host.h" #ifdef WORDS_BIGENDIAN #undef WORDS_BIGENDIAN #endif # 44 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/size-host.h" #if defined(__sparc64__) || defined(__ARMEB__) #define WORDS_BIGENDIAN 1 #endif # 48 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/size-host.h" # 1412 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" 2 # 61 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" 2 #undef gid_t #undef pid_t #undef rlim_t #undef ssize_t #undef uid_t #undef vfork #if 0 /* expanded by -frewrite-includes */ #include "tconfig.h" #endif /* expanded by -frewrite-includes */ # 67 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" # 1 "./tconfig.h" 1 #ifndef GCC_TCONFIG_H #define GCC_TCONFIG_H #ifndef USED_FOR_TARGET # define USED_FOR_TARGET #endif # 6 "./tconfig.h" #if 0 /* expanded by -frewrite-includes */ #include "auto-host.h" #endif /* expanded by -frewrite-includes */ # 6 "./tconfig.h" # 1 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" 1 /* auto-host.h. Generated by configure. */ /* config.in. Generated from configure.ac by autoheader. */ /* $FreeBSD: projects/clang360-import/gnu/usr.bin/cc/cc_tools/auto-host.h 238255 2012-07-08 17:02:14Z nwhitehorn $ */ /* Define as the number of bits in a byte, if \`limits.h' doesn't. */ #ifndef USED_FOR_TARGET /* #undef CHAR_BIT */ #endif # 9 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define 0/1 to force the choice for exception handling model. */ #ifndef USED_FOR_TARGET /* #undef CONFIG_SJLJ_EXCEPTIONS */ #endif # 15 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to enable the use of a default assembler. */ #ifndef USED_FOR_TARGET /* #undef DEFAULT_ASSEMBLER */ #endif # 21 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to enable the use of a default linker. */ #ifndef USED_FOR_TARGET /* #undef DEFAULT_LINKER */ #endif # 27 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you want to use __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global objects. This is essential for fully standards-compliant handling of destructors, but requires __cxa_atexit in libc. */ #ifndef USED_FOR_TARGET #define DEFAULT_USE_CXA_ATEXIT 1 #endif # 36 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you want assertions enabled. This is a cheap check. */ #ifndef USED_FOR_TARGET #define ENABLE_ASSERT_CHECKING 1 #endif # 42 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you want more run-time sanity checks. This one gets a grab bag of miscellaneous but relatively cheap checks. */ #ifndef USED_FOR_TARGET /* #undef ENABLE_CHECKING */ #endif # 49 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 to enable decimal float extension to C. */ #ifndef USED_FOR_TARGET #define ENABLE_DECIMAL_FLOAT 0 #endif # 55 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you want fold checked that it never destructs its argument. This is quite expensive. */ #ifndef USED_FOR_TARGET /* #undef ENABLE_FOLD_CHECKING */ #endif # 62 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you want the garbage collector to operate in maximally paranoid mode, validating the entire heap and collecting garbage at every opportunity. This is extremely expensive. */ #ifndef USED_FOR_TARGET /* #undef ENABLE_GC_ALWAYS_COLLECT */ #endif # 70 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you want the garbage collector to do object poisoning and other memory allocation checks. This is quite expensive. */ #ifndef USED_FOR_TARGET /* #undef ENABLE_GC_CHECKING */ #endif # 77 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if translation of program messages to the user's native language is requested. */ #ifndef USED_FOR_TARGET /* #undef ENABLE_NLS */ #endif # 84 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you want all operations on RTL (the basic data structure of the optimizer and back end) to be checked for dynamic type safety at runtime. This is quite expensive. */ #ifndef USED_FOR_TARGET /* #undef ENABLE_RTL_CHECKING */ #endif # 92 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you want RTL flag accesses to be checked against the RTL codes that are supported for each access macro. This is relatively cheap. */ #ifndef USED_FOR_TARGET /* #undef ENABLE_RTL_FLAG_CHECKING */ #endif # 99 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you want runtime assertions enabled. This is a cheap check. */ #define ENABLE_RUNTIME_CHECKING 1 /* Define if you want all operations on trees (the basic data structure of the front ends) to be checked for dynamic type safety at runtime. This is moderately expensive. The tree browser debugging routines will also be enabled by this option. */ #ifndef USED_FOR_TARGET /* #undef ENABLE_TREE_CHECKING */ #endif # 111 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you want to run subprograms and generated programs through valgrind (a memory checker). This is extremely expensive. */ #ifndef USED_FOR_TARGET /* #undef ENABLE_VALGRIND_CHECKING */ #endif # 118 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if installation paths should be looked up in the Windows Registry. Ignored on non-Windows hosts. */ #ifndef USED_FOR_TARGET /* #undef ENABLE_WIN32_REGISTRY */ #endif # 125 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to the name of a file containing a list of extra machine modes for this architecture. */ #ifndef USED_FOR_TARGET /* #undef EXTRA_MODES_FILE */ #endif # 132 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to enable detailed memory allocation stats gathering. */ #ifndef USED_FOR_TARGET /* #undef GATHER_STATISTICS */ #endif # 138 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to the type of elements in the array set by `getgroups'. Usually this is either `int' or `gid_t'. */ #ifndef USED_FOR_TARGET #define GETGROUPS_T gid_t #endif # 145 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if the zone collector is in use */ #ifndef USED_FOR_TARGET /* #undef GGC_ZONE */ #endif # 151 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* mcontext_t fields start with __ */ #ifndef USED_FOR_TARGET /* #undef HAS_MCONTEXT_T_UNDERSCORES */ #endif # 157 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `alphasort' function. */ #ifndef USED_FOR_TARGET #define HAVE_ALPHASORT 1 #endif # 163 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports dwarf2 .file/.loc directives, and preserves file table indices exactly as given. */ #ifndef USED_FOR_TARGET #define HAVE_AS_DWARF2_DEBUG_LINE 1 #endif # 170 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports explicit relocations. */ #ifndef USED_FOR_TARGET /* #undef HAVE_AS_EXPLICIT_RELOCS */ #endif # 176 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports fprnd. */ #ifndef USED_FOR_TARGET /* #undef HAVE_AS_FPRND */ #endif # 182 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports the --gdwarf2 option. */ #ifndef USED_FOR_TARGET #define HAVE_AS_GDWARF2_DEBUG_FLAG 1 #endif # 188 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define true if the assembler supports '.long foo@GOTOFF'. */ #ifndef USED_FOR_TARGET #define HAVE_AS_GOTOFF_IN_DATA 1 #endif # 194 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports the --gstabs option. */ #ifndef USED_FOR_TARGET #define HAVE_AS_GSTABS_DEBUG_FLAG 1 #endif # 200 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports the Sun syntax for cmov. */ #ifndef USED_FOR_TARGET /* #undef HAVE_AS_IX86_CMOV_SUN_SYNTAX */ #endif # 206 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports the ffreep mnemonic. */ #ifndef USED_FOR_TARGET #define HAVE_AS_IX86_FFREEP 1 #endif # 212 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports the lituse_jsrdirect relocation. */ #ifndef USED_FOR_TARGET /* #undef HAVE_AS_JSRDIRECT_RELOCS */ #endif # 218 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports .sleb128 and .uleb128. */ #ifndef USED_FOR_TARGET #define HAVE_AS_LEB128 1 #endif # 224 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports ltoffx and ldxmov relocations. */ #ifndef USED_FOR_TARGET #define HAVE_AS_LTOFFX_LDXMOV_RELOCS 1 #endif # 230 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports mfcr field. */ #ifndef USED_FOR_TARGET #define HAVE_AS_MFCRF 1 #endif # 236 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports the -no-mul-bug-abort option. */ #ifndef USED_FOR_TARGET /* #undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION */ #endif # 242 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports offsetable %lo(). */ #ifndef USED_FOR_TARGET #define HAVE_AS_OFFSETABLE_LO10 1 #endif # 248 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports popcntb field. */ #ifndef USED_FOR_TARGET /* #undef HAVE_AS_POPCNTB */ #endif # 254 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports .register. */ #ifndef USED_FOR_TARGET #define HAVE_AS_REGISTER_PSEUDO_OP 1 #endif # 260 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports R_PPC_REL16 relocs. */ #ifndef USED_FOR_TARGET #define HAVE_AS_REL16 #endif # 266 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports -relax option. */ #ifndef USED_FOR_TARGET #define HAVE_AS_RELAX_OPTION 1 #endif # 272 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler and linker support unaligned PC relative relocs. */ #ifndef USED_FOR_TARGET #define HAVE_AS_SPARC_UA_PCREL 1 #endif # 279 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler and linker support unaligned PC relative relocs against hidden symbols. */ #ifndef USED_FOR_TARGET #define HAVE_AS_SPARC_UA_PCREL_HIDDEN 1 #endif # 286 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports thread-local storage. */ #ifndef USED_FOR_TARGET #define HAVE_AS_TLS 1 #endif # 292 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `atoll' function. */ #ifndef USED_FOR_TARGET #define HAVE_ATOLL 1 #endif # 298 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `atoq' function. */ #ifndef USED_FOR_TARGET /* #undef HAVE_ATOQ */ #endif # 304 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `clearerr_unlocked' function. */ #ifndef USED_FOR_TARGET #define HAVE_CLEARERR_UNLOCKED 1 #endif # 310 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `clock' function. */ #ifndef USED_FOR_TARGET #define HAVE_CLOCK 1 #endif # 316 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if defines clock_t. */ #ifndef USED_FOR_TARGET #define HAVE_CLOCK_T 1 #endif # 322 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define 0/1 if your assembler and linker support COMDAT groups. */ #ifndef USED_FOR_TARGET #define HAVE_COMDAT_GROUP 1 #endif # 328 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'abort', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_ABORT 1 #endif # 335 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'asprintf', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_ASPRINTF 1 #endif # 342 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'atof', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_ATOF 1 #endif # 348 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'atol', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_ATOL 1 #endif # 354 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'basename', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_BASENAME 0 #endif # 361 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'calloc', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_CALLOC 1 #endif # 368 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'clearerr_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_CLEARERR_UNLOCKED 1 #endif # 375 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'clock', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_CLOCK 1 #endif # 382 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'errno', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_ERRNO 1 #endif # 389 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'feof_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_FEOF_UNLOCKED 1 #endif # 396 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'ferror_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_FERROR_UNLOCKED 1 #endif # 403 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'fflush_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_FFLUSH_UNLOCKED 0 #endif # 410 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'fgetc_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_FGETC_UNLOCKED 0 #endif # 417 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'fgets_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_FGETS_UNLOCKED 0 #endif # 424 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'fileno_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_FILENO_UNLOCKED 1 #endif # 431 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'fprintf_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_FPRINTF_UNLOCKED 0 #endif # 438 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'fputc_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_FPUTC_UNLOCKED 0 #endif # 445 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'fputs_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_FPUTS_UNLOCKED 0 #endif # 452 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'fread_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_FREAD_UNLOCKED 0 #endif # 459 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'free', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_FREE 1 #endif # 465 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'fwrite_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_FWRITE_UNLOCKED 0 #endif # 472 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'getchar_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_GETCHAR_UNLOCKED 1 #endif # 479 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'getcwd', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_GETCWD 1 #endif # 486 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'getc_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_GETC_UNLOCKED 1 #endif # 493 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'getenv', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_GETENV 1 #endif # 500 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'getopt', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_GETOPT 1 #endif # 507 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'getpagesize', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_GETPAGESIZE 1 #endif # 514 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'getrlimit', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_GETRLIMIT 1 #endif # 521 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'getrusage', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_GETRUSAGE 1 #endif # 528 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'getwd', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_GETWD 1 #endif # 535 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'ldgetname', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_LDGETNAME 0 #endif # 542 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'malloc', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_MALLOC 1 #endif # 549 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'putchar_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_PUTCHAR_UNLOCKED 1 #endif # 556 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'putc_unlocked', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_PUTC_UNLOCKED 1 #endif # 563 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'realloc', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_REALLOC 1 #endif # 570 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'sbrk', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_SBRK 1 #endif # 576 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'setrlimit', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_SETRLIMIT 1 #endif # 583 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'sigaltstack', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_SIGALTSTACK 1 #endif # 590 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'snprintf', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_SNPRINTF 1 #endif # 597 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'strsignal', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_STRSIGNAL 1 #endif # 604 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'strstr', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_STRSTR 1 #endif # 611 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'strverscmp', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_STRVERSCMP 0 #endif # 618 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'times', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_TIMES 1 #endif # 625 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'vasprintf', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_VASPRINTF 1 #endif # 632 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if we found a declaration for 'vsnprintf', otherwise define to 0. */ #ifndef USED_FOR_TARGET #define HAVE_DECL_VSNPRINTF 1 #endif # 639 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET /* #undef HAVE_DIRECT_H */ #endif # 645 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_FCNTL_H 1 #endif # 651 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `feof_unlocked' function. */ #ifndef USED_FOR_TARGET #define HAVE_FEOF_UNLOCKED 1 #endif # 657 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `ferror_unlocked' function. */ #ifndef USED_FOR_TARGET #define HAVE_FERROR_UNLOCKED 1 #endif # 663 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `fflush_unlocked' function. */ #ifndef USED_FOR_TARGET /* #undef HAVE_FFLUSH_UNLOCKED */ #endif # 669 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `fgetc_unlocked' function. */ #ifndef USED_FOR_TARGET /* #undef HAVE_FGETC_UNLOCKED */ #endif # 675 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `fgets_unlocked' function. */ #ifndef USED_FOR_TARGET /* #undef HAVE_FGETS_UNLOCKED */ #endif # 681 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `fileno_unlocked' function. */ #ifndef USED_FOR_TARGET #define HAVE_FILENO_UNLOCKED 1 #endif # 687 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `fork' function. */ #ifndef USED_FOR_TARGET #define HAVE_FORK 1 #endif # 693 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `fprintf_unlocked' function. */ #ifndef USED_FOR_TARGET /* #undef HAVE_FPRINTF_UNLOCKED */ #endif # 699 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `fputc_unlocked' function. */ #ifndef USED_FOR_TARGET /* #undef HAVE_FPUTC_UNLOCKED */ #endif # 705 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `fputs_unlocked' function. */ #ifndef USED_FOR_TARGET /* #undef HAVE_FPUTS_UNLOCKED */ #endif # 711 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `fread_unlocked' function. */ #ifndef USED_FOR_TARGET /* #undef HAVE_FREAD_UNLOCKED */ #endif # 717 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `fwrite_unlocked' function. */ #ifndef USED_FOR_TARGET /* #undef HAVE_FWRITE_UNLOCKED */ #endif # 723 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports .balign and .p2align. */ #ifndef USED_FOR_TARGET #define HAVE_GAS_BALIGN_AND_P2ALIGN 1 #endif # 729 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler uses the new HImode fild and fist notation. */ #ifndef USED_FOR_TARGET #define HAVE_GAS_FILDS_FISTS 1 #endif # 735 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler and linker support .hidden. */ #define HAVE_GAS_HIDDEN 1 /* Define if your assembler supports specifying the maximum number of bytes to skip when using the GAS .p2align command. */ #ifndef USED_FOR_TARGET #define HAVE_GAS_MAX_SKIP_P2ALIGN 1 #endif # 745 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports .nsubspa comdat option. */ #ifndef USED_FOR_TARGET /* #undef HAVE_GAS_NSUBSPA_COMDAT */ #endif # 751 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler and linker support 32-bit section relative relocs via '.secrel32 label'. */ #ifndef USED_FOR_TARGET /* #undef HAVE_GAS_PE_SECREL32_RELOC */ #endif # 758 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define 0/1 if your assembler supports marking sections with SHF_MERGE flag. */ #ifndef USED_FOR_TARGET #define HAVE_GAS_SHF_MERGE 1 #endif # 765 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports .subsection and .subsection -1 starts emitting at the beginning of your section. */ #ifndef USED_FOR_TARGET #define HAVE_GAS_SUBSECTION_ORDERING 1 #endif # 772 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports .weak. */ #ifndef USED_FOR_TARGET #define HAVE_GAS_WEAK 1 #endif # 778 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler supports .weakref. */ #ifndef USED_FOR_TARGET #define HAVE_GAS_WEAKREF 1 #endif # 784 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `getchar_unlocked' function. */ #ifndef USED_FOR_TARGET #define HAVE_GETCHAR_UNLOCKED 1 #endif # 790 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `getc_unlocked' function. */ #ifndef USED_FOR_TARGET #define HAVE_GETC_UNLOCKED 1 #endif # 796 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if system unwind library has _Unwind_GetIPInfo. */ #define HAVE_GETIPINFO 1 /* Define to 1 if you have the `getrlimit' function. */ #ifndef USED_FOR_TARGET #define HAVE_GETRLIMIT 1 #endif # 805 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `getrusage' function. */ #ifndef USED_FOR_TARGET #define HAVE_GETRUSAGE 1 #endif # 811 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `gettimeofday' function. */ #ifndef USED_FOR_TARGET #define HAVE_GETTIMEOFDAY 1 #endif # 817 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you have the iconv() function. */ #ifndef USED_FOR_TARGET #define HAVE_ICONV 1 #endif # 823 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET /* #undef HAVE_ICONV_H */ #endif # 829 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define .init_array/.fini_array sections are available and working. */ #ifndef USED_FOR_TARGET /* #undef HAVE_INITFINI_ARRAY */ #endif # 835 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you have a working header file. */ #ifndef USED_FOR_TARGET #define HAVE_INTTYPES_H 1 #endif # 841 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `kill' function. */ #ifndef USED_FOR_TARGET #define HAVE_KILL 1 #endif # 847 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you have and nl_langinfo(CODESET). */ #ifndef USED_FOR_TARGET #define HAVE_LANGINFO_CODESET 1 #endif # 853 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_LANGINFO_H 1 #endif # 859 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your file defines LC_MESSAGES. */ #ifndef USED_FOR_TARGET #define HAVE_LC_MESSAGES 1 #endif # 865 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET /* #undef HAVE_LDFCN_H */ #endif # 871 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your linker supports --as-needed and --no-as-needed options. */ #ifndef USED_FOR_TARGET #define HAVE_LD_AS_NEEDED 1 #endif # 877 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your linker supports --demangle option. */ #ifndef USED_FOR_TARGET /* #undef HAVE_LD_DEMANGLE */ #endif # 883 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your linker supports --eh-frame-hdr option. */ #define HAVE_LD_EH_FRAME_HDR 1 /* Define if your PowerPC64 linker only needs function descriptor syms. */ #ifndef USED_FOR_TARGET #define HAVE_LD_NO_DOT_SYMS 1 #endif # 892 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your linker supports -pie option. */ #ifndef USED_FOR_TARGET #define HAVE_LD_PIE 1 #endif # 898 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your linker links a mix of read-only and read-write sections into a read-write section. */ #ifndef USED_FOR_TARGET #define HAVE_LD_RO_RW_SECTION_MIXING 1 #endif # 905 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your linker supports -Bstatic/-Bdynamic option. */ #ifndef USED_FOR_TARGET #define HAVE_LD_STATIC_DYNAMIC 1 #endif # 911 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your linker supports --sysroot. */ #ifndef USED_FOR_TARGET #define HAVE_LD_SYSROOT 1 #endif # 917 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_LIMITS_H 1 #endif # 923 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_LOCALE_H 1 #endif # 929 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if the system has the type `long long'. */ #ifndef USED_FOR_TARGET #define HAVE_LONG_LONG 1 #endif # 935 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET /* #undef HAVE_MALLOC_H */ #endif # 941 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `mbstowcs' function. */ #ifndef USED_FOR_TARGET #define HAVE_MBSTOWCS 1 #endif # 947 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if valgrind's memcheck.h header is installed. */ #ifndef USED_FOR_TARGET /* #undef HAVE_MEMCHECK_H */ #endif # 953 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_MEMORY_H 1 #endif # 959 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `mincore' function. */ #ifndef USED_FOR_TARGET #define HAVE_MINCORE 1 #endif # 965 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `mmap' function. */ #ifndef USED_FOR_TARGET #define HAVE_MMAP 1 #endif # 971 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if mmap with MAP_ANON(YMOUS) works. */ #ifndef USED_FOR_TARGET #define HAVE_MMAP_ANON 1 #endif # 977 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if mmap of /dev/zero works. */ #ifndef USED_FOR_TARGET #define HAVE_MMAP_DEV_ZERO 1 #endif # 983 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if read-only mmap of a plain file works. */ #ifndef USED_FOR_TARGET #define HAVE_MMAP_FILE 1 #endif # 989 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `nl_langinfo' function. */ #ifndef USED_FOR_TARGET #define HAVE_NL_LANGINFO 1 #endif # 995 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `putchar_unlocked' function. */ #ifndef USED_FOR_TARGET #define HAVE_PUTCHAR_UNLOCKED 1 #endif # 1001 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `putc_unlocked' function. */ #ifndef USED_FOR_TARGET #define HAVE_PUTC_UNLOCKED 1 #endif # 1007 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `scandir' function. */ #ifndef USED_FOR_TARGET #define HAVE_SCANDIR 1 #endif # 1013 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `setlocale' function. */ #ifndef USED_FOR_TARGET #define HAVE_SETLOCALE 1 #endif # 1019 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `setrlimit' function. */ #ifndef USED_FOR_TARGET #define HAVE_SETRLIMIT 1 #endif # 1025 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_STDDEF_H 1 #endif # 1031 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_STDINT_H 1 #endif # 1037 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_STDLIB_H 1 #endif # 1043 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_STRINGS_H 1 #endif # 1049 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_STRING_H 1 #endif # 1055 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `strsignal' function. */ #ifndef USED_FOR_TARGET #define HAVE_STRSIGNAL 1 #endif # 1061 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if defines struct tms. */ #ifndef USED_FOR_TARGET #define HAVE_STRUCT_TMS 1 #endif # 1067 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `sysconf' function. */ #ifndef USED_FOR_TARGET #define HAVE_SYSCONF 1 #endif # 1073 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_SYS_FILE_H 1 #endif # 1079 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_SYS_MMAN_H 1 #endif # 1085 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_SYS_PARAM_H 1 #endif # 1091 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_SYS_RESOURCE_H 1 #endif # 1097 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_SYS_STAT_H 1 #endif # 1103 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_SYS_TIMES_H 1 #endif # 1109 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_SYS_TIME_H 1 #endif # 1115 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_SYS_TYPES_H 1 #endif # 1121 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have that is POSIX.1 compatible. */ #ifndef USED_FOR_TARGET #define HAVE_SYS_WAIT_H 1 #endif # 1127 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `times' function. */ #ifndef USED_FOR_TARGET #define HAVE_TIMES 1 #endif # 1133 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_TIME_H 1 #endif # 1139 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_UNISTD_H 1 #endif # 1145 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if valgrind's valgrind/memcheck.h header is installed. */ #ifndef USED_FOR_TARGET /* #undef HAVE_VALGRIND_MEMCHECK_H */ #endif # 1151 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `vfork' function. */ #ifndef USED_FOR_TARGET #define HAVE_VFORK 1 #endif # 1157 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET /* #undef HAVE_VFORK_H */ #endif # 1163 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the header file. */ #ifndef USED_FOR_TARGET #define HAVE_WCHAR_H 1 #endif # 1169 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the `wcswidth' function. */ #ifndef USED_FOR_TARGET #define HAVE_WCSWIDTH 1 #endif # 1175 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if `fork' works. */ #ifndef USED_FOR_TARGET #define HAVE_WORKING_FORK 1 #endif # 1181 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define this macro if mbstowcs does not crash when its first argument is NULL. */ #ifndef USED_FOR_TARGET #define HAVE_WORKING_MBSTOWCS 1 #endif # 1188 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if `vfork' works. */ #ifndef USED_FOR_TARGET #define HAVE_WORKING_VFORK 1 #endif # 1194 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if the system has the type `__int64'. */ #ifndef USED_FOR_TARGET /* #undef HAVE___INT64 */ #endif # 1200 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define as const if the declaration of iconv() needs const. */ #ifndef USED_FOR_TARGET #define ICONV_CONST const #endif # 1206 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if host mkdir takes a single argument. */ #ifndef USED_FOR_TARGET /* #undef MKDIR_TAKES_ONE_ARG */ #endif # 1212 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */ #ifndef USED_FOR_TARGET #define NEED_64BIT_HOST_WIDE_INT 1 #endif # 1218 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if your C compiler doesn't accept -c and -o together. */ #ifndef USED_FOR_TARGET /* #undef NO_MINUS_C_MINUS_O */ #endif # 1224 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to the address where bug reports for this package should be sent. */ #ifndef USED_FOR_TARGET #define PACKAGE_BUGREPORT "" #endif # 1230 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to the full name of this package. */ #ifndef USED_FOR_TARGET #define PACKAGE_NAME "" #endif # 1236 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to the full name and version of this package. */ #ifndef USED_FOR_TARGET #define PACKAGE_STRING "" #endif # 1242 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to the one symbol short name of this package. */ #ifndef USED_FOR_TARGET #define PACKAGE_TARNAME "" #endif # 1248 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to the version of this package. */ #ifndef USED_FOR_TARGET #define PACKAGE_VERSION "" #endif # 1254 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to PREFIX/include if cpp should also search that directory. */ #ifndef USED_FOR_TARGET /* #undef PREFIX_INCLUDE_DIR */ #endif # 1260 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* The size of a `int', as computed by sizeof. */ #ifndef USED_FOR_TARGET #define SIZEOF_INT 4 #endif # 1266 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* The size of a `long', as computed by sizeof. */ #ifndef USED_FOR_TARGET #define SIZEOF_LONG 4 #endif # 1272 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* The size of a `long long', as computed by sizeof. */ #ifndef USED_FOR_TARGET #define SIZEOF_LONG_LONG 8 #endif # 1278 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* The size of a `short', as computed by sizeof. */ #ifndef USED_FOR_TARGET #define SIZEOF_SHORT 2 #endif # 1284 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* The size of a `void *', as computed by sizeof. */ #ifndef USED_FOR_TARGET #define SIZEOF_VOID_P 4 #endif # 1290 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* The size of a `__int64', as computed by sizeof. */ #ifndef USED_FOR_TARGET /* #undef SIZEOF___INT64 */ #endif # 1296 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you have the ANSI C header files. */ #ifndef USED_FOR_TARGET #define STDC_HEADERS 1 #endif # 1302 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if you can safely include both and . */ #ifndef USED_FOR_TARGET #define STRING_WITH_STRINGS 1 #endif # 1308 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if TFmode long double should be the default */ #ifndef USED_FOR_TARGET /* #undef TARGET_DEFAULT_LONG_DOUBLE_128 */ #endif # 1314 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your target C library provides stack protector support */ #ifndef USED_FOR_TARGET #define TARGET_LIBC_PROVIDES_SSP 1 #endif # 1320 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if you can safely include both and . */ #ifndef USED_FOR_TARGET #define TIME_WITH_SYS_TIME 1 #endif # 1326 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if your assembler mis-optimizes .eh_frame data. */ #ifndef USED_FOR_TARGET /* #undef USE_AS_TRADITIONAL_FORMAT */ #endif # 1332 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if the 'long long' (or '__int64') is wider than 'long' but still efficiently supported by the host hardware. */ #ifndef USED_FOR_TARGET /* #undef USE_LONG_LONG_FOR_WIDEST_FAST_INT */ #endif # 1339 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define if location_t is fileline integer cookie. */ #ifndef USED_FOR_TARGET /* #undef USE_MAPPED_LOCATION */ #endif # 1345 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to be the last component of the Windows registry key under which to look for installation paths. The full key used will be HKEY_LOCAL_MACHINE/SOFTWARE/Free Software Foundation/{WIN32_REGISTRY_KEY}. The default is the GCC version number. */ #ifndef USED_FOR_TARGET /* #undef WIN32_REGISTRY_KEY */ #endif # 1354 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ #ifndef USED_FOR_TARGET /* #undef WORDS_BIGENDIAN */ #endif # 1361 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Always define this when using the GNU C Library */ #ifndef USED_FOR_TARGET /* #undef _GNU_SOURCE */ #endif # 1367 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to `int' if doesn't define. */ #ifndef USED_FOR_TARGET /* #undef gid_t */ #endif # 1373 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus /* #undef inline */ #endif # 1380 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to `int' if does not define. */ #ifndef USED_FOR_TARGET /* #undef pid_t */ #endif # 1385 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to \`long' if doesn't define. */ #ifndef USED_FOR_TARGET /* #undef rlim_t */ #endif # 1391 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to `int' if does not define. */ #ifndef USED_FOR_TARGET /* #undef ssize_t */ #endif # 1397 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define to `int' if doesn't define. */ #ifndef USED_FOR_TARGET /* #undef uid_t */ #endif # 1403 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Define as `fork' if `vfork' does not work. */ #ifndef USED_FOR_TARGET /* #undef vfork */ #endif # 1409 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" /* Override SIZEOF_?? using proper values. */ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 1411 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" # 1 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/size-host.h" 1 /* $FreeBSD: projects/clang360-import/gnu/usr.bin/cc/cc_tools/size-host.h 169718 2007-05-19 04:25:59Z kan $ */ #ifdef SIZEOF_INT # undef SIZEOF_INT #endif # 6 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/size-host.h" #ifdef SIZEOF_SHORT # undef SIZEOF_SHORT #endif # 10 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/size-host.h" #ifdef SIZEOF_LONG # undef SIZEOF_LONG #endif # 14 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/size-host.h" #ifdef SIZEOF_VOID_P # undef SIZEOF_VOID_P #endif # 18 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/size-host.h" #ifdef SIZEOF_LONG_LONG # undef SIZEOF_LONG_LONG #endif # 22 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/size-host.h" #ifdef HOST_WIDE_INT # undef HOST_WIDE_INT #endif # 26 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/size-host.h" #define SIZEOF_INT 4 #define SIZEOF_SHORT 2 #define SIZEOF_LONG_LONG 8 #if __LP64__ #define SIZEOF_LONG 8 #define SIZEOF_VOID_P 8 #define HOST_WIDE_INT long #else # 36 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/size-host.h" #define SIZEOF_LONG 4 #define SIZEOF_VOID_P 4 #define HOST_WIDE_INT long long #endif # 40 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/size-host.h" #ifdef WORDS_BIGENDIAN #undef WORDS_BIGENDIAN #endif # 44 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/size-host.h" #if defined(__sparc64__) || defined(__ARMEB__) #define WORDS_BIGENDIAN 1 #endif # 48 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/size-host.h" # 1412 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/auto-host.h" 2 # 7 "./tconfig.h" 2 #ifdef IN_GCC #if 0 /* expanded by -frewrite-includes */ # include "ansidecl.h" #endif /* expanded by -frewrite-includes */ # 8 "./tconfig.h" # 1 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" 1 /* ANSI and traditional C compatability macros Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ /* ANSI and traditional C compatibility macros ANSI C is assumed if __STDC__ is #defined. Macro ANSI C definition Traditional C definition ----- ---- - ---------- ----------- - ---------- ANSI_PROTOTYPES 1 not defined PTR `void *' `char *' PTRCONST `void *const' `char *' LONG_DOUBLE `long double' `double' const not defined `' volatile not defined `' signed not defined `' VA_START(ap, var) va_start(ap, var) va_start(ap) Note that it is safe to write "void foo();" indicating a function with no return value, in all K+R compilers we have been able to test. For declaring functions with prototypes, we also provide these: PARAMS ((prototype)) -- for functions which take a fixed number of arguments. Use this when declaring the function. When defining the function, write a K+R style argument list. For example: char *strcpy PARAMS ((char *dest, char *source)); ... char * strcpy (dest, source) char *dest; char *source; { ... } VPARAMS ((prototype, ...)) -- for functions which take a variable number of arguments. Use PARAMS to declare the function, VPARAMS to define it. For example: int printf PARAMS ((const char *format, ...)); ... int printf VPARAMS ((const char *format, ...)) { ... } For writing functions which take variable numbers of arguments, we also provide the VA_OPEN, VA_CLOSE, and VA_FIXEDARG macros. These hide the differences between K+R and C89 more thoroughly than the simple VA_START() macro mentioned above. VA_OPEN and VA_CLOSE are used *instead of* va_start and va_end. Immediately after VA_OPEN, put a sequence of VA_FIXEDARG calls corresponding to the list of fixed arguments. Then use va_arg normally to get the variable arguments, or pass your va_list object around. You do not declare the va_list yourself; VA_OPEN does it for you. Here is a complete example: int printf VPARAMS ((const char *format, ...)) { int result; VA_OPEN (ap, format); VA_FIXEDARG (ap, const char *, format); result = vfprintf (stdout, format, ap); VA_CLOSE (ap); return result; } You can declare variables either before or after the VA_OPEN, VA_FIXEDARG sequence. Also, VA_OPEN and VA_CLOSE are the beginning and end of a block. They must appear at the same nesting level, and any variables declared after VA_OPEN go out of scope at VA_CLOSE. Unfortunately, with a K+R compiler, that includes the argument list. You can have multiple instances of VA_OPEN/VA_CLOSE pairs in a single function in case you need to traverse the argument list more than once. For ease of writing code which uses GCC extensions but needs to be portable to other compilers, we provide the GCC_VERSION macro that simplifies testing __GNUC__ and __GNUC_MINOR__ together, and various wrappers around __attribute__. Also, __extension__ will be #defined to nothing if it doesn't work. See below. This header also defines a lot of obsolete macros: CONST, VOLATILE, SIGNED, PROTO, EXFUN, DEFUN, DEFUN_VOID, AND, DOTS, NOARGS. Don't use them. */ #ifndef _ANSIDECL_H #define _ANSIDECL_H 1 /* Every source file includes this file, so they will all get the switch for lint. */ /* LINTLIBRARY */ /* Using MACRO(x,y) in cpp #if conditionals does not work with some older preprocessors. Thus we can't define something like this: #define HAVE_GCC_VERSION(MAJOR, MINOR) \ (__GNUC__ > (MAJOR) || (__GNUC__ == (MAJOR) && __GNUC_MINOR__ >= (MINOR))) and then test "#if HAVE_GCC_VERSION(2,7)". So instead we use the macro below and test it against specific values. */ /* This macro simplifies testing whether we are using gcc, and if it is of a particular minimum version. (Both major & minor numbers are significant.) This macro will evaluate to 0 if we are not using gcc at all. */ #ifndef GCC_VERSION #define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__) #endif /* GCC_VERSION */ # 138 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" #if defined (__STDC__) || defined (_AIX) || (defined (__mips) && defined (_SYSTYPE_SVR4)) || defined(_WIN32) || (defined(__alpha) && defined(__cplusplus)) /* All known AIX compilers implement these things (but don't always define __STDC__). The RISC/OS MIPS compiler defines these things in SVR4 mode, but does not define __STDC__. */ /* eraxxon@alumni.rice.edu: The Compaq C++ compiler, unlike many other C++ compilers, does not define __STDC__, though it acts as if this was so. (Verified versions: 5.7, 6.2, 6.3, 6.5) */ #define ANSI_PROTOTYPES 1 #define PTR void * #define PTRCONST void *const #define LONG_DOUBLE long double /* PARAMS is often defined elsewhere (e.g. by libintl.h), so wrap it in a #ifndef. */ #ifndef PARAMS #define PARAMS(ARGS) ARGS #endif # 157 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" #define VPARAMS(ARGS) ARGS #define VA_START(VA_LIST, VAR) va_start(VA_LIST, VAR) /* variadic function helper macros */ /* "struct Qdmy" swallows the semicolon after VA_OPEN/VA_FIXEDARG's use without inhibiting further decls and without declaring an actual variable. */ #define VA_OPEN(AP, VAR) { va_list AP; va_start(AP, VAR); { struct Qdmy #define VA_CLOSE(AP) } va_end(AP); } #define VA_FIXEDARG(AP, T, N) struct Qdmy #undef const #undef volatile #undef signed /* inline requires special treatment; it's in C99, and GCC >=2.7 supports it too, but it's not in C89. */ #undef inline #if __STDC_VERSION__ > 199901L /* it's a keyword */ #else # 179 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" # if GCC_VERSION >= 2007 # define inline __inline__ /* __inline__ prevents -pedantic warnings */ # else # 182 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" # define inline /* nothing */ # endif # 184 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" #endif # 185 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" /* These are obsolete. Do not use. */ #ifndef IN_GCC #define CONST const #define VOLATILE volatile #define SIGNED signed #define PROTO(type, name, arglist) type name arglist #define EXFUN(name, proto) name proto #define DEFUN(name, arglist, args) name(args) #define DEFUN_VOID(name) name(void) #define AND , #define DOTS , ... #define NOARGS void #endif /* ! IN_GCC */ # 200 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" #else /* Not ANSI C. */ # 202 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" #undef ANSI_PROTOTYPES #define PTR char * #define PTRCONST PTR #define LONG_DOUBLE double #define PARAMS(args) () #define VPARAMS(args) (va_alist) va_dcl #define VA_START(va_list, var) va_start(va_list) #define VA_OPEN(AP, VAR) { va_list AP; va_start(AP); { struct Qdmy #define VA_CLOSE(AP) } va_end(AP); } #define VA_FIXEDARG(AP, TYPE, NAME) TYPE NAME = va_arg(AP, TYPE) /* some systems define these in header files for non-ansi mode */ #undef const #undef volatile #undef signed #undef inline #define const #define volatile #define signed #define inline #ifndef IN_GCC #define CONST #define VOLATILE #define SIGNED #define PROTO(type, name, arglist) type name () #define EXFUN(name, proto) name() #define DEFUN(name, arglist, args) name arglist args; #define DEFUN_VOID(name) name() #define AND ; #define DOTS #define NOARGS #endif /* ! IN_GCC */ # 239 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" #endif /* ANSI C. */ # 241 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" /* Define macros for some gcc attributes. This permits us to use the macros freely, and know that they will come into play for the version of gcc in which they are supported. */ #if (GCC_VERSION < 2007) # define __attribute__(x) #endif # 249 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" /* Attribute __malloc__ on functions was valid as of gcc 2.96. */ #ifndef ATTRIBUTE_MALLOC # if (GCC_VERSION >= 2096) # define ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) # else # 255 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" # define ATTRIBUTE_MALLOC # endif /* GNUC >= 2.96 */ # 257 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" #endif /* ATTRIBUTE_MALLOC */ # 258 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" /* Attributes on labels were valid as of gcc 2.93. */ #ifndef ATTRIBUTE_UNUSED_LABEL # if (!defined (__cplusplus) && GCC_VERSION >= 2093) # define ATTRIBUTE_UNUSED_LABEL ATTRIBUTE_UNUSED # else # 264 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" # define ATTRIBUTE_UNUSED_LABEL # endif /* !__cplusplus && GNUC >= 2.93 */ # 266 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" #endif /* ATTRIBUTE_UNUSED_LABEL */ # 267 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" #ifndef ATTRIBUTE_UNUSED #define ATTRIBUTE_UNUSED __attribute__ ((__unused__)) #endif /* ATTRIBUTE_UNUSED */ # 271 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" /* Before GCC 3.4, the C++ frontend couldn't parse attributes placed after the identifier name. */ #if ! defined(__cplusplus) || (GCC_VERSION >= 3004) # define ARG_UNUSED(NAME) NAME ATTRIBUTE_UNUSED #else /* !__cplusplus || GNUC >= 3.4 */ # 277 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" # define ARG_UNUSED(NAME) NAME #endif /* !__cplusplus || GNUC >= 3.4 */ # 279 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" #ifndef ATTRIBUTE_NORETURN #define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) #endif /* ATTRIBUTE_NORETURN */ # 283 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" /* Attribute `nonnull' was valid as of gcc 3.3. */ #ifndef ATTRIBUTE_NONNULL # if (GCC_VERSION >= 3003) # define ATTRIBUTE_NONNULL(m) __attribute__ ((__nonnull__ (m))) # else # 289 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" # define ATTRIBUTE_NONNULL(m) # endif /* GNUC >= 3.3 */ # 291 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" #endif /* ATTRIBUTE_NONNULL */ # 292 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" /* Attribute `pure' was valid as of gcc 3.0. */ #ifndef ATTRIBUTE_PURE # if (GCC_VERSION >= 3000) # define ATTRIBUTE_PURE __attribute__ ((__pure__)) # else # 298 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" # define ATTRIBUTE_PURE # endif /* GNUC >= 3.0 */ # 300 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" #endif /* ATTRIBUTE_PURE */ # 301 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" /* Use ATTRIBUTE_PRINTF when the format specifier must not be NULL. This was the case for the `printf' format attribute by itself before GCC 3.3, but as of 3.3 we need to add the `nonnull' attribute to retain this behavior. */ #ifndef ATTRIBUTE_PRINTF #define ATTRIBUTE_PRINTF(m, n) __attribute__ ((__format__ (__printf__, m, n))) ATTRIBUTE_NONNULL(m) #define ATTRIBUTE_PRINTF_1 ATTRIBUTE_PRINTF(1, 2) #define ATTRIBUTE_PRINTF_2 ATTRIBUTE_PRINTF(2, 3) #define ATTRIBUTE_PRINTF_3 ATTRIBUTE_PRINTF(3, 4) #define ATTRIBUTE_PRINTF_4 ATTRIBUTE_PRINTF(4, 5) #define ATTRIBUTE_PRINTF_5 ATTRIBUTE_PRINTF(5, 6) #endif /* ATTRIBUTE_PRINTF */ # 314 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" /* Use ATTRIBUTE_FPTR_PRINTF when the format attribute is to be set on a function pointer. Format attributes were allowed on function pointers as of gcc 3.1. */ #ifndef ATTRIBUTE_FPTR_PRINTF # if (GCC_VERSION >= 3001) # define ATTRIBUTE_FPTR_PRINTF(m, n) ATTRIBUTE_PRINTF(m, n) # else # 322 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" # define ATTRIBUTE_FPTR_PRINTF(m, n) # endif /* GNUC >= 3.1 */ # 324 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" # define ATTRIBUTE_FPTR_PRINTF_1 ATTRIBUTE_FPTR_PRINTF(1, 2) # define ATTRIBUTE_FPTR_PRINTF_2 ATTRIBUTE_FPTR_PRINTF(2, 3) # define ATTRIBUTE_FPTR_PRINTF_3 ATTRIBUTE_FPTR_PRINTF(3, 4) # define ATTRIBUTE_FPTR_PRINTF_4 ATTRIBUTE_FPTR_PRINTF(4, 5) # define ATTRIBUTE_FPTR_PRINTF_5 ATTRIBUTE_FPTR_PRINTF(5, 6) #endif /* ATTRIBUTE_FPTR_PRINTF */ # 330 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" /* Use ATTRIBUTE_NULL_PRINTF when the format specifier may be NULL. A NULL format specifier was allowed as of gcc 3.3. */ #ifndef ATTRIBUTE_NULL_PRINTF # if (GCC_VERSION >= 3003) # define ATTRIBUTE_NULL_PRINTF(m, n) __attribute__ ((__format__ (__printf__, m, n))) # else # 337 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" # define ATTRIBUTE_NULL_PRINTF(m, n) # endif /* GNUC >= 3.3 */ # 339 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" # define ATTRIBUTE_NULL_PRINTF_1 ATTRIBUTE_NULL_PRINTF(1, 2) # define ATTRIBUTE_NULL_PRINTF_2 ATTRIBUTE_NULL_PRINTF(2, 3) # define ATTRIBUTE_NULL_PRINTF_3 ATTRIBUTE_NULL_PRINTF(3, 4) # define ATTRIBUTE_NULL_PRINTF_4 ATTRIBUTE_NULL_PRINTF(4, 5) # define ATTRIBUTE_NULL_PRINTF_5 ATTRIBUTE_NULL_PRINTF(5, 6) #endif /* ATTRIBUTE_NULL_PRINTF */ # 345 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" /* Attribute `sentinel' was valid as of gcc 3.5. */ #ifndef ATTRIBUTE_SENTINEL # if (GCC_VERSION >= 3005) # define ATTRIBUTE_SENTINEL __attribute__ ((__sentinel__)) # else # 351 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" # define ATTRIBUTE_SENTINEL # endif /* GNUC >= 3.5 */ # 353 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" #endif /* ATTRIBUTE_SENTINEL */ # 354 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" #ifndef ATTRIBUTE_ALIGNED_ALIGNOF # if (GCC_VERSION >= 3000) # define ATTRIBUTE_ALIGNED_ALIGNOF(m) __attribute__ ((__aligned__ (__alignof__ (m)))) # else # 360 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" # define ATTRIBUTE_ALIGNED_ALIGNOF(m) # endif /* GNUC >= 3.0 */ # 362 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" #endif /* ATTRIBUTE_ALIGNED_ALIGNOF */ # 363 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" /* We use __extension__ in some places to suppress -pedantic warnings about GCC extensions. This feature didn't work properly before gcc 2.8. */ #if GCC_VERSION < 2008 #define __extension__ #endif # 370 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" #endif /* ansidecl.h */ # 372 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/ansidecl.h" # 9 "./tconfig.h" 2 #endif # 10 "./tconfig.h" #endif /* GCC_TCONFIG_H */ # 11 "./tconfig.h" # 68 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" 2 #if 0 /* expanded by -frewrite-includes */ #include "tsystem.h" #endif /* expanded by -frewrite-includes */ # 68 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" # 1 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" 1 /* Get common system includes and various definitions and declarations based on target macros. Copyright (C) 2000, 2001, 2004, 2005 Free Software Foundation, Inc. This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING. If not, write to the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* As a special exception, if you link this library with other files, some of which are compiled with GCC, to produce an executable, this library does not by itself cause the resulting executable to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU General Public License. */ #ifndef GCC_TSYSTEM_H #define GCC_TSYSTEM_H /* System headers (e.g. stdio.h, stdlib.h, unistd.h) sometimes indirectly include getopt.h. Our -I flags will cause gcc's gnu getopt.h to be included, not the platform's copy. In the default case, gnu getopt.h will provide us with a no-argument prototype which will generate -Wstrict-prototypes warnings. None of the target files actually use getopt, so it is safe to tell gnu getopt.h we never need this prototype. */ #ifndef HAVE_DECL_GETOPT #define HAVE_DECL_GETOPT 1 #endif # 42 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" /* We want everything from the glibc headers. */ #define _GNU_SOURCE 1 /* GCC supplies these headers. */ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 47 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stddef.h" 1 3 4 /*- * Copyright (c) 1990, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)stddef.h 8.1 (Berkeley) 6/2/93 * * $FreeBSD: projects/clang360-import/include/stddef.h 270277 2014-08-21 15:10:10Z kan $ */ #ifndef _STDDEF_H_ #define _STDDEF_H_ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 37 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stddef.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 1 3 4 /*- * Copyright (c) 1991, 1993 * The Regents of the University of California. All rights reserved. * * This code is derived from software contributed to Berkeley by * Berkeley Software Design, Inc. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)cdefs.h 8.8 (Berkeley) 1/9/95 * $FreeBSD: projects/clang360-import/sys/sys/cdefs.h 277896 2015-01-29 19:21:21Z dim $ */ #ifndef _SYS_CDEFS_H_ #define _SYS_CDEFS_H_ /* * Testing against Clang-specific extensions. */ #ifndef __has_extension #define __has_extension __has_feature #endif # 46 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #ifndef __has_feature #define __has_feature(x) 0 #endif # 49 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #ifndef __has_include #define __has_include(x) 0 #endif # 52 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #ifndef __has_builtin #define __has_builtin(x) 0 #endif # 55 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #if defined(__cplusplus) #define __BEGIN_DECLS extern "C" { #define __END_DECLS } #else # 60 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __BEGIN_DECLS #define __END_DECLS #endif # 63 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 /* * This code has been put in place to help reduce the addition of * compiler specific defines in FreeBSD code. It helps to aid in * having a compiler-agnostic source tree. */ #if defined(__GNUC__) || defined(__INTEL_COMPILER) #if __GNUC__ >= 3 || defined(__INTEL_COMPILER) #define __GNUCLIKE_ASM 3 #define __GNUCLIKE_MATH_BUILTIN_CONSTANTS #else # 76 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __GNUCLIKE_ASM 2 #endif # 78 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __GNUCLIKE___TYPEOF 1 #define __GNUCLIKE___OFFSETOF 1 #define __GNUCLIKE___SECTION 1 #ifndef __INTEL_COMPILER # define __GNUCLIKE_CTOR_SECTION_HANDLING 1 #endif # 85 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __GNUCLIKE_BUILTIN_CONSTANT_P 1 # if defined(__INTEL_COMPILER) && defined(__cplusplus) \ && __INTEL_COMPILER < 800 # undef __GNUCLIKE_BUILTIN_CONSTANT_P # endif # 91 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #if (__GNUC_MINOR__ > 95 || __GNUC__ >= 3) && !defined(__INTEL_COMPILER) # define __GNUCLIKE_BUILTIN_VARARGS 1 # define __GNUCLIKE_BUILTIN_STDARG 1 # define __GNUCLIKE_BUILTIN_VAALIST 1 #endif # 97 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #if defined(__GNUC__) # define __GNUC_VA_LIST_COMPATIBILITY 1 #endif # 101 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 /* * Compiler memory barriers, specific to gcc and clang. */ #if defined(__GNUC__) #define __compiler_membar() __asm __volatile(" " : : : "memory") #endif # 108 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #ifndef __INTEL_COMPILER # define __GNUCLIKE_BUILTIN_NEXT_ARG 1 # define __GNUCLIKE_MATH_BUILTIN_RELOPS #endif # 113 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __GNUCLIKE_BUILTIN_MEMCPY 1 /* XXX: if __GNUC__ >= 2: not tested everywhere originally, where replaced */ #define __CC_SUPPORTS_INLINE 1 #define __CC_SUPPORTS___INLINE 1 #define __CC_SUPPORTS___INLINE__ 1 #define __CC_SUPPORTS___FUNC__ 1 #define __CC_SUPPORTS_WARNING 1 #define __CC_SUPPORTS_VARADIC_XXX 1 /* see varargs.h */ #define __CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1 #endif /* __GNUC__ || __INTEL_COMPILER */ # 129 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 /* * Macro to test if we're using a specific version of gcc or later. */ #if defined(__GNUC__) && !defined(__INTEL_COMPILER) #define __GNUC_PREREQ__(ma, mi) \ (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi)) #else # 137 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __GNUC_PREREQ__(ma, mi) 0 #endif # 139 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 /* * The __CONCAT macro is used to concatenate parts of symbol names, e.g. * with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo. * The __CONCAT macro is a bit tricky to use if it must work in non-ANSI * mode -- there must be no spaces between its arguments, and for nested * __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also * concatenate double-quoted strings produced by the __STRING macro, but * this only works with ANSI C. * * __XSTRING is like __STRING, but it expands any macros in its argument * first. It is only available with ANSI C. */ #if defined(__STDC__) || defined(__cplusplus) #define __P(protos) protos /* full-blown ANSI C */ #define __CONCAT1(x,y) x ## y #define __CONCAT(x,y) __CONCAT1(x,y) #define __STRING(x) #x /* stringify without expanding x */ #define __XSTRING(x) __STRING(x) /* expand x, then stringify */ #define __const const /* define reserved names to standard */ #define __signed signed #define __volatile volatile #if defined(__cplusplus) #define __inline inline /* convert to C++ keyword */ #else # 165 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #if !(defined(__CC_SUPPORTS___INLINE)) #define __inline /* delete GCC keyword */ #endif /* ! __CC_SUPPORTS___INLINE */ # 168 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #endif /* !__cplusplus */ # 169 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #else /* !(__STDC__ || __cplusplus) */ # 171 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __P(protos) () /* traditional C preprocessor */ #define __CONCAT(x,y) x/**/y #define __STRING(x) "x" #if !defined(__CC_SUPPORTS___INLINE) #define __const /* delete pseudo-ANSI C keywords */ #define __inline #define __signed #define __volatile /* * In non-ANSI C environments, new programs will want ANSI-only C keywords * deleted from the program and old programs will want them left alone. * When using a compiler other than gcc, programs using the ANSI C keywords * const, inline etc. as normal identifiers should define -DNO_ANSI_KEYWORDS. * When using "gcc -traditional", we assume that this is the intent; if * __GNUC__ is defined but __STDC__ is not, we leave the new keywords alone. */ #ifndef NO_ANSI_KEYWORDS #define const /* delete ANSI C keywords */ #define inline #define signed #define volatile #endif /* !NO_ANSI_KEYWORDS */ # 194 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #endif /* !__CC_SUPPORTS___INLINE */ # 195 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #endif /* !(__STDC__ || __cplusplus) */ # 196 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 /* * Compiler-dependent macros to help declare dead (non-returning) and * pure (no side effects) functions, and unused variables. They are * null except for versions of gcc that are known to support the features * properly (old versions of gcc-2 supported the dead and pure features * in a different (wrong) way). If we do not provide an implementation * for a given compiler, let the compile fail if it is told to use * a feature that we cannot live without. */ #ifdef lint #define __dead2 #define __pure2 #define __unused #define __packed #define __aligned(x) #define __section(x) #define __weak #else # 215 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __weak __attribute__((__weak__)) #if !__GNUC_PREREQ__(2, 5) && !defined(__INTEL_COMPILER) #define __dead2 #define __pure2 #define __unused #endif # 221 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #if __GNUC__ == 2 && __GNUC_MINOR__ >= 5 && __GNUC_MINOR__ < 7 && !defined(__INTEL_COMPILER) #define __dead2 __attribute__((__noreturn__)) #define __pure2 __attribute__((__const__)) #define __unused /* XXX Find out what to do for __packed, __aligned and __section */ #endif # 227 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #if __GNUC_PREREQ__(2, 7) #define __dead2 __attribute__((__noreturn__)) #define __pure2 __attribute__((__const__)) #define __unused __attribute__((__unused__)) #define __used __attribute__((__used__)) #define __packed __attribute__((__packed__)) #define __aligned(x) __attribute__((__aligned__(x))) #define __section(x) __attribute__((__section__(x))) #endif # 236 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #if defined(__INTEL_COMPILER) #define __dead2 __attribute__((__noreturn__)) #define __pure2 __attribute__((__const__)) #define __unused __attribute__((__unused__)) #define __used __attribute__((__used__)) #define __packed __attribute__((__packed__)) #define __aligned(x) __attribute__((__aligned__(x))) #define __section(x) __attribute__((__section__(x))) #endif # 245 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #endif # 246 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #if !__GNUC_PREREQ__(2, 95) #define __alignof(x) __offsetof(struct { char __a; x __b; }, __b) #endif # 250 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 /* * Keywords added in C11. */ #if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 201112L || defined(lint) #if !__has_extension(c_alignas) #if (defined(__cplusplus) && __cplusplus >= 201103L) || \ __has_extension(cxx_alignas) #define _Alignas(x) alignas(x) #else # 262 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 /* XXX: Only emulates _Alignas(constant-expression); not _Alignas(type-name). */ #define _Alignas(x) __aligned(x) #endif # 265 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #endif # 266 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #if defined(__cplusplus) && __cplusplus >= 201103L #define _Alignof(x) alignof(x) #else # 270 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define _Alignof(x) __alignof(x) #endif # 272 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #if !__has_extension(c_atomic) && !__has_extension(cxx_atomic) /* * No native support for _Atomic(). Place object in structure to prevent * most forms of direct non-atomic access. */ #define _Atomic(T) struct { T volatile __val; } #endif # 280 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #if defined(__cplusplus) && __cplusplus >= 201103L #define _Noreturn [[noreturn]] #else # 284 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define _Noreturn __dead2 #endif # 286 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #if !__has_extension(c_static_assert) #if (defined(__cplusplus) && __cplusplus >= 201103L) || \ __has_extension(cxx_static_assert) #define _Static_assert(x, y) static_assert(x, y) #elif __GNUC_PREREQ__(4,6) # 292 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 /* Nothing, gcc 4.6 and higher has _Static_assert built-in */ #elif defined(__COUNTER__) # 294 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define _Static_assert(x, y) __Static_assert(x, __COUNTER__) #define __Static_assert(x, y) ___Static_assert(x, y) #define ___Static_assert(x, y) typedef char __assert_ ## y[(x) ? 1 : -1] #else # 298 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define _Static_assert(x, y) struct __hack #endif # 300 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #endif # 301 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #if !__has_extension(c_thread_local) /* * XXX: Some compilers (Clang 3.3, GCC 4.7) falsely announce C++11 mode * without actually supporting the thread_local keyword. Don't check for * the presence of C++11 when defining _Thread_local. */ #if /* (defined(__cplusplus) && __cplusplus >= 201103L) || */ \ __has_extension(cxx_thread_local) #define _Thread_local thread_local #else # 312 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define _Thread_local __thread #endif # 314 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #endif # 315 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #endif /* __STDC_VERSION__ || __STDC_VERSION__ < 201112L */ # 317 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 /* * Emulation of C11 _Generic(). Unlike the previously defined C11 * keywords, it is not possible to implement this using exactly the same * syntax. Therefore implement something similar under the name * __generic(). Unlike _Generic(), this macro can only distinguish * between a single type, so it requires nested invocations to * distinguish multiple cases. */ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \ __has_extension(c_generic_selections) #define __generic(expr, t, yes, no) \ _Generic(expr, t: yes, default: no) #elif __GNUC_PREREQ__(3, 1) && !defined(__cplusplus) # 332 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __generic(expr, t, yes, no) \ __builtin_choose_expr( \ __builtin_types_compatible_p(__typeof(expr), t), yes, no) #endif # 336 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #if __GNUC_PREREQ__(2, 96) #define __malloc_like __attribute__((__malloc__)) #define __pure __attribute__((__pure__)) #else # 341 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __malloc_like #define __pure #endif # 344 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #if __GNUC_PREREQ__(3, 1) || (defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 800) #define __always_inline __attribute__((__always_inline__)) #else # 348 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __always_inline #endif # 350 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #if __GNUC_PREREQ__(3, 1) #define __noinline __attribute__ ((__noinline__)) #else # 354 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __noinline #endif # 356 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #if __GNUC_PREREQ__(3, 3) #define __nonnull(x) __attribute__((__nonnull__(x))) #else # 360 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __nonnull(x) #endif # 362 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #if __GNUC_PREREQ__(3, 4) #define __fastcall __attribute__((__fastcall__)) #else # 366 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __fastcall #endif # 368 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #if __GNUC_PREREQ__(4, 1) #define __returns_twice __attribute__((__returns_twice__)) #else # 372 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __returns_twice #endif # 374 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 /* XXX: should use `#if __STDC_VERSION__ < 199901'. */ #if !__GNUC_PREREQ__(2, 7) && !defined(__INTEL_COMPILER) #define __func__ NULL #endif # 379 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #if (defined(__INTEL_COMPILER) || (defined(__GNUC__) && __GNUC__ >= 2)) && !defined(__STRICT_ANSI__) || __STDC_VERSION__ >= 199901 #define __LONG_LONG_SUPPORTED #endif # 383 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 /* C++11 exposes a load of C99 stuff */ #if defined(__cplusplus) && __cplusplus >= 201103L #define __LONG_LONG_SUPPORTED #ifndef __STDC_LIMIT_MACROS #define __STDC_LIMIT_MACROS #endif # 390 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #ifndef __STDC_CONSTANT_MACROS #define __STDC_CONSTANT_MACROS #endif # 393 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #endif # 394 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 /* * GCC 2.95 provides `__restrict' as an extension to C90 to support the * C99-specific `restrict' type qualifier. We happen to use `__restrict' as * a way to define the `restrict' type qualifier without disturbing older * software that is unaware of C99 keywords. */ #if !(__GNUC__ == 2 && __GNUC_MINOR__ == 95) #if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901 || defined(lint) #define __restrict #else # 405 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __restrict restrict #endif # 407 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #endif # 408 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 /* * GNU C version 2.96 adds explicit branch prediction so that * the CPU back-end can hint the processor and also so that * code blocks can be reordered such that the predicted path * sees a more linear flow, thus improving cache behavior, etc. * * The following two macros provide us with a way to utilize this * compiler feature. Use __predict_true() if you expect the expression * to evaluate to true, and __predict_false() if you expect the * expression to evaluate to false. * * A few notes about usage: * * * Generally, __predict_false() error condition checks (unless * you have some _strong_ reason to do otherwise, in which case * document it), and/or __predict_true() `no-error' condition * checks, assuming you want to optimize for the no-error case. * * * Other than that, if you don't know the likelihood of a test * succeeding from empirical or other `hard' evidence, don't * make predictions. * * * These are meant to be used in places that are run `a lot'. * It is wasteful to make predictions in code that is run * seldomly (e.g. at subsystem initialization time) as the * basic block reordering that this affects can often generate * larger code. */ #if __GNUC_PREREQ__(2, 96) #define __predict_true(exp) __builtin_expect((exp), 1) #define __predict_false(exp) __builtin_expect((exp), 0) #else # 441 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __predict_true(exp) (exp) #define __predict_false(exp) (exp) #endif # 444 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #if __GNUC_PREREQ__(4, 2) #define __hidden __attribute__((__visibility__("hidden"))) #define __exported __attribute__((__visibility__("default"))) #else # 449 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __hidden #define __exported #endif # 452 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 /* * We define this here since , , and * require it. */ #if __GNUC_PREREQ__(4, 1) #define __offsetof(type, field) __builtin_offsetof(type, field) #else # 460 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #ifndef __cplusplus #define __offsetof(type, field) \ ((__size_t)(__uintptr_t)((const volatile void *)&((type *)0)->field)) #else # 464 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __offsetof(type, field) \ (__offsetof__ (reinterpret_cast <__size_t> \ (&reinterpret_cast \ (static_cast (0)->field)))) #endif # 469 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #endif # 470 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __rangeof(type, start, end) \ (__offsetof(type, end) - __offsetof(type, start)) /* * Given the pointer x to the member m of the struct s, return * a pointer to the containing structure. When using GCC, we first * assign pointer x to a local variable, to check that its type is * compatible with member m. */ #if __GNUC_PREREQ__(3, 1) #define __containerof(x, s, m) ({ \ const volatile __typeof(((s *)0)->m) *__x = (x); \ __DEQUALIFY(s *, (const volatile char *)__x - __offsetof(s, m));\ }) #else # 485 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __containerof(x, s, m) \ __DEQUALIFY(s *, (const volatile char *)(x) - __offsetof(s, m)) #endif # 488 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 /* * Compiler-dependent macros to declare that functions take printf-like * or scanf-like arguments. They are null except for versions of gcc * that are known to support the features properly (old versions of gcc-2 * didn't permit keeping the keywords out of the application namespace). */ #if !__GNUC_PREREQ__(2, 7) && !defined(__INTEL_COMPILER) #define __printflike(fmtarg, firstvararg) #define __scanflike(fmtarg, firstvararg) #define __format_arg(fmtarg) #define __strfmonlike(fmtarg, firstvararg) #define __strftimelike(fmtarg, firstvararg) #else # 502 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __printflike(fmtarg, firstvararg) \ __attribute__((__format__ (__printf__, fmtarg, firstvararg))) #define __scanflike(fmtarg, firstvararg) \ __attribute__((__format__ (__scanf__, fmtarg, firstvararg))) #define __format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg))) #define __strfmonlike(fmtarg, firstvararg) \ __attribute__((__format__ (__strfmon__, fmtarg, firstvararg))) #define __strftimelike(fmtarg, firstvararg) \ __attribute__((__format__ (__strftime__, fmtarg, firstvararg))) #endif # 512 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 /* Compiler-dependent macros that rely on FreeBSD-specific extensions. */ #if defined(__FreeBSD_cc_version) && __FreeBSD_cc_version >= 300001 && \ defined(__GNUC__) && !defined(__INTEL_COMPILER) #define __printf0like(fmtarg, firstvararg) \ __attribute__((__format__ (__printf0__, fmtarg, firstvararg))) #else # 519 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __printf0like(fmtarg, firstvararg) #endif # 521 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #if defined(__GNUC__) || defined(__INTEL_COMPILER) #ifndef __INTEL_COMPILER #define __strong_reference(sym,aliassym) \ extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym))) #endif # 527 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #ifdef __STDC__ #define __weak_reference(sym,alias) \ __asm__(".weak " #alias); \ __asm__(".equ " #alias ", " #sym) #define __warn_references(sym,msg) \ __asm__(".section .gnu.warning." #sym); \ __asm__(".asciz \"" msg "\""); \ __asm__(".previous") #define __sym_compat(sym,impl,verid) \ __asm__(".symver " #impl ", " #sym "@" #verid) #define __sym_default(sym,impl,verid) \ __asm__(".symver " #impl ", " #sym "@@" #verid) #else # 540 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __weak_reference(sym,alias) \ __asm__(".weak alias"); \ __asm__(".equ alias, sym") #define __warn_references(sym,msg) \ __asm__(".section .gnu.warning.sym"); \ __asm__(".asciz \"msg\""); \ __asm__(".previous") #define __sym_compat(sym,impl,verid) \ __asm__(".symver impl, sym@verid") #define __sym_default(impl,sym,verid) \ __asm__(".symver impl, sym@@verid") #endif /* __STDC__ */ # 552 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #endif /* __GNUC__ || __INTEL_COMPILER */ # 553 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __GLOBL1(sym) __asm__(".globl " #sym) #define __GLOBL(sym) __GLOBL1(sym) #if defined(__GNUC__) || defined(__INTEL_COMPILER) #define __IDSTRING(name,string) __asm__(".ident\t\"" string "\"") #else # 560 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 /* * The following definition might not work well if used in header files, * but it should be better than nothing. If you want a "do nothing" * version, then it should generate some harmless declaration, such as: * #define __IDSTRING(name,string) struct __hack */ #define __IDSTRING(name,string) static const char name[] __unused = string #endif # 568 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 /* * Embed the rcs id of a source file in the resulting library. Note that in * more recent ELF binutils, we use .ident allowing the ID to be stripped. * Usage: * __FBSDID("$FreeBSD: projects/clang360-import/sys/sys/cdefs.h 277896 2015-01-29 19:21:21Z dim $"); */ #ifndef __FBSDID #if !defined(lint) && !defined(STRIP_FBSDID) #define __FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s) #else # 579 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __FBSDID(s) struct __hack #endif # 581 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #endif # 582 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #ifndef __RCSID #ifndef NO__RCSID #define __RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s) #else # 587 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __RCSID(s) struct __hack #endif # 589 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #endif # 590 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #ifndef __RCSID_SOURCE #ifndef NO__RCSID_SOURCE #define __RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s) #else # 595 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __RCSID_SOURCE(s) struct __hack #endif # 597 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #endif # 598 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #ifndef __SCCSID #ifndef NO__SCCSID #define __SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s) #else # 603 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __SCCSID(s) struct __hack #endif # 605 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #endif # 606 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #ifndef __COPYRIGHT #ifndef NO__COPYRIGHT #define __COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s) #else # 611 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __COPYRIGHT(s) struct __hack #endif # 613 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #endif # 614 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #ifndef __DECONST #define __DECONST(type, var) ((type)(__uintptr_t)(const void *)(var)) #endif # 618 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #ifndef __DEVOLATILE #define __DEVOLATILE(type, var) ((type)(__uintptr_t)(volatile void *)(var)) #endif # 622 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #ifndef __DEQUALIFY #define __DEQUALIFY(type, var) ((type)(__uintptr_t)(const volatile void *)(var)) #endif # 626 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 /*- * The following definitions are an extension of the behavior originally * implemented in , but with a different level of granularity. * POSIX.1 requires that the macros we test be defined before any standard * header file is included. * * Here's a quick run-down of the versions: * defined(_POSIX_SOURCE) 1003.1-1988 * _POSIX_C_SOURCE == 1 1003.1-1990 * _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option * _POSIX_C_SOURCE == 199309 1003.1b-1993 * _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995, * and the omnibus ISO/IEC 9945-1: 1996 * _POSIX_C_SOURCE == 200112 1003.1-2001 * _POSIX_C_SOURCE == 200809 1003.1-2008 * * In addition, the X/Open Portability Guide, which is now the Single UNIX * Specification, defines a feature-test macro which indicates the version of * that specification, and which subsumes _POSIX_C_SOURCE. * * Our macros begin with two underscores to avoid namespace screwage. */ /* Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1. */ #if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE == 1 #undef _POSIX_C_SOURCE /* Probably illegal, but beyond caring now. */ #define _POSIX_C_SOURCE 199009 #endif # 655 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 /* Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2. */ #if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE == 2 #undef _POSIX_C_SOURCE #define _POSIX_C_SOURCE 199209 #endif # 661 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 /* Deal with various X/Open Portability Guides and Single UNIX Spec. */ #ifdef _XOPEN_SOURCE #if _XOPEN_SOURCE - 0 >= 700 #define __XSI_VISIBLE 700 #undef _POSIX_C_SOURCE #define _POSIX_C_SOURCE 200809 #elif _XOPEN_SOURCE - 0 >= 600 # 669 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __XSI_VISIBLE 600 #undef _POSIX_C_SOURCE #define _POSIX_C_SOURCE 200112 #elif _XOPEN_SOURCE - 0 >= 500 # 673 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __XSI_VISIBLE 500 #undef _POSIX_C_SOURCE #define _POSIX_C_SOURCE 199506 #endif # 677 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #endif # 678 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 /* * Deal with all versions of POSIX. The ordering relative to the tests above is * important. */ #if defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) #define _POSIX_C_SOURCE 198808 #endif # 686 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #ifdef _POSIX_C_SOURCE #if _POSIX_C_SOURCE >= 200809 #define __POSIX_VISIBLE 200809 #define __ISO_C_VISIBLE 1999 #elif _POSIX_C_SOURCE >= 200112 # 691 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __POSIX_VISIBLE 200112 #define __ISO_C_VISIBLE 1999 #elif _POSIX_C_SOURCE >= 199506 # 694 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __POSIX_VISIBLE 199506 #define __ISO_C_VISIBLE 1990 #elif _POSIX_C_SOURCE >= 199309 # 697 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __POSIX_VISIBLE 199309 #define __ISO_C_VISIBLE 1990 #elif _POSIX_C_SOURCE >= 199209 # 700 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __POSIX_VISIBLE 199209 #define __ISO_C_VISIBLE 1990 #elif _POSIX_C_SOURCE >= 199009 # 703 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __POSIX_VISIBLE 199009 #define __ISO_C_VISIBLE 1990 #else # 706 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __POSIX_VISIBLE 198808 #define __ISO_C_VISIBLE 0 #endif /* _POSIX_C_SOURCE */ # 709 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #else # 710 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 /*- * Deal with _ANSI_SOURCE: * If it is defined, and no other compilation environment is explicitly * requested, then define our internal feature-test macros to zero. This * makes no difference to the preprocessor (undefined symbols in preprocessing * expressions are defined to have value zero), but makes it more convenient for * a test program to print out the values. * * If a program mistakenly defines _ANSI_SOURCE and some other macro such as * _POSIX_C_SOURCE, we will assume that it wants the broader compilation * environment (and in fact we will never get here). */ #if defined(_ANSI_SOURCE) /* Hide almost everything. */ #define __POSIX_VISIBLE 0 #define __XSI_VISIBLE 0 #define __BSD_VISIBLE 0 #define __ISO_C_VISIBLE 1990 #elif defined(_C99_SOURCE) /* Localism to specify strict C99 env. */ # 728 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __POSIX_VISIBLE 0 #define __XSI_VISIBLE 0 #define __BSD_VISIBLE 0 #define __ISO_C_VISIBLE 1999 #elif defined(_C11_SOURCE) /* Localism to specify strict C11 env. */ # 733 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __POSIX_VISIBLE 0 #define __XSI_VISIBLE 0 #define __BSD_VISIBLE 0 #define __ISO_C_VISIBLE 2011 #else /* Default environment: show everything. */ # 738 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __POSIX_VISIBLE 200809 #define __XSI_VISIBLE 700 #define __BSD_VISIBLE 1 #define __ISO_C_VISIBLE 2011 #endif # 743 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #endif # 744 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #if defined(__mips) || defined(__powerpc64__) #define __NO_TLS 1 #endif # 748 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 /* * Lock annotations. * * Clang provides support for doing basic thread-safety tests at * compile-time, by marking which locks will/should be held when * entering/leaving a functions. * * Furthermore, it is also possible to annotate variables and structure * members to enforce that they are only accessed when certain locks are * held. */ #if __has_extension(c_thread_safety_attributes) #define __lock_annotate(x) __attribute__((x)) #else # 764 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 #define __lock_annotate(x) #endif # 766 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 /* Structure implements a lock. */ #define __lockable __lock_annotate(lockable) /* Function acquires an exclusive or shared lock. */ #define __locks_exclusive(...) \ __lock_annotate(exclusive_lock_function(__VA_ARGS__)) #define __locks_shared(...) \ __lock_annotate(shared_lock_function(__VA_ARGS__)) /* Function attempts to acquire an exclusive or shared lock. */ #define __trylocks_exclusive(...) \ __lock_annotate(exclusive_trylock_function(__VA_ARGS__)) #define __trylocks_shared(...) \ __lock_annotate(shared_trylock_function(__VA_ARGS__)) /* Function releases a lock. */ #define __unlocks(...) __lock_annotate(unlock_function(__VA_ARGS__)) /* Function asserts that an exclusive or shared lock is held. */ #define __asserts_exclusive(...) \ __lock_annotate(assert_exclusive_lock(__VA_ARGS__)) #define __asserts_shared(...) \ __lock_annotate(assert_shared_lock(__VA_ARGS__)) /* Function requires that an exclusive or shared lock is or is not held. */ #define __requires_exclusive(...) \ __lock_annotate(exclusive_locks_required(__VA_ARGS__)) #define __requires_shared(...) \ __lock_annotate(shared_locks_required(__VA_ARGS__)) #define __requires_unlocked(...) \ __lock_annotate(locks_excluded(__VA_ARGS__)) /* Function should not be analyzed. */ #define __no_lock_analysis __lock_annotate(no_thread_safety_analysis) /* Guard variables and structure members by lock. */ #define __guarded_by(x) __lock_annotate(guarded_by(x)) #define __pt_guarded_by(x) __lock_annotate(pt_guarded_by(x)) #endif /* !_SYS_CDEFS_H_ */ # 807 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/cdefs.h" 3 4 # 38 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stddef.h" 2 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 38 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stddef.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_null.h" 1 3 4 /*- * Copyright (c) 2003 Marcel Moolenaar * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: projects/clang360-import/sys/sys/_null.h 228918 2011-12-27 21:36:31Z theraven $ */ #ifndef NULL #if !defined(__cplusplus) #define NULL ((void *)0) #else # 34 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_null.h" 3 4 #if __cplusplus >= 201103L #define NULL nullptr #elif defined(__GNUG__) && defined(__GNUC__) && __GNUC__ >= 4 # 37 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_null.h" 3 4 #define NULL __null #else # 39 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_null.h" 3 4 #if defined(__LP64__) #define NULL (0L) #else # 42 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_null.h" 3 4 #define NULL 0 #endif /* __LP64__ */ # 44 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_null.h" 3 4 #endif /* __GNUG__ */ # 45 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_null.h" 3 4 #endif /* !__cplusplus */ # 46 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_null.h" 3 4 #endif # 48 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_null.h" 3 4 # 39 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stddef.h" 2 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 39 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stddef.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_types.h" 1 3 4 /*- * Copyright (c) 2002 Mike Barcroft * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $FreeBSD: projects/clang360-import/sys/sys/_types.h 276660 2015-01-04 15:26:02Z kevlo $ */ #ifndef _SYS__TYPES_H_ #define _SYS__TYPES_H_ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 32 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_types.h" 3 4 # 33 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_types.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 33 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_types.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_types.h" 1 3 4 /*- * Copyright (c) 2002 Mike Barcroft * Copyright (c) 1990, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * From: @(#)ansi.h 8.2 (Berkeley) 1/4/94 * From: @(#)types.h 8.3 (Berkeley) 1/5/94 * from: src/sys/i386/include/_types.h,v 1.12 2005/07/02 23:13:31 thompsa * $FreeBSD: projects/clang360-import/sys/mips/include/_types.h 263998 2014-04-01 14:46:11Z tijl $ */ #ifndef _MACHINE__TYPES_H_ #define _MACHINE__TYPES_H_ #ifndef _SYS_CDEFS_H_ #error this file needs sys/cdefs.h as a prerequisite #endif # 46 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_types.h" 3 4 /* * Basic types upon which most other types are built. */ typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef short __int16_t; typedef unsigned short __uint16_t; typedef int __int32_t; typedef unsigned int __uint32_t; #ifdef __mips_n64 typedef long __int64_t; typedef unsigned long __uint64_t; #else # 60 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_types.h" 3 4 #ifndef lint __extension__ #endif # 63 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_types.h" 3 4 /* LONGLONG */ typedef long long __int64_t; #ifndef lint __extension__ #endif # 68 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_types.h" 3 4 /* LONGLONG */ typedef unsigned long long __uint64_t; #endif # 71 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_types.h" 3 4 /* * Standard type definitions. */ typedef __int32_t __clock_t; /* clock()... */ typedef double __double_t; typedef float __float_t; #ifdef __mips_n64 typedef __int64_t __critical_t; typedef __int64_t __intfptr_t; typedef __int64_t __intptr_t; #else # 83 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_types.h" 3 4 typedef __int32_t __critical_t; typedef __int32_t __intfptr_t; typedef __int32_t __intptr_t; #endif # 87 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_types.h" 3 4 typedef __int64_t __intmax_t; typedef __int32_t __int_fast8_t; typedef __int32_t __int_fast16_t; typedef __int32_t __int_fast32_t; typedef __int64_t __int_fast64_t; typedef __int8_t __int_least8_t; typedef __int16_t __int_least16_t; typedef __int32_t __int_least32_t; typedef __int64_t __int_least64_t; #if defined(__mips_n64) || defined(__mips_n32) typedef __int64_t __register_t; typedef __int64_t f_register_t; #else # 100 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_types.h" 3 4 typedef __int32_t __register_t; typedef __int32_t f_register_t; #endif # 103 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_types.h" 3 4 #ifdef __mips_n64 typedef __int64_t __ptrdiff_t; typedef __int64_t __segsz_t; typedef __uint64_t __size_t; typedef __int64_t __ssize_t; typedef __uint64_t __uintfptr_t; typedef __uint64_t __uintptr_t; #else # 111 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_types.h" 3 4 typedef __int32_t __ptrdiff_t; /* ptr1 - ptr2 */ typedef __int32_t __segsz_t; /* segment size (in pages) */ typedef __uint32_t __size_t; /* sizeof() */ typedef __int32_t __ssize_t; /* byte count or error */ typedef __uint32_t __uintfptr_t; typedef __uint32_t __uintptr_t; #endif # 118 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_types.h" 3 4 typedef __int64_t __time_t; /* time()... */ typedef __uint64_t __uintmax_t; typedef __uint32_t __uint_fast8_t; typedef __uint32_t __uint_fast16_t; typedef __uint32_t __uint_fast32_t; typedef __uint64_t __uint_fast64_t; typedef __uint8_t __uint_least8_t; typedef __uint16_t __uint_least16_t; typedef __uint32_t __uint_least32_t; typedef __uint64_t __uint_least64_t; #if defined(__mips_n64) || defined(__mips_n32) typedef __uint64_t __u_register_t; #else # 131 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_types.h" 3 4 typedef __uint32_t __u_register_t; #endif # 133 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_types.h" 3 4 #ifdef __mips_n64 typedef __uint64_t __vm_offset_t; typedef __uint64_t __vm_size_t; #else # 137 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_types.h" 3 4 typedef __uint32_t __vm_offset_t; typedef __uint32_t __vm_size_t; #endif # 140 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_types.h" 3 4 #if defined(__mips_n64) || defined(__mips_n32) /* PHYSADDR_64_BIT */ typedef __uint64_t __vm_paddr_t; #else # 143 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_types.h" 3 4 typedef __uint32_t __vm_paddr_t; #endif # 145 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_types.h" 3 4 typedef __int64_t __vm_ooffset_t; typedef __uint64_t __vm_pindex_t; typedef int ___wchar_t; #define __WCHAR_MIN __INT_MIN /* min value for a wchar_t */ #define __WCHAR_MAX __INT_MAX /* max value for a wchar_t */ /* * Unusual type definitions. */ #ifdef __GNUCLIKE_BUILTIN_VARARGS typedef __builtin_va_list __va_list; /* internally known to gcc */ #else # 159 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_types.h" 3 4 typedef char * __va_list; #endif /* __GNUCLIKE_BUILTIN_VARARGS */ # 161 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_types.h" 3 4 #if defined(__GNUC_VA_LIST_COMPATIBILITY) && !defined(__GNUC_VA_LIST) \ && !defined(__NO_GNUC_VA_LIST) #define __GNUC_VA_LIST typedef __va_list __gnuc_va_list; /* compatibility w/GNU headers*/ #endif # 166 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_types.h" 3 4 #endif /* !_MACHINE__TYPES_H_ */ # 168 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_types.h" 3 4 # 34 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_types.h" 2 3 4 /* * Standard type definitions. */ typedef __int32_t __blksize_t; /* file block size */ typedef __int64_t __blkcnt_t; /* file block count */ typedef __int32_t __clockid_t; /* clock_gettime()... */ typedef __uint32_t __fflags_t; /* file flags */ typedef __uint64_t __fsblkcnt_t; typedef __uint64_t __fsfilcnt_t; typedef __uint32_t __gid_t; typedef __int64_t __id_t; /* can hold a gid_t, pid_t, or uid_t */ typedef __uint32_t __ino_t; /* inode number */ typedef long __key_t; /* IPC key (for Sys V IPC) */ typedef __int32_t __lwpid_t; /* Thread ID (a.k.a. LWP) */ typedef __uint16_t __mode_t; /* permissions */ typedef int __accmode_t; /* access permissions */ typedef int __nl_item; typedef __uint16_t __nlink_t; /* link count */ typedef __int64_t __off_t; /* file offset */ typedef __int32_t __pid_t; /* process [group] */ typedef __int64_t __rlim_t; /* resource limit - intentionally */ /* signed, because of legacy code */ /* that uses -1 for RLIM_INFINITY */ typedef __uint8_t __sa_family_t; typedef __uint32_t __socklen_t; typedef long __suseconds_t; /* microseconds (signed) */ typedef struct __timer *__timer_t; /* timer_gettime()... */ typedef struct __mq *__mqd_t; /* mq_open()... */ typedef __uint32_t __uid_t; typedef unsigned int __useconds_t; /* microseconds (unsigned) */ typedef int __cpuwhich_t; /* which parameter for cpuset. */ typedef int __cpulevel_t; /* level parameter for cpuset. */ typedef int __cpusetid_t; /* cpuset identifier. */ /* * Unusual type definitions. */ /* * rune_t is declared to be an ``int'' instead of the more natural * ``unsigned long'' or ``long''. Two things are happening here. It is not * unsigned so that EOF (-1) can be naturally assigned to it and used. Also, * it looks like 10646 will be a 31 bit standard. This means that if your * ints cannot hold 32 bits, you will be in trouble. The reason an int was * chosen over a long is that the is*() and to*() routines take ints (says * ANSI C), but they use __ct_rune_t instead of int. * * NOTE: rune_t is not covered by ANSI nor other standards, and should not * be instantiated outside of lib/libc/locale. Use wchar_t. wint_t and * rune_t must be the same type. Also, wint_t should be able to hold all * members of the largest character set plus one extra value (WEOF), and * must be at least 16 bits. */ typedef int __ct_rune_t; /* arg type for ctype funcs */ typedef __ct_rune_t __rune_t; /* rune_t (see above) */ typedef __ct_rune_t __wint_t; /* wint_t (see above) */ /* Clang already provides these types as built-ins, but only in C++ mode. */ #if !defined(__clang__) || !defined(__cplusplus) typedef __uint_least16_t __char16_t; typedef __uint_least32_t __char32_t; #endif # 96 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_types.h" 3 4 /* In C++11, char16_t and char32_t are built-in types. */ #if defined(__cplusplus) && __cplusplus >= 201103L #define _CHAR16_T_DECLARED #define _CHAR32_T_DECLARED #endif # 101 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_types.h" 3 4 typedef __uint32_t __dev_t; /* device number */ typedef __uint32_t __fixpt_t; /* fixed point number */ /* * mbstate_t is an opaque object to keep conversion state during multibyte * stream conversions. */ typedef union { char __mbstate8[128]; __int64_t _mbstateL; /* for alignment */ } __mbstate_t; #endif /* !_SYS__TYPES_H_ */ # 116 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_types.h" 3 4 # 40 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stddef.h" 2 3 4 #ifndef _PTRDIFF_T_DECLARED typedef __ptrdiff_t ptrdiff_t; #define _PTRDIFF_T_DECLARED #endif # 45 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stddef.h" 3 4 #if __BSD_VISIBLE #ifndef _RUNE_T_DECLARED typedef __rune_t rune_t; #define _RUNE_T_DECLARED #endif # 51 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stddef.h" 3 4 #endif # 52 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stddef.h" 3 4 #ifndef _SIZE_T_DECLARED typedef __size_t size_t; #define _SIZE_T_DECLARED #endif # 57 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stddef.h" 3 4 #ifndef __cplusplus #ifndef _WCHAR_T_DECLARED typedef ___wchar_t wchar_t; #define _WCHAR_T_DECLARED #endif # 63 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stddef.h" 3 4 #endif # 64 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stddef.h" 3 4 #define offsetof(type, member) __offsetof(type, member) #endif /* _STDDEF_H_ */ # 68 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stddef.h" 3 4 # 48 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" 2 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 48 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/float.h" 1 3 4 /*- * Copyright (c) 1989 Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * from: @(#)float.h 7.1 (Berkeley) 5/8/90 * from: src/sys/i386/include/float.h,v 1.8 1999/08/28 00:44:11 peter * JNPR: float.h,v 1.4 2006/12/02 09:53:41 katta * $FreeBSD: projects/clang360-import/sys/mips/include/float.h 230475 2012-01-23 06:36:41Z das $ */ #ifndef _MACHINE_FLOAT_H_ #define _MACHINE_FLOAT_H_ 1 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 38 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/float.h" 3 4 # 39 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/float.h" 3 4 __BEGIN_DECLS extern int __flt_rounds(void); __END_DECLS #define FLT_RADIX 2 /* b */ #ifdef CPU_HAVEFPU #define FLT_ROUNDS __flt_rounds() /* FP addition rounds to nearest */ #else # 48 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/float.h" 3 4 #define FLT_ROUNDS (-1) #endif # 50 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/float.h" 3 4 #if __ISO_C_VISIBLE >= 1999 #define FLT_EVAL_METHOD 0 #define DECIMAL_DIG 17 #endif # 55 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/float.h" 3 4 #define FLT_MANT_DIG 24 /* p */ #define FLT_EPSILON 1.19209290E-07F /* b**(1-p) */ #define FLT_DIG 6 /* floor((p-1)*log10(b))+(b == 10) */ #define FLT_MIN_EXP (-125) /* emin */ #define FLT_MIN 1.17549435E-38F /* b**(emin-1) */ #define FLT_MIN_10_EXP (-37) /* ceil(log10(b**(emin-1))) */ #define FLT_MAX_EXP 128 /* emax */ #define FLT_MAX 3.40282347E+38F /* (1-b**(-p))*b**emax */ #define FLT_MAX_10_EXP 38 /* floor(log10((1-b**(-p))*b**emax)) */ #if __ISO_C_VISIBLE >= 2011 #define FLT_TRUE_MIN 1.40129846E-45F /* b**(emin-p) */ #define FLT_DECIMAL_DIG 9 /* ceil(1+p*log10(b)) */ #define FLT_HAS_SUBNORM 1 #endif /* __ISO_C_VISIBLE >= 2011 */ # 70 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/float.h" 3 4 #define DBL_MANT_DIG 53 #define DBL_EPSILON 2.2204460492503131E-16 #define DBL_DIG 15 #define DBL_MIN_EXP (-1021) #define DBL_MIN 2.2250738585072014E-308 #define DBL_MIN_10_EXP (-307) #define DBL_MAX_EXP 1024 #define DBL_MAX 1.7976931348623157E+308 #define DBL_MAX_10_EXP 308 #if __ISO_C_VISIBLE >= 2011 #define DBL_TRUE_MIN 4.9406564584124654E-324 #define DBL_DECIMAL_DIG 17 #define DBL_HAS_SUBNORM 1 #endif /* __ISO_C_VISIBLE >= 2011 */ # 85 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/float.h" 3 4 #define LDBL_MANT_DIG DBL_MANT_DIG #define LDBL_EPSILON ((long double)DBL_EPSILON) #define LDBL_DIG DBL_DIG #define LDBL_MIN_EXP DBL_MIN_EXP #define LDBL_MIN ((long double)DBL_MIN) #define LDBL_MIN_10_EXP DBL_MIN_10_EXP #define LDBL_MAX_EXP DBL_MAX_EXP #define LDBL_MAX ((long double)DBL_MAX) #define LDBL_MAX_10_EXP DBL_MAX_10_EXP #if __ISO_C_VISIBLE >= 2011 #define LDBL_TRUE_MIN ((long double)DBL_TRUE_MIN) #define LDBL_DECIMAL_DIG DBL_DECIMAL_DIG #define LDBL_HAS_SUBNORM DBL_HAS_SUBNORM #endif /* __ISO_C_VISIBLE >= 2011 */ # 100 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/float.h" 3 4 #endif /* _MACHINE_FLOAT_H_ */ # 102 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/float.h" 3 4 # 49 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" 2 #ifdef inhibit_libc #ifndef malloc extern void *malloc (size_t); #endif # 55 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" #ifndef free extern void free (void *); #endif # 59 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" #ifndef atexit extern int atexit (void (*)(void)); #endif # 63 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" #ifndef abort extern void abort (void) __attribute__ ((__noreturn__)); #endif # 67 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" #ifndef strlen extern size_t strlen (const char *); #endif # 71 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" #ifndef memcpy extern void *memcpy (void *, const void *, size_t); #endif # 75 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" #ifndef memset extern void *memset (void *, int, size_t); #endif # 79 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" #else /* ! inhibit_libc */ # 81 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" /* We disable this when inhibit_libc, so that gcc can still be built without needing header files first. */ /* ??? This is not a good solution, since prototypes may be required in some cases for correct code. */ /* GCC supplies this header. */ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 87 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdarg.h" 1 3 4 /* * JNPR: stdarg.h,v 1.3 2006/09/15 12:52:34 katta * $FreeBSD: projects/clang360-import/sys/mips/include/stdarg.h 202175 2010-01-12 21:36:08Z imp $ */ #ifndef _MACHINE_STDARG_H_ #define _MACHINE_STDARG_H_ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 8 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdarg.h" 3 4 # 9 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdarg.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 9 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdarg.h" 3 4 # 10 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdarg.h" 3 4 #if __GNUC__ >= 3 #ifndef _VA_LIST_DECLARED #define _VA_LIST_DECLARED typedef __va_list va_list; #endif # 18 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdarg.h" 3 4 #define va_start(v,l) __builtin_va_start((v),l) #define va_end __builtin_va_end #define va_arg __builtin_va_arg #define va_copy __builtin_va_copy #else /* __GNUC__ */ # 24 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdarg.h" 3 4 /* ---------------------------------------- */ /* VARARGS for MIPS/GNU CC */ /* ---------------------------------------- */ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 30 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdarg.h" 3 4 # 31 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdarg.h" 3 4 /* These macros implement varargs for GNU C--either traditional or ANSI. */ /* Define __gnuc_va_list. */ #ifndef __GNUC_VA_LIST #define __GNUC_VA_LIST typedef char * __gnuc_va_list; typedef __gnuc_va_list va_list; #endif /* ! __GNUC_VA_LIST */ # 43 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdarg.h" 3 4 /* If this is for internal libc use, don't define anything but __gnuc_va_list. */ #ifndef _VA_MIPS_H_ENUM #define _VA_MIPS_H_ENUM enum { __no_type_class = -1, __void_type_class, __integer_type_class, __char_type_class, __enumeral_type_class, __boolean_type_class, __pointer_type_class, __reference_type_class, __offset_type_class, __real_type_class, __complex_type_class, __function_type_class, __method_type_class, __record_type_class, __union_type_class, __array_type_class, __string_type_class, __set_type_class, __file_type_class, __lang_type_class }; #endif # 72 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdarg.h" 3 4 /* In GCC version 2, we want an ellipsis at the end of the declaration of the argument list. GCC version 1 can't parse it. */ #if __GNUC__ > 1 #define __va_ellipsis ... #else # 79 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdarg.h" 3 4 #define __va_ellipsis #endif # 81 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdarg.h" 3 4 #define va_start(__AP, __LASTARG) \ (__AP = (__gnuc_va_list) __builtin_next_arg (__LASTARG)) #define va_end(__AP) ((void)0) /* We cast to void * and then to TYPE * because this avoids a warning about increasing the alignment requirement. */ /* The __mips64 cases are reversed from the 32 bit cases, because the standard 32 bit calling convention left-aligns all parameters smaller than a word, whereas the __mips64 calling convention does not (and hence they are right aligned). */ #ifdef __mips64 #define __va_rounded_size(__TYPE) (((sizeof (__TYPE) + 8 - 1) / 8) * 8) #define __va_reg_size 8 #if defined(__MIPSEB__) || (BYTE_ORDER == BIG_ENDIAN) #define va_arg(__AP, __type) \ ((__type *) (void *) (__AP = (char *) \ ((((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8) \ + __va_rounded_size (__type))))[-1] #else /* ! __MIPSEB__ && !BYTE_ORDER == BIG_ENDIAN */ # 108 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdarg.h" 3 4 #define va_arg(__AP, __type) \ ((__AP = (char *) ((((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8) \ + __va_rounded_size (__type))), \ *(__type *) (void *) (__AP - __va_rounded_size (__type))) #endif /* ! __MIPSEB__ && !BYTE_ORDER == BIG_ENDIAN */ # 113 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdarg.h" 3 4 #else /* ! __mips64 */ # 115 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdarg.h" 3 4 #define __va_rounded_size(__TYPE) \ (((sizeof (__TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int)) #define __va_reg_size 4 #if defined(__MIPSEB__) || (BYTE_ORDER == BIG_ENDIAN) /* For big-endian machines. */ #define va_arg(__AP, __type) \ ((__AP = (char *) ((__alignof__ (__type) > 4 \ ? ((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8 \ : ((__PTRDIFF_TYPE__)__AP + 4 - 1) & -4) \ + __va_rounded_size (__type))), \ *(__type *) (void *) (__AP - __va_rounded_size (__type))) #else /* ! __MIPSEB__ && !BYTE_ORDER == BIG_ENDIAN */ # 130 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdarg.h" 3 4 /* For little-endian machines. */ #define va_arg(__AP, __type) \ ((__type *) (void *) (__AP = (char *) ((__alignof__(__type) > 4 \ ? ((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8 \ : ((__PTRDIFF_TYPE__)__AP + 4 - 1) & -4) \ + __va_rounded_size(__type))))[-1] #endif /* ! __MIPSEB__ && !BYTE_ORDER == BIG_ENDIAN */ # 137 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdarg.h" 3 4 #endif /* ! __mips64 */ # 138 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdarg.h" 3 4 /* Copy __gnuc_va_list into another variable of this type. */ #define __va_copy(dest, src) (dest) = (src) #define va_copy(dest, src) (dest) = (src) #endif /* __GNUC__ */ # 144 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdarg.h" 3 4 #endif /* _MACHINE_STDARG_H_ */ # 145 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdarg.h" 3 4 # 88 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" 2 /* All systems have this header. */ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 90 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 1 3 4 /*- * Copyright (c) 1990, 1993 * The Regents of the University of California. All rights reserved. * * This code is derived from software contributed to Berkeley by * Chris Torek. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)stdio.h 8.5 (Berkeley) 4/29/95 * $FreeBSD: projects/clang360-import/include/stdio.h 265881 2014-05-11 16:34:17Z jilles $ */ #ifndef _STDIO_H_ #define _STDIO_H_ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 39 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 # 40 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 40 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 # 41 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 41 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 # 42 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 typedef __off_t fpos_t; #ifndef _SIZE_T_DECLARED typedef __size_t size_t; #define _SIZE_T_DECLARED #endif # 49 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #if __POSIX_VISIBLE >= 200809 #ifndef _OFF_T_DECLARED #define _OFF_T_DECLARED typedef __off_t off_t; #endif # 55 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #ifndef _SSIZE_T_DECLARED #define _SSIZE_T_DECLARED typedef __ssize_t ssize_t; #endif # 59 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #endif # 60 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE #ifndef _VA_LIST_DECLARED typedef __va_list va_list; #define _VA_LIST_DECLARED #endif # 66 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #endif # 67 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #define _FSTDIO /* Define for new stdio with functions. */ /* * NB: to fit things in six character monocase externals, the stdio * code uses the prefix `__s' for stdio objects, typically followed * by a three-character attempt at a mnemonic. */ /* stdio buffers */ struct __sbuf { unsigned char *_base; int _size; }; /* * stdio state variables. * * The following always hold: * * if (_flags&(__SLBF|__SWR)) == (__SLBF|__SWR), * _lbfsize is -_bf._size, else _lbfsize is 0 * if _flags&__SRD, _w is 0 * if _flags&__SWR, _r is 0 * * This ensures that the getc and putc macros (or inline functions) never * try to write or read from a file that is in `read' or `write' mode. * (Moreover, they can, and do, automatically switch from read mode to * write mode, and back, on "r+" and "w+" files.) * * _lbfsize is used only to make the inline line-buffered output stream * code as compact as possible. * * _ub, _up, and _ur are used when ungetc() pushes back more characters * than fit in the current _bf, or when ungetc() pushes back a character * that does not match the previous one in _bf. When this happens, * _ub._base becomes non-nil (i.e., a stream has ungetc() data iff * _ub._base!=NULL) and _up and _ur save the current values of _p and _r. * * Certain members of __sFILE are accessed directly via macros or * inline functions. To preserve ABI compat, these members must not * be disturbed. These members are marked below with (*). */ struct __sFILE { unsigned char *_p; /* (*) current position in (some) buffer */ int _r; /* (*) read space left for getc() */ int _w; /* (*) write space left for putc() */ short _flags; /* (*) flags, below; this FILE is free if 0 */ short _file; /* (*) fileno, if Unix descriptor, else -1 */ struct __sbuf _bf; /* (*) the buffer (at least 1 byte, if !NULL) */ int _lbfsize; /* (*) 0 or -_bf._size, for inline putc */ /* operations */ void *_cookie; /* (*) cookie passed to io functions */ int (*_close)(void *); int (*_read)(void *, char *, int); fpos_t (*_seek)(void *, fpos_t, int); int (*_write)(void *, const char *, int); /* separate buffer for long sequences of ungetc() */ struct __sbuf _ub; /* ungetc buffer */ unsigned char *_up; /* saved _p when _p is doing ungetc data */ int _ur; /* saved _r when _r is counting ungetc data */ /* tricks to meet minimum requirements even when malloc() fails */ unsigned char _ubuf[3]; /* guarantee an ungetc() buffer */ unsigned char _nbuf[1]; /* guarantee a getc() buffer */ /* separate buffer for fgetln() when line crosses buffer boundary */ struct __sbuf _lb; /* buffer for fgetln() */ /* Unix stdio files get aligned to block boundaries on fseek() */ int _blksize; /* stat.st_blksize (may be != _bf._size) */ fpos_t _offset; /* current lseek offset */ struct pthread_mutex *_fl_mutex; /* used for MT-safety */ struct pthread *_fl_owner; /* current owner */ int _fl_count; /* recursive lock count */ int _orientation; /* orientation for fwide() */ __mbstate_t _mbstate; /* multibyte conversion state */ }; #ifndef _STDFILE_DECLARED #define _STDFILE_DECLARED typedef struct __sFILE FILE; #endif # 152 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #ifndef _STDSTREAM_DECLARED __BEGIN_DECLS extern FILE *__stdinp; extern FILE *__stdoutp; extern FILE *__stderrp; __END_DECLS #define _STDSTREAM_DECLARED #endif # 160 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #define __SLBF 0x0001 /* line buffered */ #define __SNBF 0x0002 /* unbuffered */ #define __SRD 0x0004 /* OK to read */ #define __SWR 0x0008 /* OK to write */ /* RD and WR are never simultaneously asserted */ #define __SRW 0x0010 /* open for reading & writing */ #define __SEOF 0x0020 /* found EOF */ #define __SERR 0x0040 /* found error */ #define __SMBF 0x0080 /* _buf is from malloc */ #define __SAPP 0x0100 /* fdopen()ed in append mode */ #define __SSTR 0x0200 /* this is an sprintf/snprintf string */ #define __SOPT 0x0400 /* do fseek() optimization */ #define __SNPT 0x0800 /* do not do fseek() optimization */ #define __SOFF 0x1000 /* set iff _offset is in fact correct */ #define __SMOD 0x2000 /* true => fgetln modified _p text */ #define __SALC 0x4000 /* allocate string space dynamically */ #define __SIGN 0x8000 /* ignore this file in _fwalk */ /* * The following three definitions are for ANSI C, which took them * from System V, which brilliantly took internal interface macros and * made them official arguments to setvbuf(), without renaming them. * Hence, these ugly _IOxxx names are *supposed* to appear in user code. * * Although numbered as their counterparts above, the implementation * does not rely on this. */ #define _IOFBF 0 /* setvbuf should set fully buffered */ #define _IOLBF 1 /* setvbuf should set line buffered */ #define _IONBF 2 /* setvbuf should set unbuffered */ #define BUFSIZ 1024 /* size of buffer used by setbuf */ #define EOF (-1) /* * FOPEN_MAX is a minimum maximum, and is the number of streams that * stdio can provide without attempting to allocate further resources * (which could fail). Do not use this for anything. */ /* must be == _POSIX_STREAM_MAX */ #ifndef FOPEN_MAX #define FOPEN_MAX 20 /* must be <= OPEN_MAX */ #endif # 204 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #define FILENAME_MAX 1024 /* must be <= PATH_MAX */ /* System V/ANSI C; this is the wrong way to do this, do *not* use these. */ #if __XSI_VISIBLE #define P_tmpdir "/tmp/" #endif # 210 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #define L_tmpnam 1024 /* XXX must be == PATH_MAX */ #define TMP_MAX 308915776 #ifndef SEEK_SET #define SEEK_SET 0 /* set file offset to offset */ #endif # 216 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #ifndef SEEK_CUR #define SEEK_CUR 1 /* set file offset to current plus offset */ #endif # 219 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #ifndef SEEK_END #define SEEK_END 2 /* set file offset to EOF plus offset */ #endif # 222 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #define stdin __stdinp #define stdout __stdoutp #define stderr __stderrp __BEGIN_DECLS #ifdef _XLOCALE_H_ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 229 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 # 230 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #endif # 231 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 /* * Functions defined in ANSI C standard. */ void clearerr(FILE *); int fclose(FILE *); int feof(FILE *); int ferror(FILE *); int fflush(FILE *); int fgetc(FILE *); int fgetpos(FILE * __restrict, fpos_t * __restrict); char *fgets(char * __restrict, int, FILE * __restrict); FILE *fopen(const char * __restrict, const char * __restrict); int fprintf(FILE * __restrict, const char * __restrict, ...); int fputc(int, FILE *); int fputs(const char * __restrict, FILE * __restrict); size_t fread(void * __restrict, size_t, size_t, FILE * __restrict); FILE *freopen(const char * __restrict, const char * __restrict, FILE * __restrict); int fscanf(FILE * __restrict, const char * __restrict, ...); int fseek(FILE *, long, int); int fsetpos(FILE *, const fpos_t *); long ftell(FILE *); size_t fwrite(const void * __restrict, size_t, size_t, FILE * __restrict); int getc(FILE *); int getchar(void); char *gets(char *); void perror(const char *); int printf(const char * __restrict, ...); int putc(int, FILE *); int putchar(int); int puts(const char *); int remove(const char *); int rename(const char *, const char *); void rewind(FILE *); int scanf(const char * __restrict, ...); void setbuf(FILE * __restrict, char * __restrict); int setvbuf(FILE * __restrict, char * __restrict, int, size_t); int sprintf(char * __restrict, const char * __restrict, ...); int sscanf(const char * __restrict, const char * __restrict, ...); FILE *tmpfile(void); char *tmpnam(char *); int ungetc(int, FILE *); int vfprintf(FILE * __restrict, const char * __restrict, __va_list); int vprintf(const char * __restrict, __va_list); int vsprintf(char * __restrict, const char * __restrict, __va_list); #if __ISO_C_VISIBLE >= 1999 int snprintf(char * __restrict, size_t, const char * __restrict, ...) __printflike(3, 4); int vfscanf(FILE * __restrict, const char * __restrict, __va_list) __scanflike(2, 0); int vscanf(const char * __restrict, __va_list) __scanflike(1, 0); int vsnprintf(char * __restrict, size_t, const char * __restrict, __va_list) __printflike(3, 0); int vsscanf(const char * __restrict, const char * __restrict, __va_list) __scanflike(2, 0); #endif # 289 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 /* * Functions defined in all versions of POSIX 1003.1. */ #if __BSD_VISIBLE || (__POSIX_VISIBLE && __POSIX_VISIBLE <= 199506) #define L_cuserid 17 /* size for cuserid(3); MAXLOGNAME, legacy */ #endif # 296 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #if __POSIX_VISIBLE #define L_ctermid 1024 /* size for ctermid(3); PATH_MAX */ char *ctermid(char *); FILE *fdopen(int, const char *); int fileno(FILE *); #endif /* __POSIX_VISIBLE */ # 304 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #if __POSIX_VISIBLE >= 199209 int pclose(FILE *); FILE *popen(const char *, const char *); #endif # 309 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #if __POSIX_VISIBLE >= 199506 int ftrylockfile(FILE *); void flockfile(FILE *); void funlockfile(FILE *); /* * These are normally used through macros as defined below, but POSIX * requires functions as well. */ int getc_unlocked(FILE *); int getchar_unlocked(void); int putc_unlocked(int, FILE *); int putchar_unlocked(int); #endif # 324 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #if __BSD_VISIBLE void clearerr_unlocked(FILE *); int feof_unlocked(FILE *); int ferror_unlocked(FILE *); int fileno_unlocked(FILE *); #endif # 330 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #if __POSIX_VISIBLE >= 200112 int fseeko(FILE *, __off_t, int); __off_t ftello(FILE *); #endif # 335 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #if __BSD_VISIBLE || __XSI_VISIBLE > 0 && __XSI_VISIBLE < 600 int getw(FILE *); int putw(int, FILE *); #endif /* BSD or X/Open before issue 6 */ # 340 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #if __XSI_VISIBLE char *tempnam(const char *, const char *); #endif # 344 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #if __POSIX_VISIBLE >= 200809 FILE *fmemopen(void * __restrict, size_t, const char * __restrict); ssize_t getdelim(char ** __restrict, size_t * __restrict, int, FILE * __restrict); FILE *open_memstream(char **, size_t *); int renameat(int, const char *, int, const char *); int vdprintf(int, const char * __restrict, __va_list); /* * Every programmer and his dog wrote functions called getline() and dprintf() * before POSIX.1-2008 came along and decided to usurp the names, so we * don't prototype them by default unless one of the following is true: * a) the app has requested them specifically by defining _WITH_GETLINE or * _WITH_DPRINTF, respectively * b) the app has requested a POSIX.1-2008 environment via _POSIX_C_SOURCE * c) the app defines a GNUism such as _BSD_SOURCE or _GNU_SOURCE */ #ifndef _WITH_GETLINE #if defined(_BSD_SOURCE) || defined(_GNU_SOURCE) #define _WITH_GETLINE #elif defined(_POSIX_C_SOURCE) # 366 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #if _POSIX_C_SOURCE >= 200809 #define _WITH_GETLINE #endif # 369 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #endif # 370 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #endif # 371 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #ifdef _WITH_GETLINE ssize_t getline(char ** __restrict, size_t * __restrict, FILE * __restrict); #endif # 375 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #ifndef _WITH_DPRINTF #if defined(_BSD_SOURCE) || defined(_GNU_SOURCE) #define _WITH_DPRINTF #elif defined(_POSIX_C_SOURCE) # 380 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #if _POSIX_C_SOURCE >= 200809 #define _WITH_DPRINTF #endif # 383 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #endif # 384 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #endif # 385 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #ifdef _WITH_DPRINTF int (dprintf)(int, const char * __restrict, ...); #endif # 389 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #endif /* __POSIX_VISIBLE >= 200809 */ # 391 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 /* * Routines that are purely local. */ #if __BSD_VISIBLE int asprintf(char **, const char *, ...) __printflike(2, 3); char *ctermid_r(char *); void fcloseall(void); char *fgetln(FILE *, size_t *); const char *fmtcheck(const char *, const char *) __format_arg(2); int fpurge(FILE *); void setbuffer(FILE *, char *, int); int setlinebuf(FILE *); int vasprintf(char **, const char *, __va_list) __printflike(2, 0); /* * The system error table contains messages for the first sys_nerr * positive errno values. Use strerror() or strerror_r() from * instead. */ extern const int sys_nerr; extern const char * const sys_errlist[]; /* * Stdio function-access interface. */ FILE *funopen(const void *, int (*)(void *, char *, int), int (*)(void *, const char *, int), fpos_t (*)(void *, fpos_t, int), int (*)(void *)); #define fropen(cookie, fn) funopen(cookie, fn, 0, 0, 0) #define fwopen(cookie, fn) funopen(cookie, 0, fn, 0, 0) /* * Portability hacks. See . */ #ifndef _FTRUNCATE_DECLARED #define _FTRUNCATE_DECLARED int ftruncate(int, __off_t); #endif # 433 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #ifndef _LSEEK_DECLARED #define _LSEEK_DECLARED __off_t lseek(int, __off_t, int); #endif # 437 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #ifndef _MMAP_DECLARED #define _MMAP_DECLARED void *mmap(void *, size_t, int, int, int, __off_t); #endif # 441 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #ifndef _TRUNCATE_DECLARED #define _TRUNCATE_DECLARED int truncate(const char *, __off_t); #endif # 445 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #endif /* __BSD_VISIBLE */ # 446 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 /* * Functions internal to the implementation. */ int __srget(FILE *); int __swbuf(int, FILE *); /* * The __sfoo macros are here so that we can * define function versions in the C library. */ #define __sgetc(p) (--(p)->_r < 0 ? __srget(p) : (int)(*(p)->_p++)) #if defined(__GNUC__) && defined(__STDC__) static __inline int __sputc(int _c, FILE *_p) { if (--_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c != '\n')) return (*_p->_p++ = _c); else return (__swbuf(_c, _p)); } #else # 466 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 /* * This has been tuned to generate reasonable code on the vax using pcc. */ #define __sputc(c, p) \ (--(p)->_w < 0 ? \ (p)->_w >= (p)->_lbfsize ? \ (*(p)->_p = (c)), *(p)->_p != '\n' ? \ (int)*(p)->_p++ : \ __swbuf('\n', p) : \ __swbuf((int)(c), p) : \ (*(p)->_p = (c), (int)*(p)->_p++)) #endif # 478 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 extern int __isthreaded; #ifndef __cplusplus #define __sfeof(p) (((p)->_flags & __SEOF) != 0) #define __sferror(p) (((p)->_flags & __SERR) != 0) #define __sclearerr(p) ((void)((p)->_flags &= ~(__SERR|__SEOF))) #define __sfileno(p) ((p)->_file) #define feof(p) (!__isthreaded ? __sfeof(p) : (feof)(p)) #define ferror(p) (!__isthreaded ? __sferror(p) : (ferror)(p)) #define clearerr(p) (!__isthreaded ? __sclearerr(p) : (clearerr)(p)) #if __POSIX_VISIBLE #define fileno(p) (!__isthreaded ? __sfileno(p) : (fileno)(p)) #endif # 496 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #define getc(fp) (!__isthreaded ? __sgetc(fp) : (getc)(fp)) #define putc(x, fp) (!__isthreaded ? __sputc(x, fp) : (putc)(x, fp)) #define getchar() getc(stdin) #define putchar(x) putc(x, stdout) #if __BSD_VISIBLE /* * See ISO/IEC 9945-1 ANSI/IEEE Std 1003.1 Second Edition 1996-07-12 * B.8.2.7 for the rationale behind the *_unlocked() macros. */ #define feof_unlocked(p) __sfeof(p) #define ferror_unlocked(p) __sferror(p) #define clearerr_unlocked(p) __sclearerr(p) #define fileno_unlocked(p) __sfileno(p) #endif # 513 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #if __POSIX_VISIBLE >= 199506 #define getc_unlocked(fp) __sgetc(fp) #define putc_unlocked(x, fp) __sputc(x, fp) #define getchar_unlocked() getc_unlocked(stdin) #define putchar_unlocked(x) putc_unlocked(x, stdout) #endif # 520 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 #endif /* __cplusplus */ # 521 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 __END_DECLS #endif /* !_STDIO_H_ */ # 524 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdio.h" 3 4 # 91 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" 2 /* All systems have this header. */ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 93 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 1 3 4 /*- * Copyright (c) 1982, 1986, 1991, 1993, 1994 * The Regents of the University of California. All rights reserved. * (c) UNIX System Laboratories, Inc. * All or some portions of this file are derived from material licensed * to the University of California by American Telephone and Telegraph * Co. or Unix System Laboratories, Inc. and are reproduced herein with * the permission of UNIX System Laboratories, Inc. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)types.h 8.6 (Berkeley) 2/19/95 * $FreeBSD: projects/clang360-import/sys/sys/types.h 255219 2013-09-05 00:09:56Z pjd $ */ #ifndef _SYS_TYPES_H_ #define _SYS_TYPES_H_ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 41 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 # 42 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 /* Machine type dependent parameters. */ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 44 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/endian.h" 1 3 4 /*- * Copyright (c) 1987, 1991 Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)endian.h 7.8 (Berkeley) 4/3/91 * $FreeBSD: projects/clang360-import/sys/mips/include/endian.h 211159 2010-08-11 02:28:39Z neel $ */ #ifndef _MACHINE_ENDIAN_H_ #define _MACHINE_ENDIAN_H_ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 36 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/endian.h" 3 4 # 37 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/endian.h" 3 4 #ifndef __ASSEMBLER__ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 38 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/endian.h" 3 4 # 39 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/endian.h" 3 4 #endif # 40 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/endian.h" 3 4 #ifdef __cplusplus extern "C" { #endif # 44 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/endian.h" 3 4 /* * Definitions for byte order, according to byte significance from low * address to high. */ #define _LITTLE_ENDIAN 1234 /* LSB first: i386, vax */ #define _BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */ #define _PDP_ENDIAN 3412 /* LSB first in word, MSW first in long */ #ifdef __MIPSEB__ #define _BYTE_ORDER _BIG_ENDIAN #else # 56 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/endian.h" 3 4 #define _BYTE_ORDER _LITTLE_ENDIAN #endif /* __MIBSEB__ */ # 58 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/endian.h" 3 4 /* * Deprecated variants that don't have enough underscores to be useful in more * strict namespaces. */ #if __BSD_VISIBLE #define LITTLE_ENDIAN _LITTLE_ENDIAN #define BIG_ENDIAN _BIG_ENDIAN #define PDP_ENDIAN _PDP_ENDIAN #define BYTE_ORDER _BYTE_ORDER #endif # 69 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/endian.h" 3 4 #ifndef __ASSEMBLER__ #if defined(__GNUCLIKE_BUILTIN_CONSTANT_P) && defined(__OPTIMIZE__) #define __is_constant(x) __builtin_constant_p(x) #else # 74 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/endian.h" 3 4 #define __is_constant(x) 0 #endif # 76 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/endian.h" 3 4 #define __bswap16_const(x) (((x) >> 8) | (((x) << 8) & 0xff00)) #define __bswap32_const(x) (((x) >> 24) | (((x) >> 8) & 0xff00) | \ (((x) << 8) & 0xff0000) | (((x) << 24) & 0xff000000)) #define __bswap64_const(x) (((x) >> 56) | (((x) >> 40) & 0xff00) | \ (((x) >> 24) & 0xff0000) | (((x) >> 8) & 0xff000000) | \ (((x) << 8) & ((__uint64_t)0xff << 32)) | \ (((x) << 24) & ((__uint64_t)0xff << 40)) | \ (((x) << 40) & ((__uint64_t)0xff << 48)) | (((x) << 56))) static __inline __uint16_t __bswap16_var(__uint16_t _x) { return ((_x >> 8) | ((_x << 8) & 0xff00)); } static __inline __uint32_t __bswap32_var(__uint32_t _x) { return ((_x >> 24) | ((_x >> 8) & 0xff00) | ((_x << 8) & 0xff0000) | ((_x << 24) & 0xff000000)); } static __inline __uint64_t __bswap64_var(__uint64_t _x) { return ((_x >> 56) | ((_x >> 40) & 0xff00) | ((_x >> 24) & 0xff0000) | ((_x >> 8) & 0xff000000) | ((_x << 8) & ((__uint64_t)0xff << 32)) | ((_x << 24) & ((__uint64_t)0xff << 40)) | ((_x << 40) & ((__uint64_t)0xff << 48)) | ((_x << 56))); } #define __bswap16(x) ((__uint16_t)(__is_constant((x)) ? \ __bswap16_const((__uint16_t)(x)) : __bswap16_var((__uint16_t)(x)))) #define __bswap32(x) ((__uint32_t)(__is_constant((x)) ? \ __bswap32_const((__uint32_t)(x)) : __bswap32_var((__uint32_t)(x)))) #define __bswap64(x) ((__uint64_t)(__is_constant((x)) ? \ __bswap64_const((__uint64_t)(x)) : __bswap64_var((__uint64_t)(x)))) #ifdef __MIPSEB__ #define __htonl(x) ((__uint32_t)(x)) #define __htons(x) ((__uint16_t)(x)) #define __ntohl(x) ((__uint32_t)(x)) #define __ntohs(x) ((__uint16_t)(x)) /* * Define the order of 32-bit words in 64-bit words. */ /* * XXXMIPS: Additional parentheses to make gcc more happy. */ #define _QUAD_HIGHWORD 0 #define _QUAD_LOWWORD 1 #else # 132 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/endian.h" 3 4 #define _QUAD_HIGHWORD 1 #define _QUAD_LOWWORD 0 #define __ntohl(x) (__bswap32((x))) #define __ntohs(x) (__bswap16((x))) #define __htonl(x) (__bswap32((x))) #define __htons(x) (__bswap16((x))) #endif /* _MIPSEB */ # 139 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/endian.h" 3 4 #endif /* _ASSEMBLER_ */ # 141 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/endian.h" 3 4 #ifdef __cplusplus } #endif # 145 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/endian.h" 3 4 #endif /* !_MACHINE_ENDIAN_H_ */ # 147 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/endian.h" 3 4 # 45 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 2 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 45 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 # 46 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 47 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_pthreadtypes.h" 1 3 4 /* * Copyright (c) 1993, 1994 by Chris Provenzano, proven@mit.edu * Copyright (c) 1995-1998 by John Birrell * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by Chris Provenzano. * 4. The name of Chris Provenzano may not be used to endorse or promote * products derived from this software without specific prior written * permission. * * THIS SOFTWARE IS PROVIDED BY CHRIS PROVENZANO ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL CHRIS PROVENZANO BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $FreeBSD: projects/clang360-import/sys/sys/_pthreadtypes.h 189828 2009-03-14 20:10:14Z das $ */ #ifndef _SYS__PTHREADTYPES_H_ #define _SYS__PTHREADTYPES_H_ /* * Forward structure definitions. * * These are mostly opaque to the user. */ struct pthread; struct pthread_attr; struct pthread_cond; struct pthread_cond_attr; struct pthread_mutex; struct pthread_mutex_attr; struct pthread_once; struct pthread_rwlock; struct pthread_rwlockattr; struct pthread_barrier; struct pthread_barrier_attr; struct pthread_spinlock; /* * Primitive system data type definitions required by P1003.1c. * * Note that P1003.1c specifies that there are no defined comparison * or assignment operators for the types pthread_attr_t, pthread_cond_t, * pthread_condattr_t, pthread_mutex_t, pthread_mutexattr_t. */ #ifndef _PTHREAD_T_DECLARED typedef struct pthread *pthread_t; #define _PTHREAD_T_DECLARED #endif # 68 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_pthreadtypes.h" 3 4 typedef struct pthread_attr *pthread_attr_t; typedef struct pthread_mutex *pthread_mutex_t; typedef struct pthread_mutex_attr *pthread_mutexattr_t; typedef struct pthread_cond *pthread_cond_t; typedef struct pthread_cond_attr *pthread_condattr_t; typedef int pthread_key_t; typedef struct pthread_once pthread_once_t; typedef struct pthread_rwlock *pthread_rwlock_t; typedef struct pthread_rwlockattr *pthread_rwlockattr_t; typedef struct pthread_barrier *pthread_barrier_t; typedef struct pthread_barrierattr *pthread_barrierattr_t; typedef struct pthread_spinlock *pthread_spinlock_t; /* * Additional type definitions: * * Note that P1003.1c reserves the prefixes pthread_ and PTHREAD_ for * use in header symbols. */ typedef void *pthread_addr_t; typedef void *(*pthread_startroutine_t)(void *); /* * Once definitions. */ struct pthread_once { int state; pthread_mutex_t mutex; }; #endif /* ! _SYS__PTHREADTYPES_H_ */ # 99 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_pthreadtypes.h" 3 4 # 48 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 2 3 4 #if __BSD_VISIBLE typedef unsigned char u_char; typedef unsigned short u_short; typedef unsigned int u_int; typedef unsigned long u_long; #ifndef _KERNEL typedef unsigned short ushort; /* Sys V compatibility */ typedef unsigned int uint; /* Sys V compatibility */ #endif # 58 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #endif # 59 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 /* * XXX POSIX sized integrals that should appear only in . */ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 63 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_stdint.h" 1 3 4 /*- * Copyright (c) 2011 David E. O'Brien * Copyright (c) 2001 Mike Barcroft * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $FreeBSD: projects/clang360-import/sys/sys/_stdint.h 222813 2011-06-07 08:46:13Z attilio $ */ #ifndef _SYS__STDINT_H_ #define _SYS__STDINT_H_ #ifndef _INT8_T_DECLARED typedef __int8_t int8_t; #define _INT8_T_DECLARED #endif # 37 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_stdint.h" 3 4 #ifndef _INT16_T_DECLARED typedef __int16_t int16_t; #define _INT16_T_DECLARED #endif # 42 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_stdint.h" 3 4 #ifndef _INT32_T_DECLARED typedef __int32_t int32_t; #define _INT32_T_DECLARED #endif # 47 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_stdint.h" 3 4 #ifndef _INT64_T_DECLARED typedef __int64_t int64_t; #define _INT64_T_DECLARED #endif # 52 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_stdint.h" 3 4 #ifndef _UINT8_T_DECLARED typedef __uint8_t uint8_t; #define _UINT8_T_DECLARED #endif # 57 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_stdint.h" 3 4 #ifndef _UINT16_T_DECLARED typedef __uint16_t uint16_t; #define _UINT16_T_DECLARED #endif # 62 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_stdint.h" 3 4 #ifndef _UINT32_T_DECLARED typedef __uint32_t uint32_t; #define _UINT32_T_DECLARED #endif # 67 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_stdint.h" 3 4 #ifndef _UINT64_T_DECLARED typedef __uint64_t uint64_t; #define _UINT64_T_DECLARED #endif # 72 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_stdint.h" 3 4 #ifndef _INTPTR_T_DECLARED typedef __intptr_t intptr_t; #define _INTPTR_T_DECLARED #endif # 77 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_stdint.h" 3 4 #ifndef _UINTPTR_T_DECLARED typedef __uintptr_t uintptr_t; #define _UINTPTR_T_DECLARED #endif # 81 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_stdint.h" 3 4 #endif /* !_SYS__STDINT_H_ */ # 83 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_stdint.h" 3 4 # 64 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 2 3 4 typedef __uint8_t u_int8_t; /* unsigned integrals (deprecated) */ typedef __uint16_t u_int16_t; typedef __uint32_t u_int32_t; typedef __uint64_t u_int64_t; typedef __uint64_t u_quad_t; /* quads (deprecated) */ typedef __int64_t quad_t; typedef quad_t * qaddr_t; typedef char * caddr_t; /* core address */ typedef const char * c_caddr_t; /* core address, pointer to const */ #ifndef _BLKSIZE_T_DECLARED typedef __blksize_t blksize_t; #define _BLKSIZE_T_DECLARED #endif # 81 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 typedef __cpuwhich_t cpuwhich_t; typedef __cpulevel_t cpulevel_t; typedef __cpusetid_t cpusetid_t; #ifndef _BLKCNT_T_DECLARED typedef __blkcnt_t blkcnt_t; #define _BLKCNT_T_DECLARED #endif # 90 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #ifndef _CLOCK_T_DECLARED typedef __clock_t clock_t; #define _CLOCK_T_DECLARED #endif # 95 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #ifndef _CLOCKID_T_DECLARED typedef __clockid_t clockid_t; #define _CLOCKID_T_DECLARED #endif # 100 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 typedef __critical_t critical_t; /* Critical section value */ typedef __int64_t daddr_t; /* disk address */ #ifndef _DEV_T_DECLARED typedef __dev_t dev_t; /* device number or struct cdev */ #define _DEV_T_DECLARED #endif # 108 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #ifndef _FFLAGS_T_DECLARED typedef __fflags_t fflags_t; /* file flags */ #define _FFLAGS_T_DECLARED #endif # 113 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 typedef __fixpt_t fixpt_t; /* fixed point number */ #ifndef _FSBLKCNT_T_DECLARED /* for statvfs() */ typedef __fsblkcnt_t fsblkcnt_t; typedef __fsfilcnt_t fsfilcnt_t; #define _FSBLKCNT_T_DECLARED #endif # 121 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #ifndef _GID_T_DECLARED typedef __gid_t gid_t; /* group id */ #define _GID_T_DECLARED #endif # 126 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #ifndef _IN_ADDR_T_DECLARED typedef __uint32_t in_addr_t; /* base type for internet address */ #define _IN_ADDR_T_DECLARED #endif # 131 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #ifndef _IN_PORT_T_DECLARED typedef __uint16_t in_port_t; #define _IN_PORT_T_DECLARED #endif # 136 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #ifndef _ID_T_DECLARED typedef __id_t id_t; /* can hold a uid_t or pid_t */ #define _ID_T_DECLARED #endif # 141 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #ifndef _INO_T_DECLARED typedef __ino_t ino_t; /* inode number */ #define _INO_T_DECLARED #endif # 146 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #ifndef _KEY_T_DECLARED typedef __key_t key_t; /* IPC key (for Sys V IPC) */ #define _KEY_T_DECLARED #endif # 151 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #ifndef _LWPID_T_DECLARED typedef __lwpid_t lwpid_t; /* Thread ID (a.k.a. LWP) */ #define _LWPID_T_DECLARED #endif # 156 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #ifndef _MODE_T_DECLARED typedef __mode_t mode_t; /* permissions */ #define _MODE_T_DECLARED #endif # 161 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #ifndef _ACCMODE_T_DECLARED typedef __accmode_t accmode_t; /* access permissions */ #define _ACCMODE_T_DECLARED #endif # 166 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #ifndef _NLINK_T_DECLARED typedef __nlink_t nlink_t; /* link count */ #define _NLINK_T_DECLARED #endif # 171 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #ifndef _OFF_T_DECLARED typedef __off_t off_t; /* file offset */ #define _OFF_T_DECLARED #endif # 176 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #ifndef _PID_T_DECLARED typedef __pid_t pid_t; /* process id */ #define _PID_T_DECLARED #endif # 181 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 typedef __register_t register_t; #ifndef _RLIM_T_DECLARED typedef __rlim_t rlim_t; /* resource limit */ #define _RLIM_T_DECLARED #endif # 188 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 typedef __int64_t sbintime_t; typedef __segsz_t segsz_t; /* segment size (in pages) */ #ifndef _SIZE_T_DECLARED typedef __size_t size_t; #define _SIZE_T_DECLARED #endif # 197 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #ifndef _SSIZE_T_DECLARED typedef __ssize_t ssize_t; #define _SSIZE_T_DECLARED #endif # 202 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #ifndef _SUSECONDS_T_DECLARED typedef __suseconds_t suseconds_t; /* microseconds (signed) */ #define _SUSECONDS_T_DECLARED #endif # 207 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #ifndef _TIME_T_DECLARED typedef __time_t time_t; #define _TIME_T_DECLARED #endif # 212 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #ifndef _TIMER_T_DECLARED typedef __timer_t timer_t; #define _TIMER_T_DECLARED #endif # 217 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #ifndef _MQD_T_DECLARED typedef __mqd_t mqd_t; #define _MQD_T_DECLARED #endif # 222 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 typedef __u_register_t u_register_t; #ifndef _UID_T_DECLARED typedef __uid_t uid_t; /* user id */ #define _UID_T_DECLARED #endif # 229 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #ifndef _USECONDS_T_DECLARED typedef __useconds_t useconds_t; /* microseconds (unsigned) */ #define _USECONDS_T_DECLARED #endif # 234 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #ifndef _CAP_RIGHTS_T_DECLARED #define _CAP_RIGHTS_T_DECLARED struct cap_rights; typedef struct cap_rights cap_rights_t; #endif # 241 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 typedef __vm_offset_t vm_offset_t; typedef __vm_ooffset_t vm_ooffset_t; typedef __vm_paddr_t vm_paddr_t; typedef __vm_pindex_t vm_pindex_t; typedef __vm_size_t vm_size_t; #ifdef _KERNEL typedef int boolean_t; typedef struct device *device_t; typedef __intfptr_t intfptr_t; /* * XXX this is fixed width for historical reasons. It should have had type * __int_fast32_t. Fixed-width types should not be used unless binary * compatibility is essential. Least-width types should be used even less * since they provide smaller benefits. * * XXX should be MD. * * XXX this is bogus in -current, but still used for spl*(). */ typedef __uint32_t intrmask_t; /* Interrupt mask (spl, xxx_imask...) */ typedef __uintfptr_t uintfptr_t; typedef __uint64_t uoff_t; typedef char vm_memattr_t; /* memory attribute codes */ typedef struct vm_page *vm_page_t; #if !defined(__bool_true_false_are_defined) && !defined(__cplusplus) #define __bool_true_false_are_defined 1 #define false 0 #define true 1 #if __STDC_VERSION__ < 199901L && __GNUC__ < 3 && !defined(__INTEL_COMPILER) typedef int _Bool; #endif # 277 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 typedef _Bool bool; #endif /* !__bool_true_false_are_defined && !__cplusplus */ # 279 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #define offsetof(type, field) __offsetof(type, field) #endif /* !_KERNEL */ # 283 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 /* * The following are all things that really shouldn't exist in this header, * since its purpose is to provide typedefs, not miscellaneous doodads. */ #if __BSD_VISIBLE #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 290 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/select.h" 1 3 4 /*- * Copyright (c) 1992, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $FreeBSD: projects/clang360-import/sys/sys/select.h 265051 2014-04-28 13:42:41Z emaste $ */ #ifndef _SYS_SELECT_H_ #define _SYS_SELECT_H_ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 35 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/select.h" 3 4 # 36 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/select.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 36 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/select.h" 3 4 # 37 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/select.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 38 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/select.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_sigset.h" 1 3 4 /*- * Copyright (c) 1982, 1986, 1989, 1991, 1993 * The Regents of the University of California. All rights reserved. * (c) UNIX System Laboratories, Inc. * All or some portions of this file are derived from material licensed * to the University of California by American Telephone and Telegraph * Co. or Unix System Laboratories, Inc. and are reproduced herein with * the permission of UNIX System Laboratories, Inc. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)signal.h 8.4 (Berkeley) 5/4/95 * $FreeBSD: projects/clang360-import/sys/sys/_sigset.h 139825 2005-01-07 02:29:27Z imp $ */ #ifndef _SYS__SIGSET_H_ #define _SYS__SIGSET_H_ /* * sigset_t macros. */ #define _SIG_WORDS 4 #define _SIG_MAXSIG 128 #define _SIG_IDX(sig) ((sig) - 1) #define _SIG_WORD(sig) (_SIG_IDX(sig) >> 5) #define _SIG_BIT(sig) (1 << (_SIG_IDX(sig) & 31)) #define _SIG_VALID(sig) ((sig) <= _SIG_MAXSIG && (sig) > 0) typedef struct __sigset { __uint32_t __bits[_SIG_WORDS]; } __sigset_t; #if defined(_KERNEL) && defined(COMPAT_43) typedef unsigned int osigset_t; #endif # 58 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_sigset.h" 3 4 #endif /* !_SYS__SIGSET_H_ */ # 60 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_sigset.h" 3 4 # 39 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/select.h" 2 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 39 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/select.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_timeval.h" 1 3 4 /*- * Copyright (c) 2002 Mike Barcroft * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $FreeBSD: projects/clang360-import/sys/sys/_timeval.h 158471 2006-05-12 05:04:46Z jhb $ */ #ifndef _SYS__TIMEVAL_H_ #define _SYS__TIMEVAL_H_ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 32 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_timeval.h" 3 4 # 33 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_timeval.h" 3 4 #ifndef _SUSECONDS_T_DECLARED typedef __suseconds_t suseconds_t; #define _SUSECONDS_T_DECLARED #endif # 38 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_timeval.h" 3 4 #ifndef _TIME_T_DECLARED typedef __time_t time_t; #define _TIME_T_DECLARED #endif # 43 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_timeval.h" 3 4 /* * Structure returned by gettimeofday(2) system call, and used in other calls. */ struct timeval { time_t tv_sec; /* seconds */ suseconds_t tv_usec; /* and microseconds */ }; #endif /* !_SYS__TIMEVAL_H_ */ # 53 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_timeval.h" 3 4 # 40 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/select.h" 2 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 40 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/select.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/timespec.h" 1 3 4 /*- * Copyright (c) 1982, 1986, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)time.h 8.5 (Berkeley) 5/4/95 * from: FreeBSD: src/sys/sys/time.h,v 1.43 2000/03/20 14:09:05 phk Exp * $FreeBSD: projects/clang360-import/sys/sys/timespec.h 205792 2010-03-28 13:13:22Z ed $ */ #ifndef _SYS_TIMESPEC_H_ #define _SYS_TIMESPEC_H_ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 37 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/timespec.h" 3 4 # 38 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/timespec.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 38 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/timespec.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_timespec.h" 1 3 4 /*- * Copyright (c) 1982, 1986, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)time.h 8.5 (Berkeley) 5/4/95 * from: FreeBSD: src/sys/sys/time.h,v 1.43 2000/03/20 14:09:05 phk Exp * $FreeBSD: projects/clang360-import/sys/sys/_timespec.h 205792 2010-03-28 13:13:22Z ed $ */ #ifndef _SYS__TIMESPEC_H_ #define _SYS__TIMESPEC_H_ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 37 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_timespec.h" 3 4 # 38 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_timespec.h" 3 4 #ifndef _TIME_T_DECLARED typedef __time_t time_t; #define _TIME_T_DECLARED #endif # 43 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_timespec.h" 3 4 struct timespec { time_t tv_sec; /* seconds */ long tv_nsec; /* and nanoseconds */ }; #endif /* !_SYS__TIMESPEC_H_ */ # 50 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/_timespec.h" 3 4 # 39 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/timespec.h" 2 3 4 #if __BSD_VISIBLE #define TIMEVAL_TO_TIMESPEC(tv, ts) \ do { \ (ts)->tv_sec = (tv)->tv_sec; \ (ts)->tv_nsec = (tv)->tv_usec * 1000; \ } while (0) #define TIMESPEC_TO_TIMEVAL(tv, ts) \ do { \ (tv)->tv_sec = (ts)->tv_sec; \ (tv)->tv_usec = (ts)->tv_nsec / 1000; \ } while (0) #endif /* __BSD_VISIBLE */ # 53 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/timespec.h" 3 4 /* * Structure defined by POSIX.1b to be like a itimerval, but with * timespecs. Used in the timer_*() system calls. */ struct itimerspec { struct timespec it_interval; struct timespec it_value; }; #endif /* _SYS_TIMESPEC_H_ */ # 64 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/timespec.h" 3 4 # 41 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/select.h" 2 3 4 typedef unsigned long __fd_mask; #if __BSD_VISIBLE typedef __fd_mask fd_mask; #endif # 46 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/select.h" 3 4 #ifndef _SIGSET_T_DECLARED #define _SIGSET_T_DECLARED typedef __sigset_t sigset_t; #endif # 51 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/select.h" 3 4 /* * Select uses bit masks of file descriptors in longs. These macros * manipulate such bit fields (the filesystem macros use chars). * FD_SETSIZE may be defined by the user, but the default here should * be enough for most uses. */ #ifndef FD_SETSIZE #define FD_SETSIZE 1024 #endif # 61 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/select.h" 3 4 #define _NFDBITS (sizeof(__fd_mask) * 8) /* bits per mask */ #if __BSD_VISIBLE #define NFDBITS _NFDBITS #endif # 66 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/select.h" 3 4 #ifndef _howmany #define _howmany(x, y) (((x) + ((y) - 1)) / (y)) #endif # 70 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/select.h" 3 4 typedef struct fd_set { __fd_mask __fds_bits[_howmany(FD_SETSIZE, _NFDBITS)]; } fd_set; #if __BSD_VISIBLE #define fds_bits __fds_bits #endif # 77 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/select.h" 3 4 #define __fdset_mask(n) ((__fd_mask)1 << ((n) % _NFDBITS)) #define FD_CLR(n, p) ((p)->__fds_bits[(n)/_NFDBITS] &= ~__fdset_mask(n)) #if __BSD_VISIBLE #define FD_COPY(f, t) (void)(*(t) = *(f)) #endif # 83 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/select.h" 3 4 #define FD_ISSET(n, p) (((p)->__fds_bits[(n)/_NFDBITS] & __fdset_mask(n)) != 0) #define FD_SET(n, p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n)) #define FD_ZERO(p) do { \ fd_set *_p; \ __size_t _n; \ \ _p = (p); \ _n = _howmany(FD_SETSIZE, _NFDBITS); \ while (_n > 0) \ _p->__fds_bits[--_n] = 0; \ } while (0) #ifndef _KERNEL __BEGIN_DECLS int pselect(int, fd_set *__restrict, fd_set *__restrict, fd_set *__restrict, const struct timespec *__restrict, const sigset_t *__restrict); #ifndef _SELECT_DECLARED #define _SELECT_DECLARED /* XXX missing restrict type-qualifier */ int select(int, fd_set *, fd_set *, fd_set *, struct timeval *); #endif # 105 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/select.h" 3 4 __END_DECLS #endif /* !_KERNEL */ # 107 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/select.h" 3 4 #endif /* _SYS_SELECT_H_ */ # 109 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/select.h" 3 4 # 291 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 2 3 4 /* * minor() gives a cookie instead of an index since we don't want to * change the meanings of bits 0-15 or waste time and space shifting * bits 16-31 for devices that don't use them. */ #define major(x) ((int)(((u_int)(x) >> 8)&0xff)) /* major number */ #define minor(x) ((int)((x)&0xffff00ff)) /* minor number */ #define makedev(x,y) ((dev_t)(((x) << 8) | (y))) /* create dev_t */ /* * These declarations belong elsewhere, but are repeated here and in * to give broken programs a better chance of working with * 64-bit off_t's. */ #ifndef _KERNEL __BEGIN_DECLS #ifndef _FTRUNCATE_DECLARED #define _FTRUNCATE_DECLARED int ftruncate(int, off_t); #endif # 312 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #ifndef _LSEEK_DECLARED #define _LSEEK_DECLARED off_t lseek(int, off_t, int); #endif # 316 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #ifndef _MMAP_DECLARED #define _MMAP_DECLARED void * mmap(void *, size_t, int, int, int, off_t); #endif # 320 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #ifndef _TRUNCATE_DECLARED #define _TRUNCATE_DECLARED int truncate(const char *, off_t); #endif # 324 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 __END_DECLS #endif /* !_KERNEL */ # 326 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #endif /* __BSD_VISIBLE */ # 328 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 #endif /* !_SYS_TYPES_H_ */ # 330 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/types.h" 3 4 # 94 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" 2 /* All systems have this header. */ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 96 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/errno.h" 1 3 4 /*- * Copyright (c) 1982, 1986, 1989, 1993 * The Regents of the University of California. All rights reserved. * (c) UNIX System Laboratories, Inc. * All or some portions of this file are derived from material licensed * to the University of California by American Telephone and Telegraph * Co. or Unix System Laboratories, Inc. and are reproduced herein with * the permission of UNIX System Laboratories, Inc. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)errno.h 8.5 (Berkeley) 1/21/94 * $FreeBSD: projects/clang360-import/sys/sys/errno.h 250250 2013-05-04 19:07:22Z pluknet $ */ #ifndef _SYS_ERRNO_H_ #define _SYS_ERRNO_H_ #ifndef _KERNEL #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 42 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/errno.h" 3 4 # 43 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/errno.h" 3 4 __BEGIN_DECLS int * __error(void); __END_DECLS #define errno (* __error()) #endif # 48 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/errno.h" 3 4 #define EPERM 1 /* Operation not permitted */ #define ENOENT 2 /* No such file or directory */ #define ESRCH 3 /* No such process */ #define EINTR 4 /* Interrupted system call */ #define EIO 5 /* Input/output error */ #define ENXIO 6 /* Device not configured */ #define E2BIG 7 /* Argument list too long */ #define ENOEXEC 8 /* Exec format error */ #define EBADF 9 /* Bad file descriptor */ #define ECHILD 10 /* No child processes */ #define EDEADLK 11 /* Resource deadlock avoided */ /* 11 was EAGAIN */ #define ENOMEM 12 /* Cannot allocate memory */ #define EACCES 13 /* Permission denied */ #define EFAULT 14 /* Bad address */ #ifndef _POSIX_SOURCE #define ENOTBLK 15 /* Block device required */ #endif # 67 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/errno.h" 3 4 #define EBUSY 16 /* Device busy */ #define EEXIST 17 /* File exists */ #define EXDEV 18 /* Cross-device link */ #define ENODEV 19 /* Operation not supported by device */ #define ENOTDIR 20 /* Not a directory */ #define EISDIR 21 /* Is a directory */ #define EINVAL 22 /* Invalid argument */ #define ENFILE 23 /* Too many open files in system */ #define EMFILE 24 /* Too many open files */ #define ENOTTY 25 /* Inappropriate ioctl for device */ #ifndef _POSIX_SOURCE #define ETXTBSY 26 /* Text file busy */ #endif # 80 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/errno.h" 3 4 #define EFBIG 27 /* File too large */ #define ENOSPC 28 /* No space left on device */ #define ESPIPE 29 /* Illegal seek */ #define EROFS 30 /* Read-only filesystem */ #define EMLINK 31 /* Too many links */ #define EPIPE 32 /* Broken pipe */ /* math software */ #define EDOM 33 /* Numerical argument out of domain */ #define ERANGE 34 /* Result too large */ /* non-blocking and interrupt i/o */ #define EAGAIN 35 /* Resource temporarily unavailable */ #ifndef _POSIX_SOURCE #define EWOULDBLOCK EAGAIN /* Operation would block */ #define EINPROGRESS 36 /* Operation now in progress */ #define EALREADY 37 /* Operation already in progress */ /* ipc/network software -- argument errors */ #define ENOTSOCK 38 /* Socket operation on non-socket */ #define EDESTADDRREQ 39 /* Destination address required */ #define EMSGSIZE 40 /* Message too long */ #define EPROTOTYPE 41 /* Protocol wrong type for socket */ #define ENOPROTOOPT 42 /* Protocol not available */ #define EPROTONOSUPPORT 43 /* Protocol not supported */ #define ESOCKTNOSUPPORT 44 /* Socket type not supported */ #define EOPNOTSUPP 45 /* Operation not supported */ #define ENOTSUP EOPNOTSUPP /* Operation not supported */ #define EPFNOSUPPORT 46 /* Protocol family not supported */ #define EAFNOSUPPORT 47 /* Address family not supported by protocol family */ #define EADDRINUSE 48 /* Address already in use */ #define EADDRNOTAVAIL 49 /* Can't assign requested address */ /* ipc/network software -- operational errors */ #define ENETDOWN 50 /* Network is down */ #define ENETUNREACH 51 /* Network is unreachable */ #define ENETRESET 52 /* Network dropped connection on reset */ #define ECONNABORTED 53 /* Software caused connection abort */ #define ECONNRESET 54 /* Connection reset by peer */ #define ENOBUFS 55 /* No buffer space available */ #define EISCONN 56 /* Socket is already connected */ #define ENOTCONN 57 /* Socket is not connected */ #define ESHUTDOWN 58 /* Can't send after socket shutdown */ #define ETOOMANYREFS 59 /* Too many references: can't splice */ #define ETIMEDOUT 60 /* Operation timed out */ #define ECONNREFUSED 61 /* Connection refused */ #define ELOOP 62 /* Too many levels of symbolic links */ #endif /* _POSIX_SOURCE */ # 129 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/errno.h" 3 4 #define ENAMETOOLONG 63 /* File name too long */ /* should be rearranged */ #ifndef _POSIX_SOURCE #define EHOSTDOWN 64 /* Host is down */ #define EHOSTUNREACH 65 /* No route to host */ #endif /* _POSIX_SOURCE */ # 136 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/errno.h" 3 4 #define ENOTEMPTY 66 /* Directory not empty */ /* quotas & mush */ #ifndef _POSIX_SOURCE #define EPROCLIM 67 /* Too many processes */ #define EUSERS 68 /* Too many users */ #define EDQUOT 69 /* Disc quota exceeded */ /* Network File System */ #define ESTALE 70 /* Stale NFS file handle */ #define EREMOTE 71 /* Too many levels of remote in path */ #define EBADRPC 72 /* RPC struct is bad */ #define ERPCMISMATCH 73 /* RPC version wrong */ #define EPROGUNAVAIL 74 /* RPC prog. not avail */ #define EPROGMISMATCH 75 /* Program version wrong */ #define EPROCUNAVAIL 76 /* Bad procedure for program */ #endif /* _POSIX_SOURCE */ # 153 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/errno.h" 3 4 #define ENOLCK 77 /* No locks available */ #define ENOSYS 78 /* Function not implemented */ #ifndef _POSIX_SOURCE #define EFTYPE 79 /* Inappropriate file type or format */ #define EAUTH 80 /* Authentication error */ #define ENEEDAUTH 81 /* Need authenticator */ #define EIDRM 82 /* Identifier removed */ #define ENOMSG 83 /* No message of desired type */ #define EOVERFLOW 84 /* Value too large to be stored in data type */ #define ECANCELED 85 /* Operation canceled */ #define EILSEQ 86 /* Illegal byte sequence */ #define ENOATTR 87 /* Attribute not found */ #define EDOOFUS 88 /* Programming error */ #endif /* _POSIX_SOURCE */ # 170 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/errno.h" 3 4 #define EBADMSG 89 /* Bad message */ #define EMULTIHOP 90 /* Multihop attempted */ #define ENOLINK 91 /* Link has been severed */ #define EPROTO 92 /* Protocol error */ #ifndef _POSIX_SOURCE #define ENOTCAPABLE 93 /* Capabilities insufficient */ #define ECAPMODE 94 /* Not permitted in capability mode */ #define ENOTRECOVERABLE 95 /* State not recoverable */ #define EOWNERDEAD 96 /* Previous owner died */ #endif /* _POSIX_SOURCE */ # 182 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/errno.h" 3 4 #ifndef _POSIX_SOURCE #define ELAST 96 /* Must be equal largest errno */ #endif /* _POSIX_SOURCE */ # 186 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/errno.h" 3 4 #ifdef _KERNEL /* pseudo-errors returned inside kernel to modify return to process */ #define ERESTART (-1) /* restart syscall */ #define EJUSTRETURN (-2) /* don't modify regs, just return */ #define ENOIOCTL (-3) /* ioctl not handled by this layer */ #define EDIRIOCTL (-4) /* do direct ioctl in GEOM */ #endif # 194 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/errno.h" 3 4 #endif # 196 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/errno.h" 3 4 # 97 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" 2 #ifndef errno extern int errno; #endif # 101 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" /* GCC (fixproto) guarantees these system headers exist. */ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 103 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 1 3 4 /*- * Copyright (c) 1990, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)string.h 8.1 (Berkeley) 6/2/93 * $FreeBSD: projects/clang360-import/include/string.h 265878 2014-05-11 13:48:21Z jilles $ */ #ifndef _STRING_H_ #define _STRING_H_ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 36 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 # 37 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 37 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 # 38 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 38 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 # 39 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 /* * Prototype functions which were historically defined in , but * are required by POSIX to be prototyped in . */ #if __BSD_VISIBLE #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 45 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/strings.h" 1 3 4 /*- * Copyright (c) 2002 Mike Barcroft * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $FreeBSD: projects/clang360-import/include/strings.h 272673 2014-10-07 04:54:11Z delphij $ */ #ifndef _STRINGS_H_ #define _STRINGS_H_ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 32 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/strings.h" 3 4 # 33 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/strings.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 33 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/strings.h" 3 4 # 34 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/strings.h" 3 4 #ifndef _SIZE_T_DECLARED typedef __size_t size_t; #define _SIZE_T_DECLARED #endif # 39 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/strings.h" 3 4 __BEGIN_DECLS #if __BSD_VISIBLE || __POSIX_VISIBLE <= 200112 int bcmp(const void *, const void *, size_t) __pure; /* LEGACY */ void bcopy(const void *, void *, size_t); /* LEGACY */ void bzero(void *, size_t); /* LEGACY */ #endif # 46 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/strings.h" 3 4 #if __BSD_VISIBLE void explicit_bzero(void *, size_t); #endif # 49 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/strings.h" 3 4 #if __XSI_VISIBLE int ffs(int) __pure2; #endif # 52 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/strings.h" 3 4 #if __BSD_VISIBLE int ffsl(long) __pure2; int ffsll(long long) __pure2; int fls(int) __pure2; int flsl(long) __pure2; int flsll(long long) __pure2; #endif # 59 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/strings.h" 3 4 #if __BSD_VISIBLE || __POSIX_VISIBLE <= 200112 char *index(const char *, int) __pure; /* LEGACY */ char *rindex(const char *, int) __pure; /* LEGACY */ #endif # 63 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/strings.h" 3 4 int strcasecmp(const char *, const char *) __pure; int strncasecmp(const char *, const char *, size_t) __pure; #if __POSIX_VISIBLE >= 200809 || defined(_XLOCALE_H_) #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 67 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/strings.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/xlocale/_strings.h" 1 3 4 /*- * Copyright (c) 2011, 2012 The FreeBSD Foundation * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $FreeBSD: projects/clang360-import/include/xlocale/_strings.h 266865 2014-05-30 01:09:07Z pfg $ */ #ifndef _LOCALE_T_DEFINED #define _LOCALE_T_DEFINED typedef struct _xlocale *locale_t; #endif # 33 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/xlocale/_strings.h" 3 4 /* * This file is included from both strings.h and xlocale.h. We need to expose * the declarations unconditionally if we are included from xlocale.h, but only * if we are in POSIX2008 mode if included from string.h. */ #ifndef _XLOCALE_STRINGS1_H #define _XLOCALE_STRINGS1_H /* * POSIX2008 functions */ int strcasecmp_l(const char *, const char *, locale_t); int strncasecmp_l(const char *, const char *, size_t, locale_t); #endif /* _XLOCALE_STRINGS1_H */ # 49 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/xlocale/_strings.h" 3 4 # 68 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/strings.h" 2 3 4 #endif # 69 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/strings.h" 3 4 __END_DECLS #endif /* _STRINGS_H_ */ # 72 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/strings.h" 3 4 # 46 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 2 3 4 #endif # 47 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 #ifndef _SIZE_T_DECLARED typedef __size_t size_t; #define _SIZE_T_DECLARED #endif # 52 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 __BEGIN_DECLS #if __XSI_VISIBLE >= 600 void *memccpy(void * __restrict, const void * __restrict, int, size_t); #endif # 57 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 void *memchr(const void *, int, size_t) __pure; #if __BSD_VISIBLE void *memrchr(const void *, int, size_t) __pure; #endif # 61 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 int memcmp(const void *, const void *, size_t) __pure; void *memcpy(void * __restrict, const void * __restrict, size_t); #if __BSD_VISIBLE void *memmem(const void *, size_t, const void *, size_t) __pure; #endif # 66 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 void *memmove(void *, const void *, size_t); void *memset(void *, int, size_t); #if __POSIX_VISIBLE >= 200809 char *stpcpy(char * __restrict, const char * __restrict); char *stpncpy(char * __restrict, const char * __restrict, size_t); #endif # 72 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 #if __BSD_VISIBLE char *strcasestr(const char *, const char *) __pure; #endif # 75 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 char *strcat(char * __restrict, const char * __restrict); char *strchr(const char *, int) __pure; #if __BSD_VISIBLE char *strchrnul(const char*, int) __pure; #endif # 80 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 int strcmp(const char *, const char *) __pure; int strcoll(const char *, const char *); char *strcpy(char * __restrict, const char * __restrict); size_t strcspn(const char *, const char *) __pure; #if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE char *strdup(const char *) __malloc_like; #endif # 87 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 char *strerror(int); #if __POSIX_VISIBLE >= 200112 int strerror_r(int, char *, size_t); #endif # 91 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 #if __BSD_VISIBLE size_t strlcat(char * __restrict, const char * __restrict, size_t); size_t strlcpy(char * __restrict, const char * __restrict, size_t); #endif # 95 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 size_t strlen(const char *) __pure; #if __BSD_VISIBLE void strmode(int, char *); #endif # 99 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 char *strncat(char * __restrict, const char * __restrict, size_t); int strncmp(const char *, const char *, size_t) __pure; char *strncpy(char * __restrict, const char * __restrict, size_t); #if __POSIX_VISIBLE >= 200809 char *strndup(const char *, size_t) __malloc_like; size_t strnlen(const char *, size_t) __pure; #endif # 106 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 #if __BSD_VISIBLE char *strnstr(const char *, const char *, size_t) __pure; #endif # 109 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 char *strpbrk(const char *, const char *) __pure; char *strrchr(const char *, int) __pure; #if __BSD_VISIBLE char *strsep(char **, const char *); #endif # 114 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 #if __POSIX_VISIBLE >= 200809 char *strsignal(int); #endif # 117 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 size_t strspn(const char *, const char *) __pure; char *strstr(const char *, const char *) __pure; char *strtok(char * __restrict, const char * __restrict); #if __POSIX_VISIBLE >= 199506 || __XSI_VISIBLE >= 500 char *strtok_r(char *, const char *, char **); #endif # 123 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 size_t strxfrm(char * __restrict, const char * __restrict, size_t); #if __BSD_VISIBLE #ifndef _SWAB_DECLARED #define _SWAB_DECLARED #ifndef _SSIZE_T_DECLARED typedef __ssize_t ssize_t; #define _SSIZE_T_DECLARED #endif /* _SIZE_T_DECLARED */ # 133 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 void swab(const void * __restrict, void * __restrict, ssize_t); #endif /* _SWAB_DECLARED */ # 136 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 #endif /* __BSD_VISIBLE */ # 138 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 #if __POSIX_VISIBLE >= 200809 || defined(_XLOCALE_H_) #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 140 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/xlocale/_string.h" 1 3 4 /*- * Copyright (c) 2011, 2012 The FreeBSD Foundation * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $FreeBSD: projects/clang360-import/include/xlocale/_string.h 266865 2014-05-30 01:09:07Z pfg $ */ #ifndef _LOCALE_T_DEFINED #define _LOCALE_T_DEFINED typedef struct _xlocale *locale_t; #endif # 33 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/xlocale/_string.h" 3 4 /* * This file is included from both string.h and xlocale.h. We need to expose * the declarations unconditionally if we are included from xlocale.h, but only * if we are in POSIX2008 mode if included from string.h. */ #ifndef _XLOCALE_STRING1_H #define _XLOCALE_STRING1_H /* * POSIX2008 functions */ int strcoll_l(const char *, const char *, locale_t); size_t strxfrm_l(char *, const char *, size_t, locale_t); #endif /* _XLOCALE_STRING1_H */ # 49 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/xlocale/_string.h" 3 4 /* * xlocale extensions */ #ifdef _XLOCALE_H_ #ifndef _XLOCALE_STRING2_H #define _XLOCALE_STRING2_H char *strcasestr_l(const char *, const char *, locale_t); #endif /* _XLOCALE_STRING2_H */ # 59 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/xlocale/_string.h" 3 4 #endif /* _XLOCALE_H_ */ # 60 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/xlocale/_string.h" 3 4 # 141 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 2 3 4 #endif # 142 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 __END_DECLS #endif /* _STRING_H_ */ # 145 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/string.h" 3 4 # 104 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" 2 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 104 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 1 3 4 /*- * Copyright (c) 1990, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)stdlib.h 8.5 (Berkeley) 5/19/95 * $FreeBSD: projects/clang360-import/include/stdlib.h 270952 2014-09-01 22:25:42Z pfg $ */ #ifndef _STDLIB_H_ #define _STDLIB_H_ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 36 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 # 37 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 37 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 # 38 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 38 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 # 39 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 #if __BSD_VISIBLE #ifndef _RUNE_T_DECLARED typedef __rune_t rune_t; #define _RUNE_T_DECLARED #endif # 45 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 #endif # 46 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 #ifndef _SIZE_T_DECLARED typedef __size_t size_t; #define _SIZE_T_DECLARED #endif # 51 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 #ifndef __cplusplus #ifndef _WCHAR_T_DECLARED typedef ___wchar_t wchar_t; #define _WCHAR_T_DECLARED #endif # 57 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 #endif # 58 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 typedef struct { int quot; /* quotient */ int rem; /* remainder */ } div_t; typedef struct { long quot; long rem; } ldiv_t; #define EXIT_FAILURE 1 #define EXIT_SUCCESS 0 #define RAND_MAX 0x7ffffffd __BEGIN_DECLS #ifdef _XLOCALE_H_ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 76 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 # 77 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 #endif # 78 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 extern int __mb_cur_max; extern int ___mb_cur_max(void); #define MB_CUR_MAX (___mb_cur_max()) _Noreturn void abort(void); int abs(int) __pure2; int atexit(void (*)(void)); double atof(const char *); int atoi(const char *); long atol(const char *); void *bsearch(const void *, const void *, size_t, size_t, int (*)(const void *, const void *)); void *calloc(size_t, size_t) __malloc_like; div_t div(int, int) __pure2; _Noreturn void exit(int); void free(void *); char *getenv(const char *); long labs(long) __pure2; ldiv_t ldiv(long, long) __pure2; void *malloc(size_t) __malloc_like; int mblen(const char *, size_t); size_t mbstowcs(wchar_t * __restrict , const char * __restrict, size_t); int mbtowc(wchar_t * __restrict, const char * __restrict, size_t); void qsort(void *, size_t, size_t, int (*)(const void *, const void *)); int rand(void); void *realloc(void *, size_t); void srand(unsigned); double strtod(const char * __restrict, char ** __restrict); float strtof(const char * __restrict, char ** __restrict); long strtol(const char * __restrict, char ** __restrict, int); long double strtold(const char * __restrict, char ** __restrict); unsigned long strtoul(const char * __restrict, char ** __restrict, int); int system(const char *); int wctomb(char *, wchar_t); size_t wcstombs(char * __restrict, const wchar_t * __restrict, size_t); /* * Functions added in C99 which we make conditionally available in the * BSD^C89 namespace if the compiler supports `long long'. * The #if test is more complicated than it ought to be because * __BSD_VISIBLE implies __ISO_C_VISIBLE == 1999 *even if* `long long' * is not supported in the compilation environment (which therefore means * that it can't really be ISO C99). * * (The only other extension made by C99 in thie header is _Exit().) */ #if __ISO_C_VISIBLE >= 1999 #ifdef __LONG_LONG_SUPPORTED /* LONGLONG */ typedef struct { long long quot; long long rem; } lldiv_t; /* LONGLONG */ long long atoll(const char *); /* LONGLONG */ long long llabs(long long) __pure2; /* LONGLONG */ lldiv_t lldiv(long long, long long) __pure2; /* LONGLONG */ long long strtoll(const char * __restrict, char ** __restrict, int); /* LONGLONG */ unsigned long long strtoull(const char * __restrict, char ** __restrict, int); #endif /* __LONG_LONG_SUPPORTED */ # 150 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 _Noreturn void _Exit(int); #endif /* __ISO_C_VISIBLE >= 1999 */ # 153 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 /* * If we're in a mode greater than C99, expose C11 functions. */ #if __ISO_C_VISIBLE >= 2011 || __cplusplus >= 201103L void * aligned_alloc(size_t, size_t) __malloc_like; int at_quick_exit(void (*)(void)); _Noreturn void quick_exit(int); #endif /* __ISO_C_VISIBLE >= 2011 */ # 163 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 /* * Extensions made by POSIX relative to C. */ #if __POSIX_VISIBLE >= 199506 || __XSI_VISIBLE char *realpath(const char * __restrict, char * __restrict); #endif # 169 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 #if __POSIX_VISIBLE >= 199506 int rand_r(unsigned *); /* (TSF) */ #endif # 172 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 #if __POSIX_VISIBLE >= 200112 int posix_memalign(void **, size_t, size_t); /* (ADV) */ int setenv(const char *, const char *, int); int unsetenv(const char *); #endif # 177 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 #if __POSIX_VISIBLE >= 200809 || __XSI_VISIBLE int getsubopt(char **, char *const *, char **); #ifndef _MKDTEMP_DECLARED char *mkdtemp(char *); #define _MKDTEMP_DECLARED #endif # 184 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 #ifndef _MKSTEMP_DECLARED int mkstemp(char *); #define _MKSTEMP_DECLARED #endif # 188 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 #endif /* __POSIX_VISIBLE >= 200809 || __XSI_VISIBLE */ # 189 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 /* * The only changes to the XSI namespace in revision 6 were the deletion * of the ttyslot() and valloc() functions, which FreeBSD never declared * in this header. For revision 7, ecvt(), fcvt(), and gcvt(), which * FreeBSD also does not have, and mktemp(), are to be deleted. */ #if __XSI_VISIBLE /* XXX XSI requires pollution from here. We'd rather not. */ long a64l(const char *); double drand48(void); /* char *ecvt(double, int, int * __restrict, int * __restrict); */ double erand48(unsigned short[3]); /* char *fcvt(double, int, int * __restrict, int * __restrict); */ /* char *gcvt(double, int, int * __restrict, int * __restrict); */ int grantpt(int); char *initstate(unsigned long /* XSI requires u_int */, char *, long); long jrand48(unsigned short[3]); char *l64a(long); void lcong48(unsigned short[7]); long lrand48(void); #if !defined(_MKTEMP_DECLARED) && (__BSD_VISIBLE || __XSI_VISIBLE <= 600) char *mktemp(char *); #define _MKTEMP_DECLARED #endif # 214 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 long mrand48(void); long nrand48(unsigned short[3]); int posix_openpt(int); char *ptsname(int); int putenv(char *); long random(void); unsigned short *seed48(unsigned short[3]); #ifndef _SETKEY_DECLARED int setkey(const char *); #define _SETKEY_DECLARED #endif # 226 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 char *setstate(/* const */ char *); void srand48(long); void srandom(unsigned long); int unlockpt(int); #endif /* __XSI_VISIBLE */ # 231 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 #if __BSD_VISIBLE extern const char *malloc_conf; extern void (*malloc_message)(void *, const char *); /* * The alloca() function can't be implemented in C, and on some * platforms it can't be implemented at all as a callable function. * The GNU C compiler provides a built-in alloca() which we can use; * in all other cases, provide a prototype, mainly to pacify various * incarnations of lint. On platforms where alloca() is not in libc, * programs which use it will fail to link when compiled with non-GNU * compilers. */ #if __GNUC__ >= 2 || defined(__INTEL_COMPILER) #undef alloca /* some GNU bits try to get cute and define this on their own */ #define alloca(sz) __builtin_alloca(sz) #elif defined(lint) # 249 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 void *alloca(size_t); #endif # 251 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 void abort2(const char *, int, void **) __dead2; __uint32_t arc4random(void); void arc4random_addrandom(unsigned char *, int); void arc4random_buf(void *, size_t); void arc4random_stir(void); __uint32_t arc4random_uniform(__uint32_t); #ifdef __BLOCKS__ int atexit_b(void (^)(void)); void *bsearch_b(const void *, const void *, size_t, size_t, int (^)(const void *, const void *)); #endif # 265 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 char *getbsize(int *, long *); /* getcap(3) functions */ char *cgetcap(char *, const char *, int); int cgetclose(void); int cgetent(char **, char **, const char *); int cgetfirst(char **, char **); int cgetmatch(const char *, const char *); int cgetnext(char **, char **); int cgetnum(char *, const char *, long *); int cgetset(const char *); int cgetstr(char *, const char *, char **); int cgetustr(char *, const char *, char **); int daemon(int, int); char *devname(__dev_t, __mode_t); char *devname_r(__dev_t, __mode_t, char *, int); char *fdevname(int); char *fdevname_r(int, char *, int); int getloadavg(double [], int); const char * getprogname(void); int heapsort(void *, size_t, size_t, int (*)(const void *, const void *)); #ifdef __BLOCKS__ int heapsort_b(void *, size_t, size_t, int (^)(const void *, const void *)); void qsort_b(void *, size_t, size_t, int (^)(const void *, const void *)); #endif # 293 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 int l64a_r(long, char *, int); int mergesort(void *, size_t, size_t, int (*)(const void *, const void *)); #ifdef __BLOCKS__ int mergesort_b(void *, size_t, size_t, int (^)(const void *, const void *)); #endif # 298 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 int mkostemp(char *, int); int mkostemps(char *, int, int); void qsort_r(void *, size_t, size_t, void *, int (*)(void *, const void *, const void *)); int radixsort(const unsigned char **, int, const unsigned char *, unsigned); void *reallocf(void *, size_t); int rpmatch(const char *); void setprogname(const char *); int sradixsort(const unsigned char **, int, const unsigned char *, unsigned); void sranddev(void); void srandomdev(void); long long strtonum(const char *, long long, long long, const char **); /* Deprecated interfaces, to be removed in FreeBSD 6.0. */ __int64_t strtoq(const char *, char **, int); __uint64_t strtouq(const char *, char **, int); extern char *suboptarg; /* getsubopt(3) external variable */ #endif /* __BSD_VISIBLE */ # 322 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 __END_DECLS #endif /* !_STDLIB_H_ */ # 325 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/stdlib.h" 3 4 # 105 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" 2 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 105 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 1 3 4 /*- * Copyright (c) 1991, 1993, 1994 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)unistd.h 8.12 (Berkeley) 4/27/95 * $FreeBSD: projects/clang360-import/include/unistd.h 271878 2014-09-19 18:13:56Z pfg $ */ #ifndef _UNISTD_H_ #define _UNISTD_H_ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 36 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 # 37 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include /* XXX adds too much pollution. */ #endif /* expanded by -frewrite-includes */ # 37 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 # 38 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 38 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/unistd.h" 1 3 4 /*- * Copyright (c) 1989, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)unistd.h 8.2 (Berkeley) 1/7/94 * $FreeBSD: projects/clang360-import/sys/sys/unistd.h 239347 2012-08-17 02:26:31Z davidxu $ */ #ifndef _SYS_UNISTD_H_ #define _SYS_UNISTD_H_ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 36 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/unistd.h" 3 4 # 37 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/unistd.h" 3 4 /* * POSIX options and option groups we unconditionally do or don't * implement. Those options which are implemented (or not) entirely * in user mode are defined in . Please keep this list in * alphabetical order. * * Anything which is defined as zero below **must** have an * implementation for the corresponding sysconf() which is able to * determine conclusively whether or not the feature is supported. * Anything which is defined as other than -1 below **must** have * complete headers, types, and function declarations as specified by * the POSIX standard; however, if the relevant sysconf() function * returns -1, the functions may be stubbed out. */ #define _POSIX_ADVISORY_INFO 200112L #define _POSIX_ASYNCHRONOUS_IO 0 #define _POSIX_CHOWN_RESTRICTED 1 #define _POSIX_CLOCK_SELECTION (-1) #define _POSIX_CPUTIME 200112L #define _POSIX_FSYNC 200112L #define _POSIX_IPV6 0 #define _POSIX_JOB_CONTROL 1 #define _POSIX_MAPPED_FILES 200112L #define _POSIX_MEMLOCK (-1) #define _POSIX_MEMLOCK_RANGE 200112L #define _POSIX_MEMORY_PROTECTION 200112L #define _POSIX_MESSAGE_PASSING 200112L #define _POSIX_MONOTONIC_CLOCK 200112L #define _POSIX_NO_TRUNC 1 #define _POSIX_PRIORITIZED_IO (-1) #define _POSIX_PRIORITY_SCHEDULING 200112L #define _POSIX_RAW_SOCKETS 200112L #define _POSIX_REALTIME_SIGNALS 200112L #define _POSIX_SEMAPHORES 200112L #define _POSIX_SHARED_MEMORY_OBJECTS 200112L #define _POSIX_SPORADIC_SERVER (-1) #define _POSIX_SYNCHRONIZED_IO (-1) #define _POSIX_TIMEOUTS 200112L #define _POSIX_TIMERS 200112L #define _POSIX_TYPED_MEMORY_OBJECTS (-1) #define _POSIX_VDISABLE 0xff #if __XSI_VISIBLE #define _XOPEN_SHM 1 #define _XOPEN_STREAMS (-1) #endif # 84 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/unistd.h" 3 4 /* * Although we have saved user/group IDs, we do not use them in setuid * as described in POSIX 1003.1, because the feature does not work for * root. We use the saved IDs in seteuid/setegid, which are not currently * part of the POSIX 1003.1 specification. XXX revisit for 1003.1-2001 * as this is now mandatory. */ #ifdef _NOT_AVAILABLE #define _POSIX_SAVED_IDS 1 /* saved set-user-ID and set-group-ID */ #endif # 95 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/unistd.h" 3 4 /* Define the POSIX.1 version we target for compliance. */ #define _POSIX_VERSION 200112L /* access function */ #define F_OK 0 /* test for existence of file */ #define X_OK 0x01 /* test for execute or search permission */ #define W_OK 0x02 /* test for write permission */ #define R_OK 0x04 /* test for read permission */ /* whence values for lseek(2) */ #ifndef SEEK_SET #define SEEK_SET 0 /* set file offset to offset */ #define SEEK_CUR 1 /* set file offset to current plus offset */ #define SEEK_END 2 /* set file offset to EOF plus offset */ #endif # 111 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/unistd.h" 3 4 #if __BSD_VISIBLE #define SEEK_DATA 3 /* set file offset to next data past offset */ #define SEEK_HOLE 4 /* set file offset to next hole past offset */ #endif # 115 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/unistd.h" 3 4 #ifndef _POSIX_SOURCE /* whence values for lseek(2); renamed by POSIX 1003.1 */ #define L_SET SEEK_SET #define L_INCR SEEK_CUR #define L_XTND SEEK_END #endif # 122 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/unistd.h" 3 4 /* configurable pathname variables */ #define _PC_LINK_MAX 1 #define _PC_MAX_CANON 2 #define _PC_MAX_INPUT 3 #define _PC_NAME_MAX 4 #define _PC_PATH_MAX 5 #define _PC_PIPE_BUF 6 #define _PC_CHOWN_RESTRICTED 7 #define _PC_NO_TRUNC 8 #define _PC_VDISABLE 9 #if __POSIX_VISIBLE >= 199309 #define _PC_ASYNC_IO 53 #define _PC_PRIO_IO 54 #define _PC_SYNC_IO 55 #endif # 139 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/unistd.h" 3 4 #if __POSIX_VISIBLE >= 200112 #define _PC_ALLOC_SIZE_MIN 10 #define _PC_FILESIZEBITS 12 #define _PC_REC_INCR_XFER_SIZE 14 #define _PC_REC_MAX_XFER_SIZE 15 #define _PC_REC_MIN_XFER_SIZE 16 #define _PC_REC_XFER_ALIGN 17 #define _PC_SYMLINK_MAX 18 #endif # 149 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/unistd.h" 3 4 #if __BSD_VISIBLE #define _PC_ACL_EXTENDED 59 #define _PC_ACL_PATH_MAX 60 #define _PC_CAP_PRESENT 61 #define _PC_INF_PRESENT 62 #define _PC_MAC_PRESENT 63 #define _PC_ACL_NFS4 64 #endif # 158 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/unistd.h" 3 4 /* From OpenSolaris, used by SEEK_DATA/SEEK_HOLE. */ #define _PC_MIN_HOLE_SIZE 21 #if __BSD_VISIBLE /* * rfork() options. * * XXX currently, some operations without RFPROC set are not supported. */ #define RFNAMEG (1<<0) /* UNIMPL new plan9 `name space' */ #define RFENVG (1<<1) /* UNIMPL copy plan9 `env space' */ #define RFFDG (1<<2) /* copy fd table */ #define RFNOTEG (1<<3) /* UNIMPL create new plan9 `note group' */ #define RFPROC (1<<4) /* change child (else changes curproc) */ #define RFMEM (1<<5) /* share `address space' */ #define RFNOWAIT (1<<6) /* give child to init */ #define RFCNAMEG (1<<10) /* UNIMPL zero plan9 `name space' */ #define RFCENVG (1<<11) /* UNIMPL zero plan9 `env space' */ #define RFCFDG (1<<12) /* close all fds, zero fd table */ #define RFTHREAD (1<<13) /* enable kernel thread support */ #define RFSIGSHARE (1<<14) /* share signal handlers */ #define RFLINUXTHPN (1<<16) /* do linux clone exit parent notification */ #define RFSTOPPED (1<<17) /* leave child in a stopped state */ #define RFHIGHPID (1<<18) /* use a pid higher than 10 (idleproc) */ #define RFTSIGZMB (1<<19) /* select signal for exit parent notification */ #define RFTSIGSHIFT 20 /* selected signal number is in bits 20-27 */ #define RFTSIGMASK 0xFF #define RFTSIGNUM(flags) (((flags) >> RFTSIGSHIFT) & RFTSIGMASK) #define RFTSIGFLAGS(signum) ((signum) << RFTSIGSHIFT) #define RFPROCDESC (1<<28) /* return a process descriptor */ #define RFPPWAIT (1<<31) /* parent sleeps until child exits (vfork) */ #define RFFLAGS (RFFDG | RFPROC | RFMEM | RFNOWAIT | RFCFDG | \ RFTHREAD | RFSIGSHARE | RFLINUXTHPN | RFSTOPPED | RFHIGHPID | RFTSIGZMB | \ RFPROCDESC | RFPPWAIT) #define RFKERNELONLY (RFSTOPPED | RFHIGHPID | RFPPWAIT | RFPROCDESC) #endif /* __BSD_VISIBLE */ # 196 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/unistd.h" 3 4 #endif /* !_SYS_UNISTD_H_ */ # 198 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/unistd.h" 3 4 # 39 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 2 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 39 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 # 40 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 40 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 # 41 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #ifndef _GID_T_DECLARED typedef __gid_t gid_t; #define _GID_T_DECLARED #endif # 46 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #ifndef _OFF_T_DECLARED typedef __off_t off_t; #define _OFF_T_DECLARED #endif # 51 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #ifndef _PID_T_DECLARED typedef __pid_t pid_t; #define _PID_T_DECLARED #endif # 56 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #ifndef _SIZE_T_DECLARED typedef __size_t size_t; #define _SIZE_T_DECLARED #endif # 61 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #ifndef _SSIZE_T_DECLARED typedef __ssize_t ssize_t; #define _SSIZE_T_DECLARED #endif # 66 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #ifndef _UID_T_DECLARED typedef __uid_t uid_t; #define _UID_T_DECLARED #endif # 71 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #ifndef _USECONDS_T_DECLARED typedef __useconds_t useconds_t; #define _USECONDS_T_DECLARED #endif # 76 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #define STDIN_FILENO 0 /* standard input file descriptor */ #define STDOUT_FILENO 1 /* standard output file descriptor */ #define STDERR_FILENO 2 /* standard error file descriptor */ #if __XSI_VISIBLE || __POSIX_VISIBLE >= 200112 #define F_ULOCK 0 /* unlock locked section */ #define F_LOCK 1 /* lock a section for exclusive use */ #define F_TLOCK 2 /* test and lock a section for exclusive use */ #define F_TEST 3 /* test a section for locks by other procs */ #endif # 87 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 /* * POSIX options and option groups we unconditionally do or don't * implement. This list includes those options which are exclusively * implemented (or not) in user mode. Please keep this list in * alphabetical order. * * Anything which is defined as zero below **must** have an * implementation for the corresponding sysconf() which is able to * determine conclusively whether or not the feature is supported. * Anything which is defined as other than -1 below **must** have * complete headers, types, and function declarations as specified by * the POSIX standard; however, if the relevant sysconf() function * returns -1, the functions may be stubbed out. */ #define _POSIX_BARRIERS 200112L #define _POSIX_CPUTIME 200112L #define _POSIX_READER_WRITER_LOCKS 200112L #define _POSIX_REGEXP 1 #define _POSIX_SHELL 1 #define _POSIX_SPAWN 200112L #define _POSIX_SPIN_LOCKS 200112L #define _POSIX_THREAD_ATTR_STACKADDR 200112L #define _POSIX_THREAD_ATTR_STACKSIZE 200112L #define _POSIX_THREAD_CPUTIME 200112L #define _POSIX_THREAD_PRIO_INHERIT 200112L #define _POSIX_THREAD_PRIO_PROTECT 200112L #define _POSIX_THREAD_PRIORITY_SCHEDULING 200112L #define _POSIX_THREAD_PROCESS_SHARED -1 #define _POSIX_THREAD_SAFE_FUNCTIONS -1 #define _POSIX_THREAD_SPORADIC_SERVER -1 #define _POSIX_THREADS 200112L #define _POSIX_TRACE -1 #define _POSIX_TRACE_EVENT_FILTER -1 #define _POSIX_TRACE_INHERIT -1 #define _POSIX_TRACE_LOG -1 #define _POSIX2_C_BIND 200112L /* mandatory */ #define _POSIX2_C_DEV -1 /* need c99 utility */ #define _POSIX2_CHAR_TERM 1 #define _POSIX2_FORT_DEV -1 /* need fort77 utility */ #define _POSIX2_FORT_RUN 200112L #define _POSIX2_LOCALEDEF -1 #define _POSIX2_PBS -1 #define _POSIX2_PBS_ACCOUNTING -1 #define _POSIX2_PBS_CHECKPOINT -1 #define _POSIX2_PBS_LOCATE -1 #define _POSIX2_PBS_MESSAGE -1 #define _POSIX2_PBS_TRACK -1 #define _POSIX2_SW_DEV -1 /* XXX ??? */ #define _POSIX2_UPE 200112L #define _V6_ILP32_OFF32 -1 #define _V6_ILP32_OFFBIG 0 #define _V6_LP64_OFF64 0 #define _V6_LPBIG_OFFBIG -1 #if __XSI_VISIBLE #define _XOPEN_CRYPT -1 /* XXX ??? */ #define _XOPEN_ENH_I18N -1 /* mandatory in XSI */ #define _XOPEN_LEGACY -1 #define _XOPEN_REALTIME -1 #define _XOPEN_REALTIME_THREADS -1 #define _XOPEN_UNIX -1 #endif # 150 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 /* Define the POSIX.2 version we target for compliance. */ #define _POSIX2_VERSION 199212L /* * POSIX-style system configuration variable accessors (for the * sysconf function). The kernel does not directly implement the * sysconf() interface; rather, a C library stub translates references * to sysconf() into calls to sysctl() using a giant switch statement. * Those that are marked `user' are implemented entirely in the C * library and never query the kernel. pathconf() is implemented * directly by the kernel so those are not defined here. */ #define _SC_ARG_MAX 1 #define _SC_CHILD_MAX 2 #define _SC_CLK_TCK 3 #define _SC_NGROUPS_MAX 4 #define _SC_OPEN_MAX 5 #define _SC_JOB_CONTROL 6 #define _SC_SAVED_IDS 7 #define _SC_VERSION 8 #define _SC_BC_BASE_MAX 9 /* user */ #define _SC_BC_DIM_MAX 10 /* user */ #define _SC_BC_SCALE_MAX 11 /* user */ #define _SC_BC_STRING_MAX 12 /* user */ #define _SC_COLL_WEIGHTS_MAX 13 /* user */ #define _SC_EXPR_NEST_MAX 14 /* user */ #define _SC_LINE_MAX 15 /* user */ #define _SC_RE_DUP_MAX 16 /* user */ #define _SC_2_VERSION 17 /* user */ #define _SC_2_C_BIND 18 /* user */ #define _SC_2_C_DEV 19 /* user */ #define _SC_2_CHAR_TERM 20 /* user */ #define _SC_2_FORT_DEV 21 /* user */ #define _SC_2_FORT_RUN 22 /* user */ #define _SC_2_LOCALEDEF 23 /* user */ #define _SC_2_SW_DEV 24 /* user */ #define _SC_2_UPE 25 /* user */ #define _SC_STREAM_MAX 26 /* user */ #define _SC_TZNAME_MAX 27 /* user */ #if __POSIX_VISIBLE >= 199309 #define _SC_ASYNCHRONOUS_IO 28 #define _SC_MAPPED_FILES 29 #define _SC_MEMLOCK 30 #define _SC_MEMLOCK_RANGE 31 #define _SC_MEMORY_PROTECTION 32 #define _SC_MESSAGE_PASSING 33 #define _SC_PRIORITIZED_IO 34 #define _SC_PRIORITY_SCHEDULING 35 #define _SC_REALTIME_SIGNALS 36 #define _SC_SEMAPHORES 37 #define _SC_FSYNC 38 #define _SC_SHARED_MEMORY_OBJECTS 39 #define _SC_SYNCHRONIZED_IO 40 #define _SC_TIMERS 41 #define _SC_AIO_LISTIO_MAX 42 #define _SC_AIO_MAX 43 #define _SC_AIO_PRIO_DELTA_MAX 44 #define _SC_DELAYTIMER_MAX 45 #define _SC_MQ_OPEN_MAX 46 #define _SC_PAGESIZE 47 #define _SC_RTSIG_MAX 48 #define _SC_SEM_NSEMS_MAX 49 #define _SC_SEM_VALUE_MAX 50 #define _SC_SIGQUEUE_MAX 51 #define _SC_TIMER_MAX 52 #endif # 218 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #if __POSIX_VISIBLE >= 200112 #define _SC_2_PBS 59 /* user */ #define _SC_2_PBS_ACCOUNTING 60 /* user */ #define _SC_2_PBS_CHECKPOINT 61 /* user */ #define _SC_2_PBS_LOCATE 62 /* user */ #define _SC_2_PBS_MESSAGE 63 /* user */ #define _SC_2_PBS_TRACK 64 /* user */ #define _SC_ADVISORY_INFO 65 #define _SC_BARRIERS 66 /* user */ #define _SC_CLOCK_SELECTION 67 #define _SC_CPUTIME 68 #define _SC_FILE_LOCKING 69 #define _SC_GETGR_R_SIZE_MAX 70 /* user */ #define _SC_GETPW_R_SIZE_MAX 71 /* user */ #define _SC_HOST_NAME_MAX 72 #define _SC_LOGIN_NAME_MAX 73 #define _SC_MONOTONIC_CLOCK 74 #define _SC_MQ_PRIO_MAX 75 #define _SC_READER_WRITER_LOCKS 76 /* user */ #define _SC_REGEXP 77 /* user */ #define _SC_SHELL 78 /* user */ #define _SC_SPAWN 79 /* user */ #define _SC_SPIN_LOCKS 80 /* user */ #define _SC_SPORADIC_SERVER 81 #define _SC_THREAD_ATTR_STACKADDR 82 /* user */ #define _SC_THREAD_ATTR_STACKSIZE 83 /* user */ #define _SC_THREAD_CPUTIME 84 /* user */ #define _SC_THREAD_DESTRUCTOR_ITERATIONS 85 /* user */ #define _SC_THREAD_KEYS_MAX 86 /* user */ #define _SC_THREAD_PRIO_INHERIT 87 /* user */ #define _SC_THREAD_PRIO_PROTECT 88 /* user */ #define _SC_THREAD_PRIORITY_SCHEDULING 89 /* user */ #define _SC_THREAD_PROCESS_SHARED 90 /* user */ #define _SC_THREAD_SAFE_FUNCTIONS 91 /* user */ #define _SC_THREAD_SPORADIC_SERVER 92 /* user */ #define _SC_THREAD_STACK_MIN 93 /* user */ #define _SC_THREAD_THREADS_MAX 94 /* user */ #define _SC_TIMEOUTS 95 /* user */ #define _SC_THREADS 96 /* user */ #define _SC_TRACE 97 /* user */ #define _SC_TRACE_EVENT_FILTER 98 /* user */ #define _SC_TRACE_INHERIT 99 /* user */ #define _SC_TRACE_LOG 100 /* user */ #define _SC_TTY_NAME_MAX 101 /* user */ #define _SC_TYPED_MEMORY_OBJECTS 102 #define _SC_V6_ILP32_OFF32 103 /* user */ #define _SC_V6_ILP32_OFFBIG 104 /* user */ #define _SC_V6_LP64_OFF64 105 /* user */ #define _SC_V6_LPBIG_OFFBIG 106 /* user */ #define _SC_IPV6 118 #define _SC_RAW_SOCKETS 119 #define _SC_SYMLOOP_MAX 120 #endif # 272 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #if __XSI_VISIBLE #define _SC_ATEXIT_MAX 107 /* user */ #define _SC_IOV_MAX 56 #define _SC_PAGE_SIZE _SC_PAGESIZE #define _SC_XOPEN_CRYPT 108 /* user */ #define _SC_XOPEN_ENH_I18N 109 /* user */ #define _SC_XOPEN_LEGACY 110 /* user */ #define _SC_XOPEN_REALTIME 111 #define _SC_XOPEN_REALTIME_THREADS 112 #define _SC_XOPEN_SHM 113 #define _SC_XOPEN_STREAMS 114 #define _SC_XOPEN_UNIX 115 #define _SC_XOPEN_VERSION 116 #define _SC_XOPEN_XCU_VERSION 117 /* user */ #endif # 288 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #if __BSD_VISIBLE #define _SC_NPROCESSORS_CONF 57 #define _SC_NPROCESSORS_ONLN 58 #define _SC_CPUSET_SIZE 122 #endif # 294 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 /* Extensions found in Solaris and Linux. */ #define _SC_PHYS_PAGES 121 /* Keys for the confstr(3) function. */ #if __POSIX_VISIBLE >= 199209 #define _CS_PATH 1 /* default value of PATH */ #endif # 302 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #if __POSIX_VISIBLE >= 200112 #define _CS_POSIX_V6_ILP32_OFF32_CFLAGS 2 #define _CS_POSIX_V6_ILP32_OFF32_LDFLAGS 3 #define _CS_POSIX_V6_ILP32_OFF32_LIBS 4 #define _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS 5 #define _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS 6 #define _CS_POSIX_V6_ILP32_OFFBIG_LIBS 7 #define _CS_POSIX_V6_LP64_OFF64_CFLAGS 8 #define _CS_POSIX_V6_LP64_OFF64_LDFLAGS 9 #define _CS_POSIX_V6_LP64_OFF64_LIBS 10 #define _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS 11 #define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS 12 #define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS 13 #define _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS 14 #endif # 318 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 __BEGIN_DECLS /* 1003.1-1990 */ void _exit(int) __dead2; int access(const char *, int); unsigned int alarm(unsigned int); int chdir(const char *); int chown(const char *, uid_t, gid_t); int close(int); void closefrom(int); int dup(int); int dup2(int, int); int execl(const char *, const char *, ...); int execle(const char *, const char *, ...); int execlp(const char *, const char *, ...); int execv(const char *, char * const *); int execve(const char *, char * const *, char * const *); int execvp(const char *, char * const *); pid_t fork(void); long fpathconf(int, int); char *getcwd(char *, size_t); gid_t getegid(void); uid_t geteuid(void); gid_t getgid(void); int getgroups(int, gid_t []); char *getlogin(void); pid_t getpgrp(void); pid_t getpid(void); pid_t getppid(void); uid_t getuid(void); int isatty(int); int link(const char *, const char *); #ifndef _LSEEK_DECLARED #define _LSEEK_DECLARED off_t lseek(int, off_t, int); #endif # 354 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 long pathconf(const char *, int); int pause(void); int pipe(int *); ssize_t read(int, void *, size_t); int rmdir(const char *); int setgid(gid_t); int setpgid(pid_t, pid_t); pid_t setsid(void); int setuid(uid_t); unsigned int sleep(unsigned int); long sysconf(int); pid_t tcgetpgrp(int); int tcsetpgrp(int, pid_t); char *ttyname(int); int ttyname_r(int, char *, size_t); int unlink(const char *); ssize_t write(int, const void *, size_t); /* 1003.2-1992 */ #if __POSIX_VISIBLE >= 199209 || __XSI_VISIBLE size_t confstr(int, char *, size_t); #ifndef _GETOPT_DECLARED #define _GETOPT_DECLARED int getopt(int, char * const [], const char *); extern char *optarg; /* getopt(3) external variables */ extern int optind, opterr, optopt; #endif /* _GETOPT_DECLARED */ # 382 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #endif # 383 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 /* ISO/IEC 9945-1: 1996 */ #if __POSIX_VISIBLE >= 199506 || __XSI_VISIBLE int fsync(int); /* * ftruncate() was in the POSIX Realtime Extension (it's used for shared * memory), but truncate() was not. */ #ifndef _FTRUNCATE_DECLARED #define _FTRUNCATE_DECLARED int ftruncate(int, off_t); #endif # 396 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #endif # 397 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #if __POSIX_VISIBLE >= 199506 int getlogin_r(char *, int); #endif # 401 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 /* 1003.1-2001 */ #if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE int fchown(int, uid_t, gid_t); ssize_t readlink(const char * __restrict, char * __restrict, size_t); #endif # 407 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #if __POSIX_VISIBLE >= 200112 int gethostname(char *, size_t); int setegid(gid_t); int seteuid(uid_t); #endif # 412 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 /* 1003.1-2008 */ #if __POSIX_VISIBLE >= 200809 || __XSI_VISIBLE int getsid(pid_t _pid); int fchdir(int); int getpgid(pid_t _pid); int lchown(const char *, uid_t, gid_t); ssize_t pread(int, void *, size_t, off_t); ssize_t pwrite(int, const void *, size_t, off_t); /* See comment at ftruncate() above. */ #ifndef _TRUNCATE_DECLARED #define _TRUNCATE_DECLARED int truncate(const char *, off_t); #endif # 427 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #endif /* __POSIX_VISIBLE >= 200809 || __XSI_VISIBLE */ # 428 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #if __POSIX_VISIBLE >= 200809 int faccessat(int, const char *, int, int); int fchownat(int, const char *, uid_t, gid_t, int); int fexecve(int, char *const [], char *const []); int linkat(int, const char *, int, const char *, int); ssize_t readlinkat(int, const char * __restrict, char * __restrict, size_t); int symlinkat(const char *, int, const char *); int unlinkat(int, const char *, int); #endif /* __POSIX_VISIBLE >= 200809 */ # 438 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 /* * symlink() was originally in POSIX.1a, which was withdrawn after * being overtaken by events (1003.1-2001). It was in XPG4.2, and of * course has been in BSD since 4.2. */ #if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE >= 402 int symlink(const char * __restrict, const char * __restrict); #endif # 447 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 /* X/Open System Interfaces */ #if __XSI_VISIBLE char *crypt(const char *, const char *); /* char *ctermid(char *); */ /* XXX ??? */ int encrypt(char *, int); long gethostid(void); int lockf(int, int, off_t); int nice(int); int setregid(gid_t, gid_t); int setreuid(uid_t, uid_t); #ifndef _SWAB_DECLARED #define _SWAB_DECLARED void swab(const void * __restrict, void * __restrict, ssize_t); #endif /* _SWAB_DECLARED */ # 463 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 void sync(void); #endif /* __XSI_VISIBLE */ # 467 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #if (__XSI_VISIBLE && __XSI_VISIBLE <= 500) || __BSD_VISIBLE int brk(const void *); int chroot(const char *); int getdtablesize(void); int getpagesize(void) __pure2; char *getpass(const char *); void *sbrk(intptr_t); #endif # 476 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #if (__XSI_VISIBLE && __XSI_VISIBLE <= 600) || __BSD_VISIBLE char *getwd(char *); /* obsoleted by getcwd() */ useconds_t ualarm(useconds_t, useconds_t); int usleep(useconds_t); pid_t vfork(void) __returns_twice; #endif # 484 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #if __BSD_VISIBLE struct timeval; /* select(2) */ int acct(const char *); int async_daemon(void); int check_utility_compat(const char *); const char * crypt_get_format(void); int crypt_set_format(const char *); int des_cipher(const char *, char *, long, int); int des_setkey(const char *key); int dup3(int, int, int); int eaccess(const char *, int); void endusershell(void); int exect(const char *, char * const *, char * const *); int execvP(const char *, const char *, char * const *); int feature_present(const char *); char *fflagstostr(u_long); int getdomainname(char *, int); int getgrouplist(const char *, gid_t, gid_t *, int *); int getloginclass(char *, size_t); mode_t getmode(const void *, mode_t); int getosreldate(void); int getpeereid(int, uid_t *, gid_t *); int getresgid(gid_t *, gid_t *, gid_t *); int getresuid(uid_t *, uid_t *, uid_t *); char *getusershell(void); int initgroups(const char *, gid_t); int iruserok(unsigned long, int, const char *, const char *); int iruserok_sa(const void *, int, int, const char *, const char *); int issetugid(void); void __FreeBSD_libc_enter_restricted_mode(void); long lpathconf(const char *, int); #ifndef _MKDTEMP_DECLARED char *mkdtemp(char *); #define _MKDTEMP_DECLARED #endif # 521 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #ifndef _MKNOD_DECLARED int mknod(const char *, mode_t, dev_t); #define _MKNOD_DECLARED #endif # 525 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #ifndef _MKSTEMP_DECLARED int mkstemp(char *); #define _MKSTEMP_DECLARED #endif # 529 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 int mkstemps(char *, int); #ifndef _MKTEMP_DECLARED char *mktemp(char *); #define _MKTEMP_DECLARED #endif # 534 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 int nfssvc(int, void *); int nlm_syscall(int, int, int, char **); int pipe2(int *, int); int profil(char *, size_t, vm_offset_t, int); int rcmd(char **, int, const char *, const char *, const char *, int *); int rcmd_af(char **, int, const char *, const char *, const char *, int *, int); int rcmdsh(char **, int, const char *, const char *, const char *, const char *); char *re_comp(const char *); int re_exec(const char *); int reboot(int); int revoke(const char *); pid_t rfork(int); pid_t rfork_thread(int, void *, int (*)(void *), void *); int rresvport(int *); int rresvport_af(int *, int); int ruserok(const char *, int, const char *, const char *); #if __BSD_VISIBLE #ifndef _SELECT_DECLARED #define _SELECT_DECLARED int select(int, fd_set *, fd_set *, fd_set *, struct timeval *); #endif # 557 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #endif # 558 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 int setdomainname(const char *, int); int setgroups(int, const gid_t *); void sethostid(long); int sethostname(const char *, int); #ifndef _SETKEY_DECLARED int setkey(const char *); #define _SETKEY_DECLARED #endif # 566 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 int setlogin(const char *); int setloginclass(const char *); void *setmode(const char *); int setpgrp(pid_t, pid_t); /* obsoleted by setpgid() */ void setproctitle(const char *_fmt, ...) __printf0like(1, 2); int setresgid(gid_t, gid_t, gid_t); int setresuid(uid_t, uid_t, uid_t); int setrgid(gid_t); int setruid(uid_t); void setusershell(void); int strtofflags(char **, u_long *, u_long *); int swapon(const char *); int swapoff(const char *); int syscall(int, ...); off_t __syscall(quad_t, ...); int undelete(const char *); int unwhiteout(const char *); void *valloc(size_t); /* obsoleted by malloc() */ #ifndef _OPTRESET_DECLARED #define _OPTRESET_DECLARED extern int optreset; /* getopt(3) external variable */ #endif # 589 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 #endif /* __BSD_VISIBLE */ # 590 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 __END_DECLS #endif /* !_UNISTD_H_ */ # 593 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/unistd.h" 3 4 # 106 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" 2 /* GCC supplies this header. */ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 108 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/limits.h" 1 3 4 /*- * Copyright (c) 1988, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)limits.h 8.2 (Berkeley) 1/4/94 * $FreeBSD: projects/clang360-import/include/limits.h 219271 2011-03-04 19:28:27Z jilles $ */ #ifndef _LIMITS_H_ #define _LIMITS_H_ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 36 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/limits.h" 3 4 # 37 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/limits.h" 3 4 #if __POSIX_VISIBLE #define _POSIX_ARG_MAX 4096 #define _POSIX_LINK_MAX 8 #define _POSIX_MAX_CANON 255 #define _POSIX_MAX_INPUT 255 #define _POSIX_NAME_MAX 14 #define _POSIX_PIPE_BUF 512 #define _POSIX_SSIZE_MAX 32767 #define _POSIX_STREAM_MAX 8 #if __POSIX_VISIBLE >= 200112 #define _POSIX_CHILD_MAX 25 #define _POSIX_NGROUPS_MAX 8 #define _POSIX_OPEN_MAX 20 #define _POSIX_PATH_MAX 256 #define _POSIX_TZNAME_MAX 6 #else # 55 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/limits.h" 3 4 #define _POSIX_CHILD_MAX 6 #define _POSIX_NGROUPS_MAX 0 #define _POSIX_OPEN_MAX 16 #define _POSIX_PATH_MAX 255 #define _POSIX_TZNAME_MAX 3 #endif # 61 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/limits.h" 3 4 #define BC_BASE_MAX 99 /* max ibase/obase values in bc(1) */ #define BC_DIM_MAX 2048 /* max array elements in bc(1) */ #define BC_SCALE_MAX 99 /* max scale value in bc(1) */ #define BC_STRING_MAX 1000 /* max const string length in bc(1) */ #define COLL_WEIGHTS_MAX 0 /* max weights for order keyword */ #define EXPR_NEST_MAX 32 /* max expressions nested in expr(1) */ #define LINE_MAX 2048 /* max bytes in an input line */ #define RE_DUP_MAX 255 /* max RE's in interval notation */ #define _POSIX2_BC_BASE_MAX 99 #define _POSIX2_BC_DIM_MAX 2048 #define _POSIX2_BC_SCALE_MAX 99 #define _POSIX2_BC_STRING_MAX 1000 #define _POSIX2_EQUIV_CLASS_MAX 2 #define _POSIX2_EXPR_NEST_MAX 32 #define _POSIX2_LINE_MAX 2048 #define _POSIX2_RE_DUP_MAX 255 #endif # 80 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/limits.h" 3 4 #if __POSIX_VISIBLE >= 199309 #define _POSIX_AIO_LISTIO_MAX 2 #define _POSIX_AIO_MAX 1 #define _POSIX_DELAYTIMER_MAX 32 #define _POSIX_MQ_OPEN_MAX 8 #define _POSIX_MQ_PRIO_MAX 32 #define _POSIX_RTSIG_MAX 8 #define _POSIX_SEM_NSEMS_MAX 256 #define _POSIX_SEM_VALUE_MAX 32767 #define _POSIX_SIGQUEUE_MAX 32 #define _POSIX_TIMER_MAX 32 #define _POSIX_CLOCKRES_MIN 20000000 #endif # 95 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/limits.h" 3 4 #if __POSIX_VISIBLE >= 199506 #define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4 #define _POSIX_THREAD_KEYS_MAX 128 #define _POSIX_THREAD_THREADS_MAX 64 #endif # 101 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/limits.h" 3 4 #if __POSIX_VISIBLE >= 200112 #define _POSIX_HOST_NAME_MAX 255 #define _POSIX_LOGIN_NAME_MAX 9 #define _POSIX_SS_REPL_MAX 4 #define _POSIX_SYMLINK_MAX 255 #define _POSIX_SYMLOOP_MAX 8 #define _POSIX_TRACE_EVENT_NAME_MAX 30 #define _POSIX_TRACE_NAME_MAX 8 #define _POSIX_TRACE_SYS_MAX 8 #define _POSIX_TRACE_USER_EVENT_MAX 32 #define _POSIX_TTY_NAME_MAX 9 #define _POSIX2_CHARCLASS_NAME_MAX 14 #define _POSIX2_COLL_WEIGHTS_MAX 2 #define _POSIX_RE_DUP_MAX _POSIX2_RE_DUP_MAX #endif # 118 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/limits.h" 3 4 #if __XSI_VISIBLE || __POSIX_VISIBLE >= 200809 #define NL_ARGMAX 99 /* max # of position args for printf */ #define NL_MSGMAX 32767 #define NL_SETMAX 255 #define NL_TEXTMAX 2048 #endif # 125 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/limits.h" 3 4 #if __XSI_VISIBLE #define _XOPEN_IOV_MAX 16 #define _XOPEN_NAME_MAX 255 #define _XOPEN_PATH_MAX 1024 #define PASS_MAX 128 /* _PASSWORD_LEN from */ #define NL_LANGMAX 31 /* max LANG name length */ #define NL_NMAX 1 #endif # 135 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/limits.h" 3 4 #define MB_LEN_MAX 6 /* 31-bit UTF-8 */ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 138 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/limits.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/limits.h" 1 3 4 /*- * Copyright (c) 1988, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $FreeBSD: projects/clang360-import/sys/sys/limits.h 219271 2011-03-04 19:28:27Z jilles $ */ #ifndef _SYS_LIMITS_H_ #define _SYS_LIMITS_H_ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 35 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/limits.h" 3 4 # 36 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/limits.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 36 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/limits.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_limits.h" 1 3 4 /*- * Copyright (c) 1988, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)limits.h 8.3 (Berkeley) 1/4/94 * from: src/sys/i386/include/_limits.h,v 1.27 2005/01/06 22:18:15 imp * $FreeBSD: projects/clang360-import/sys/mips/include/_limits.h 218266 2011-02-04 13:09:46Z tijl $ */ #ifndef _MACHINE__LIMITS_H_ #define _MACHINE__LIMITS_H_ /* * According to ANSI (section 2.2.4.2), the values below must be usable by * #if preprocessing directives. Additionally, the expression must have the * same type as would an expression that is an object of the corresponding * type converted according to the integral promotions. The subtraction for * INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an * unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2). */ #define __CHAR_BIT 8 /* number of bits in a char */ #define __SCHAR_MAX 0x7f /* max value for a signed char */ #define __SCHAR_MIN (-0x7f - 1) /* min value for a signed char */ #define __UCHAR_MAX 0xff /* max value for an unsigned char */ #define __USHRT_MAX 0xffff /* max value for an unsigned short */ #define __SHRT_MAX 0x7fff /* max value for a short */ #define __SHRT_MIN (-0x7fff - 1) /* min value for a short */ #define __UINT_MAX 0xffffffff /* max value for an unsigned int */ #define __INT_MAX 0x7fffffff /* max value for an int */ #define __INT_MIN (-0x7fffffff - 1) /* min value for an int */ #ifdef __mips_n64 #define __ULONG_MAX 0xffffffffffffffff #define __LONG_MAX 0x7fffffffffffffff #define __LONG_MIN (-0x7fffffffffffffff - 1) #define __LONG_BIT 64 #else # 67 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_limits.h" 3 4 #define __ULONG_MAX 0xffffffffUL /* max value for an unsigned long */ #define __LONG_MAX 0x7fffffffL /* max value for a long */ #define __LONG_MIN (-0x7fffffffL - 1) /* min value for a long */ #define __LONG_BIT 32 #endif # 72 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_limits.h" 3 4 /* max value for an unsigned long long */ #define __ULLONG_MAX 0xffffffffffffffffULL #define __LLONG_MAX 0x7fffffffffffffffLL /* max value for a long long */ #define __LLONG_MIN (-0x7fffffffffffffffLL - 1) /* min for a long long */ #define __SSIZE_MAX __LONG_MAX /* max value for a ssize_t */ #define __SIZE_T_MAX __ULONG_MAX /* max value for a size_t */ #define __OFF_MAX __LLONG_MAX /* max value for an off_t */ #define __OFF_MIN __LLONG_MIN /* min value for an off_t */ /* Quads and long longs are the same size. Ensure they stay in sync. */ #define __UQUAD_MAX __ULLONG_MAX /* max value for a uquad_t */ #define __QUAD_MAX __LLONG_MAX /* max value for a quad_t */ #define __QUAD_MIN __LLONG_MIN /* min value for a quad_t */ #define __WORD_BIT 32 #define __MINSIGSTKSZ (512 * 4) #endif /* !_MACHINE__LIMITS_H_ */ # 95 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_limits.h" 3 4 # 37 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/limits.h" 2 3 4 #define CHAR_BIT __CHAR_BIT /* number of bits in a char */ #define SCHAR_MAX __SCHAR_MAX /* max value for a signed char */ #define SCHAR_MIN __SCHAR_MIN /* min value for a signed char */ #define UCHAR_MAX __UCHAR_MAX /* max value for an unsigned char */ #ifdef __CHAR_UNSIGNED__ #define CHAR_MAX UCHAR_MAX /* max value for a char */ #define CHAR_MIN 0 /* min value for a char */ #else # 49 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/limits.h" 3 4 #define CHAR_MAX SCHAR_MAX #define CHAR_MIN SCHAR_MIN #endif # 52 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/limits.h" 3 4 #define USHRT_MAX __USHRT_MAX /* max value for an unsigned short */ #define SHRT_MAX __SHRT_MAX /* max value for a short */ #define SHRT_MIN __SHRT_MIN /* min value for a short */ #define UINT_MAX __UINT_MAX /* max value for an unsigned int */ #define INT_MAX __INT_MAX /* max value for an int */ #define INT_MIN __INT_MIN /* min value for an int */ #define ULONG_MAX __ULONG_MAX /* max for an unsigned long */ #define LONG_MAX __LONG_MAX /* max for a long */ #define LONG_MIN __LONG_MIN /* min for a long */ #ifdef __LONG_LONG_SUPPORTED #define ULLONG_MAX __ULLONG_MAX /* max for an unsigned long long */ #define LLONG_MAX __LLONG_MAX /* max for a long long */ #define LLONG_MIN __LLONG_MIN /* min for a long long */ #endif # 70 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/limits.h" 3 4 #if __POSIX_VISIBLE || __XSI_VISIBLE #define SSIZE_MAX __SSIZE_MAX /* max value for an ssize_t */ #endif # 74 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/limits.h" 3 4 #if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE #define SIZE_T_MAX __SIZE_T_MAX /* max value for a size_t */ #define OFF_MAX __OFF_MAX /* max value for an off_t */ #define OFF_MIN __OFF_MIN /* min value for an off_t */ #endif # 81 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/limits.h" 3 4 #if __BSD_VISIBLE #define GID_MAX UINT_MAX /* max value for a gid_t */ #define UID_MAX UINT_MAX /* max value for a uid_t */ #define UQUAD_MAX (__UQUAD_MAX) /* max value for a uquad_t */ #define QUAD_MAX (__QUAD_MAX) /* max value for a quad_t */ #define QUAD_MIN (__QUAD_MIN) /* min value for a quad_t */ #endif # 90 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/limits.h" 3 4 #if __XSI_VISIBLE || __POSIX_VISIBLE >= 200809 #define LONG_BIT __LONG_BIT #define WORD_BIT __WORD_BIT #endif # 95 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/limits.h" 3 4 #if __POSIX_VISIBLE #define MQ_PRIO_MAX 64 #endif # 99 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/limits.h" 3 4 #endif /* !_SYS_LIMITS_H_ */ # 101 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/limits.h" 3 4 # 139 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/limits.h" 2 3 4 #if __POSIX_VISIBLE #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 141 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/limits.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/syslimits.h" 1 3 4 /*- * Copyright (c) 1988, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)syslimits.h 8.1 (Berkeley) 6/2/93 * $FreeBSD: projects/clang360-import/sys/sys/syslimits.h 194498 2009-06-19 17:10:35Z brooks $ */ #ifndef _SYS_SYSLIMITS_H_ #define _SYS_SYSLIMITS_H_ #if !defined(_KERNEL) && !defined(_LIMITS_H_) && !defined(_SYS_PARAM_H_) #ifndef _SYS_CDEFS_H_ #error this file needs sys/cdefs.h as a prerequisite #endif # 40 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/syslimits.h" 3 4 #ifdef __CC_SUPPORTS_WARNING #warning "No user-serviceable parts inside." #endif # 43 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/syslimits.h" 3 4 #endif # 44 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/syslimits.h" 3 4 /* * Do not add any new variables here. (See the comment at the end of * the file for why.) */ #define ARG_MAX 262144 /* max bytes for an exec function */ #ifndef CHILD_MAX #define CHILD_MAX 40 /* max simultaneous processes */ #endif # 53 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/syslimits.h" 3 4 #define LINK_MAX 32767 /* max file link count */ #define MAX_CANON 255 /* max bytes in term canon input line */ #define MAX_INPUT 255 /* max bytes in terminal input */ #define NAME_MAX 255 /* max bytes in a file name */ #ifndef NGROUPS_MAX #define NGROUPS_MAX 1023 /* max supplemental group id's */ #endif # 60 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/syslimits.h" 3 4 #ifndef OPEN_MAX #define OPEN_MAX 64 /* max open files per process */ #endif # 63 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/syslimits.h" 3 4 #define PATH_MAX 1024 /* max bytes in pathname */ #define PIPE_BUF 512 /* max bytes for atomic pipe writes */ #define IOV_MAX 1024 /* max elements in i/o vector */ /* * We leave the following values undefined to force applications to either * assume conservative values or call sysconf() to get the current value. * * HOST_NAME_MAX * * (We should do this for most of the values currently defined here, * but many programs are not prepared to deal with this yet.) */ #endif # 77 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/syslimits.h" 3 4 # 142 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/limits.h" 2 3 4 #endif # 143 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/limits.h" 3 4 #endif /* !_LIMITS_H_ */ # 145 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/limits.h" 3 4 # 109 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" 2 /* GCC (fixproto) guarantees this system headers exists. */ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 111 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 1 3 4 /* * Copyright (c) 1989, 1993 * The Regents of the University of California. All rights reserved. * (c) UNIX System Laboratories, Inc. * All or some portions of this file are derived from material licensed * to the University of California by American Telephone and Telegraph * Co. or Unix System Laboratories, Inc. and are reproduced herein with * the permission of UNIX System Laboratories, Inc. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)time.h 8.3 (Berkeley) 1/21/94 */ /* * $FreeBSD: projects/clang360-import/include/time.h 245428 2013-01-14 18:01:19Z dim $ */ #ifndef _TIME_H_ #define _TIME_H_ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 44 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 # 45 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 45 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 # 46 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 46 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 # 47 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 #if __POSIX_VISIBLE > 0 && __POSIX_VISIBLE < 200112 || __BSD_VISIBLE /* * Frequency of the clock ticks reported by times(). Deprecated - use * sysconf(_SC_CLK_TCK) instead. (Removed in 1003.1-2001.) */ #define CLK_TCK 128 #endif # 55 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 /* Frequency of the clock ticks reported by clock(). */ #define CLOCKS_PER_SEC 128 #ifndef _CLOCK_T_DECLARED typedef __clock_t clock_t; #define _CLOCK_T_DECLARED #endif # 63 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 #ifndef _TIME_T_DECLARED typedef __time_t time_t; #define _TIME_T_DECLARED #endif # 68 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 #ifndef _SIZE_T_DECLARED typedef __size_t size_t; #define _SIZE_T_DECLARED #endif # 73 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 #if __POSIX_VISIBLE >= 199309 /* * New in POSIX 1003.1b-1993. */ #ifndef _CLOCKID_T_DECLARED typedef __clockid_t clockid_t; #define _CLOCKID_T_DECLARED #endif # 82 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 #ifndef _TIMER_T_DECLARED typedef __timer_t timer_t; #define _TIMER_T_DECLARED #endif # 87 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 88 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 # 89 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 #endif /* __POSIX_VISIBLE >= 199309 */ # 90 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 #if __POSIX_VISIBLE >= 200112 #ifndef _PID_T_DECLARED typedef __pid_t pid_t; #define _PID_T_DECLARED #endif # 96 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 #endif # 97 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 /* These macros are also in sys/time.h. */ #if !defined(CLOCK_REALTIME) && __POSIX_VISIBLE >= 200112 #define CLOCK_REALTIME 0 #ifdef __BSD_VISIBLE #define CLOCK_VIRTUAL 1 #define CLOCK_PROF 2 #endif # 105 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 #define CLOCK_MONOTONIC 4 #define CLOCK_UPTIME 5 /* FreeBSD-specific. */ #define CLOCK_UPTIME_PRECISE 7 /* FreeBSD-specific. */ #define CLOCK_UPTIME_FAST 8 /* FreeBSD-specific. */ #define CLOCK_REALTIME_PRECISE 9 /* FreeBSD-specific. */ #define CLOCK_REALTIME_FAST 10 /* FreeBSD-specific. */ #define CLOCK_MONOTONIC_PRECISE 11 /* FreeBSD-specific. */ #define CLOCK_MONOTONIC_FAST 12 /* FreeBSD-specific. */ #define CLOCK_SECOND 13 /* FreeBSD-specific. */ #define CLOCK_THREAD_CPUTIME_ID 14 #define CLOCK_PROCESS_CPUTIME_ID 15 #endif /* !defined(CLOCK_REALTIME) && __POSIX_VISIBLE >= 200112 */ # 117 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 #if !defined(TIMER_ABSTIME) && __POSIX_VISIBLE >= 200112 #if __BSD_VISIBLE #define TIMER_RELTIME 0x0 /* relative timer */ #endif # 122 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 #define TIMER_ABSTIME 0x1 /* absolute timer */ #endif /* !defined(TIMER_ABSTIME) && __POSIX_VISIBLE >= 200112 */ # 124 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 struct tm { int tm_sec; /* seconds after the minute [0-60] */ int tm_min; /* minutes after the hour [0-59] */ int tm_hour; /* hours since midnight [0-23] */ int tm_mday; /* day of the month [1-31] */ int tm_mon; /* months since January [0-11] */ int tm_year; /* years since 1900 */ int tm_wday; /* days since Sunday [0-6] */ int tm_yday; /* days since January 1 [0-365] */ int tm_isdst; /* Daylight Savings Time flag */ long tm_gmtoff; /* offset from UTC in seconds */ char *tm_zone; /* timezone abbreviation */ }; #if __POSIX_VISIBLE extern char *tzname[]; #endif # 142 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 __BEGIN_DECLS char *asctime(const struct tm *); clock_t clock(void); char *ctime(const time_t *); double difftime(time_t, time_t); /* XXX missing: getdate() */ struct tm *gmtime(const time_t *); struct tm *localtime(const time_t *); time_t mktime(struct tm *); size_t strftime(char * __restrict, size_t, const char * __restrict, const struct tm * __restrict); time_t time(time_t *); #if __POSIX_VISIBLE >= 200112 struct sigevent; int timer_create(clockid_t, struct sigevent *__restrict, timer_t *__restrict); int timer_delete(timer_t); int timer_gettime(timer_t, struct itimerspec *); int timer_getoverrun(timer_t); int timer_settime(timer_t, int, const struct itimerspec *__restrict, struct itimerspec *__restrict); #endif # 164 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 #if __POSIX_VISIBLE void tzset(void); #endif # 167 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 #if __POSIX_VISIBLE >= 199309 int clock_getres(clockid_t, struct timespec *); int clock_gettime(clockid_t, struct timespec *); int clock_settime(clockid_t, const struct timespec *); /* XXX missing: clock_nanosleep() */ int nanosleep(const struct timespec *, struct timespec *); #endif /* __POSIX_VISIBLE >= 199309 */ # 175 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 #if __POSIX_VISIBLE >= 200112 int clock_getcpuclockid(pid_t, clockid_t *); #endif # 179 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 #if __POSIX_VISIBLE >= 199506 char *asctime_r(const struct tm *, char *); char *ctime_r(const time_t *, char *); struct tm *gmtime_r(const time_t *, struct tm *); struct tm *localtime_r(const time_t *, struct tm *); #endif # 186 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 #if __XSI_VISIBLE char *strptime(const char * __restrict, const char * __restrict, struct tm * __restrict); #endif # 191 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 #if __BSD_VISIBLE char *timezone(int, int); /* XXX XSI conflict */ void tzsetwall(void); time_t timelocal(struct tm * const); time_t timegm(struct tm * const); #endif /* __BSD_VISIBLE */ # 198 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 #if __POSIX_VISIBLE >= 200809 || defined(_XLOCALE_H_) #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 200 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/xlocale/_time.h" 1 3 4 /*- * Copyright (c) 2011, 2012 The FreeBSD Foundation * All rights reserved. * * This software was developed by David Chisnall under sponsorship from * the FreeBSD Foundation. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $FreeBSD: projects/clang360-import/include/xlocale/_time.h 231673 2012-02-14 12:03:23Z theraven $ */ #ifndef _LOCALE_T_DEFINED #define _LOCALE_T_DEFINED typedef struct _xlocale *locale_t; #endif # 36 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/xlocale/_time.h" 3 4 /* * This file is included from both locale.h and xlocale.h. We need to expose * the declarations unconditionally if we are included from xlocale.h, but only * if we are in POSIX2008 mode if included from locale.h. */ #ifndef _XLOCALE_LOCALE1_H #define _XLOCALE_LOCALE1_H size_t strftime_l(char * __restrict, size_t, const char * __restrict, const struct tm * __restrict, locale_t) __strftimelike(3, 0); #endif /* _XLOCALE_LOCALE1_H */ # 49 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/xlocale/_time.h" 3 4 #ifdef _XLOCALE_H_ #ifndef _XLOCALE_LOCALE2_H #define _XLOCALE_LOCALE2_H char *strptime_l(const char * __restrict, const char * __restrict, struct tm * __restrict, locale_t); #endif /* _XLOCALE_LOCALE2_H */ # 58 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/xlocale/_time.h" 3 4 #endif /* _XLOCALE_H_ */ # 59 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/xlocale/_time.h" 3 4 # 201 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 2 3 4 #endif # 202 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 __END_DECLS #endif /* !_TIME_H_ */ # 205 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/time.h" 3 4 # 112 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" 2 #endif /* inhibit_libc */ # 114 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" /* Define a generic NULL if one hasn't already been defined. */ #ifndef NULL #define NULL 0 #endif # 119 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" /* GCC always provides __builtin_alloca(x). */ #undef alloca #define alloca(x) __builtin_alloca(x) #ifdef ENABLE_RUNTIME_CHECKING #define gcc_assert(EXPR) ((void)(!(EXPR) ? abort (), 0 : 0)) #else # 127 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" /* Include EXPR, so that unused variable warnings do not occur. */ #define gcc_assert(EXPR) ((void)(0 && (EXPR))) #endif # 130 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" /* Use gcc_unreachable() to mark unreachable locations (like an unreachable default case of a switch. Do not use gcc_assert(0). */ #define gcc_unreachable() (abort ()) /* Filename handling macros. */ #if 0 /* expanded by -frewrite-includes */ #include "filenames.h" #endif /* expanded by -frewrite-includes */ # 135 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" # 1 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/filenames.h" 1 /* Macros for taking apart, interpreting and processing file names. These are here because some non-Posix (a.k.a. DOSish) systems have drive letter brain-damage at the beginning of an absolute file name, use forward- and back-slash in path names interchangeably, and some of them have case-insensitive file names. Copyright 2000, 2001 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef FILENAMES_H #define FILENAMES_H #if defined(__MSDOS__) || defined(_WIN32) || defined(__OS2__) || defined (__CYGWIN__) #ifndef HAVE_DOS_BASED_FILE_SYSTEM #define HAVE_DOS_BASED_FILE_SYSTEM 1 #endif # 34 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/filenames.h" #define IS_DIR_SEPARATOR(c) ((c) == '/' || (c) == '\\') /* Note that IS_ABSOLUTE_PATH accepts d:foo as well, although it is only semi-absolute. This is because the users of IS_ABSOLUTE_PATH want to know whether to prepend the current working directory to a file name, which should not be done with a name like d:foo. */ #define IS_ABSOLUTE_PATH(f) (IS_DIR_SEPARATOR((f)[0]) || (((f)[0]) && ((f)[1] == ':'))) #define FILENAME_CMP(s1, s2) strcasecmp(s1, s2) #else /* not DOSish */ # 44 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/filenames.h" #define IS_DIR_SEPARATOR(c) ((c) == '/') #define IS_ABSOLUTE_PATH(f) (IS_DIR_SEPARATOR((f)[0])) #define FILENAME_CMP(s1, s2) strcmp(s1, s2) #endif /* not DOSish */ # 50 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/filenames.h" #endif /* FILENAMES_H */ # 52 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcclibs/include/filenames.h" # 136 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" 2 #endif /* ! GCC_TSYSTEM_H */ # 138 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/tsystem.h" # 69 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" 2 #if 0 /* expanded by -frewrite-includes */ #include "coretypes.h" #endif /* expanded by -frewrite-includes */ # 69 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" # 1 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/coretypes.h" 1 /* GCC core type declarations. Copyright (C) 2002, 2004 Free Software Foundation, Inc. This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING. If not, write to the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Provide forward declarations of core types which are referred to by most of the compiler. This allows header files to use these types (e.g. in function prototypes) without concern for whether the full definitions are visible. Some other declarations that need to be universally visible are here, too. In the context of tconfig.h, most of these have special definitions which prevent them from being used except in further type declarations. This is a kludge; the right thing is to avoid including the "tm.h" header set in the context of tconfig.h, but we're not there yet. */ #ifndef GCC_CORETYPES_H #define GCC_CORETYPES_H #define GTY(x) /* nothing - marker for gengtype */ #ifndef USED_FOR_TARGET struct bitmap_head_def; typedef struct bitmap_head_def *bitmap; struct rtx_def; typedef struct rtx_def *rtx; struct rtvec_def; typedef struct rtvec_def *rtvec; union tree_node; typedef union tree_node *tree; union section; typedef union section section; /* Provide forward struct declaration so that we don't have to include all of cpplib.h whenever a random prototype includes a pointer. Note that the cpp_reader typedef remains part of cpplib.h. */ struct cpp_reader; /* The thread-local storage model associated with a given VAR_DECL or SYMBOL_REF. This isn't used much, but both trees and RTL refer to it, so it's here. */ enum tls_model { TLS_MODEL_NONE, TLS_MODEL_GLOBAL_DYNAMIC, TLS_MODEL_LOCAL_DYNAMIC, TLS_MODEL_INITIAL_EXEC, TLS_MODEL_LOCAL_EXEC }; #else # 69 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/coretypes.h" struct _dont_use_rtx_here_; struct _dont_use_rtvec_here_; union _dont_use_tree_here_; #define rtx struct _dont_use_rtx_here_ * #define rtvec struct _dont_use_rtvec_here * #define tree union _dont_use_tree_here_ * #endif # 78 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/coretypes.h" #endif /* coretypes.h */ # 80 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/coretypes.h" # 70 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" 2 #if 0 /* expanded by -frewrite-includes */ #include "tm.h" #endif /* expanded by -frewrite-includes */ # 70 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" # 1 "./tm.h" 1 #ifndef GCC_TM_H #define GCC_TM_H #ifdef IN_GCC #if 0 /* expanded by -frewrite-includes */ # include "options.h" #endif /* expanded by -frewrite-includes */ # 4 "./tm.h" # 1 "./options.h" 1 /* This file is auto-generated by opts.sh. */ #ifndef OPTIONS_H #define OPTIONS_H extern int target_flags; extern int warn_abi; extern int warn_address; extern int warn_aggregate_return; extern int warn_assign_intercept; extern int warn_attributes; extern int warn_bad_function_cast; extern int warn_cxx_compat; extern int warn_cast_align; extern int warn_cast_qual; extern int warn_char_subscripts; extern int warn_conversion; extern int warn_ctor_dtor_privacy; extern int warn_declaration_after_statement; extern int warn_deprecated; extern int warn_deprecated_decl; extern int warn_disabled_optimization; extern int warn_div_by_zero; extern int warn_ecpp; extern int warnings_are_errors; extern int flag_fatal_errors; extern int warn_float_equal; extern int warn_format_extra_args; extern int warn_format_nonliteral; extern int warn_format_security; extern int warn_format_y2k; extern int warn_format_zero_length; extern int mesg_implicit_function_declaration; extern int warn_implicit_int; extern int warn_init_self; extern int warn_inline; extern int warn_int_to_pointer_cast; extern int warn_invalid_offsetof; extern int warn_long_long; extern int warn_missing_braces; extern int warn_missing_declarations; extern int warn_missing_field_initializers; extern int warn_missing_format_attribute; extern int warn_missing_noreturn; extern int warn_missing_prototypes; extern int warn_nested_externs; extern int warn_nontemplate_friend; extern int warn_nonvdtor; extern int warn_nonnull; extern int warn_old_style_cast; extern int warn_old_style_definition; extern int warn_overflow; extern int warn_overlength_strings; extern int warn_overloaded_virtual; extern int warn_override_init; extern int warn_packed; extern int warn_padded; extern int warn_parentheses; extern int warn_pmf2ptr; extern int warn_pointer_arith; extern int warn_pointer_sign; extern int warn_pointer_to_int_cast; extern int warn_pragmas; extern int warn_protocol; extern int warn_redundant_decls; extern int warn_reorder; extern int warn_return_type; extern int warn_selector; extern int warn_sequence_point; extern int warn_shadow; extern int warn_sign_compare; extern int warn_sign_promo; extern int warn_stack_protect; extern int warn_strict_prototypes; extern int warn_strict_selector_match; extern int warn_switch; extern int warn_switch_default; extern int warn_switch_enum; extern int warn_synth; extern int warn_system_headers; extern int warn_traditional; extern int warn_trampolines; extern int warn_undeclared_selector; extern int warn_uninitialized; extern int warn_notreached; extern int warn_unsafe_loop_optimizations; extern int warn_unused_function; extern int warn_unused_label; extern int warn_unused_parameter; extern int warn_unused_value; extern int warn_unused_variable; extern int warn_variable_decl; extern int warn_vla; extern int warn_register_var; extern int warn_write_strings; extern int flag_pic; extern int flag_pie; extern int flag_abi_version; extern int align_functions; extern int align_jumps; extern int align_labels; extern int align_loops; extern int flag_argument_noalias; extern int flag_argument_noalias; extern int flag_argument_noalias; extern int flag_argument_noalias; extern int flag_asynchronous_unwind_tables; extern int flag_blocks; extern int flag_bounds_check; extern int flag_branch_on_count_reg; extern int flag_branch_probabilities; extern int flag_branch_target_load_optimize; extern int flag_branch_target_load_optimize2; extern int flag_btr_bb_exclusive; extern int flag_caller_saves; extern int flag_no_common; extern int flag_cprop_registers; extern int flag_crossjumping; extern int flag_cse_follow_jumps; extern int flag_cse_skip_blocks; extern int flag_cx_limited_range; extern int flag_data_sections; extern int flag_defer_pop; extern int flag_delayed_branch; extern int flag_delete_null_pointer_checks; extern int flag_dump_noaddr; extern int flag_dump_unnumbered; extern int flag_early_inlining; extern int flag_eliminate_dwarf2_dups; extern int flag_debug_only_used_symbols; extern int flag_eliminate_unused_debug_types; extern int flag_emit_class_debug_always; extern int flag_exceptions; extern int flag_expensive_optimizations; extern int flag_finite_math_only; extern int flag_float_store; extern int flag_force_addr; extern int flag_force_mem; extern int flag_friend_injection; extern int flag_no_function_cse; extern int flag_function_sections; extern int flag_gcse; extern int flag_gcse_after_reload; extern int flag_gcse_las; extern int flag_gcse_lm; extern int flag_gcse_sm; extern int flag_gnu89_inline; extern int flag_guess_branch_prob; extern int flag_no_ident; extern int flag_if_conversion; extern int flag_if_conversion2; extern int flag_inhibit_size_directive; extern int flag_no_inline; extern int flag_inline_functions; extern int flag_inline_functions_called_once; extern int flag_instrument_function_entry_exit; extern int flag_ipa_cp; extern int flag_ipa_pta; extern int flag_ipa_pure_const; extern int flag_ipa_reference; extern int flag_ipa_type_escape; extern int flag_ivopts; extern int flag_jump_tables; extern int flag_keep_inline_functions; extern int flag_keep_static_consts; extern int flag_leading_underscore; extern int flag_errno_math; extern int mem_report; extern int flag_merge_constants; extern int flag_merge_constants; extern int flag_modulo_sched; extern int flag_move_loop_invariants; extern int flag_mudflap; extern int flag_mudflap_ignore_reads; extern int flag_mudflap; extern int flag_nested_functions; extern int flag_non_call_exceptions; extern int flag_objc_call_cxx_cdtors; extern int flag_objc_direct_dispatch; extern int flag_objc_exceptions; extern int flag_objc_gc; extern int flag_objc_sjlj_exceptions; extern int flag_omit_frame_pointer; extern int flag_openmp; extern int flag_regmove; extern int flag_optimize_sibling_calls; extern int flag_pack_struct; extern int flag_pcc_struct_return; extern int flag_peel_loops; extern int flag_no_peephole; extern int flag_peephole2; extern int flag_pic; extern int flag_pie; extern int flag_prefetch_loop_arrays; extern int profile_flag; extern int profile_arc_flag; extern int flag_profile_values; extern int flag_pcc_struct_return; extern int flag_regmove; extern int flag_rename_registers; extern int flag_reorder_blocks; extern int flag_reorder_blocks_and_partition; extern int flag_reorder_functions; extern int flag_rerun_cse_after_loop; extern int flag_resched_modulo_sched; extern int flag_rounding_math; extern int flag_rtl_seqabstr; extern int flag_schedule_interblock; extern int flag_schedule_speculative; extern int flag_schedule_speculative_load; extern int flag_schedule_speculative_load_dangerous; extern int flag_sched_stalled_insns; extern int flag_sched_stalled_insns_dep; extern int flag_sched2_use_superblocks; extern int flag_sched2_use_traces; extern int flag_schedule_insns; extern int flag_schedule_insns_after_reload; extern int flag_section_anchors; extern int flag_see; extern int flag_show_column; extern int flag_signaling_nans; extern int flag_single_precision_constant; extern int flag_split_ivs_in_unroller; extern int flag_stack_check; extern int flag_stack_protect; extern int flag_stack_protect; extern int flag_strict_aliasing; extern int flag_strict_overflow; extern int flag_syntax_only; extern int flag_test_coverage; extern int flag_thread_jumps; extern int time_report; extern int flag_toplevel_reorder; extern int flag_tracer; extern int flag_trapping_math; extern int flag_trapv; extern int flag_tree_ccp; extern int flag_tree_ch; extern int flag_tree_combine_temps; extern int flag_tree_copy_prop; extern int flag_tree_copyrename; extern int flag_tree_dce; extern int flag_tree_dom; extern int flag_tree_dse; extern int flag_tree_fre; extern int flag_tree_loop_im; extern int flag_tree_loop_ivcanon; extern int flag_tree_loop_linear; extern int flag_tree_loop_optimize; extern int flag_tree_live_range_split; extern int flag_tree_pre; extern int flag_tree_salias; extern int flag_tree_sink; extern int flag_tree_sra; extern int flag_tree_store_ccp; extern int flag_tree_store_copy_prop; extern int flag_tree_ter; extern int flag_tree_vect_loop_version; extern int flag_tree_vectorize; extern int flag_tree_vrp; extern int flag_unit_at_a_time; extern int flag_unroll_all_loops; extern int flag_unroll_loops; extern int flag_unsafe_loop_optimizations; extern int flag_unsafe_math_optimizations; extern int flag_unswitch_loops; extern int flag_unwind_tables; extern int flag_var_tracking; extern int flag_variable_expansion_in_unroller; extern int flag_verbose_asm; extern int flag_visibility_ms_compat; extern int flag_value_profile_transformations; extern int flag_web; extern int flag_whole_program; extern int flag_wrapv; extern int flag_zero_initialized_in_bss; extern int TARGET_MAD; extern const char *mips_arch_string; extern int TARGET_DEBUG_MODE; extern int TARGET_DEBUG_D_MODE; extern int TARGET_EMBEDDED_DATA; extern int TARGET_FIX_SB1; extern int TARGET_FIX_VR4120; extern int TARGET_FIX_VR4130; extern int TARGET_4300_MUL_FIX; extern const char *mips_cache_flush_func; extern int TARGET_LONG_CALLS; extern int TARGET_MEMCPY; extern int TARGET_SHARED; extern int TARGET_SYM32; extern const char *mips_tune_string; extern int TARGET_UNINIT_CONST_IN_RODATA; extern int TARGET_XGOT; extern int profile_flag; extern int pedantic; extern int quiet_flag; extern int version_flag; extern int inhibit_warnings; #define MASK_ABICALLS (1 << 0) #define MASK_BRANCHLIKELY (1 << 1) #define MASK_CHECK_ZERO_DIV (1 << 2) #define MASK_DIVIDE_BREAKS (1 << 3) #define MASK_DSP (1 << 4) #define MASK_BIG_ENDIAN (1 << 5) #define MASK_EXPLICIT_RELOCS (1 << 6) #define MASK_FIX_R4000 (1 << 7) #define MASK_FIX_R4400 (1 << 8) #define MASK_FP_EXCEPTIONS (1 << 9) #define MASK_FLOAT64 (1 << 10) #define MASK_FUSED_MADD (1 << 11) #define MASK_64BIT (1 << 12) #define MASK_MIPS16 (1 << 13) #define MASK_MIPS3D (1 << 14) #define MASK_LONG64 (1 << 15) #define MASK_PAIRED_SINGLE_FLOAT (1 << 16) #define MASK_SINGLE_FLOAT (1 << 17) #define MASK_SOFT_FLOAT (1 << 18) #define MASK_SPLIT_ADDRESSES (1 << 19) #define MASK_VR4130_ALIGN (1 << 20) #define TARGET_ABICALLS ((target_flags & MASK_ABICALLS) != 0) #define TARGET_BRANCHLIKELY ((target_flags & MASK_BRANCHLIKELY) != 0) #define TARGET_CHECK_ZERO_DIV ((target_flags & MASK_CHECK_ZERO_DIV) != 0) #define TARGET_DIVIDE_BREAKS ((target_flags & MASK_DIVIDE_BREAKS) != 0) #define TARGET_DSP ((target_flags & MASK_DSP) != 0) #define TARGET_BIG_ENDIAN ((target_flags & MASK_BIG_ENDIAN) != 0) #define TARGET_EXPLICIT_RELOCS ((target_flags & MASK_EXPLICIT_RELOCS) != 0) #define TARGET_FIX_R4000 ((target_flags & MASK_FIX_R4000) != 0) #define TARGET_FIX_R4400 ((target_flags & MASK_FIX_R4400) != 0) #define TARGET_FP_EXCEPTIONS ((target_flags & MASK_FP_EXCEPTIONS) != 0) #define TARGET_FLOAT64 ((target_flags & MASK_FLOAT64) != 0) #define TARGET_FUSED_MADD ((target_flags & MASK_FUSED_MADD) != 0) #define TARGET_64BIT ((target_flags & MASK_64BIT) != 0) #define TARGET_MIPS16 ((target_flags & MASK_MIPS16) != 0) #define TARGET_MIPS3D ((target_flags & MASK_MIPS3D) != 0) #define TARGET_LONG64 ((target_flags & MASK_LONG64) != 0) #define TARGET_PAIRED_SINGLE_FLOAT ((target_flags & MASK_PAIRED_SINGLE_FLOAT) != 0) #define TARGET_SINGLE_FLOAT ((target_flags & MASK_SINGLE_FLOAT) != 0) #define TARGET_SOFT_FLOAT ((target_flags & MASK_SOFT_FLOAT) != 0) #define TARGET_SPLIT_ADDRESSES ((target_flags & MASK_SPLIT_ADDRESSES) != 0) #define TARGET_VR4130_ALIGN ((target_flags & MASK_VR4130_ALIGN) != 0) #define TARGET_DIVIDE_TRAPS ((target_flags & MASK_DIVIDE_BREAKS) == 0) #define TARGET_DOUBLE_FLOAT ((target_flags & MASK_SINGLE_FLOAT) == 0) #define TARGET_LITTLE_ENDIAN ((target_flags & MASK_BIG_ENDIAN) == 0) #define TARGET_HARD_FLOAT ((target_flags & MASK_SOFT_FLOAT) == 0) #define TARGET_LONG32 ((target_flags & MASK_LONG64) == 0) #define CL_C (1 << 0) #define CL_CXX (1 << 1) #define CL_ObjC (1 << 2) #define CL_ObjCXX (1 << 3) enum opt_code { OPT__help, /* --help */ OPT__output_pch_, /* --output-pch= */ OPT__param, /* --param */ OPT__target_help, /* --target-help */ OPT__version, /* --version */ OPT_A, /* -A */ OPT_C, /* -C */ OPT_CC, /* -CC */ OPT_D, /* -D */ OPT_E, /* -E */ OPT_F, /* -F */ OPT_G, /* -G */ OPT_H, /* -H */ OPT_I, /* -I */ OPT_M, /* -M */ OPT_MD, /* -MD */ OPT_MF, /* -MF */ OPT_MG, /* -MG */ OPT_MM, /* -MM */ OPT_MMD, /* -MMD */ OPT_MP, /* -MP */ OPT_MQ, /* -MQ */ OPT_MT, /* -MT */ OPT_O, /* -O */ OPT_Os, /* -Os */ OPT_P, /* -P */ OPT_U, /* -U */ OPT_W, /* -W */ OPT_Wabi, /* -Wabi */ OPT_Waddress, /* -Waddress */ OPT_Waggregate_return, /* -Waggregate-return */ OPT_Wall, /* -Wall */ OPT_Wassign_intercept, /* -Wassign-intercept */ OPT_Wattributes, /* -Wattributes */ OPT_Wbad_function_cast, /* -Wbad-function-cast */ OPT_Wc___compat, /* -Wc++-compat */ OPT_Wcast_align, /* -Wcast-align */ OPT_Wcast_qual, /* -Wcast-qual */ OPT_Wchar_subscripts, /* -Wchar-subscripts */ OPT_Wcomment, /* -Wcomment */ OPT_Wcomments, /* -Wcomments */ OPT_Wconversion, /* -Wconversion */ OPT_Wctor_dtor_privacy, /* -Wctor-dtor-privacy */ OPT_Wdeclaration_after_statement, /* -Wdeclaration-after-statement */ OPT_Wdeprecated, /* -Wdeprecated */ OPT_Wdeprecated_declarations, /* -Wdeprecated-declarations */ OPT_Wdisabled_optimization, /* -Wdisabled-optimization */ OPT_Wdiv_by_zero, /* -Wdiv-by-zero */ OPT_Weffc__, /* -Weffc++ */ OPT_Wendif_labels, /* -Wendif-labels */ OPT_Werror, /* -Werror */ OPT_Werror_implicit_function_declaration, /* -Werror-implicit-function-declaration */ OPT_Werror_, /* -Werror= */ OPT_Wextra, /* -Wextra */ OPT_Wfatal_errors, /* -Wfatal-errors */ OPT_Wfloat_equal, /* -Wfloat-equal */ OPT_Wformat, /* -Wformat */ OPT_Wformat_extra_args, /* -Wformat-extra-args */ OPT_Wformat_nonliteral, /* -Wformat-nonliteral */ OPT_Wformat_security, /* -Wformat-security */ OPT_Wformat_y2k, /* -Wformat-y2k */ OPT_Wformat_zero_length, /* -Wformat-zero-length */ OPT_Wformat_, /* -Wformat= */ OPT_Wframe_larger_than_, /* -Wframe-larger-than- */ OPT_Wimplicit, /* -Wimplicit */ OPT_Wimplicit_function_declaration, /* -Wimplicit-function-declaration */ OPT_Wimplicit_int, /* -Wimplicit-int */ OPT_Wimport, /* -Wimport */ OPT_Winit_self, /* -Winit-self */ OPT_Winline, /* -Winline */ OPT_Wint_to_pointer_cast, /* -Wint-to-pointer-cast */ OPT_Winvalid_offsetof, /* -Winvalid-offsetof */ OPT_Winvalid_pch, /* -Winvalid-pch */ OPT_Wlarger_than_, /* -Wlarger-than- */ OPT_Wlong_long, /* -Wlong-long */ OPT_Wmain, /* -Wmain */ OPT_Wmissing_braces, /* -Wmissing-braces */ OPT_Wmissing_declarations, /* -Wmissing-declarations */ OPT_Wmissing_field_initializers, /* -Wmissing-field-initializers */ OPT_Wmissing_format_attribute, /* -Wmissing-format-attribute */ OPT_Wmissing_include_dirs, /* -Wmissing-include-dirs */ OPT_Wmissing_noreturn, /* -Wmissing-noreturn */ OPT_Wmissing_prototypes, /* -Wmissing-prototypes */ OPT_Wmost, /* -Wmost */ OPT_Wmultichar, /* -Wmultichar */ OPT_Wnested_externs, /* -Wnested-externs */ OPT_Wnewline_eof, /* -Wnewline-eof */ OPT_Wnon_template_friend, /* -Wnon-template-friend */ OPT_Wnon_virtual_dtor, /* -Wnon-virtual-dtor */ OPT_Wnonnull, /* -Wnonnull */ OPT_Wnormalized_, /* -Wnormalized= */ OPT_Wold_style_cast, /* -Wold-style-cast */ OPT_Wold_style_definition, /* -Wold-style-definition */ OPT_Woverflow, /* -Woverflow */ OPT_Woverlength_strings, /* -Woverlength-strings */ OPT_Woverloaded_virtual, /* -Woverloaded-virtual */ OPT_Woverride_init, /* -Woverride-init */ OPT_Wpacked, /* -Wpacked */ OPT_Wpadded, /* -Wpadded */ OPT_Wparentheses, /* -Wparentheses */ OPT_Wpmf_conversions, /* -Wpmf-conversions */ OPT_Wpointer_arith, /* -Wpointer-arith */ OPT_Wpointer_sign, /* -Wpointer-sign */ OPT_Wpointer_to_int_cast, /* -Wpointer-to-int-cast */ OPT_Wpragmas, /* -Wpragmas */ OPT_Wprotocol, /* -Wprotocol */ OPT_Wredundant_decls, /* -Wredundant-decls */ OPT_Wreorder, /* -Wreorder */ OPT_Wreturn_type, /* -Wreturn-type */ OPT_Wselector, /* -Wselector */ OPT_Wsequence_point, /* -Wsequence-point */ OPT_Wshadow, /* -Wshadow */ OPT_Wsign_compare, /* -Wsign-compare */ OPT_Wsign_promo, /* -Wsign-promo */ OPT_Wstack_protector, /* -Wstack-protector */ OPT_Wstrict_aliasing, /* -Wstrict-aliasing */ OPT_Wstrict_aliasing_, /* -Wstrict-aliasing= */ OPT_Wstrict_null_sentinel, /* -Wstrict-null-sentinel */ OPT_Wstrict_overflow, /* -Wstrict-overflow */ OPT_Wstrict_overflow_, /* -Wstrict-overflow= */ OPT_Wstrict_prototypes, /* -Wstrict-prototypes */ OPT_Wstrict_selector_match, /* -Wstrict-selector-match */ OPT_Wswitch, /* -Wswitch */ OPT_Wswitch_default, /* -Wswitch-default */ OPT_Wswitch_enum, /* -Wswitch-enum */ OPT_Wsynth, /* -Wsynth */ OPT_Wsystem_headers, /* -Wsystem-headers */ OPT_Wtraditional, /* -Wtraditional */ OPT_Wtrampolines, /* -Wtrampolines */ OPT_Wtrigraphs, /* -Wtrigraphs */ OPT_Wundeclared_selector, /* -Wundeclared-selector */ OPT_Wundef, /* -Wundef */ OPT_Wuninitialized, /* -Wuninitialized */ OPT_Wunknown_pragmas, /* -Wunknown-pragmas */ OPT_Wunreachable_code, /* -Wunreachable-code */ OPT_Wunsafe_loop_optimizations, /* -Wunsafe-loop-optimizations */ OPT_Wunused, /* -Wunused */ OPT_Wunused_function, /* -Wunused-function */ OPT_Wunused_label, /* -Wunused-label */ OPT_Wunused_macros, /* -Wunused-macros */ OPT_Wunused_parameter, /* -Wunused-parameter */ OPT_Wunused_value, /* -Wunused-value */ OPT_Wunused_variable, /* -Wunused-variable */ OPT_Wvariable_decl, /* -Wvariable-decl */ OPT_Wvariadic_macros, /* -Wvariadic-macros */ OPT_Wvla, /* -Wvla */ OPT_Wvolatile_register_var, /* -Wvolatile-register-var */ OPT_Wwrite_strings, /* -Wwrite-strings */ OPT_ansi, /* -ansi */ OPT_aux_info, /* -aux-info */ OPT_aux_info_, /* -aux-info= */ OPT_auxbase, /* -auxbase */ OPT_auxbase_strip, /* -auxbase-strip */ OPT_d, /* -d */ OPT_dumpbase, /* -dumpbase */ OPT_fPIC, /* -fPIC */ OPT_fPIE, /* -fPIE */ OPT_fabi_version_, /* -fabi-version= */ OPT_faccess_control, /* -faccess-control */ OPT_falign_functions, /* -falign-functions */ OPT_falign_functions_, /* -falign-functions= */ OPT_falign_jumps, /* -falign-jumps */ OPT_falign_jumps_, /* -falign-jumps= */ OPT_falign_labels, /* -falign-labels */ OPT_falign_labels_, /* -falign-labels= */ OPT_falign_loops, /* -falign-loops */ OPT_falign_loops_, /* -falign-loops= */ OPT_fall_virtual, /* -fall-virtual */ OPT_falt_external_templates, /* -falt-external-templates */ OPT_fargument_alias, /* -fargument-alias */ OPT_fargument_noalias, /* -fargument-noalias */ OPT_fargument_noalias_anything, /* -fargument-noalias-anything */ OPT_fargument_noalias_global, /* -fargument-noalias-global */ OPT_fasm, /* -fasm */ OPT_fasynchronous_unwind_tables, /* -fasynchronous-unwind-tables */ OPT_fblocks, /* -fblocks */ OPT_fbounds_check, /* -fbounds-check */ OPT_fbranch_count_reg, /* -fbranch-count-reg */ OPT_fbranch_probabilities, /* -fbranch-probabilities */ OPT_fbranch_target_load_optimize, /* -fbranch-target-load-optimize */ OPT_fbranch_target_load_optimize2, /* -fbranch-target-load-optimize2 */ OPT_fbtr_bb_exclusive, /* -fbtr-bb-exclusive */ OPT_fbuiltin, /* -fbuiltin */ OPT_fbuiltin_, /* -fbuiltin- */ OPT_fcall_saved_, /* -fcall-saved- */ OPT_fcall_used_, /* -fcall-used- */ OPT_fcaller_saves, /* -fcaller-saves */ OPT_fcheck_new, /* -fcheck-new */ OPT_fcommon, /* -fcommon */ OPT_fcond_mismatch, /* -fcond-mismatch */ OPT_fconserve_space, /* -fconserve-space */ OPT_fconstant_string_class_, /* -fconstant-string-class= */ OPT_fcprop_registers, /* -fcprop-registers */ OPT_fcrossjumping, /* -fcrossjumping */ OPT_fcse_follow_jumps, /* -fcse-follow-jumps */ OPT_fcse_skip_blocks, /* -fcse-skip-blocks */ OPT_fcx_limited_range, /* -fcx-limited-range */ OPT_fdata_sections, /* -fdata-sections */ OPT_fdefault_inline, /* -fdefault-inline */ OPT_fdefer_pop, /* -fdefer-pop */ OPT_fdelayed_branch, /* -fdelayed-branch */ OPT_fdelete_null_pointer_checks, /* -fdelete-null-pointer-checks */ OPT_fdiagnostics_show_location_, /* -fdiagnostics-show-location= */ OPT_fdiagnostics_show_option, /* -fdiagnostics-show-option */ OPT_fdirectives_only, /* -fdirectives-only */ OPT_fdollars_in_identifiers, /* -fdollars-in-identifiers */ OPT_fdump_, /* -fdump- */ OPT_fdump_noaddr, /* -fdump-noaddr */ OPT_fdump_unnumbered, /* -fdump-unnumbered */ OPT_fearly_inlining, /* -fearly-inlining */ OPT_felide_constructors, /* -felide-constructors */ OPT_feliminate_dwarf2_dups, /* -feliminate-dwarf2-dups */ OPT_feliminate_unused_debug_symbols, /* -feliminate-unused-debug-symbols */ OPT_feliminate_unused_debug_types, /* -feliminate-unused-debug-types */ OPT_femit_class_debug_always, /* -femit-class-debug-always */ OPT_femit_struct_debug_baseonly, /* -femit-struct-debug-baseonly */ OPT_femit_struct_debug_detailed_, /* -femit-struct-debug-detailed= */ OPT_femit_struct_debug_reduced, /* -femit-struct-debug-reduced */ OPT_fenforce_eh_specs, /* -fenforce-eh-specs */ OPT_fenum_int_equiv, /* -fenum-int-equiv */ OPT_fexceptions, /* -fexceptions */ OPT_fexec_charset_, /* -fexec-charset= */ OPT_fexpensive_optimizations, /* -fexpensive-optimizations */ OPT_fextended_identifiers, /* -fextended-identifiers */ OPT_fexternal_templates, /* -fexternal-templates */ OPT_ffast_math, /* -ffast-math */ OPT_ffinite_math_only, /* -ffinite-math-only */ OPT_ffixed_, /* -ffixed- */ OPT_ffloat_store, /* -ffloat-store */ OPT_ffor_scope, /* -ffor-scope */ OPT_fforce_addr, /* -fforce-addr */ OPT_fforce_mem, /* -fforce-mem */ OPT_ffreestanding, /* -ffreestanding */ OPT_ffriend_injection, /* -ffriend-injection */ OPT_ffunction_cse, /* -ffunction-cse */ OPT_ffunction_sections, /* -ffunction-sections */ OPT_fgcse, /* -fgcse */ OPT_fgcse_after_reload, /* -fgcse-after-reload */ OPT_fgcse_las, /* -fgcse-las */ OPT_fgcse_lm, /* -fgcse-lm */ OPT_fgcse_sm, /* -fgcse-sm */ OPT_fgnu_keywords, /* -fgnu-keywords */ OPT_fgnu_runtime, /* -fgnu-runtime */ OPT_fgnu89_inline, /* -fgnu89-inline */ OPT_fguess_branch_probability, /* -fguess-branch-probability */ OPT_fguiding_decls, /* -fguiding-decls */ OPT_fhandle_exceptions, /* -fhandle-exceptions */ OPT_fhonor_std, /* -fhonor-std */ OPT_fhosted, /* -fhosted */ OPT_fhuge_objects, /* -fhuge-objects */ OPT_fident, /* -fident */ OPT_fif_conversion, /* -fif-conversion */ OPT_fif_conversion2, /* -fif-conversion2 */ OPT_fimplement_inlines, /* -fimplement-inlines */ OPT_fimplicit_inline_templates, /* -fimplicit-inline-templates */ OPT_fimplicit_templates, /* -fimplicit-templates */ OPT_finhibit_size_directive, /* -finhibit-size-directive */ OPT_finline, /* -finline */ OPT_finline_functions, /* -finline-functions */ OPT_finline_functions_called_once, /* -finline-functions-called-once */ OPT_finline_limit_, /* -finline-limit- */ OPT_finline_limit_eq, /* -finline-limit= */ OPT_finput_charset_, /* -finput-charset= */ OPT_finstrument_functions, /* -finstrument-functions */ OPT_finstrument_functions_exclude_file_list_,/* -finstrument-functions-exclude-file-list= */ OPT_finstrument_functions_exclude_function_list_,/* -finstrument-functions-exclude-function-list= */ OPT_fipa_cp, /* -fipa-cp */ OPT_fipa_pta, /* -fipa-pta */ OPT_fipa_pure_const, /* -fipa-pure-const */ OPT_fipa_reference, /* -fipa-reference */ OPT_fipa_type_escape, /* -fipa-type-escape */ OPT_fivopts, /* -fivopts */ OPT_fjump_tables, /* -fjump-tables */ OPT_fkeep_inline_functions, /* -fkeep-inline-functions */ OPT_fkeep_static_consts, /* -fkeep-static-consts */ OPT_flabels_ok, /* -flabels-ok */ OPT_flax_vector_conversions, /* -flax-vector-conversions */ OPT_fleading_underscore, /* -fleading-underscore */ OPT_floop_optimize, /* -floop-optimize */ OPT_fmath_errno, /* -fmath-errno */ OPT_fmem_report, /* -fmem-report */ OPT_fmerge_all_constants, /* -fmerge-all-constants */ OPT_fmerge_constants, /* -fmerge-constants */ OPT_fmessage_length_, /* -fmessage-length= */ OPT_fmodulo_sched, /* -fmodulo-sched */ OPT_fmove_loop_invariants, /* -fmove-loop-invariants */ OPT_fms_extensions, /* -fms-extensions */ OPT_fmudflap, /* -fmudflap */ OPT_fmudflapir, /* -fmudflapir */ OPT_fmudflapth, /* -fmudflapth */ OPT_fname_mangling_version_, /* -fname-mangling-version- */ OPT_fnested_functions, /* -fnested-functions */ OPT_fnew_abi, /* -fnew-abi */ OPT_fnext_runtime, /* -fnext-runtime */ OPT_fnil_receivers, /* -fnil-receivers */ OPT_fnon_call_exceptions, /* -fnon-call-exceptions */ OPT_fnonansi_builtins, /* -fnonansi-builtins */ OPT_fnonnull_objects, /* -fnonnull-objects */ OPT_fobjc_call_cxx_cdtors, /* -fobjc-call-cxx-cdtors */ OPT_fobjc_direct_dispatch, /* -fobjc-direct-dispatch */ OPT_fobjc_exceptions, /* -fobjc-exceptions */ OPT_fobjc_gc, /* -fobjc-gc */ OPT_fobjc_sjlj_exceptions, /* -fobjc-sjlj-exceptions */ OPT_fomit_frame_pointer, /* -fomit-frame-pointer */ OPT_fopenmp, /* -fopenmp */ OPT_foperator_names, /* -foperator-names */ OPT_foptimize_register_move, /* -foptimize-register-move */ OPT_foptimize_sibling_calls, /* -foptimize-sibling-calls */ OPT_foptional_diags, /* -foptional-diags */ OPT_fpack_struct, /* -fpack-struct */ OPT_fpack_struct_, /* -fpack-struct= */ OPT_fpcc_struct_return, /* -fpcc-struct-return */ OPT_fpch_deps, /* -fpch-deps */ OPT_fpch_preprocess, /* -fpch-preprocess */ OPT_fpeel_loops, /* -fpeel-loops */ OPT_fpeephole, /* -fpeephole */ OPT_fpeephole2, /* -fpeephole2 */ OPT_fpermissive, /* -fpermissive */ OPT_fpic, /* -fpic */ OPT_fpie, /* -fpie */ OPT_fprefetch_loop_arrays, /* -fprefetch-loop-arrays */ OPT_fpreprocessed, /* -fpreprocessed */ OPT_fprofile, /* -fprofile */ OPT_fprofile_arcs, /* -fprofile-arcs */ OPT_fprofile_generate, /* -fprofile-generate */ OPT_fprofile_use, /* -fprofile-use */ OPT_fprofile_values, /* -fprofile-values */ OPT_frandom_seed, /* -frandom-seed */ OPT_frandom_seed_, /* -frandom-seed= */ OPT_freg_struct_return, /* -freg-struct-return */ OPT_fregmove, /* -fregmove */ OPT_frename_registers, /* -frename-registers */ OPT_freorder_blocks, /* -freorder-blocks */ OPT_freorder_blocks_and_partition, /* -freorder-blocks-and-partition */ OPT_freorder_functions, /* -freorder-functions */ OPT_freplace_objc_classes, /* -freplace-objc-classes */ OPT_frepo, /* -frepo */ OPT_frerun_cse_after_loop, /* -frerun-cse-after-loop */ OPT_frerun_loop_opt, /* -frerun-loop-opt */ OPT_freschedule_modulo_scheduled_loops, /* -freschedule-modulo-scheduled-loops */ OPT_frounding_math, /* -frounding-math */ OPT_frtl_abstract_sequences, /* -frtl-abstract-sequences */ OPT_frtti, /* -frtti */ OPT_fsched_interblock, /* -fsched-interblock */ OPT_fsched_spec, /* -fsched-spec */ OPT_fsched_spec_load, /* -fsched-spec-load */ OPT_fsched_spec_load_dangerous, /* -fsched-spec-load-dangerous */ OPT_fsched_stalled_insns, /* -fsched-stalled-insns */ OPT_fsched_stalled_insns_dep, /* -fsched-stalled-insns-dep */ OPT_fsched_stalled_insns_dep_, /* -fsched-stalled-insns-dep= */ OPT_fsched_stalled_insns_, /* -fsched-stalled-insns= */ OPT_fsched_verbose_, /* -fsched-verbose= */ OPT_fsched2_use_superblocks, /* -fsched2-use-superblocks */ OPT_fsched2_use_traces, /* -fsched2-use-traces */ OPT_fschedule_insns, /* -fschedule-insns */ OPT_fschedule_insns2, /* -fschedule-insns2 */ OPT_fsection_anchors, /* -fsection-anchors */ OPT_fsee, /* -fsee */ OPT_fshort_double, /* -fshort-double */ OPT_fshort_enums, /* -fshort-enums */ OPT_fshort_wchar, /* -fshort-wchar */ OPT_fshow_column, /* -fshow-column */ OPT_fsignaling_nans, /* -fsignaling-nans */ OPT_fsigned_bitfields, /* -fsigned-bitfields */ OPT_fsigned_char, /* -fsigned-char */ OPT_fsingle_precision_constant, /* -fsingle-precision-constant */ OPT_fsplit_ivs_in_unroller, /* -fsplit-ivs-in-unroller */ OPT_fsquangle, /* -fsquangle */ OPT_fstack_check, /* -fstack-check */ OPT_fstack_limit, /* -fstack-limit */ OPT_fstack_limit_register_, /* -fstack-limit-register= */ OPT_fstack_limit_symbol_, /* -fstack-limit-symbol= */ OPT_fstack_protector, /* -fstack-protector */ OPT_fstack_protector_all, /* -fstack-protector-all */ OPT_fstats, /* -fstats */ OPT_fstrength_reduce, /* -fstrength-reduce */ OPT_fstrict_aliasing, /* -fstrict-aliasing */ OPT_fstrict_overflow, /* -fstrict-overflow */ OPT_fstrict_prototype, /* -fstrict-prototype */ OPT_fsyntax_only, /* -fsyntax-only */ OPT_ftabstop_, /* -ftabstop= */ OPT_ftemplate_depth_, /* -ftemplate-depth- */ OPT_ftest_coverage, /* -ftest-coverage */ OPT_fthis_is_variable, /* -fthis-is-variable */ OPT_fthread_jumps, /* -fthread-jumps */ OPT_fthreadsafe_statics, /* -fthreadsafe-statics */ OPT_ftime_report, /* -ftime-report */ OPT_ftls_model_, /* -ftls-model= */ OPT_ftoplevel_reorder, /* -ftoplevel-reorder */ OPT_ftracer, /* -ftracer */ OPT_ftrapping_math, /* -ftrapping-math */ OPT_ftrapv, /* -ftrapv */ OPT_ftree_ccp, /* -ftree-ccp */ OPT_ftree_ch, /* -ftree-ch */ OPT_ftree_combine_temps, /* -ftree-combine-temps */ OPT_ftree_copy_prop, /* -ftree-copy-prop */ OPT_ftree_copyrename, /* -ftree-copyrename */ OPT_ftree_dce, /* -ftree-dce */ OPT_ftree_dominator_opts, /* -ftree-dominator-opts */ OPT_ftree_dse, /* -ftree-dse */ OPT_ftree_fre, /* -ftree-fre */ OPT_ftree_loop_im, /* -ftree-loop-im */ OPT_ftree_loop_ivcanon, /* -ftree-loop-ivcanon */ OPT_ftree_loop_linear, /* -ftree-loop-linear */ OPT_ftree_loop_optimize, /* -ftree-loop-optimize */ OPT_ftree_lrs, /* -ftree-lrs */ OPT_ftree_pre, /* -ftree-pre */ OPT_ftree_salias, /* -ftree-salias */ OPT_ftree_sink, /* -ftree-sink */ OPT_ftree_sra, /* -ftree-sra */ OPT_ftree_store_ccp, /* -ftree-store-ccp */ OPT_ftree_store_copy_prop, /* -ftree-store-copy-prop */ OPT_ftree_ter, /* -ftree-ter */ OPT_ftree_vect_loop_version, /* -ftree-vect-loop-version */ OPT_ftree_vectorize, /* -ftree-vectorize */ OPT_ftree_vectorizer_verbose_, /* -ftree-vectorizer-verbose= */ OPT_ftree_vrp, /* -ftree-vrp */ OPT_funit_at_a_time, /* -funit-at-a-time */ OPT_funroll_all_loops, /* -funroll-all-loops */ OPT_funroll_loops, /* -funroll-loops */ OPT_funsafe_loop_optimizations, /* -funsafe-loop-optimizations */ OPT_funsafe_math_optimizations, /* -funsafe-math-optimizations */ OPT_funsigned_bitfields, /* -funsigned-bitfields */ OPT_funsigned_char, /* -funsigned-char */ OPT_funswitch_loops, /* -funswitch-loops */ OPT_funwind_tables, /* -funwind-tables */ OPT_fuse_cxa_atexit, /* -fuse-cxa-atexit */ OPT_fuse_cxa_get_exception_ptr, /* -fuse-cxa-get-exception-ptr */ OPT_fvar_tracking, /* -fvar-tracking */ OPT_fvariable_expansion_in_unroller, /* -fvariable-expansion-in-unroller */ OPT_fverbose_asm, /* -fverbose-asm */ OPT_fvisibility_inlines_hidden, /* -fvisibility-inlines-hidden */ OPT_fvisibility_ms_compat, /* -fvisibility-ms-compat */ OPT_fvisibility_, /* -fvisibility= */ OPT_fvpt, /* -fvpt */ OPT_fvtable_gc, /* -fvtable-gc */ OPT_fvtable_thunks, /* -fvtable-thunks */ OPT_fweak, /* -fweak */ OPT_fweb, /* -fweb */ OPT_fwhole_program, /* -fwhole-program */ OPT_fwide_exec_charset_, /* -fwide-exec-charset= */ OPT_fworking_directory, /* -fworking-directory */ OPT_fwrapv, /* -fwrapv */ OPT_fxref, /* -fxref */ OPT_fzero_initialized_in_bss, /* -fzero-initialized-in-bss */ OPT_fzero_link, /* -fzero-link */ OPT_g, /* -g */ OPT_gcoff, /* -gcoff */ OPT_gdwarf_2, /* -gdwarf-2 */ OPT_gen_decls, /* -gen-decls */ OPT_ggdb, /* -ggdb */ OPT_gstabs, /* -gstabs */ OPT_gstabs_, /* -gstabs+ */ OPT_gvms, /* -gvms */ OPT_gxcoff, /* -gxcoff */ OPT_gxcoff_, /* -gxcoff+ */ OPT_idirafter, /* -idirafter */ OPT_imacros, /* -imacros */ OPT_imultilib, /* -imultilib */ OPT_include, /* -include */ OPT_iprefix, /* -iprefix */ OPT_iquote, /* -iquote */ OPT_isysroot, /* -isysroot */ OPT_isystem, /* -isystem */ OPT_iwithprefix, /* -iwithprefix */ OPT_iwithprefixbefore, /* -iwithprefixbefore */ OPT_lang_asm, /* -lang-asm */ OPT_lang_fortran, /* -lang-fortran */ OPT_lang_objc, /* -lang-objc */ OPT_mabi_, /* -mabi= */ OPT_mabicalls, /* -mabicalls */ OPT_mad, /* -mad */ OPT_march_, /* -march= */ OPT_mbranch_likely, /* -mbranch-likely */ OPT_mcheck_zero_division, /* -mcheck-zero-division */ OPT_mdebug, /* -mdebug */ OPT_mdebugd, /* -mdebugd */ OPT_mdivide_breaks, /* -mdivide-breaks */ OPT_mdivide_traps, /* -mdivide-traps */ OPT_mdouble_float, /* -mdouble-float */ OPT_mdsp, /* -mdsp */ OPT_meb, /* -meb */ OPT_mel, /* -mel */ OPT_membedded_data, /* -membedded-data */ OPT_mexplicit_relocs, /* -mexplicit-relocs */ OPT_mfix_r4000, /* -mfix-r4000 */ OPT_mfix_r4400, /* -mfix-r4400 */ OPT_mfix_sb1, /* -mfix-sb1 */ OPT_mfix_vr4120, /* -mfix-vr4120 */ OPT_mfix_vr4130, /* -mfix-vr4130 */ OPT_mfix4300, /* -mfix4300 */ OPT_mflush_func_, /* -mflush-func= */ OPT_mfp_exceptions, /* -mfp-exceptions */ OPT_mfp32, /* -mfp32 */ OPT_mfp64, /* -mfp64 */ OPT_mfused_madd, /* -mfused-madd */ OPT_mgp32, /* -mgp32 */ OPT_mgp64, /* -mgp64 */ OPT_mhard_float, /* -mhard-float */ OPT_mips, /* -mips */ OPT_mips16, /* -mips16 */ OPT_mips3d, /* -mips3d */ OPT_mlong_calls, /* -mlong-calls */ OPT_mlong32, /* -mlong32 */ OPT_mlong64, /* -mlong64 */ OPT_mmemcpy, /* -mmemcpy */ OPT_mmips_tfile, /* -mmips-tfile */ OPT_mno_flush_func, /* -mno-flush-func */ OPT_mno_mips16, /* -mno-mips16 */ OPT_mno_mips3d, /* -mno-mips3d */ OPT_mpaired_single, /* -mpaired-single */ OPT_mshared, /* -mshared */ OPT_msingle_float, /* -msingle-float */ OPT_msoft_float, /* -msoft-float */ OPT_msplit_addresses, /* -msplit-addresses */ OPT_msym32, /* -msym32 */ OPT_mtune_, /* -mtune= */ OPT_muninit_const_in_rodata, /* -muninit-const-in-rodata */ OPT_mvr4130_align, /* -mvr4130-align */ OPT_mxgot, /* -mxgot */ OPT_nostdinc, /* -nostdinc */ OPT_nostdinc__, /* -nostdinc++ */ OPT_o, /* -o */ OPT_p, /* -p */ OPT_pedantic, /* -pedantic */ OPT_pedantic_errors, /* -pedantic-errors */ OPT_print_objc_runtime_info, /* -print-objc-runtime-info */ OPT_print_pch_checksum, /* -print-pch-checksum */ OPT_quiet, /* -quiet */ OPT_remap, /* -remap */ OPT_std_c__98, /* -std=c++98 */ OPT_std_c89, /* -std=c89 */ OPT_std_c99, /* -std=c99 */ OPT_std_c9x, /* -std=c9x */ OPT_std_gnu__98, /* -std=gnu++98 */ OPT_std_gnu89, /* -std=gnu89 */ OPT_std_gnu99, /* -std=gnu99 */ OPT_std_gnu9x, /* -std=gnu9x */ OPT_std_iso9899_1990, /* -std=iso9899:1990 */ OPT_std_iso9899_199409, /* -std=iso9899:199409 */ OPT_std_iso9899_1999, /* -std=iso9899:1999 */ OPT_std_iso9899_199x, /* -std=iso9899:199x */ OPT_traditional_cpp, /* -traditional-cpp */ OPT_trigraphs, /* -trigraphs */ OPT_undef, /* -undef */ OPT_v, /* -v */ OPT_version, /* -version */ OPT_w, /* -w */ N_OPTS }; #endif /* OPTIONS_H */ # 910 "./options.h" # 5 "./tm.h" 2 #if 0 /* expanded by -frewrite-includes */ # include "mips/mips.h" #endif /* expanded by -frewrite-includes */ # 5 "./tm.h" # 1 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" 1 /* Definitions of target machine for GNU compiler. MIPS version. Copyright (C) 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. Contributed by A. Lichnewsky (lich@inria.inria.fr). Changed by Michael Meissner (meissner@osf.org). 64 bit r4000 support by Ian Lance Taylor (ian@cygnus.com) and Brendan Eich (brendan@microunity.com). This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING. If not, write to the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* MIPS external variables defined in mips.c. */ /* Which processor to schedule for. Since there is no difference between a R2000 and R3000 in terms of the scheduler, we collapse them into just an R3000. The elements of the enumeration must match exactly the cpu attribute in the mips.md machine description. */ enum processor_type { PROCESSOR_R3000, PROCESSOR_4KC, PROCESSOR_4KP, PROCESSOR_5KC, PROCESSOR_5KF, PROCESSOR_20KC, PROCESSOR_24K, PROCESSOR_24KX, PROCESSOR_M4K, PROCESSOR_OCTEON, PROCESSOR_R3900, PROCESSOR_R6000, PROCESSOR_R4000, PROCESSOR_R4100, PROCESSOR_R4111, PROCESSOR_R4120, PROCESSOR_R4130, PROCESSOR_R4300, PROCESSOR_R4600, PROCESSOR_R4650, PROCESSOR_R5000, PROCESSOR_R5400, PROCESSOR_R5500, PROCESSOR_R7000, PROCESSOR_R8000, PROCESSOR_R9000, PROCESSOR_SB1, PROCESSOR_SB1A, PROCESSOR_SR71000, PROCESSOR_MAX }; /* Costs of various operations on the different architectures. */ struct mips_rtx_cost_data { unsigned short fp_add; unsigned short fp_mult_sf; unsigned short fp_mult_df; unsigned short fp_div_sf; unsigned short fp_div_df; unsigned short int_mult_si; unsigned short int_mult_di; unsigned short int_div_si; unsigned short int_div_di; unsigned short branch_cost; unsigned short memory_latency; }; /* Which ABI to use. ABI_32 (original 32, or o32), ABI_N32 (n32), ABI_64 (n64) are all defined by SGI. ABI_O64 is o32 extended to work on a 64 bit machine. */ #define ABI_32 0 #define ABI_N32 1 #define ABI_64 2 #define ABI_EABI 3 #define ABI_O64 4 /* Information about one recognized processor. Defined here for the benefit of TARGET_CPU_CPP_BUILTINS. */ struct mips_cpu_info { /* The 'canonical' name of the processor as far as GCC is concerned. It's typically a manufacturer's prefix followed by a numerical designation. It should be lower case. */ const char *name; /* The internal processor number that most closely matches this entry. Several processors can have the same value, if there's no difference between them from GCC's point of view. */ enum processor_type cpu; /* The ISA level that the processor implements. */ int isa; }; #ifndef USED_FOR_TARGET extern char mips_print_operand_punct[256]; /* print_operand punctuation chars */ extern const char *current_function_file; /* filename current function is in */ extern int num_source_filenames; /* current .file # */ extern int mips_section_threshold; /* # bytes of data/sdata cutoff */ extern int sym_lineno; /* sgi next label # for each stmt */ extern int set_noreorder; /* # of nested .set noreorder's */ extern int set_nomacro; /* # of nested .set nomacro's */ extern int set_noat; /* # of nested .set noat's */ extern int set_volatile; /* # of nested .set volatile's */ extern int mips_branch_likely; /* emit 'l' after br (branch likely) */ extern int mips_dbx_regno[]; /* Map register # to debug register # */ extern bool mips_split_p[]; extern GTY(()) rtx cmp_operands[2]; extern enum processor_type mips_arch; /* which cpu to codegen for */ extern enum processor_type mips_tune; /* which cpu to schedule for */ extern int mips_isa; /* architectural level */ extern int mips_abi; /* which ABI to use */ extern int mips16_hard_float; /* mips16 without -msoft-float */ extern const struct mips_cpu_info mips_cpu_info_table[]; extern const struct mips_cpu_info *mips_arch_info; extern const struct mips_cpu_info *mips_tune_info; extern const struct mips_rtx_cost_data *mips_cost; #endif # 135 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" /* Macros to silence warnings about numbers being signed in traditional C and unsigned in ISO C when compiled on 32-bit hosts. */ #define BITMASK_HIGH (((unsigned long)1) << 31) /* 0x80000000 */ #define BITMASK_UPPER16 ((unsigned long)0xffff << 16) /* 0xffff0000 */ #define BITMASK_LOWER16 ((unsigned long)0xffff) /* 0x0000ffff */ /* Run-time compilation parameters selecting different hardware subsets. */ /* True if the call patterns should be split into a jalr followed by an instruction to restore $gp. This is only ever true for SVR4 PIC, in which $gp is call-clobbered. It is only safe to split the load from the call when every use of $gp is explicit. */ #define TARGET_SPLIT_CALLS \ (TARGET_EXPLICIT_RELOCS && TARGET_ABICALLS && !TARGET_NEWABI) /* True if we're generating a form of -mabicalls in which we can use operators like %hi and %lo to refer to locally-binding symbols. We can only do this for -mno-shared, and only then if we can use relocation operations instead of assembly macros. It isn't really worth using absolute sequences for 64-bit symbols because GOT accesses are so much shorter. */ #define TARGET_ABSOLUTE_ABICALLS \ (TARGET_ABICALLS \ && !TARGET_SHARED \ && TARGET_EXPLICIT_RELOCS \ && !ABI_HAS_64BIT_SYMBOLS) /* True if we can optimize sibling calls. For simplicity, we only handle cases in which call_insn_operand will reject invalid sibcall addresses. There are two cases in which this isn't true: - TARGET_MIPS16. call_insn_operand accepts constant addresses but there is no direct jump instruction. It isn't worth using sibling calls in this case anyway; they would usually be longer than normal calls. - TARGET_ABICALLS && !TARGET_EXPLICIT_RELOCS. call_insn_operand accepts global constants, but "jr $25" is the only allowed sibcall. */ #define TARGET_SIBCALLS \ (!TARGET_MIPS16 && (!TARGET_ABICALLS || TARGET_EXPLICIT_RELOCS)) /* True if .gpword or .gpdword should be used for switch tables. Although GAS does understand .gpdword, the SGI linker mishandles the relocations GAS generates (R_MIPS_GPREL32 followed by R_MIPS_64). We therefore disable GP-relative switch tables for n64 on IRIX targets. */ #define TARGET_GPWORD (TARGET_ABICALLS && !(mips_abi == ABI_64 && TARGET_IRIX)) /* Generate mips16 code */ #define TARGET_MIPS16 ((target_flags & MASK_MIPS16) != 0) /* Generate mips16e code. Default 16bit ASE for mips32/mips32r2/mips64 */ #define GENERATE_MIPS16E (TARGET_MIPS16 && mips_isa >= 32) /* Generic ISA defines. */ #define ISA_MIPS1 (mips_isa == 1) #define ISA_MIPS2 (mips_isa == 2) #define ISA_MIPS3 (mips_isa == 3) #define ISA_MIPS4 (mips_isa == 4) #define ISA_MIPS32 (mips_isa == 32) #define ISA_MIPS32R2 (mips_isa == 33) #define ISA_MIPS64 (mips_isa == 64) #define ISA_MIPS64R2 (mips_isa == 65) /* Architecture target defines. */ #define TARGET_MIPS3900 (mips_arch == PROCESSOR_R3900) #define TARGET_MIPS4000 (mips_arch == PROCESSOR_R4000) #define TARGET_MIPS4120 (mips_arch == PROCESSOR_R4120) #define TARGET_MIPS4130 (mips_arch == PROCESSOR_R4130) #define TARGET_MIPS5400 (mips_arch == PROCESSOR_R5400) #define TARGET_MIPS5500 (mips_arch == PROCESSOR_R5500) #define TARGET_MIPS7000 (mips_arch == PROCESSOR_R7000) #define TARGET_MIPS9000 (mips_arch == PROCESSOR_R9000) #define TARGET_SB1 (mips_arch == PROCESSOR_SB1 \ || mips_arch == PROCESSOR_SB1A) #define TARGET_SR71K (mips_arch == PROCESSOR_SR71000) #define TARGET_OCTEON (mips_arch == PROCESSOR_OCTEON) /* Scheduling target defines. */ #define TUNE_MIPS3000 (mips_tune == PROCESSOR_R3000) #define TUNE_MIPS3900 (mips_tune == PROCESSOR_R3900) #define TUNE_MIPS4000 (mips_tune == PROCESSOR_R4000) #define TUNE_MIPS4120 (mips_tune == PROCESSOR_R4120) #define TUNE_MIPS4130 (mips_tune == PROCESSOR_R4130) #define TUNE_MIPS5000 (mips_tune == PROCESSOR_R5000) #define TUNE_MIPS5400 (mips_tune == PROCESSOR_R5400) #define TUNE_MIPS5500 (mips_tune == PROCESSOR_R5500) #define TUNE_MIPS6000 (mips_tune == PROCESSOR_R6000) #define TUNE_MIPS7000 (mips_tune == PROCESSOR_R7000) #define TUNE_MIPS9000 (mips_tune == PROCESSOR_R9000) #define TUNE_SB1 (mips_tune == PROCESSOR_SB1 \ || mips_tune == PROCESSOR_SB1A) #define TUNE_OCTEON (mips_tune == PROCESSOR_OCTEON) /* True if the pre-reload scheduler should try to create chains of multiply-add or multiply-subtract instructions. For example, suppose we have: t1 = a * b t2 = t1 + c * d t3 = e * f t4 = t3 - g * h t1 will have a higher priority than t2 and t3 will have a higher priority than t4. However, before reload, there is no dependence between t1 and t3, and they can often have similar priorities. The scheduler will then tend to prefer: t1 = a * b t3 = e * f t2 = t1 + c * d t4 = t3 - g * h which stops us from making full use of macc/madd-style instructions. This sort of situation occurs frequently in Fourier transforms and in unrolled loops. To counter this, the TUNE_MACC_CHAINS code will reorder the ready queue so that chained multiply-add and multiply-subtract instructions appear ahead of any other instruction that is likely to clobber lo. In the example above, if t2 and t3 become ready at the same time, the code ensures that t2 is scheduled first. Multiply-accumulate instructions are a bigger win for some targets than others, so this macro is defined on an opt-in basis. */ #define TUNE_MACC_CHAINS (TUNE_MIPS5500 \ || TUNE_MIPS4120 \ || TUNE_MIPS4130) #define TARGET_OLDABI (mips_abi == ABI_32 || mips_abi == ABI_O64) #define TARGET_NEWABI (mips_abi == ABI_N32 || mips_abi == ABI_64) /* IRIX specific stuff. */ #define TARGET_IRIX 0 #define TARGET_IRIX6 0 /* Define preprocessor macros for the -march and -mtune options. PREFIX is either _MIPS_ARCH or _MIPS_TUNE, INFO is the selected processor. If INFO's canonical name is "foo", define PREFIX to be "foo", and define an additional macro PREFIX_FOO. */ #define MIPS_CPP_SET_PROCESSOR(PREFIX, INFO) \ do \ { \ char *macro, *p; \ \ macro = concat ((PREFIX), "_", (INFO)->name, NULL); \ for (p = macro; *p != 0; p++) \ *p = TOUPPER (*p); \ \ builtin_define (macro); \ builtin_define_with_value ((PREFIX), (INFO)->name, 1); \ free (macro); \ } \ while (0) /* Target CPU builtins. */ #define TARGET_CPU_CPP_BUILTINS() \ do \ { \ /* Everyone but IRIX defines this to mips. */ \ if (!TARGET_IRIX) \ builtin_assert ("machine=mips"); \ \ builtin_assert ("cpu=mips"); \ builtin_define ("__mips__"); \ builtin_define ("_mips"); \ \ /* We do this here because __mips is defined below \ and so we can't use builtin_define_std. */ \ if (!flag_iso) \ builtin_define ("mips"); \ \ if (TARGET_64BIT) \ builtin_define ("__mips64"); \ \ if (!TARGET_IRIX) \ { \ /* Treat _R3000 and _R4000 like register-size \ defines, which is how they've historically \ been used. */ \ if (TARGET_64BIT) \ { \ builtin_define_std ("R4000"); \ builtin_define ("_R4000"); \ } \ else \ { \ builtin_define_std ("R3000"); \ builtin_define ("_R3000"); \ } \ } \ if (TARGET_FLOAT64) \ builtin_define ("__mips_fpr=64"); \ else \ builtin_define ("__mips_fpr=32"); \ \ if (TARGET_MIPS16) \ builtin_define ("__mips16"); \ \ if (TARGET_MIPS3D) \ builtin_define ("__mips3d"); \ \ if (TARGET_DSP) \ builtin_define ("__mips_dsp"); \ \ MIPS_CPP_SET_PROCESSOR ("_MIPS_ARCH", mips_arch_info); \ MIPS_CPP_SET_PROCESSOR ("_MIPS_TUNE", mips_tune_info); \ \ if (ISA_MIPS1) \ { \ builtin_define ("__mips=1"); \ builtin_define ("_MIPS_ISA=_MIPS_ISA_MIPS1"); \ } \ else if (ISA_MIPS2) \ { \ builtin_define ("__mips=2"); \ builtin_define ("_MIPS_ISA=_MIPS_ISA_MIPS2"); \ } \ else if (ISA_MIPS3) \ { \ builtin_define ("__mips=3"); \ builtin_define ("_MIPS_ISA=_MIPS_ISA_MIPS3"); \ } \ else if (ISA_MIPS4) \ { \ builtin_define ("__mips=4"); \ builtin_define ("_MIPS_ISA=_MIPS_ISA_MIPS4"); \ } \ else if (ISA_MIPS32) \ { \ builtin_define ("__mips=32"); \ builtin_define ("__mips_isa_rev=1"); \ builtin_define ("_MIPS_ISA=_MIPS_ISA_MIPS32"); \ } \ else if (ISA_MIPS32R2) \ { \ builtin_define ("__mips=32"); \ builtin_define ("__mips_isa_rev=2"); \ builtin_define ("_MIPS_ISA=_MIPS_ISA_MIPS32"); \ } \ else if (ISA_MIPS64) \ { \ builtin_define ("__mips=64"); \ builtin_define ("__mips_isa_rev=1"); \ builtin_define ("_MIPS_ISA=_MIPS_ISA_MIPS64"); \ } \ else if (ISA_MIPS64R2) \ { \ builtin_define ("__mips=64"); \ builtin_define ("__mips_isa_rev=2"); \ builtin_define ("_MIPS_ISA=_MIPS_ISA_MIPS64"); \ } \ \ if (TARGET_HARD_FLOAT) \ builtin_define ("__mips_hard_float"); \ else if (TARGET_SOFT_FLOAT) \ builtin_define ("__mips_soft_float"); \ \ if (TARGET_SINGLE_FLOAT) \ builtin_define ("__mips_single_float"); \ \ if (TARGET_PAIRED_SINGLE_FLOAT) \ builtin_define ("__mips_paired_single_float"); \ \ if (TARGET_BIG_ENDIAN) \ { \ builtin_define_std ("MIPSEB"); \ builtin_define ("_MIPSEB"); \ } \ else \ { \ builtin_define_std ("MIPSEL"); \ builtin_define ("_MIPSEL"); \ } \ \ /* Macros dependent on the C dialect. */ \ if (preprocessing_asm_p ()) \ { \ builtin_define_std ("LANGUAGE_ASSEMBLY"); \ builtin_define ("_LANGUAGE_ASSEMBLY"); \ } \ else if (c_dialect_cxx ()) \ { \ builtin_define ("_LANGUAGE_C_PLUS_PLUS"); \ builtin_define ("__LANGUAGE_C_PLUS_PLUS"); \ builtin_define ("__LANGUAGE_C_PLUS_PLUS__"); \ } \ else \ { \ builtin_define_std ("LANGUAGE_C"); \ builtin_define ("_LANGUAGE_C"); \ } \ if (c_dialect_objc ()) \ { \ builtin_define ("_LANGUAGE_OBJECTIVE_C"); \ builtin_define ("__LANGUAGE_OBJECTIVE_C"); \ /* Bizarre, but needed at least for Irix. */ \ builtin_define_std ("LANGUAGE_C"); \ builtin_define ("_LANGUAGE_C"); \ } \ \ if (mips_abi == ABI_EABI) \ builtin_define ("__mips_eabi"); \ \ } while (0) /* Default target_flags if no switches are specified */ #ifndef TARGET_DEFAULT #define TARGET_DEFAULT 0 #endif # 452 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #ifndef TARGET_CPU_DEFAULT #define TARGET_CPU_DEFAULT 0 #endif # 456 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #ifndef TARGET_ENDIAN_DEFAULT #define TARGET_ENDIAN_DEFAULT MASK_BIG_ENDIAN #endif # 460 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #ifndef TARGET_FP_EXCEPTIONS_DEFAULT #define TARGET_FP_EXCEPTIONS_DEFAULT MASK_FP_EXCEPTIONS #endif # 464 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" /* 'from-abi' makes a good default: you get whatever the ABI requires. */ #ifndef MIPS_ISA_DEFAULT #ifndef MIPS_CPU_STRING_DEFAULT #define MIPS_CPU_STRING_DEFAULT "from-abi" #endif # 470 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #endif # 471 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #ifdef IN_LIBGCC2 #undef TARGET_64BIT /* Make this compile time constant for libgcc2 */ #ifdef __mips64 #define TARGET_64BIT 1 #else # 478 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #define TARGET_64BIT 0 #endif # 480 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #endif /* IN_LIBGCC2 */ # 481 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #define TARGET_LIBGCC_SDATA_SECTION ".sdata" #ifndef MULTILIB_ENDIAN_DEFAULT #if TARGET_ENDIAN_DEFAULT == 0 #define MULTILIB_ENDIAN_DEFAULT "EL" #else # 488 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #define MULTILIB_ENDIAN_DEFAULT "EB" #endif # 490 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #endif # 491 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #ifndef MULTILIB_ISA_DEFAULT # if MIPS_ISA_DEFAULT == 1 # define MULTILIB_ISA_DEFAULT "mips1" # else # 496 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" # if MIPS_ISA_DEFAULT == 2 # define MULTILIB_ISA_DEFAULT "mips2" # else # 499 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" # if MIPS_ISA_DEFAULT == 3 # define MULTILIB_ISA_DEFAULT "mips3" # else # 502 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" # if MIPS_ISA_DEFAULT == 4 # define MULTILIB_ISA_DEFAULT "mips4" # else # 505 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" # if MIPS_ISA_DEFAULT == 32 # define MULTILIB_ISA_DEFAULT "mips32" # else # 508 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" # if MIPS_ISA_DEFAULT == 33 # define MULTILIB_ISA_DEFAULT "mips32r2" # else # 511 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" # if MIPS_ISA_DEFAULT == 64 # define MULTILIB_ISA_DEFAULT "mips64" # else # 514 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" # if MIPS_ISA_DEFAULT == 65 # define MULTILIB_ISA_DEFAULT "mips64r2" # else # 517 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" # define MULTILIB_ISA_DEFAULT "mips1" # endif # 519 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" # endif # 520 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" # endif # 521 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" # endif # 522 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" # endif # 523 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" # endif # 524 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" # endif # 525 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" # endif # 526 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #endif # 527 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #ifndef MULTILIB_DEFAULTS #define MULTILIB_DEFAULTS \ { MULTILIB_ENDIAN_DEFAULT, MULTILIB_ISA_DEFAULT, MULTILIB_ABI_DEFAULT } #endif # 532 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" /* We must pass -EL to the linker by default for little endian embedded targets using linker scripts with a OUTPUT_FORMAT line. Otherwise, the linker will default to using big-endian output files. The OUTPUT_FORMAT line must be in the linker script, otherwise -EB/-EL will not work. */ #ifndef ENDIAN_SPEC #if TARGET_ENDIAN_DEFAULT == 0 #define ENDIAN_SPEC "%{!EB:%{!meb:-EL}} %{EB|meb:-EB}" #else # 542 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #define ENDIAN_SPEC "%{!EL:%{!mel:-EB}} %{EL|mel:-EL}" #endif # 544 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #endif # 545 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" /* Support for a compile-time default CPU, et cetera. The rules are: --with-arch is ignored if -march is specified or a -mips is specified (other than -mips16). --with-tune is ignored if -mtune is specified. --with-abi is ignored if -mabi is specified. --with-float is ignored if -mhard-float or -msoft-float are specified. --with-divide is ignored if -mdivide-traps or -mdivide-breaks are specified. */ #define OPTION_DEFAULT_SPECS \ {"arch", "%{!march=*:%{mips16:-march=%(VALUE)}%{!mips*:-march=%(VALUE)}}" }, \ {"tune", "%{!mtune=*:-mtune=%(VALUE)}" }, \ {"abi", "%{!mabi=*:-mabi=%(VALUE)}" }, \ {"float", "%{!msoft-float:%{!mhard-float:-m%(VALUE)-float}}" }, \ {"divide", "%{!mdivide-traps:%{!mdivide-breaks:-mdivide-%(VALUE)}}" } #define GENERATE_DIVIDE_TRAPS (TARGET_DIVIDE_TRAPS \ && ISA_HAS_COND_TRAP) #define GENERATE_BRANCHLIKELY (TARGET_BRANCHLIKELY \ && !TARGET_SR71K \ && !TARGET_MIPS16) /* Generate three-operand multiply instructions for SImode. */ #define GENERATE_MULT3_SI ((TARGET_MIPS3900 \ || TARGET_MIPS5400 \ || TARGET_MIPS5500 \ || TARGET_MIPS7000 \ || TARGET_MIPS9000 \ || TARGET_MAD \ || ISA_MIPS32 \ || ISA_MIPS32R2 \ || ISA_MIPS64 \ || ISA_MIPS64R2) \ && !TARGET_MIPS16) /* Generate three-operand multiply instructions for DImode. */ #define GENERATE_MULT3_DI ((TARGET_MIPS3900) \ && !TARGET_MIPS16) /* True if the ABI can only work with 64-bit integer registers. We generally allow ad-hoc variations for TARGET_SINGLE_FLOAT, but otherwise floating-point registers must also be 64-bit. */ #define ABI_NEEDS_64BIT_REGS (TARGET_NEWABI || mips_abi == ABI_O64) /* Likewise for 32-bit regs. */ #define ABI_NEEDS_32BIT_REGS (mips_abi == ABI_32) /* True if symbols are 64 bits wide. At present, n64 is the only ABI for which this is true. */ #define ABI_HAS_64BIT_SYMBOLS (mips_abi == ABI_64 && !TARGET_SYM32) /* ISA has instructions for managing 64 bit fp and gp regs (e.g. mips3). */ #define ISA_HAS_64BIT_REGS (ISA_MIPS3 \ || ISA_MIPS4 \ || ISA_MIPS64 \ || ISA_MIPS64R2) /* ISA has branch likely instructions (e.g. mips2). */ /* Disable branchlikely for tx39 until compare rewrite. They haven't been generated up to this point. */ #define ISA_HAS_BRANCHLIKELY (!ISA_MIPS1) /* ISA has the conditional move instructions introduced in mips4. */ #define ISA_HAS_CONDMOVE ((ISA_MIPS4 \ || ISA_MIPS32 \ || ISA_MIPS32R2 \ || ISA_MIPS64 \ || ISA_MIPS64R2) \ && !TARGET_MIPS5500 \ && !TARGET_MIPS16) /* ISA has the mips4 FP condition code instructions: FP-compare to CC, branch on CC, and move (both FP and non-FP) on CC. */ #define ISA_HAS_8CC (ISA_MIPS4 \ || ISA_MIPS32 \ || ISA_MIPS32R2 \ || ISA_MIPS64 \ || ISA_MIPS64R2) /* This is a catch all for other mips4 instructions: indexed load, the FP madd and msub instructions, and the FP recip and recip sqrt instructions. */ #define ISA_HAS_FP4 ((ISA_MIPS4 \ || ISA_MIPS64 \ || ISA_MIPS64R2) \ && !TARGET_MIPS16) /* ISA has conditional trap instructions. */ #define ISA_HAS_COND_TRAP (!ISA_MIPS1 \ && !TARGET_MIPS16) /* ISA has integer multiply-accumulate instructions, madd and msub. */ #define ISA_HAS_MADD_MSUB ((ISA_MIPS32 \ || ISA_MIPS32R2 \ || ISA_MIPS64 \ || ISA_MIPS64R2 \ ) && !TARGET_MIPS16) /* ISA has floating-point nmadd and nmsub instructions. */ #define ISA_HAS_NMADD_NMSUB ((ISA_MIPS4 \ || ISA_MIPS64 \ || ISA_MIPS64R2) \ && (!TARGET_MIPS5400 || TARGET_MAD) \ && ! TARGET_MIPS16) /* ISA has count leading zeroes/ones instruction (not implemented). */ #define ISA_HAS_CLZ_CLO ((ISA_MIPS32 \ || ISA_MIPS32R2 \ || ISA_MIPS64 \ || ISA_MIPS64R2 \ ) && !TARGET_MIPS16) /* ISA has double-word count leading zeroes/ones instruction (not implemented). */ #define ISA_HAS_DCLZ_DCLO (ISA_MIPS64 \ || ISA_MIPS64R2 \ && !TARGET_MIPS16) /* ISA has three operand multiply instructions that put the high part in an accumulator: mulhi or mulhiu. */ #define ISA_HAS_MULHI (TARGET_MIPS5400 \ || TARGET_MIPS5500 \ || TARGET_SR71K \ ) /* ISA has three operand multiply instructions that negates the result and puts the result in an accumulator. */ #define ISA_HAS_MULS (TARGET_MIPS5400 \ || TARGET_MIPS5500 \ || TARGET_SR71K \ ) /* ISA has three operand multiply instructions that subtracts the result from a 4th operand and puts the result in an accumulator. */ #define ISA_HAS_MSAC (TARGET_MIPS5400 \ || TARGET_MIPS5500 \ || TARGET_SR71K \ ) /* ISA has three operand multiply instructions that the result from a 4th operand and puts the result in an accumulator. */ #define ISA_HAS_MACC ((TARGET_MIPS4120 && !TARGET_MIPS16) \ || (TARGET_MIPS4130 && !TARGET_MIPS16) \ || TARGET_MIPS5400 \ || TARGET_MIPS5500 \ || TARGET_SR71K \ ) /* ISA has NEC VR-style MACC, MACCHI, DMACC and DMACCHI instructions. */ #define ISA_HAS_MACCHI (!TARGET_MIPS16 \ && (TARGET_MIPS4120 \ || TARGET_MIPS4130)) /* ISA has 32-bit rotate right instruction. */ #define ISA_HAS_ROTR_SI (!TARGET_MIPS16 \ && (ISA_MIPS32R2 \ || ISA_MIPS64R2 \ || TARGET_MIPS5400 \ || TARGET_MIPS5500 \ || TARGET_SR71K \ )) /* ISA has 64-bit rotate right instruction. */ #define ISA_HAS_ROTR_DI (TARGET_64BIT \ && !TARGET_MIPS16 \ && (TARGET_MIPS5400 \ || TARGET_MIPS5500 \ || TARGET_SR71K \ )) /* ISA has data prefetch instructions. This controls use of 'pref'. */ #define ISA_HAS_PREFETCH ((ISA_MIPS4 \ || ISA_MIPS32 \ || ISA_MIPS32R2 \ || ISA_MIPS64 \ || ISA_MIPS64R2) \ && !TARGET_MIPS16) /* ISA has data indexed prefetch instructions. This controls use of 'prefx', along with TARGET_HARD_FLOAT and TARGET_DOUBLE_FLOAT. (prefx is a cop1x instruction, so can only be used if FP is enabled.) */ #define ISA_HAS_PREFETCHX ((ISA_MIPS4 \ || ISA_MIPS64 \ || ISA_MIPS64R2) \ && !TARGET_MIPS16) /* True if trunc.w.s and trunc.w.d are real (not synthetic) instructions. Both require TARGET_HARD_FLOAT, and trunc.w.d also requires TARGET_DOUBLE_FLOAT. */ #define ISA_HAS_TRUNC_W (!ISA_MIPS1) /* ISA includes the MIPS32r2 seb and seh instructions. */ #define ISA_HAS_SEB_SEH (!TARGET_MIPS16 \ && (ISA_MIPS32R2 \ || ISA_MIPS64R2 \ )) /* ISA includes the MIPS32/64 rev 2 ext and ins instructions. */ #define ISA_HAS_EXT_INS (!TARGET_MIPS16 \ && (ISA_MIPS32R2 \ || ISA_MIPS64R2 \ )) /* True if the result of a load is not available to the next instruction. A nop will then be needed between instructions like "lw $4,..." and "addiu $4,$4,1". */ #define ISA_HAS_LOAD_DELAY (mips_isa == 1 \ && !TARGET_MIPS3900 \ && !TARGET_MIPS16) /* Likewise mtc1 and mfc1. */ #define ISA_HAS_XFER_DELAY (mips_isa <= 3) /* Likewise floating-point comparisons. */ #define ISA_HAS_FCMP_DELAY (mips_isa <= 3) /* True if mflo and mfhi can be immediately followed by instructions which write to the HI and LO registers. According to MIPS specifications, MIPS ISAs I, II, and III need (at least) two instructions between the reads of HI/LO and instructions which write them, and later ISAs do not. Contradicting the MIPS specifications, some MIPS IV processor user manuals (e.g. the UM for the NEC Vr5000) document needing the instructions between HI/LO reads and writes, as well. Therefore, we declare only MIPS32, MIPS64 and later ISAs to have the interlocks, plus any specific earlier-ISA CPUs for which CPU documentation declares that the instructions are really interlocked. */ #define ISA_HAS_HILO_INTERLOCKS (ISA_MIPS32 \ || ISA_MIPS32R2 \ || ISA_MIPS64 \ || ISA_MIPS64R2 \ || TARGET_MIPS5500) /* Add -G xx support. */ #undef SWITCH_TAKES_ARG #define SWITCH_TAKES_ARG(CHAR) \ (DEFAULT_SWITCH_TAKES_ARG (CHAR) || (CHAR) == 'G') #define OVERRIDE_OPTIONS override_options () #define CONDITIONAL_REGISTER_USAGE mips_conditional_register_usage () /* Show we can debug even without a frame pointer. */ #define CAN_DEBUG_WITHOUT_FP /* Tell collect what flags to pass to nm. */ #ifndef NM_FLAGS #define NM_FLAGS "-Bn" #endif # 799 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #ifndef MIPS_ABI_DEFAULT #define MIPS_ABI_DEFAULT ABI_32 #endif # 804 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" /* Use the most portable ABI flag for the ASM specs. */ #if MIPS_ABI_DEFAULT == ABI_32 #define MULTILIB_ABI_DEFAULT "mabi=32" #endif # 810 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #if MIPS_ABI_DEFAULT == ABI_O64 #define MULTILIB_ABI_DEFAULT "mabi=o64" #endif # 814 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #if MIPS_ABI_DEFAULT == ABI_N32 #define MULTILIB_ABI_DEFAULT "mabi=n32" #endif # 818 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #if MIPS_ABI_DEFAULT == ABI_64 #define MULTILIB_ABI_DEFAULT "mabi=64" #endif # 822 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #if MIPS_ABI_DEFAULT == ABI_EABI #define MULTILIB_ABI_DEFAULT "mabi=eabi" #endif # 826 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" /* SUBTARGET_ASM_OPTIMIZING_SPEC handles passing optimization options to the assembler. It may be overridden by subtargets. */ #ifndef SUBTARGET_ASM_OPTIMIZING_SPEC #define SUBTARGET_ASM_OPTIMIZING_SPEC "\ %{noasmopt:-O0} \ %{!noasmopt:%{O:-O2} %{O1:-O2} %{O2:-O2} %{O3:-O3}}" #endif # 834 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" /* SUBTARGET_ASM_DEBUGGING_SPEC handles passing debugging options to the assembler. It may be overridden by subtargets. Beginning with gas 2.13, -mdebug must be passed to correctly handle COFF debugging info. */ #ifndef SUBTARGET_ASM_DEBUGGING_SPEC #define SUBTARGET_ASM_DEBUGGING_SPEC "\ %{g} %{g0} %{g1} %{g2} %{g3} \ %{ggdb:-g} %{ggdb0:-g0} %{ggdb1:-g1} %{ggdb2:-g2} %{ggdb3:-g3} \ %{gstabs:-g} %{gstabs0:-g0} %{gstabs1:-g1} %{gstabs2:-g2} %{gstabs3:-g3} \ %{gstabs+:-g} %{gstabs+0:-g0} %{gstabs+1:-g1} %{gstabs+2:-g2} %{gstabs+3:-g3} \ %{gcoff:-g} %{gcoff0:-g0} %{gcoff1:-g1} %{gcoff2:-g2} %{gcoff3:-g3} \ %{gcoff*:-mdebug} %{!gcoff*:-no-mdebug}" #endif # 850 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" /* SUBTARGET_ASM_SPEC is always passed to the assembler. It may be overridden by subtargets. */ #ifndef SUBTARGET_ASM_SPEC #define SUBTARGET_ASM_SPEC "" #endif # 857 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #undef ASM_SPEC #define ASM_SPEC "\ %{G*} %(endian_spec) %{mips1} %{mips2} %{mips3} %{mips4} \ %{mips32} %{mips32r2} %{mips64} \ %{mips16:%{!mno-mips16:-mips16}} %{mno-mips16:-no-mips16} \ %{mips3d:-mips3d} \ %{mdsp} \ %{mfix-vr4120} %{mfix-vr4130} \ %(subtarget_asm_optimizing_spec) \ %(subtarget_asm_debugging_spec) \ %{mabi=*} %{!mabi*: %(asm_abi_default_spec)} \ %{mgp32} %{mgp64} %{march=*} %{mxgot:-xgot} \ %{mshared} %{mno-shared} \ %{msym32} %{mno-sym32} \ %{mtune=*} %{v} \ %(subtarget_asm_spec)" /* Extra switches sometimes passed to the linker. */ /* ??? The bestGnum will never be passed to the linker, because the gcc driver will interpret it as a -b option. */ #ifndef LINK_SPEC #define LINK_SPEC "\ %(endian_spec) \ %{G*} %{mips1} %{mips2} %{mips3} %{mips4} %{mips32} %{mips32r2} %{mips64} \ %{bestGnum} %{shared} %{non_shared}" #endif /* LINK_SPEC defined */ # 885 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" /* Specs for the compiler proper */ /* SUBTARGET_CC1_SPEC is passed to the compiler proper. It may be overridden by subtargets. */ #ifndef SUBTARGET_CC1_SPEC #define SUBTARGET_CC1_SPEC "" #endif # 894 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" /* CC1_SPEC is the set of arguments to pass to the compiler proper. */ #undef CC1_SPEC #define CC1_SPEC "\ %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \ %{G*} %{EB:-meb} %{EL:-mel} %{EB:%{EL:%emay not use both -EB and -EL}} \ %{save-temps: } \ %(subtarget_cc1_spec)" /* Preprocessor specs. */ /* SUBTARGET_CPP_SPEC is passed to the preprocessor. It may be overridden by subtargets. */ #ifndef SUBTARGET_CPP_SPEC #define SUBTARGET_CPP_SPEC "" #endif # 911 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #define CPP_SPEC "%(subtarget_cpp_spec)" /* This macro defines names of additional specifications to put in the specs that can be used in various specifications like CC1_SPEC. Its definition is an initializer with a subgrouping for each command option. Each subgrouping contains a string constant, that defines the specification name, and a string constant that used by the GCC driver program. Do not define this macro if it does not need to do anything. */ #define EXTRA_SPECS \ { "subtarget_cc1_spec", SUBTARGET_CC1_SPEC }, \ { "subtarget_cpp_spec", SUBTARGET_CPP_SPEC }, \ { "subtarget_asm_optimizing_spec", SUBTARGET_ASM_OPTIMIZING_SPEC }, \ { "subtarget_asm_debugging_spec", SUBTARGET_ASM_DEBUGGING_SPEC }, \ { "subtarget_asm_spec", SUBTARGET_ASM_SPEC }, \ { "asm_abi_default_spec", "-" MULTILIB_ABI_DEFAULT }, \ { "endian_spec", ENDIAN_SPEC }, \ SUBTARGET_EXTRA_SPECS #ifndef SUBTARGET_EXTRA_SPECS #define SUBTARGET_EXTRA_SPECS #endif # 937 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #define DBX_DEBUGGING_INFO 1 /* generate stabs (OSF/rose) */ #define MIPS_DEBUGGING_INFO 1 /* MIPS specific debugging info */ #define DWARF2_DEBUGGING_INFO 1 /* dwarf2 debugging info */ #ifndef PREFERRED_DEBUGGING_TYPE #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG #endif # 945 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #define DWARF2_ADDR_SIZE (ABI_HAS_64BIT_SYMBOLS ? 8 : 4) /* By default, turn on GDB extensions. */ #define DEFAULT_GDB_EXTENSIONS 1 /* Local compiler-generated symbols must have a prefix that the assembler understands. By default, this is $, although some targets (e.g., NetBSD-ELF) need to override this. */ #ifndef LOCAL_LABEL_PREFIX #define LOCAL_LABEL_PREFIX "$" #endif # 958 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" /* By default on the mips, external symbols do not have an underscore prepended, but some targets (e.g., NetBSD) require this. */ #ifndef USER_LABEL_PREFIX #define USER_LABEL_PREFIX "" #endif # 965 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" /* On Sun 4, this limit is 2048. We use 1500 to be safe, since the length can run past this up to a continuation point. */ #undef DBX_CONTIN_LENGTH #define DBX_CONTIN_LENGTH 1500 /* How to renumber registers for dbx and gdb. */ #define DBX_REGISTER_NUMBER(REGNO) mips_dbx_regno[ (REGNO) ] /* The mapping from gcc register number to DWARF 2 CFA column number. */ #define DWARF_FRAME_REGNUM(REG) (REG) /* The DWARF 2 CFA column which tracks the return address. */ #define DWARF_FRAME_RETURN_COLUMN (GP_REG_FIRST + 31) /* The DWARF 2 CFA column which tracks the return address from a signal handler context. */ #define SIGNAL_UNWIND_RETURN_COLUMN (FP_REG_LAST + 1) /* Before the prologue, RA lives in r31. */ #define INCOMING_RETURN_ADDR_RTX gen_rtx_REG (VOIDmode, GP_REG_FIRST + 31) /* Describe how we implement __builtin_eh_return. */ #define EH_RETURN_DATA_REGNO(N) \ ((N) < (TARGET_MIPS16 ? 2 : 4) ? (N) + GP_ARG_FIRST : INVALID_REGNUM) #define EH_RETURN_STACKADJ_RTX gen_rtx_REG (Pmode, GP_REG_FIRST + 3) /* Offsets recorded in opcodes are a multiple of this alignment factor. The default for this in 64-bit mode is 8, which causes problems with SFmode register saves. */ #define DWARF_CIE_DATA_ALIGNMENT -4 /* Correct the offset of automatic variables and arguments. Note that the MIPS debug format wants all automatic variables and arguments to be in terms of the virtual frame pointer (stack pointer before any adjustment in the function), while the MIPS 3.0 linker wants the frame pointer to be the stack pointer after the initial adjustment. */ #define DEBUGGER_AUTO_OFFSET(X) \ mips_debugger_offset (X, (HOST_WIDE_INT) 0) #define DEBUGGER_ARG_OFFSET(OFFSET, X) \ mips_debugger_offset (X, (HOST_WIDE_INT) OFFSET) /* Target machine storage layout */ #define BITS_BIG_ENDIAN 0 #define BYTES_BIG_ENDIAN (TARGET_BIG_ENDIAN != 0) #define WORDS_BIG_ENDIAN (TARGET_BIG_ENDIAN != 0) /* Define this to set the endianness to use in libgcc2.c, which can not depend on target_flags. */ #if !defined(MIPSEL) && !defined(__MIPSEL__) #define LIBGCC2_WORDS_BIG_ENDIAN 1 #else # 1021 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #define LIBGCC2_WORDS_BIG_ENDIAN 0 #endif # 1023 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #define MAX_BITS_PER_WORD 64 /* Width of a word, in units (bytes). */ #define UNITS_PER_WORD (TARGET_64BIT ? 8 : 4) #ifndef IN_LIBGCC2 #define MIN_UNITS_PER_WORD 4 #endif # 1031 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" /* For MIPS, width of a floating point register. */ #define UNITS_PER_FPREG (TARGET_FLOAT64 ? 8 : 4) /* If register $f0 holds a floating-point value, $f(0 + FP_INC) is the next available register. */ #define FP_INC (TARGET_FLOAT64 || TARGET_SINGLE_FLOAT ? 1 : 2) /* The largest size of value that can be held in floating-point registers and moved with a single instruction. */ #define UNITS_PER_HWFPVALUE (TARGET_SOFT_FLOAT ? 0 : FP_INC * UNITS_PER_FPREG) /* The largest size of value that can be held in floating-point registers. */ #define UNITS_PER_FPVALUE \ (TARGET_SOFT_FLOAT ? 0 \ : TARGET_SINGLE_FLOAT ? UNITS_PER_FPREG \ : LONG_DOUBLE_TYPE_SIZE / BITS_PER_UNIT) /* The number of bytes in a double. */ #define UNITS_PER_DOUBLE (TYPE_PRECISION (double_type_node) / BITS_PER_UNIT) #define UNITS_PER_SIMD_WORD (TARGET_PAIRED_SINGLE_FLOAT ? 8 : UNITS_PER_WORD) /* Set the sizes of the core types. */ #define SHORT_TYPE_SIZE 16 #define INT_TYPE_SIZE 32 #define LONG_TYPE_SIZE (TARGET_LONG64 ? 64 : 32) #define LONG_LONG_TYPE_SIZE 64 #define FLOAT_TYPE_SIZE 32 #define DOUBLE_TYPE_SIZE 64 #define LONG_DOUBLE_TYPE_SIZE (TARGET_NEWABI ? 128 : 64) /* long double is not a fixed mode, but the idea is that, if we support long double, we also want a 128-bit integer type. */ #define MAX_FIXED_MODE_SIZE LONG_DOUBLE_TYPE_SIZE #ifdef IN_LIBGCC2 #if (defined _ABIN32 && _MIPS_SIM == _ABIN32) \ || (defined _ABI64 && _MIPS_SIM == _ABI64) # define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 128 # else # 1074 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" # define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 64 # endif # 1076 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #endif # 1077 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" /* Width in bits of a pointer. */ #ifndef POINTER_SIZE #define POINTER_SIZE ((TARGET_LONG64 && TARGET_64BIT) ? 64 : 32) #endif # 1082 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" /* Allocation boundary (in *bits*) for storing arguments in argument list. */ #define PARM_BOUNDARY BITS_PER_WORD /* Allocation boundary (in *bits*) for the code of a function. */ #define FUNCTION_BOUNDARY 32 /* Alignment of field after `int : 0' in a structure. */ #define EMPTY_FIELD_BOUNDARY 32 /* Every structure's size must be a multiple of this. */ /* 8 is observed right on a DECstation and on riscos 4.02. */ #define STRUCTURE_SIZE_BOUNDARY 8 /* There is no point aligning anything to a rounder boundary than this. */ #define BIGGEST_ALIGNMENT LONG_DOUBLE_TYPE_SIZE /* All accesses must be aligned. */ #define STRICT_ALIGNMENT 1 /* Define this if you wish to imitate the way many other C compilers handle alignment of bitfields and the structures that contain them. The behavior is that the type written for a bit-field (`int', `short', or other integer type) imposes an alignment for the entire structure, as if the structure really did contain an ordinary field of that type. In addition, the bit-field is placed within the structure so that it would fit within such a field, not crossing a boundary for it. Thus, on most machines, a bit-field whose type is written as `int' would not cross a four-byte boundary, and would force four-byte alignment for the whole structure. (The alignment used may not be four bytes; it is controlled by the other alignment parameters.) If the macro is defined, its definition should be a C expression; a nonzero value for the expression enables this behavior. */ #define PCC_BITFIELD_TYPE_MATTERS 1 /* If defined, a C expression to compute the alignment given to a constant that is being placed in memory. CONSTANT is the constant and ALIGN is the alignment that the object would ordinarily have. The value of this macro is used instead of that alignment to align the object. If this macro is not defined, then ALIGN is used. The typical use of this macro is to increase alignment for string constants to be word aligned so that `strcpy' calls that copy constants can be done inline. */ #define CONSTANT_ALIGNMENT(EXP, ALIGN) \ ((TREE_CODE (EXP) == STRING_CST || TREE_CODE (EXP) == CONSTRUCTOR) \ && (ALIGN) < BITS_PER_WORD ? BITS_PER_WORD : (ALIGN)) /* If defined, a C expression to compute the alignment for a static variable. TYPE is the data type, and ALIGN is the alignment that the object would ordinarily have. The value of this macro is used instead of that alignment to align the object. If this macro is not defined, then ALIGN is used. One use of this macro is to increase alignment of medium-size data to make it all fit in fewer cache lines. Another is to cause character arrays to be word-aligned so that `strcpy' calls that copy constants to character arrays can be done inline. */ #undef DATA_ALIGNMENT #define DATA_ALIGNMENT(TYPE, ALIGN) \ ((((ALIGN) < BITS_PER_WORD) \ && (TREE_CODE (TYPE) == ARRAY_TYPE \ || TREE_CODE (TYPE) == UNION_TYPE \ || TREE_CODE (TYPE) == RECORD_TYPE)) ? BITS_PER_WORD : (ALIGN)) #define PAD_VARARGS_DOWN \ (FUNCTION_ARG_PADDING (TYPE_MODE (type), type) == downward) /* Define if operations between registers always perform the operation on the full register even if a narrower mode is specified. */ #define WORD_REGISTER_OPERATIONS /* When in 64 bit mode, move insns will sign extend SImode and CCmode moves. All other references are zero extended. */ #define LOAD_EXTEND_OP(MODE) \ (TARGET_64BIT && ((MODE) == SImode || (MODE) == CCmode) \ ? SIGN_EXTEND : ZERO_EXTEND) /* Define this macro if it is advisable to hold scalars in registers in a wider mode than that declared by the program. In such cases, the value is constrained to be within the bounds of the declared type, but kept valid in the wider mode. The signedness of the extension may differ from that of the type. */ #define PROMOTE_MODE(MODE, UNSIGNEDP, TYPE) \ if (GET_MODE_CLASS (MODE) == MODE_INT \ && GET_MODE_SIZE (MODE) < UNITS_PER_WORD) \ { \ if ((MODE) == SImode) \ (UNSIGNEDP) = 0; \ (MODE) = Pmode; \ } /* Define if loading short immediate values into registers sign extends. */ #define SHORT_IMMEDIATES_SIGN_EXTEND /* The [d]clz instructions have the natural values at 0. */ #define CLZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) \ ((VALUE) = GET_MODE_BITSIZE (MODE), true) /* Standard register usage. */ /* Number of hardware registers. We have: - 32 integer registers - 32 floating point registers - 8 condition code registers - 2 accumulator registers (hi and lo) - 32 registers each for coprocessors 0, 2 and 3 - 3 fake registers: - ARG_POINTER_REGNUM - FRAME_POINTER_REGNUM - FAKE_CALL_REGNO (see the comment above load_callsi for details) - 3 dummy entries that were used at various times in the past. - 6 DSP accumulator registers (3 hi-lo pairs) for MIPS DSP ASE - 6 DSP control registers */ #define FIRST_PSEUDO_REGISTER 188 /* By default, fix the kernel registers ($26 and $27), the global pointer ($28) and the stack pointer ($29). This can change depending on the command-line options. Regarding coprocessor registers: without evidence to the contrary, it's best to assume that each coprocessor register has a unique use. This can be overridden, in, e.g., override_options() or CONDITIONAL_REGISTER_USAGE should the assumption be inappropriate for a particular target. */ #define FIXED_REGISTERS \ { \ 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, \ /* COP0 registers */ \ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ /* COP2 registers */ \ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ /* COP3 registers */ \ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ /* 6 DSP accumulator registers & 6 control registers */ \ 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1 \ } /* Set up this array for o32 by default. Note that we don't mark $31 as a call-clobbered register. The idea is that it's really the call instructions themselves which clobber $31. We don't care what the called function does with it afterwards. This approach makes it easier to implement sibcalls. Unlike normal calls, sibcalls don't clobber $31, so the register reaches the called function in tact. EPILOGUE_USES says that $31 is useful to the called function. */ #define CALL_USED_REGISTERS \ { \ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, \ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ /* COP0 registers */ \ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ /* COP2 registers */ \ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ /* COP3 registers */ \ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ /* 6 DSP accumulator registers & 6 control registers */ \ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 \ } /* Define this since $28, though fixed, is call-saved in many ABIs. */ #define CALL_REALLY_USED_REGISTERS \ { /* General registers. */ \ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, \ /* Floating-point registers. */ \ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* Others. */ \ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ /* COP0 registers */ \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* COP2 registers */ \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* COP3 registers */ \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 6 DSP accumulator registers & 6 control registers */ \ 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0 \ } /* Internal macros to classify a register number as to whether it's a general purpose register, a floating point register, a multiply/divide register, or a status register. */ #define GP_REG_FIRST 0 #define GP_REG_LAST 31 #define GP_REG_NUM (GP_REG_LAST - GP_REG_FIRST + 1) #define GP_DBX_FIRST 0 #define FP_REG_FIRST 32 #define FP_REG_LAST 63 #define FP_REG_NUM (FP_REG_LAST - FP_REG_FIRST + 1) #define FP_DBX_FIRST ((write_symbols == DBX_DEBUG) ? 38 : 32) #define MD_REG_FIRST 64 #define MD_REG_LAST 65 #define MD_REG_NUM (MD_REG_LAST - MD_REG_FIRST + 1) #define MD_DBX_FIRST (FP_DBX_FIRST + FP_REG_NUM) #define ST_REG_FIRST 67 #define ST_REG_LAST 74 #define ST_REG_NUM (ST_REG_LAST - ST_REG_FIRST + 1) /* FIXME: renumber. */ #define COP0_REG_FIRST 80 #define COP0_REG_LAST 111 #define COP0_REG_NUM (COP0_REG_LAST - COP0_REG_FIRST + 1) #define COP2_REG_FIRST 112 #define COP2_REG_LAST 143 #define COP2_REG_NUM (COP2_REG_LAST - COP2_REG_FIRST + 1) #define COP3_REG_FIRST 144 #define COP3_REG_LAST 175 #define COP3_REG_NUM (COP3_REG_LAST - COP3_REG_FIRST + 1) /* ALL_COP_REG_NUM assumes that COP0,2,and 3 are numbered consecutively. */ #define ALL_COP_REG_NUM (COP3_REG_LAST - COP0_REG_FIRST + 1) #define DSP_ACC_REG_FIRST 176 #define DSP_ACC_REG_LAST 181 #define DSP_ACC_REG_NUM (DSP_ACC_REG_LAST - DSP_ACC_REG_FIRST + 1) #define AT_REGNUM (GP_REG_FIRST + 1) #define HI_REGNUM (MD_REG_FIRST + 0) #define LO_REGNUM (MD_REG_FIRST + 1) #define AC1HI_REGNUM (DSP_ACC_REG_FIRST + 0) #define AC1LO_REGNUM (DSP_ACC_REG_FIRST + 1) #define AC2HI_REGNUM (DSP_ACC_REG_FIRST + 2) #define AC2LO_REGNUM (DSP_ACC_REG_FIRST + 3) #define AC3HI_REGNUM (DSP_ACC_REG_FIRST + 4) #define AC3LO_REGNUM (DSP_ACC_REG_FIRST + 5) /* FPSW_REGNUM is the single condition code used if !ISA_HAS_8CC. If ISA_HAS_8CC, it should not be used, and an arbitrary ST_REG should be used instead. */ #define FPSW_REGNUM ST_REG_FIRST #define GP_REG_P(REGNO) \ ((unsigned int) ((int) (REGNO) - GP_REG_FIRST) < GP_REG_NUM) #define M16_REG_P(REGNO) \ (((REGNO) >= 2 && (REGNO) <= 7) || (REGNO) == 16 || (REGNO) == 17) #define FP_REG_P(REGNO) \ ((unsigned int) ((int) (REGNO) - FP_REG_FIRST) < FP_REG_NUM) #define MD_REG_P(REGNO) \ ((unsigned int) ((int) (REGNO) - MD_REG_FIRST) < MD_REG_NUM) #define ST_REG_P(REGNO) \ ((unsigned int) ((int) (REGNO) - ST_REG_FIRST) < ST_REG_NUM) #define COP0_REG_P(REGNO) \ ((unsigned int) ((int) (REGNO) - COP0_REG_FIRST) < COP0_REG_NUM) #define COP2_REG_P(REGNO) \ ((unsigned int) ((int) (REGNO) - COP2_REG_FIRST) < COP2_REG_NUM) #define COP3_REG_P(REGNO) \ ((unsigned int) ((int) (REGNO) - COP3_REG_FIRST) < COP3_REG_NUM) #define ALL_COP_REG_P(REGNO) \ ((unsigned int) ((int) (REGNO) - COP0_REG_FIRST) < ALL_COP_REG_NUM) /* Test if REGNO is one of the 6 new DSP accumulators. */ #define DSP_ACC_REG_P(REGNO) \ ((unsigned int) ((int) (REGNO) - DSP_ACC_REG_FIRST) < DSP_ACC_REG_NUM) /* Test if REGNO is hi, lo, or one of the 6 new DSP accumulators. */ #define ACC_REG_P(REGNO) \ (MD_REG_P (REGNO) || DSP_ACC_REG_P (REGNO)) /* Test if REGNO is HI or the first register of 3 new DSP accumulator pairs. */ #define ACC_HI_REG_P(REGNO) \ ((REGNO) == HI_REGNUM || (REGNO) == AC1HI_REGNUM || (REGNO) == AC2HI_REGNUM \ || (REGNO) == AC3HI_REGNUM) #define FP_REG_RTX_P(X) (REG_P (X) && FP_REG_P (REGNO (X))) /* True if X is (const (unspec [(const_int 0)] UNSPEC_GP)). This is used to initialize the mips16 gp pseudo register. */ #define CONST_GP_P(X) \ (GET_CODE (X) == CONST \ && GET_CODE (XEXP (X, 0)) == UNSPEC \ && XINT (XEXP (X, 0), 1) == UNSPEC_GP) /* Return coprocessor number from register number. */ #define COPNUM_AS_CHAR_FROM_REGNUM(REGNO) \ (COP0_REG_P (REGNO) ? '0' : COP2_REG_P (REGNO) ? '2' \ : COP3_REG_P (REGNO) ? '3' : '?') #define HARD_REGNO_NREGS(REGNO, MODE) mips_hard_regno_nregs (REGNO, MODE) /* To make the code simpler, HARD_REGNO_MODE_OK just references an array built in override_options. Because machmodes.h is not yet included before this file is processed, the MODE bound can't be expressed here. */ extern char mips_hard_regno_mode_ok[][FIRST_PSEUDO_REGISTER]; #define HARD_REGNO_MODE_OK(REGNO, MODE) \ mips_hard_regno_mode_ok[ (int)(MODE) ][ (REGNO) ] /* Value is 1 if it is a good idea to tie two pseudo registers when one has mode MODE1 and one has mode MODE2. If HARD_REGNO_MODE_OK could produce different values for MODE1 and MODE2, for any hard reg, then this must be 0 for correct output. */ #define MODES_TIEABLE_P(MODE1, MODE2) \ ((GET_MODE_CLASS (MODE1) == MODE_FLOAT || \ GET_MODE_CLASS (MODE1) == MODE_COMPLEX_FLOAT) \ == (GET_MODE_CLASS (MODE2) == MODE_FLOAT || \ GET_MODE_CLASS (MODE2) == MODE_COMPLEX_FLOAT)) /* Register to use for pushing function arguments. */ #define STACK_POINTER_REGNUM (GP_REG_FIRST + 29) /* These two registers don't really exist: they get eliminated to either the stack or hard frame pointer. */ #define ARG_POINTER_REGNUM 77 #define FRAME_POINTER_REGNUM 78 /* $30 is not available on the mips16, so we use $17 as the frame pointer. */ #define HARD_FRAME_POINTER_REGNUM \ (TARGET_MIPS16 ? GP_REG_FIRST + 17 : GP_REG_FIRST + 30) /* Value should be nonzero if functions must have frame pointers. Zero means the frame pointer need not be set up (and parms may be accessed via the stack pointer) in functions that seem suitable. This is computed in `reload', in reload1.c. */ #define FRAME_POINTER_REQUIRED (current_function_calls_alloca) /* Register in which static-chain is passed to a function. */ #define STATIC_CHAIN_REGNUM (GP_REG_FIRST + 2) /* Registers used as temporaries in prologue/epilogue code. If we're generating mips16 code, these registers must come from the core set of 8. The prologue register mustn't conflict with any incoming arguments, the static chain pointer, or the frame pointer. The epilogue temporary mustn't conflict with the return registers, the frame pointer, the EH stack adjustment, or the EH data registers. */ #define MIPS_PROLOGUE_TEMP_REGNUM (GP_REG_FIRST + 3) #define MIPS_EPILOGUE_TEMP_REGNUM (GP_REG_FIRST + (TARGET_MIPS16 ? 6 : 8)) #define MIPS_PROLOGUE_TEMP(MODE) gen_rtx_REG (MODE, MIPS_PROLOGUE_TEMP_REGNUM) #define MIPS_EPILOGUE_TEMP(MODE) gen_rtx_REG (MODE, MIPS_EPILOGUE_TEMP_REGNUM) /* Define this macro if it is as good or better to call a constant function address than to call an address kept in a register. */ #define NO_FUNCTION_CSE 1 /* The ABI-defined global pointer. Sometimes we use a different register in leaf functions: see PIC_OFFSET_TABLE_REGNUM. */ #define GLOBAL_POINTER_REGNUM (GP_REG_FIRST + 28) /* We normally use $28 as the global pointer. However, when generating n32/64 PIC, it is better for leaf functions to use a call-clobbered register instead. They can then avoid saving and restoring $28 and perhaps avoid using a frame at all. When a leaf function uses something other than $28, mips_expand_prologue will modify pic_offset_table_rtx in place. Take the register number from there after reload. */ #define PIC_OFFSET_TABLE_REGNUM \ (reload_completed ? REGNO (pic_offset_table_rtx) : GLOBAL_POINTER_REGNUM) #define PIC_FUNCTION_ADDR_REGNUM (GP_REG_FIRST + 25) /* Define the classes of registers for register constraints in the machine description. Also define ranges of constants. One of the classes must always be named ALL_REGS and include all hard regs. If there is more than one class, another class must be named NO_REGS and contain no registers. The name GENERAL_REGS must be the name of a class (or an alias for another name such as ALL_REGS). This is the class of registers that is allowed by "g" or "r" in a register constraint. Also, registers outside this class are allocated only when instructions express preferences for them. The classes must be numbered in nondecreasing order; that is, a larger-numbered class must never be contained completely in a smaller-numbered class. For any two classes, it is very desirable that there be another class that represents their union. */ enum reg_class { NO_REGS, /* no registers in set */ M16_NA_REGS, /* mips16 regs not used to pass args */ M16_REGS, /* mips16 directly accessible registers */ T_REG, /* mips16 T register ($24) */ M16_T_REGS, /* mips16 registers plus T register */ PIC_FN_ADDR_REG, /* SVR4 PIC function address register */ V1_REG, /* Register $v1 ($3) used for TLS access. */ LEA_REGS, /* Every GPR except $25 */ GR_REGS, /* integer registers */ FP_REGS, /* floating point registers */ HI_REG, /* hi register */ LO_REG, /* lo register */ MD_REGS, /* multiply/divide registers (hi/lo) */ COP0_REGS, /* generic coprocessor classes */ COP2_REGS, COP3_REGS, HI_AND_GR_REGS, /* union classes */ LO_AND_GR_REGS, HI_AND_FP_REGS, COP0_AND_GR_REGS, COP2_AND_GR_REGS, COP3_AND_GR_REGS, ALL_COP_REGS, ALL_COP_AND_GR_REGS, ST_REGS, /* status registers (fp status) */ DSP_ACC_REGS, /* DSP accumulator registers */ ACC_REGS, /* Hi/Lo and DSP accumulator registers */ ALL_REGS, /* all registers */ LIM_REG_CLASSES /* max value + 1 */ }; #define N_REG_CLASSES (int) LIM_REG_CLASSES #define GENERAL_REGS GR_REGS /* An initializer containing the names of the register classes as C string constants. These names are used in writing some of the debugging dumps. */ #define REG_CLASS_NAMES \ { \ "NO_REGS", \ "M16_NA_REGS", \ "M16_REGS", \ "T_REG", \ "M16_T_REGS", \ "PIC_FN_ADDR_REG", \ "V1_REG", \ "LEA_REGS", \ "GR_REGS", \ "FP_REGS", \ "HI_REG", \ "LO_REG", \ "MD_REGS", \ /* coprocessor registers */ \ "COP0_REGS", \ "COP2_REGS", \ "COP3_REGS", \ "HI_AND_GR_REGS", \ "LO_AND_GR_REGS", \ "HI_AND_FP_REGS", \ "COP0_AND_GR_REGS", \ "COP2_AND_GR_REGS", \ "COP3_AND_GR_REGS", \ "ALL_COP_REGS", \ "ALL_COP_AND_GR_REGS", \ "ST_REGS", \ "DSP_ACC_REGS", \ "ACC_REGS", \ "ALL_REGS" \ } /* An initializer containing the contents of the register classes, as integers which are bit masks. The Nth integer specifies the contents of class N. The way the integer MASK is interpreted is that register R is in the class if `MASK & (1 << R)' is 1. When the machine has more than 32 registers, an integer does not suffice. Then the integers are replaced by sub-initializers, braced groupings containing several integers. Each sub-initializer must be suitable as an initializer for the type `HARD_REG_SET' which is defined in `hard-reg-set.h'. */ #define REG_CLASS_CONTENTS \ { \ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, /* no registers */ \ { 0x0003000c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, /* mips16 nonarg regs */\ { 0x000300fc, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, /* mips16 registers */ \ { 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, /* mips16 T register */ \ { 0x010300fc, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, /* mips16 and T regs */ \ { 0x02000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, /* SVR4 PIC function address register */ \ { 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, /* only $v1 */ \ { 0xfdffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, /* Every other GPR except $25 */ \ { 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, /* integer registers */ \ { 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, /* floating registers*/ \ { 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 }, /* hi register */ \ { 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000000 }, /* lo register */ \ { 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000000, 0x00000000 }, /* mul/div registers */ \ { 0x00000000, 0x00000000, 0xffff0000, 0x0000ffff, 0x00000000, 0x00000000 }, /* cop0 registers */ \ { 0x00000000, 0x00000000, 0x00000000, 0xffff0000, 0x0000ffff, 0x00000000 }, /* cop2 registers */ \ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffff0000, 0x0000ffff }, /* cop3 registers */ \ { 0xffffffff, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 }, /* union classes */ \ { 0xffffffff, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000000 }, \ { 0x00000000, 0xffffffff, 0x00000001, 0x00000000, 0x00000000, 0x00000000 }, \ { 0xffffffff, 0x00000000, 0xffff0000, 0x0000ffff, 0x00000000, 0x00000000 }, \ { 0xffffffff, 0x00000000, 0x00000000, 0xffff0000, 0x0000ffff, 0x00000000 }, \ { 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xffff0000, 0x0000ffff }, \ { 0x00000000, 0x00000000, 0xffff0000, 0xffffffff, 0xffffffff, 0x0000ffff }, \ { 0xffffffff, 0x00000000, 0xffff0000, 0xffffffff, 0xffffffff, 0x0000ffff }, \ { 0x00000000, 0x00000000, 0x000007f8, 0x00000000, 0x00000000, 0x00000000 }, /* status registers */ \ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x003f0000 }, /* dsp accumulator registers */ \ { 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000000, 0x003f0000 }, /* hi/lo and dsp accumulator registers */ \ { 0xffffffff, 0xffffffff, 0xffff07ff, 0xffffffff, 0xffffffff, 0x0fffffff } /* all registers */ \ } /* A C expression whose value is a register class containing hard register REGNO. In general there is more that one such class; choose a class which is "minimal", meaning that no smaller class also contains the register. */ extern const enum reg_class mips_regno_to_class[]; #define REGNO_REG_CLASS(REGNO) mips_regno_to_class[ (REGNO) ] /* A macro whose definition is the name of the class to which a valid base register must belong. A base register is one used in an address which is the register value plus a displacement. */ #define BASE_REG_CLASS (TARGET_MIPS16 ? M16_REGS : GR_REGS) /* A macro whose definition is the name of the class to which a valid index register must belong. An index register is one used in an address where its value is either multiplied by a scale factor or added to another register (as well as added to a displacement). */ #define INDEX_REG_CLASS NO_REGS /* When SMALL_REGISTER_CLASSES is nonzero, the compiler allows registers explicitly used in the rtl to be used as spill registers but prevents the compiler from extending the lifetime of these registers. */ #define SMALL_REGISTER_CLASSES (TARGET_MIPS16) /* This macro is used later on in the file. */ #define GR_REG_CLASS_P(CLASS) \ ((CLASS) == GR_REGS || (CLASS) == M16_REGS || (CLASS) == T_REG \ || (CLASS) == M16_T_REGS || (CLASS) == M16_NA_REGS \ || (CLASS) == V1_REG \ || (CLASS) == PIC_FN_ADDR_REG || (CLASS) == LEA_REGS) /* This macro is also used later on in the file. */ #define COP_REG_CLASS_P(CLASS) \ ((CLASS) == COP0_REGS || (CLASS) == COP2_REGS || (CLASS) == COP3_REGS) /* REG_ALLOC_ORDER is to order in which to allocate registers. This is the default value (allocate the registers in numeric order). We define it just so that we can override it for the mips16 target in ORDER_REGS_FOR_LOCAL_ALLOC. */ #define REG_ALLOC_ORDER \ { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, \ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, \ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, \ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, \ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, \ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, \ 96, 97, 98, 99, 100,101,102,103,104,105,106,107,108,109,110,111, \ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127, \ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, \ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159, \ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, \ 176,177,178,179,180,181,182,183,184,185,186,187 \ } /* ORDER_REGS_FOR_LOCAL_ALLOC is a macro which permits reg_alloc_order to be rearranged based on a particular function. On the mips16, we want to allocate $24 (T_REG) before other registers for instructions for which it is possible. */ #define ORDER_REGS_FOR_LOCAL_ALLOC mips_order_regs_for_local_alloc () /* True if VALUE is an unsigned 6-bit number. */ #define UIMM6_OPERAND(VALUE) \ (((VALUE) & ~(unsigned HOST_WIDE_INT) 0x3f) == 0) /* True if VALUE is a signed 10-bit number. */ #define IMM10_OPERAND(VALUE) \ ((unsigned HOST_WIDE_INT) (VALUE) + 0x200 < 0x400) /* True if VALUE is a signed 16-bit number. */ #define SMALL_OPERAND(VALUE) \ ((unsigned HOST_WIDE_INT) (VALUE) + 0x8000 < 0x10000) /* True if VALUE is an unsigned 16-bit number. */ #define SMALL_OPERAND_UNSIGNED(VALUE) \ (((VALUE) & ~(unsigned HOST_WIDE_INT) 0xffff) == 0) /* True if VALUE can be loaded into a register using LUI. */ #define LUI_OPERAND(VALUE) \ (((VALUE) | 0x7fff0000) == 0x7fff0000 \ || ((VALUE) | 0x7fff0000) + 0x10000 == 0) /* Return a value X with the low 16 bits clear, and such that VALUE - X is a signed 16-bit value. */ #define CONST_HIGH_PART(VALUE) \ (((VALUE) + 0x8000) & ~(unsigned HOST_WIDE_INT) 0xffff) #define CONST_LOW_PART(VALUE) \ ((VALUE) - CONST_HIGH_PART (VALUE)) #define SMALL_INT(X) SMALL_OPERAND (INTVAL (X)) #define SMALL_INT_UNSIGNED(X) SMALL_OPERAND_UNSIGNED (INTVAL (X)) #define LUI_INT(X) LUI_OPERAND (INTVAL (X)) #define PREFERRED_RELOAD_CLASS(X,CLASS) \ mips_preferred_reload_class (X, CLASS) /* Certain machines have the property that some registers cannot be copied to some other registers without using memory. Define this macro on those machines to be a C expression that is nonzero if objects of mode MODE in registers of CLASS1 can only be copied to registers of class CLASS2 by storing a register of CLASS1 into memory and loading that memory location into a register of CLASS2. Do not define this macro if its value would always be zero. */ #if 0 #define SECONDARY_MEMORY_NEEDED(CLASS1, CLASS2, MODE) \ ((!TARGET_DEBUG_H_MODE \ && GET_MODE_CLASS (MODE) == MODE_INT \ && ((CLASS1 == FP_REGS && GR_REG_CLASS_P (CLASS2)) \ || (GR_REG_CLASS_P (CLASS1) && CLASS2 == FP_REGS))) \ || (TARGET_FLOAT64 && !TARGET_64BIT && (MODE) == DFmode \ && ((GR_REG_CLASS_P (CLASS1) && CLASS2 == FP_REGS) \ || (GR_REG_CLASS_P (CLASS2) && CLASS1 == FP_REGS)))) #endif # 1749 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" /* The HI and LO registers can only be reloaded via the general registers. Condition code registers can only be loaded to the general registers, and from the floating point registers. */ #define SECONDARY_INPUT_RELOAD_CLASS(CLASS, MODE, X) \ mips_secondary_reload_class (CLASS, MODE, X, 1) #define SECONDARY_OUTPUT_RELOAD_CLASS(CLASS, MODE, X) \ mips_secondary_reload_class (CLASS, MODE, X, 0) /* Return the maximum number of consecutive registers needed to represent mode MODE in a register of class CLASS. */ #define CLASS_MAX_NREGS(CLASS, MODE) mips_class_max_nregs (CLASS, MODE) #define CANNOT_CHANGE_MODE_CLASS(FROM, TO, CLASS) \ mips_cannot_change_mode_class (FROM, TO, CLASS) /* Stack layout; function entry, exit and calling. */ #define STACK_GROWS_DOWNWARD /* The offset of the first local variable from the beginning of the frame. See compute_frame_size for details about the frame layout. ??? If flag_profile_values is true, and we are generating 32-bit code, then we assume that we will need 16 bytes of argument space. This is because the value profiling code may emit calls to cmpdi2 in leaf functions. Without this hack, the local variables will start at sp+8 and the gp save area will be at sp+16, and thus they will overlap. compute_frame_size is OK because it uses STARTING_FRAME_OFFSET to compute cprestore_size, which will end up as 24 instead of 8. This won't be needed if profiling code is inserted before virtual register instantiation. */ #define STARTING_FRAME_OFFSET \ ((flag_profile_values && ! TARGET_64BIT \ ? MAX (REG_PARM_STACK_SPACE(NULL), current_function_outgoing_args_size) \ : current_function_outgoing_args_size) \ + (TARGET_ABICALLS && !TARGET_NEWABI \ ? MIPS_STACK_ALIGN (UNITS_PER_WORD) : 0)) #define RETURN_ADDR_RTX mips_return_addr /* Since the mips16 ISA mode is encoded in the least-significant bit of the address, mask it off return addresses for purposes of finding exception handling regions. */ #define MASK_RETURN_ADDR GEN_INT (-2) /* Similarly, don't use the least-significant bit to tell pointers to code from vtable index. */ #define TARGET_PTRMEMFUNC_VBIT_LOCATION ptrmemfunc_vbit_in_delta /* The eliminations to $17 are only used for mips16 code. See the definition of HARD_FRAME_POINTER_REGNUM. */ #define ELIMINABLE_REGS \ {{ ARG_POINTER_REGNUM, STACK_POINTER_REGNUM}, \ { ARG_POINTER_REGNUM, GP_REG_FIRST + 30}, \ { ARG_POINTER_REGNUM, GP_REG_FIRST + 17}, \ { FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM}, \ { FRAME_POINTER_REGNUM, GP_REG_FIRST + 30}, \ { FRAME_POINTER_REGNUM, GP_REG_FIRST + 17}} /* We can always eliminate to the hard frame pointer. We can eliminate to the stack pointer unless a frame pointer is needed. In mips16 mode, we need a frame pointer for a large frame; otherwise, reload may be unable to compute the address of a local variable, since there is no way to add a large constant to the stack pointer without using a temporary register. */ #define CAN_ELIMINATE(FROM, TO) \ ((TO) == HARD_FRAME_POINTER_REGNUM \ || ((TO) == STACK_POINTER_REGNUM && !frame_pointer_needed \ && (!TARGET_MIPS16 \ || compute_frame_size (get_frame_size ()) < 32768))) #define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \ (OFFSET) = mips_initial_elimination_offset ((FROM), (TO)) /* Allocate stack space for arguments at the beginning of each function. */ #define ACCUMULATE_OUTGOING_ARGS 1 /* The argument pointer always points to the first argument. */ #define FIRST_PARM_OFFSET(FNDECL) 0 /* o32 and o64 reserve stack space for all argument registers. */ #define REG_PARM_STACK_SPACE(FNDECL) \ (TARGET_OLDABI \ ? (MAX_ARGS_IN_REGISTERS * UNITS_PER_WORD) \ : 0) /* Define this if it is the responsibility of the caller to allocate the area reserved for arguments passed in registers. If `ACCUMULATE_OUTGOING_ARGS' is also defined, the only effect of this macro is to determine whether the space is included in `current_function_outgoing_args_size'. */ #define OUTGOING_REG_PARM_STACK_SPACE #define STACK_BOUNDARY (TARGET_NEWABI ? 128 : 64) #define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) 0 /* Symbolic macros for the registers used to return integer and floating point values. */ #define GP_RETURN (GP_REG_FIRST + 2) #define FP_RETURN ((TARGET_SOFT_FLOAT) ? GP_RETURN : (FP_REG_FIRST + 0)) #define MAX_ARGS_IN_REGISTERS (TARGET_OLDABI ? 4 : 8) /* Symbolic macros for the first/last argument registers. */ #define GP_ARG_FIRST (GP_REG_FIRST + 4) #define GP_ARG_LAST (GP_ARG_FIRST + MAX_ARGS_IN_REGISTERS - 1) #define FP_ARG_FIRST (FP_REG_FIRST + 12) #define FP_ARG_LAST (FP_ARG_FIRST + MAX_ARGS_IN_REGISTERS - 1) #define LIBCALL_VALUE(MODE) \ mips_function_value (NULL_TREE, NULL, (MODE)) #define FUNCTION_VALUE(VALTYPE, FUNC) \ mips_function_value ((VALTYPE), (FUNC), VOIDmode) /* 1 if N is a possible register number for a function value. On the MIPS, R2 R3 and F0 F2 are the only register thus used. Currently, R2 and F0 are only implemented here (C has no complex type) */ #define FUNCTION_VALUE_REGNO_P(N) ((N) == GP_RETURN || (N) == FP_RETURN \ || (LONG_DOUBLE_TYPE_SIZE == 128 && FP_RETURN != GP_RETURN \ && (N) == FP_RETURN + 2)) /* 1 if N is a possible register number for function argument passing. We have no FP argument registers when soft-float. When FP registers are 32 bits, we can't directly reference the odd numbered ones. */ #define FUNCTION_ARG_REGNO_P(N) \ ((IN_RANGE((N), GP_ARG_FIRST, GP_ARG_LAST) \ || (IN_RANGE((N), FP_ARG_FIRST, FP_ARG_LAST))) \ && !fixed_regs[N]) /* This structure has to cope with two different argument allocation schemes. Most MIPS ABIs view the arguments as a structure, of which the first N words go in registers and the rest go on the stack. If I < N, the Ith word might go in Ith integer argument register or in a floating-point register. For these ABIs, we only need to remember the offset of the current argument into the structure. The EABI instead allocates the integer and floating-point arguments separately. The first N words of FP arguments go in FP registers, the rest go on the stack. Likewise, the first N words of the other arguments go in integer registers, and the rest go on the stack. We need to maintain three counts: the number of integer registers used, the number of floating-point registers used, and the number of words passed on the stack. We could keep separate information for the two ABIs (a word count for the standard ABIs, and three separate counts for the EABI). But it seems simpler to view the standard ABIs as forms of EABI that do not allocate floating-point registers. So for the standard ABIs, the first N words are allocated to integer registers, and function_arg decides on an argument-by-argument basis whether that argument should really go in an integer register, or in a floating-point one. */ typedef struct mips_args { /* Always true for varargs functions. Otherwise true if at least one argument has been passed in an integer register. */ int gp_reg_found; /* The number of arguments seen so far. */ unsigned int arg_number; /* The number of integer registers used so far. For all ABIs except EABI, this is the number of words that have been added to the argument structure, limited to MAX_ARGS_IN_REGISTERS. */ unsigned int num_gprs; /* For EABI, the number of floating-point registers used so far. */ unsigned int num_fprs; /* The number of words passed on the stack. */ unsigned int stack_words; /* On the mips16, we need to keep track of which floating point arguments were passed in general registers, but would have been passed in the FP regs if this were a 32 bit function, so that we can move them to the FP regs if we wind up calling a 32 bit function. We record this information in fp_code, encoded in base four. A zero digit means no floating point argument, a one digit means an SFmode argument, and a two digit means a DFmode argument, and a three digit is not used. The low order digit is the first argument. Thus 6 == 1 * 4 + 2 means a DFmode argument followed by an SFmode argument. ??? A more sophisticated approach will be needed if MIPS_ABI != ABI_32. */ int fp_code; /* True if the function has a prototype. */ int prototype; } CUMULATIVE_ARGS; /* Initialize a variable CUM of type CUMULATIVE_ARGS for a call to a function whose data type is FNTYPE. For a library call, FNTYPE is 0. */ #define INIT_CUMULATIVE_ARGS(CUM, FNTYPE, LIBNAME, INDIRECT, N_NAMED_ARGS) \ init_cumulative_args (&CUM, FNTYPE, LIBNAME) \ /* Update the data in CUM to advance over an argument of mode MODE and data type TYPE. (TYPE is null for libcalls where that information may not be available.) */ #define FUNCTION_ARG_ADVANCE(CUM, MODE, TYPE, NAMED) \ function_arg_advance (&CUM, MODE, TYPE, NAMED) /* Determine where to put an argument to a function. Value is zero to push the argument on the stack, or a hard register in which to store the argument. MODE is the argument's machine mode. TYPE is the data type of the argument (as a tree). This is null for libcalls where that information may not be available. CUM is a variable of type CUMULATIVE_ARGS which gives info about the preceding args and about the function being called. NAMED is nonzero if this argument is a named parameter (otherwise it is an extra parameter matching an ellipsis). */ #define FUNCTION_ARG(CUM, MODE, TYPE, NAMED) \ function_arg( &CUM, MODE, TYPE, NAMED) #define FUNCTION_ARG_BOUNDARY function_arg_boundary #define FUNCTION_ARG_PADDING(MODE, TYPE) \ (mips_pad_arg_upward (MODE, TYPE) ? upward : downward) #define BLOCK_REG_PADDING(MODE, TYPE, FIRST) \ (mips_pad_reg_upward (MODE, TYPE) ? upward : downward) /* True if using EABI and varargs can be passed in floating-point registers. Under these conditions, we need a more complex form of va_list, which tracks GPR, FPR and stack arguments separately. */ #define EABI_FLOAT_VARARGS_P \ (mips_abi == ABI_EABI && UNITS_PER_FPVALUE >= UNITS_PER_DOUBLE) /* Say that the epilogue uses the return address register. Note that in the case of sibcalls, the values "used by the epilogue" are considered live at the start of the called function. */ #define EPILOGUE_USES(REGNO) ((REGNO) == 31) /* Treat LOC as a byte offset from the stack pointer and round it up to the next fully-aligned offset. */ #define MIPS_STACK_ALIGN(LOC) \ (TARGET_NEWABI ? ((LOC) + 15) & -16 : ((LOC) + 7) & -8) /* Implement `va_start' for varargs and stdarg. */ #define EXPAND_BUILTIN_VA_START(valist, nextarg) \ mips_va_start (valist, nextarg) /* Output assembler code to FILE to increment profiler label # LABELNO for profiling a function entry. */ #define FUNCTION_PROFILER(FILE, LABELNO) \ { \ if (TARGET_MIPS16) \ sorry ("mips16 function profiling"); \ fprintf (FILE, "\t.set\tnoat\n"); \ fprintf (FILE, "\tmove\t%s,%s\t\t# save current return address\n", \ reg_names[GP_REG_FIRST + 1], reg_names[GP_REG_FIRST + 31]); \ if (!TARGET_NEWABI) \ { \ fprintf (FILE, \ "\t%s\t%s,%s,%d\t\t# _mcount pops 2 words from stack\n", \ TARGET_64BIT ? "dsubu" : "subu", \ reg_names[STACK_POINTER_REGNUM], \ reg_names[STACK_POINTER_REGNUM], \ Pmode == DImode ? 16 : 8); \ } \ fprintf (FILE, "\tjal\t_mcount\n"); \ fprintf (FILE, "\t.set\tat\n"); \ } /* No mips port has ever used the profiler counter word, so don't emit it or the label for it. */ #define NO_PROFILE_COUNTERS 1 /* Define this macro if the code for function profiling should come before the function prologue. Normally, the profiling code comes after. */ /* #define PROFILE_BEFORE_PROLOGUE */ /* EXIT_IGNORE_STACK should be nonzero if, when returning from a function, the stack pointer does not matter. The value is tested only in functions that have frame pointers. No definition is equivalent to always zero. */ #define EXIT_IGNORE_STACK 1 /* A C statement to output, on the stream FILE, assembler code for a block of data that contains the constant parts of a trampoline. This code should not include a label--the label is taken care of automatically. */ #define TRAMPOLINE_TEMPLATE(STREAM) \ { \ if (ptr_mode == DImode) \ fprintf (STREAM, "\t.word\t0x03e0082d\t\t# dmove $1,$31\n"); \ else \ fprintf (STREAM, "\t.word\t0x03e00821\t\t# move $1,$31\n"); \ fprintf (STREAM, "\t.word\t0x04110001\t\t# bgezal $0,.+8\n"); \ fprintf (STREAM, "\t.word\t0x00000000\t\t# nop\n"); \ if (ptr_mode == DImode) \ { \ fprintf (STREAM, "\t.word\t0xdfe30014\t\t# ld $3,20($31)\n"); \ fprintf (STREAM, "\t.word\t0xdfe2001c\t\t# ld $2,28($31)\n"); \ fprintf (STREAM, "\t.word\t0x0060c82d\t\t# dmove $25,$3\n"); \ } \ else \ { \ fprintf (STREAM, "\t.word\t0x8fe30014\t\t# lw $3,20($31)\n"); \ fprintf (STREAM, "\t.word\t0x8fe20018\t\t# lw $2,24($31)\n"); \ fprintf (STREAM, "\t.word\t0x0060c821\t\t# move $25,$3\n"); \ } \ fprintf (STREAM, "\t.word\t0x00600008\t\t# jr $3\n"); \ if (ptr_mode == DImode) \ { \ fprintf (STREAM, "\t.word\t0x0020f82d\t\t# dmove $31,$1\n"); \ fprintf (STREAM, "\t.dword\t0x00000000\t\t# \n"); \ fprintf (STREAM, "\t.dword\t0x00000000\t\t# \n"); \ } \ else \ { \ fprintf (STREAM, "\t.word\t0x0020f821\t\t# move $31,$1\n"); \ fprintf (STREAM, "\t.word\t0x00000000\t\t# \n"); \ fprintf (STREAM, "\t.word\t0x00000000\t\t# \n"); \ } \ } /* A C expression for the size in bytes of the trampoline, as an integer. */ #define TRAMPOLINE_SIZE (32 + GET_MODE_SIZE (ptr_mode) * 2) /* Alignment required for trampolines, in bits. */ #define TRAMPOLINE_ALIGNMENT GET_MODE_BITSIZE (ptr_mode) /* INITIALIZE_TRAMPOLINE calls this library function to flush program and data caches. */ #ifndef CACHE_FLUSH_FUNC #define CACHE_FLUSH_FUNC "_flush_cache" #endif # 2109 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" /* A C statement to initialize the variable parts of a trampoline. ADDR is an RTX for the address of the trampoline; FNADDR is an RTX for the address of the nested function; STATIC_CHAIN is an RTX for the static chain value that should be passed to the function when it is called. */ #define INITIALIZE_TRAMPOLINE(ADDR, FUNC, CHAIN) \ { \ rtx func_addr, chain_addr; \ \ func_addr = plus_constant (ADDR, 32); \ chain_addr = plus_constant (func_addr, GET_MODE_SIZE (ptr_mode)); \ emit_move_insn (gen_rtx_MEM (ptr_mode, func_addr), FUNC); \ emit_move_insn (gen_rtx_MEM (ptr_mode, chain_addr), CHAIN); \ \ /* Flush both caches. We need to flush the data cache in case \ the system has a write-back cache. */ \ /* ??? Should check the return value for errors. */ \ if (mips_cache_flush_func && mips_cache_flush_func[0]) \ emit_library_call (gen_rtx_SYMBOL_REF (Pmode, mips_cache_flush_func), \ 0, VOIDmode, 3, ADDR, Pmode, \ GEN_INT (TRAMPOLINE_SIZE), TYPE_MODE (integer_type_node),\ GEN_INT (3), TYPE_MODE (integer_type_node)); \ } /* Addressing modes, and classification of registers for them. */ #define REGNO_OK_FOR_INDEX_P(REGNO) 0 #define REGNO_MODE_OK_FOR_BASE_P(REGNO, MODE) \ mips_regno_mode_ok_for_base_p (REGNO, MODE, 1) /* The macros REG_OK_FOR..._P assume that the arg is a REG rtx and check its validity for a certain class. We have two alternate definitions for each of them. The usual definition accepts all pseudo regs; the other rejects them all. The symbol REG_OK_STRICT causes the latter definition to be used. Most source files want to accept pseudo regs in the hope that they will get allocated to the class that the insn wants them to be in. Some source files that are used after register allocation need to be strict. */ #ifndef REG_OK_STRICT #define REG_MODE_OK_FOR_BASE_P(X, MODE) \ mips_regno_mode_ok_for_base_p (REGNO (X), MODE, 0) #else # 2156 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #define REG_MODE_OK_FOR_BASE_P(X, MODE) \ mips_regno_mode_ok_for_base_p (REGNO (X), MODE, 1) #endif # 2159 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #define REG_OK_FOR_INDEX_P(X) 0 /* Maximum number of registers that can appear in a valid memory address. */ #define MAX_REGS_PER_ADDRESS 1 #ifdef REG_OK_STRICT #define GO_IF_LEGITIMATE_ADDRESS(MODE, X, ADDR) \ { \ if (mips_legitimate_address_p (MODE, X, 1)) \ goto ADDR; \ } #else # 2174 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #define GO_IF_LEGITIMATE_ADDRESS(MODE, X, ADDR) \ { \ if (mips_legitimate_address_p (MODE, X, 0)) \ goto ADDR; \ } #endif # 2180 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" /* Check for constness inline but use mips_legitimate_address_p to check whether a constant really is an address. */ #define CONSTANT_ADDRESS_P(X) \ (CONSTANT_P (X) && mips_legitimate_address_p (SImode, X, 0)) #define LEGITIMATE_CONSTANT_P(X) (mips_const_insns (X) > 0) #define LEGITIMIZE_ADDRESS(X,OLDX,MODE,WIN) \ do { \ if (mips_legitimize_address (&(X), MODE)) \ goto WIN; \ } while (0) /* A C statement or compound statement with a conditional `goto LABEL;' executed if memory address X (an RTX) can have different meanings depending on the machine mode of the memory reference it is used for. Autoincrement and autodecrement addresses typically have mode-dependent effects because the amount of the increment or decrement is the size of the operand being addressed. Some machines have other mode-dependent addresses. Many RISC machines have no mode-dependent addresses. You may assume that ADDR is a valid address for the machine. */ #define GO_IF_MODE_DEPENDENT_ADDRESS(ADDR,LABEL) {} /* This handles the magic '..CURRENT_FUNCTION' symbol, which means 'the start of the function that this code is output in'. */ #define ASM_OUTPUT_LABELREF(FILE,NAME) \ if (strcmp (NAME, "..CURRENT_FUNCTION") == 0) \ asm_fprintf ((FILE), "%U%s", \ XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0)); \ else \ asm_fprintf ((FILE), "%U%s", (NAME)) /* Flag to mark a function decl symbol that requires a long call. */ #define SYMBOL_FLAG_LONG_CALL (SYMBOL_FLAG_MACH_DEP << 0) #define SYMBOL_REF_LONG_CALL_P(X) \ ((SYMBOL_REF_FLAGS (X) & SYMBOL_FLAG_LONG_CALL) != 0) /* Specify the machine mode that this machine uses for the index in the tablejump instruction. ??? Using HImode in mips16 mode can cause overflow. */ #define CASE_VECTOR_MODE \ (TARGET_MIPS16 ? HImode : ptr_mode) /* Define as C expression which evaluates to nonzero if the tablejump instruction expects the table to contain offsets from the address of the table. Do not define this if the table should contain absolute addresses. */ #define CASE_VECTOR_PC_RELATIVE (TARGET_MIPS16) /* Define this as 1 if `char' should by default be signed; else as 0. */ #ifndef DEFAULT_SIGNED_CHAR #define DEFAULT_SIGNED_CHAR 1 #endif # 2242 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" /* Max number of bytes we can move from memory to memory in one reasonably fast instruction. */ #define MOVE_MAX (TARGET_64BIT ? 8 : 4) #define MAX_MOVE_MAX 8 /* Define this macro as a C expression which is nonzero if accessing less than a word of memory (i.e. a `char' or a `short') is no faster than accessing a word of memory, i.e., if such access require more than one instruction or if there is no difference in cost between byte and (aligned) word loads. On RISC machines, it tends to generate better code to define this as 1, since it avoids making a QI or HI mode register. */ #define SLOW_BYTE_ACCESS 1 /* Define this to be nonzero if shift instructions ignore all but the low-order few bits. */ #define SHIFT_COUNT_TRUNCATED 1 /* Value is 1 if truncating an integer of INPREC bits to OUTPREC bits is done just by pretending it is already truncated. */ #define TRULY_NOOP_TRUNCATION(OUTPREC, INPREC) \ (TARGET_64BIT ? ((INPREC) <= 32 || (OUTPREC) > 32) : 1) /* Specify the machine mode that pointers have. After generation of rtl, the compiler makes no further distinction between pointers and any other objects of this machine mode. */ #ifndef Pmode #define Pmode (TARGET_64BIT && TARGET_LONG64 ? DImode : SImode) #endif # 2275 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" /* Give call MEMs SImode since it is the "most permissive" mode for both 32-bit and 64-bit targets. */ #define FUNCTION_MODE SImode /* The cost of loading values from the constant pool. It should be larger than the cost of any constant we want to synthesize in-line. */ #define CONSTANT_POOL_COST COSTS_N_INSNS (8) /* A C expression for the cost of moving data from a register in class FROM to one in class TO. The classes are expressed using the enumeration values such as `GENERAL_REGS'. A value of 2 is the default; other values are interpreted relative to that. It is not required that the cost always equal 2 when FROM is the same as TO; on some machines it is expensive to move between registers if they are not general registers. If reload sees an insn consisting of a single `set' between two hard registers, and if `REGISTER_MOVE_COST' applied to their classes returns a value of 2, reload does not check to ensure that the constraints of the insn are met. Setting a cost of other than 2 will allow reload to verify that the constraints are met. You should do this if the `movM' pattern's constraints do not allow such copying. */ #define REGISTER_MOVE_COST(MODE, FROM, TO) \ mips_register_move_cost (MODE, FROM, TO) #define MEMORY_MOVE_COST(MODE,CLASS,TO_P) \ (mips_cost->memory_latency \ + memory_move_secondary_cost ((MODE), (CLASS), (TO_P))) /* Define if copies to/from condition code registers should be avoided. This is needed for the MIPS because reload_outcc is not complete; it needs to handle cases where the source is a general or another condition code register. */ #define AVOID_CCMODE_COPIES /* A C expression for the cost of a branch instruction. A value of 1 is the default; other values are interpreted relative to that. */ #define BRANCH_COST mips_cost->branch_cost #define LOGICAL_OP_NON_SHORT_CIRCUIT 0 /* If defined, modifies the length assigned to instruction INSN as a function of the context in which it is used. LENGTH is an lvalue that contains the initially computed length of the insn and should be updated with the correct length of the insn. */ #define ADJUST_INSN_LENGTH(INSN, LENGTH) \ ((LENGTH) = mips_adjust_insn_length ((INSN), (LENGTH))) /* Return the asm template for a non-MIPS16 conditional branch instruction. OPCODE is the opcode's mnemonic and OPERANDS is the asm template for its operands. */ #define MIPS_BRANCH(OPCODE, OPERANDS) \ "%*" OPCODE "%?\t" OPERANDS "%/" /* Return the asm template for a call. INSN is the instruction's mnemonic ("j" or "jal"), OPERANDS are its operands, and OPNO is the operand number of the target. When generating -mabicalls without explicit relocation operators, all calls should use assembly macros. Otherwise, all indirect calls should use "jr" or "jalr"; we will arrange to restore $gp afterwards if necessary. Finally, we can only generate direct calls for -mabicalls by temporarily switching to non-PIC mode. */ #define MIPS_CALL(INSN, OPERANDS, OPNO) \ (TARGET_ABICALLS && !TARGET_EXPLICIT_RELOCS \ ? "%*" INSN "\t%" #OPNO "%/" \ : REG_P (OPERANDS[OPNO]) \ ? "%*" INSN "r\t%" #OPNO "%/" \ : TARGET_ABICALLS \ ? (".option\tpic0\n\t" \ "%*" INSN "\t%" #OPNO "%/\n\t" \ ".option\tpic2") \ : "%*" INSN "\t%" #OPNO "%/") /* Control the assembler format that we output. */ /* Output to assembler file text saying following lines may contain character constants, extra white space, comments, etc. */ #ifndef ASM_APP_ON #define ASM_APP_ON " #APP\n" #endif # 2365 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" /* Output to assembler file text saying following lines no longer contain unusual constructs. */ #ifndef ASM_APP_OFF #define ASM_APP_OFF " #NO_APP\n" #endif # 2372 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #define REGISTER_NAMES \ { "$0", "$1", "$2", "$3", "$4", "$5", "$6", "$7", \ "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", \ "$16", "$17", "$18", "$19", "$20", "$21", "$22", "$23", \ "$24", "$25", "$26", "$27", "$28", "$sp", "$fp", "$31", \ "$f0", "$f1", "$f2", "$f3", "$f4", "$f5", "$f6", "$f7", \ "$f8", "$f9", "$f10", "$f11", "$f12", "$f13", "$f14", "$f15", \ "$f16", "$f17", "$f18", "$f19", "$f20", "$f21", "$f22", "$f23", \ "$f24", "$f25", "$f26", "$f27", "$f28", "$f29", "$f30", "$f31", \ "hi", "lo", "", "$fcc0","$fcc1","$fcc2","$fcc3","$fcc4", \ "$fcc5","$fcc6","$fcc7","", "", "$arg", "$frame", "$fakec", \ "$c0r0", "$c0r1", "$c0r2", "$c0r3", "$c0r4", "$c0r5", "$c0r6", "$c0r7", \ "$c0r8", "$c0r9", "$c0r10","$c0r11","$c0r12","$c0r13","$c0r14","$c0r15", \ "$c0r16","$c0r17","$c0r18","$c0r19","$c0r20","$c0r21","$c0r22","$c0r23", \ "$c0r24","$c0r25","$c0r26","$c0r27","$c0r28","$c0r29","$c0r30","$c0r31", \ "$c2r0", "$c2r1", "$c2r2", "$c2r3", "$c2r4", "$c2r5", "$c2r6", "$c2r7", \ "$c2r8", "$c2r9", "$c2r10","$c2r11","$c2r12","$c2r13","$c2r14","$c2r15", \ "$c2r16","$c2r17","$c2r18","$c2r19","$c2r20","$c2r21","$c2r22","$c2r23", \ "$c2r24","$c2r25","$c2r26","$c2r27","$c2r28","$c2r29","$c2r30","$c2r31", \ "$c3r0", "$c3r1", "$c3r2", "$c3r3", "$c3r4", "$c3r5", "$c3r6", "$c3r7", \ "$c3r8", "$c3r9", "$c3r10","$c3r11","$c3r12","$c3r13","$c3r14","$c3r15", \ "$c3r16","$c3r17","$c3r18","$c3r19","$c3r20","$c3r21","$c3r22","$c3r23", \ "$c3r24","$c3r25","$c3r26","$c3r27","$c3r28","$c3r29","$c3r30","$c3r31", \ "$ac1hi","$ac1lo","$ac2hi","$ac2lo","$ac3hi","$ac3lo","$dsp_po","$dsp_sc", \ "$dsp_ca","$dsp_ou","$dsp_cc","$dsp_ef" } /* List the "software" names for each register. Also list the numerical names for $fp and $sp. */ #define ADDITIONAL_REGISTER_NAMES \ { \ { "$29", 29 + GP_REG_FIRST }, \ { "$30", 30 + GP_REG_FIRST }, \ { "at", 1 + GP_REG_FIRST }, \ { "v0", 2 + GP_REG_FIRST }, \ { "v1", 3 + GP_REG_FIRST }, \ { "a0", 4 + GP_REG_FIRST }, \ { "a1", 5 + GP_REG_FIRST }, \ { "a2", 6 + GP_REG_FIRST }, \ { "a3", 7 + GP_REG_FIRST }, \ { "t0", 8 + GP_REG_FIRST }, \ { "t1", 9 + GP_REG_FIRST }, \ { "t2", 10 + GP_REG_FIRST }, \ { "t3", 11 + GP_REG_FIRST }, \ { "t4", 12 + GP_REG_FIRST }, \ { "t5", 13 + GP_REG_FIRST }, \ { "t6", 14 + GP_REG_FIRST }, \ { "t7", 15 + GP_REG_FIRST }, \ { "s0", 16 + GP_REG_FIRST }, \ { "s1", 17 + GP_REG_FIRST }, \ { "s2", 18 + GP_REG_FIRST }, \ { "s3", 19 + GP_REG_FIRST }, \ { "s4", 20 + GP_REG_FIRST }, \ { "s5", 21 + GP_REG_FIRST }, \ { "s6", 22 + GP_REG_FIRST }, \ { "s7", 23 + GP_REG_FIRST }, \ { "t8", 24 + GP_REG_FIRST }, \ { "t9", 25 + GP_REG_FIRST }, \ { "k0", 26 + GP_REG_FIRST }, \ { "k1", 27 + GP_REG_FIRST }, \ { "gp", 28 + GP_REG_FIRST }, \ { "sp", 29 + GP_REG_FIRST }, \ { "fp", 30 + GP_REG_FIRST }, \ { "ra", 31 + GP_REG_FIRST }, \ ALL_COP_ADDITIONAL_REGISTER_NAMES \ } /* This is meant to be redefined in the host dependent files. It is a set of alternative names and regnums for mips coprocessors. */ #define ALL_COP_ADDITIONAL_REGISTER_NAMES /* A C compound statement to output to stdio stream STREAM the assembler syntax for an instruction operand X. X is an RTL expression. CODE is a value that can be used to specify one of several ways of printing the operand. It is used when identical operands must be printed differently depending on the context. CODE comes from the `%' specification that was used to request printing of the operand. If the specification was just `%DIGIT' then CODE is 0; if the specification was `%LTR DIGIT' then CODE is the ASCII code for LTR. If X is a register, this macro should print the register's name. The names can be found in an array `reg_names' whose type is `char *[]'. `reg_names' is initialized from `REGISTER_NAMES'. When the machine description has a specification `%PUNCT' (a `%' followed by a punctuation character), this macro is called with a null pointer for X and the punctuation character for CODE. See mips.c for the MIPS specific codes. */ #define PRINT_OPERAND(FILE, X, CODE) print_operand (FILE, X, CODE) /* A C expression which evaluates to true if CODE is a valid punctuation character for use in the `PRINT_OPERAND' macro. If `PRINT_OPERAND_PUNCT_VALID_P' is not defined, it means that no punctuation characters (except for the standard one, `%') are used in this way. */ #define PRINT_OPERAND_PUNCT_VALID_P(CODE) mips_print_operand_punct[CODE] /* A C compound statement to output to stdio stream STREAM the assembler syntax for an instruction operand that is a memory reference whose address is ADDR. ADDR is an RTL expression. */ #define PRINT_OPERAND_ADDRESS(FILE, ADDR) print_operand_address (FILE, ADDR) /* A C statement, to be executed after all slot-filler instructions have been output. If necessary, call `dbr_sequence_length' to determine the number of slots filled in a sequence (zero if not currently outputting a sequence), to decide how many no-ops to output, or whatever. Don't define this macro if it has nothing to do, but it is helpful in reading assembly output if the extent of the delay sequence is made explicit (e.g. with white space). Note that output routines for instructions with delay slots must be prepared to deal with not being output as part of a sequence (i.e. when the scheduling pass is not run, or when no slot fillers could be found.) The variable `final_sequence' is null when not processing a sequence, otherwise it contains the `sequence' rtx being output. */ #define DBR_OUTPUT_SEQEND(STREAM) \ do \ { \ if (set_nomacro > 0 && --set_nomacro == 0) \ fputs ("\t.set\tmacro\n", STREAM); \ \ if (set_noreorder > 0 && --set_noreorder == 0) \ fputs ("\t.set\treorder\n", STREAM); \ \ fputs ("\n", STREAM); \ } \ while (0) /* How to tell the debugger about changes of source files. */ #define ASM_OUTPUT_SOURCE_FILENAME(STREAM, NAME) \ mips_output_filename (STREAM, NAME) /* mips-tfile does not understand .stabd directives. */ #define DBX_OUTPUT_SOURCE_LINE(STREAM, LINE, COUNTER) do { \ dbxout_begin_stabn_sline (LINE); \ dbxout_stab_value_internal_label ("LM", &COUNTER); \ } while (0) /* Use .loc directives for SDB line numbers. */ #define SDB_OUTPUT_SOURCE_LINE(STREAM, LINE) \ fprintf (STREAM, "\t.loc\t%d %d\n", num_source_filenames, LINE) /* The MIPS implementation uses some labels for its own purpose. The following lists what labels are created, and are all formed by the pattern $L[a-z].*. The machine independent portion of GCC creates labels matching: $L[A-Z][0-9]+ and $L[0-9]+. LM[0-9]+ Silicon Graphics/ECOFF stabs label before each stmt. $Lb[0-9]+ Begin blocks for MIPS debug support $Lc[0-9]+ Label for use in s operation. $Le[0-9]+ End blocks for MIPS debug support */ #undef ASM_DECLARE_OBJECT_NAME #define ASM_DECLARE_OBJECT_NAME(STREAM, NAME, DECL) \ mips_declare_object (STREAM, NAME, "", ":\n", 0) /* Globalizing directive for a label. */ #define GLOBAL_ASM_OP "\t.globl\t" /* This says how to define a global common symbol. */ #define ASM_OUTPUT_ALIGNED_DECL_COMMON mips_output_aligned_decl_common /* This says how to define a local common symbol (i.e., not visible to linker). */ #ifndef ASM_OUTPUT_ALIGNED_LOCAL #define ASM_OUTPUT_ALIGNED_LOCAL(STREAM, NAME, SIZE, ALIGN) \ mips_declare_common_object (STREAM, NAME, "\n\t.lcomm\t", SIZE, ALIGN, false) #endif # 2557 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" /* This says how to output an external. It would be possible not to output anything and let undefined symbol become external. However the assembler uses length information on externals to allocate in data/sdata bss/sbss, thereby saving exec time. */ #define ASM_OUTPUT_EXTERNAL(STREAM,DECL,NAME) \ mips_output_external(STREAM,DECL,NAME) /* This is how to declare a function name. The actual work of emitting the label is moved to function_prologue, so that we can get the line number correctly emitted before the .ent directive, and after any .file directives. Define as empty so that the function is not declared before the .ent directive elsewhere. */ #undef ASM_DECLARE_FUNCTION_NAME #define ASM_DECLARE_FUNCTION_NAME(STREAM,NAME,DECL) #ifndef FUNCTION_NAME_ALREADY_DECLARED #define FUNCTION_NAME_ALREADY_DECLARED 0 #endif # 2578 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" /* This is how to store into the string LABEL the symbol_ref name of an internal numbered label where PREFIX is the class of label and NUM is the number within the class. This is suitable for output with `assemble_name'. */ #undef ASM_GENERATE_INTERNAL_LABEL #define ASM_GENERATE_INTERNAL_LABEL(LABEL,PREFIX,NUM) \ sprintf ((LABEL), "*%s%s%ld", (LOCAL_LABEL_PREFIX), (PREFIX), (long)(NUM)) /* This is how to output an element of a case-vector that is absolute. */ #define ASM_OUTPUT_ADDR_VEC_ELT(STREAM, VALUE) \ fprintf (STREAM, "\t%s\t%sL%d\n", \ ptr_mode == DImode ? ".dword" : ".word", \ LOCAL_LABEL_PREFIX, \ VALUE) /* This is how to output an element of a case-vector. We can make the entries PC-relative in MIPS16 code and GP-relative when .gp(d)word is supported. */ #define ASM_OUTPUT_ADDR_DIFF_ELT(STREAM, BODY, VALUE, REL) \ do { \ if (TARGET_MIPS16) \ fprintf (STREAM, "\t.half\t%sL%d-%sL%d\n", \ LOCAL_LABEL_PREFIX, VALUE, LOCAL_LABEL_PREFIX, REL); \ else if (TARGET_GPWORD) \ fprintf (STREAM, "\t%s\t%sL%d\n", \ ptr_mode == DImode ? ".gpdword" : ".gpword", \ LOCAL_LABEL_PREFIX, VALUE); \ else \ fprintf (STREAM, "\t%s\t%sL%d\n", \ ptr_mode == DImode ? ".dword" : ".word", \ LOCAL_LABEL_PREFIX, VALUE); \ } while (0) /* When generating MIPS16 code, we want the jump table to be in the text section so that we can load its address using a PC-relative addition. */ #define JUMP_TABLES_IN_TEXT_SECTION TARGET_MIPS16 /* This is how to output an assembler line that says to advance the location counter to a multiple of 2**LOG bytes. */ #define ASM_OUTPUT_ALIGN(STREAM,LOG) \ fprintf (STREAM, "\t.align\t%d\n", (LOG)) /* This is how to output an assembler line to advance the location counter by SIZE bytes. */ #undef ASM_OUTPUT_SKIP #define ASM_OUTPUT_SKIP(STREAM,SIZE) \ fprintf (STREAM, "\t.space\t"HOST_WIDE_INT_PRINT_UNSIGNED"\n", (SIZE)) /* This is how to output a string. */ #undef ASM_OUTPUT_ASCII #define ASM_OUTPUT_ASCII(STREAM, STRING, LEN) \ mips_output_ascii (STREAM, STRING, LEN, "\t.ascii\t") /* Output #ident as a in the read-only data section. */ #undef ASM_OUTPUT_IDENT #define ASM_OUTPUT_IDENT(FILE, STRING) \ { \ const char *p = STRING; \ int size = strlen (p) + 1; \ switch_to_section (readonly_data_section); \ assemble_string (p, size); \ } /* Default to -G 8 */ #ifndef MIPS_DEFAULT_GVALUE #define MIPS_DEFAULT_GVALUE 8 #endif # 2652 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" /* Define the strings to put out for each section in the object file. */ #define TEXT_SECTION_ASM_OP "\t.text" /* instructions */ #define DATA_SECTION_ASM_OP "\t.data" /* large data */ #undef READONLY_DATA_SECTION_ASM_OP #define READONLY_DATA_SECTION_ASM_OP "\t.rdata" /* read-only data */ #define ASM_OUTPUT_REG_PUSH(STREAM,REGNO) \ do \ { \ fprintf (STREAM, "\t%s\t%s,%s,8\n\t%s\t%s,0(%s)\n", \ TARGET_64BIT ? "dsubu" : "subu", \ reg_names[STACK_POINTER_REGNUM], \ reg_names[STACK_POINTER_REGNUM], \ TARGET_64BIT ? "sd" : "sw", \ reg_names[REGNO], \ reg_names[STACK_POINTER_REGNUM]); \ } \ while (0) #define ASM_OUTPUT_REG_POP(STREAM,REGNO) \ do \ { \ if (! set_noreorder) \ fprintf (STREAM, "\t.set\tnoreorder\n"); \ \ fprintf (STREAM, "\t%s\t%s,0(%s)\n\t%s\t%s,%s,8\n", \ TARGET_64BIT ? "ld" : "lw", \ reg_names[REGNO], \ reg_names[STACK_POINTER_REGNUM], \ TARGET_64BIT ? "daddu" : "addu", \ reg_names[STACK_POINTER_REGNUM], \ reg_names[STACK_POINTER_REGNUM]); \ \ if (! set_noreorder) \ fprintf (STREAM, "\t.set\treorder\n"); \ } \ while (0) /* How to start an assembler comment. The leading space is important (the mips native assembler requires it). */ #ifndef ASM_COMMENT_START #define ASM_COMMENT_START " #" #endif # 2697 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" /* Default definitions for size_t and ptrdiff_t. We must override the definitions from ../svr4.h on mips-*-linux-gnu. */ #undef SIZE_TYPE #define SIZE_TYPE (POINTER_SIZE == 64 ? "long unsigned int" : "unsigned int") #undef PTRDIFF_TYPE #define PTRDIFF_TYPE (POINTER_SIZE == 64 ? "long int" : "int") #ifndef __mips16 /* Since the bits of the _init and _fini function is spread across many object files, each potentially with its own GP, we must assume we need to load our GP. We don't preserve $gp or $ra, since each init/fini chunk is supposed to initialize $gp, and crti/crtn already take care of preserving $ra and, when appropriate, $gp. */ #if (defined _ABIO32 && _MIPS_SIM == _ABIO32) #define CRT_CALL_STATIC_FUNCTION(SECTION_OP, FUNC) \ asm (SECTION_OP "\n\ .set noreorder\n\ bal 1f\n\ nop\n\ 1: .cpload $31\n\ .set reorder\n\ jal " USER_LABEL_PREFIX #FUNC "\n\ " TEXT_SECTION_ASM_OP); #endif /* Switch to #elif when we're no longer limited by K&R C. */ # 2724 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #if (defined _ABIN32 && _MIPS_SIM == _ABIN32) \ || (defined _ABI64 && _MIPS_SIM == _ABI64) #define CRT_CALL_STATIC_FUNCTION(SECTION_OP, FUNC) \ asm (SECTION_OP "\n\ .set noreorder\n\ bal 1f\n\ nop\n\ 1: .set reorder\n\ .cpsetup $31, $2, 1b\n\ jal " USER_LABEL_PREFIX #FUNC "\n\ " TEXT_SECTION_ASM_OP); #endif # 2736 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #endif # 2737 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" #ifndef HAVE_AS_TLS #define HAVE_AS_TLS 0 #endif # 2741 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/mips.h" # 6 "./tm.h" 2 #if 0 /* expanded by -frewrite-includes */ # include "dbxelf.h" #endif /* expanded by -frewrite-includes */ # 6 "./tm.h" # 1 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/dbxelf.h" 1 /* Definitions needed when using stabs embedded in ELF sections. Copyright (C) 1999, 2004 Free Software Foundation, Inc. This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING. If not, write to the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* This file may be included by any ELF target which wishes to support -gstabs generating stabs in sections, as produced by gas and understood by gdb. */ #ifndef GCC_DBX_ELF_H #define GCC_DBX_ELF_H /* Output DBX (stabs) debugging information if doing -gstabs. */ #define DBX_DEBUGGING_INFO 1 /* Make LBRAC and RBRAC addresses relative to the start of the function. The native Solaris stabs debugging format works this way, gdb expects it, and it reduces the number of relocation entries... */ #define DBX_BLOCKS_FUNCTION_RELATIVE 1 /* ... but, to make this work, functions must appear prior to line info. */ #define DBX_FUNCTION_FIRST /* When generating stabs debugging, use N_BINCL entries. */ #define DBX_USE_BINCL /* There is no limit to the length of stabs strings. */ #ifndef DBX_CONTIN_LENGTH #define DBX_CONTIN_LENGTH 0 #endif # 52 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/dbxelf.h" /* Like block addresses, stabs line numbers are relative to the current function. */ #define DBX_LINES_FUNCTION_RELATIVE 1 /* Generate a blank trailing N_SO to mark the end of the .o file, since we can't depend upon the linker to mark .o file boundaries with embedded stabs. */ #define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END #endif /* ! GCC_DBX_ELF_H */ # 65 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/dbxelf.h" # 7 "./tm.h" 2 #if 0 /* expanded by -frewrite-includes */ # include "elfos-undef.h" #endif /* expanded by -frewrite-includes */ # 7 "./tm.h" # 1 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/elfos-undef.h" 1 /* $FreeBSD: projects/clang360-import/gnu/usr.bin/cc/cc_tools/elfos-undef.h 182627 2008-09-01 18:46:03Z obrien $ */ /* This header exists to avoid editing contrib/gcc/config/elfos.h - which isn't coded to be defensive as it should... */ #undef ASM_DECLARE_OBJECT_NAME #undef ASM_OUTPUT_IDENT #undef IDENT_ASM_OP #undef READONLY_DATA_SECTION_ASM_OP # 8 "./tm.h" 2 #if 0 /* expanded by -frewrite-includes */ # include "elfos.h" #endif /* expanded by -frewrite-includes */ # 8 "./tm.h" # 1 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/elfos.h" 1 /* elfos.h -- operating system specific defines to be used when targeting GCC for some generic ELF system Copyright (C) 1991, 1994, 1995, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Based on svr4.h contributed by Ron Guilmette (rfg@netcom.com). This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING. If not, write to the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #define TARGET_OBJFMT_CPP_BUILTINS() \ do \ { \ builtin_define ("__ELF__"); \ } \ while (0) /* Define a symbol indicating that we are using elfos.h. Some CPU specific configuration files use this. */ #define USING_ELFOS_H /* The prefix to add to user-visible assembler symbols. For ELF systems the convention is *not* to prepend a leading underscore onto user-level symbol names. */ #undef USER_LABEL_PREFIX #define USER_LABEL_PREFIX "" /* Biggest alignment supported by the object file format of this machine. Use this macro to limit the alignment which can be specified using the `__attribute__ ((aligned (N)))' construct. If not defined, the default value is `BIGGEST_ALIGNMENT'. */ #ifndef MAX_OFILE_ALIGNMENT #define MAX_OFILE_ALIGNMENT (32768 * 8) #endif # 50 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/elfos.h" /* Use periods rather than dollar signs in special g++ assembler names. */ #define NO_DOLLAR_IN_LABEL /* Writing `int' for a bit-field forces int alignment for the structure. */ #ifndef PCC_BITFIELD_TYPE_MATTERS #define PCC_BITFIELD_TYPE_MATTERS 1 #endif # 60 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/elfos.h" /* Handle #pragma weak and #pragma pack. */ #define HANDLE_SYSV_PRAGMA 1 /* All ELF targets can support DWARF-2. */ #define DWARF2_DEBUGGING_INFO 1 /* The GNU tools operate better with dwarf2, and it is required by some psABI's. Since we don't have any native tools to be compatible with, default to dwarf2. */ #ifndef PREFERRED_DEBUGGING_TYPE #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG #endif # 76 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/elfos.h" /* All SVR4 targets use the ELF object file format. */ #define OBJECT_FORMAT_ELF /* Output #ident as a .ident. */ #define ASM_OUTPUT_IDENT(FILE, NAME) \ fprintf (FILE, "%s\"%s\"\n", IDENT_ASM_OP, NAME); #define IDENT_ASM_OP "\t.ident\t" #undef SET_ASM_OP #define SET_ASM_OP "\t.set\t" /* Most svr4 assemblers want a .file directive at the beginning of their input file. */ #define TARGET_ASM_FILE_START_FILE_DIRECTIVE true /* This is how to allocate empty space in some section. The .zero pseudo-op is used for this on most svr4 assemblers. */ #define SKIP_ASM_OP "\t.zero\t" #undef ASM_OUTPUT_SKIP #define ASM_OUTPUT_SKIP(FILE, SIZE) \ fprintf ((FILE), "%s"HOST_WIDE_INT_PRINT_UNSIGNED"\n",\ SKIP_ASM_OP, (SIZE)) /* This is how to store into the string LABEL the symbol_ref name of an internal numbered label where PREFIX is the class of label and NUM is the number within the class. This is suitable for output with `assemble_name'. For most svr4 systems, the convention is that any symbol which begins with a period is not put into the linker symbol table by the assembler. */ #undef ASM_GENERATE_INTERNAL_LABEL #define ASM_GENERATE_INTERNAL_LABEL(LABEL, PREFIX, NUM) \ do \ { \ sprintf (LABEL, "*.%s%u", PREFIX, (unsigned) (NUM)); \ } \ while (0) /* Output the label which precedes a jumptable. Note that for all svr4 systems where we actually generate jumptables (which is to say every svr4 target except i386, where we use casesi instead) we put the jump- tables into the .rodata section and since other stuff could have been put into the .rodata section prior to any given jumptable, we have to make sure that the location counter for the .rodata section gets pro- perly re-aligned prior to the actual beginning of the jump table. */ #undef ALIGN_ASM_OP #define ALIGN_ASM_OP "\t.align\t" #ifndef ASM_OUTPUT_BEFORE_CASE_LABEL #define ASM_OUTPUT_BEFORE_CASE_LABEL(FILE, PREFIX, NUM, TABLE) \ ASM_OUTPUT_ALIGN ((FILE), 2); #endif # 136 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/elfos.h" #undef ASM_OUTPUT_CASE_LABEL #define ASM_OUTPUT_CASE_LABEL(FILE, PREFIX, NUM, JUMPTABLE) \ do \ { \ ASM_OUTPUT_BEFORE_CASE_LABEL (FILE, PREFIX, NUM, JUMPTABLE) \ (*targetm.asm_out.internal_label) (FILE, PREFIX, NUM); \ } \ while (0) /* The standard SVR4 assembler seems to require that certain builtin library routines (e.g. .udiv) be explicitly declared as .globl in each assembly file where they are referenced. */ #define ASM_OUTPUT_EXTERNAL_LIBCALL(FILE, FUN) \ (*targetm.asm_out.globalize_label) (FILE, XSTR (FUN, 0)) /* This says how to output assembler code to declare an uninitialized external linkage data object. Under SVR4, the linker seems to want the alignment of data objects to depend on their types. We do exactly that here. */ #define COMMON_ASM_OP "\t.comm\t" #undef ASM_OUTPUT_ALIGNED_COMMON #define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGN) \ do \ { \ fprintf ((FILE), "%s", COMMON_ASM_OP); \ assemble_name ((FILE), (NAME)); \ fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \ (SIZE), (ALIGN) / BITS_PER_UNIT); \ } \ while (0) /* This says how to output assembler code to declare an uninitialized internal linkage data object. Under SVR4, the linker seems to want the alignment of data objects to depend on their types. We do exactly that here. */ #define LOCAL_ASM_OP "\t.local\t" #undef ASM_OUTPUT_ALIGNED_LOCAL #define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGN) \ do \ { \ fprintf ((FILE), "%s", LOCAL_ASM_OP); \ assemble_name ((FILE), (NAME)); \ fprintf ((FILE), "\n"); \ ASM_OUTPUT_ALIGNED_COMMON (FILE, NAME, SIZE, ALIGN); \ } \ while (0) /* This is the pseudo-op used to generate a contiguous sequence of byte values from a double-quoted string WITHOUT HAVING A TERMINATING NUL AUTOMATICALLY APPENDED. This is the same for most svr4 assemblers. */ #undef ASCII_DATA_ASM_OP #define ASCII_DATA_ASM_OP "\t.ascii\t" /* Support a read-only data section. */ #define READONLY_DATA_SECTION_ASM_OP "\t.section\t.rodata" /* On svr4, we *do* have support for the .init and .fini sections, and we can put stuff in there to be executed before and after `main'. We let crtstuff.c and other files know this by defining the following symbols. The definitions say how to change sections to the .init and .fini sections. This is the same for all known svr4 assemblers. */ #define INIT_SECTION_ASM_OP "\t.section\t.init" #define FINI_SECTION_ASM_OP "\t.section\t.fini" /* Output assembly directive to move to the beginning of current section. */ #ifdef HAVE_GAS_SUBSECTION_ORDERING # define ASM_SECTION_START_OP "\t.subsection\t-1" # define ASM_OUTPUT_SECTION_START(FILE) \ fprintf ((FILE), "%s\n", ASM_SECTION_START_OP) #endif # 214 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/elfos.h" #define MAKE_DECL_ONE_ONLY(DECL) (DECL_WEAK (DECL) = 1) /* Switch into a generic section. */ #define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section #undef TARGET_ASM_SELECT_RTX_SECTION #define TARGET_ASM_SELECT_RTX_SECTION default_elf_select_rtx_section #undef TARGET_ASM_SELECT_SECTION #define TARGET_ASM_SELECT_SECTION default_elf_select_section #undef TARGET_HAVE_SWITCHABLE_BSS_SECTIONS #define TARGET_HAVE_SWITCHABLE_BSS_SECTIONS true /* Define the strings used for the special svr4 .type and .size directives. These strings generally do not vary from one system running svr4 to another, but if a given system (e.g. m88k running svr) needs to use different pseudo-op names for these, they may be overridden in the file which includes this one. */ #define TYPE_ASM_OP "\t.type\t" #define SIZE_ASM_OP "\t.size\t" /* This is how we tell the assembler that a symbol is weak. */ #define ASM_WEAKEN_LABEL(FILE, NAME) \ do \ { \ fputs ("\t.weak\t", (FILE)); \ assemble_name ((FILE), (NAME)); \ fputc ('\n', (FILE)); \ } \ while (0) /* The following macro defines the format used to output the second operand of the .type assembler directive. Different svr4 assemblers expect various different forms for this operand. The one given here is just a default. You may need to override it in your machine- specific tm.h file (depending upon the particulars of your assembler). */ #define TYPE_OPERAND_FMT "@%s" /* Write the extra assembler code needed to declare a function's result. Most svr4 assemblers don't require any special declaration of the result value, but there are exceptions. */ #ifndef ASM_DECLARE_RESULT #define ASM_DECLARE_RESULT(FILE, RESULT) #endif # 262 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/elfos.h" /* These macros generate the special .type and .size directives which are used to set the corresponding fields of the linker symbol table entries in an ELF object file under SVR4. These macros also output the starting labels for the relevant functions/objects. */ /* Write the extra assembler code needed to declare a function properly. Some svr4 assemblers need to also have something extra said about the function's return value. We allow for that here. */ #ifndef ASM_DECLARE_FUNCTION_NAME #define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \ do \ { \ ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "function"); \ ASM_DECLARE_RESULT (FILE, DECL_RESULT (DECL)); \ ASM_OUTPUT_LABEL (FILE, NAME); \ } \ while (0) #endif # 282 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/elfos.h" /* Write the extra assembler code needed to declare an object properly. */ #define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \ do \ { \ HOST_WIDE_INT size; \ \ ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "object"); \ \ size_directive_output = 0; \ if (!flag_inhibit_size_directive \ && (DECL) && DECL_SIZE (DECL)) \ { \ size_directive_output = 1; \ size = int_size_in_bytes (TREE_TYPE (DECL)); \ ASM_OUTPUT_SIZE_DIRECTIVE (FILE, NAME, size); \ } \ \ ASM_OUTPUT_LABEL (FILE, NAME); \ } \ while (0) /* Output the size directive for a decl in rest_of_decl_compilation in the case where we did not do so before the initializer. Once we find the error_mark_node, we know that the value of size_directive_output was set by ASM_DECLARE_OBJECT_NAME when it was run for the same decl. */ #undef ASM_FINISH_DECLARE_OBJECT #define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END)\ do \ { \ const char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0); \ HOST_WIDE_INT size; \ \ if (!flag_inhibit_size_directive \ && DECL_SIZE (DECL) \ && ! AT_END && TOP_LEVEL \ && DECL_INITIAL (DECL) == error_mark_node \ && !size_directive_output) \ { \ size_directive_output = 1; \ size = int_size_in_bytes (TREE_TYPE (DECL)); \ ASM_OUTPUT_SIZE_DIRECTIVE (FILE, name, size); \ } \ } \ while (0) /* This is how to declare the size of a function. */ #ifndef ASM_DECLARE_FUNCTION_SIZE #define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL) \ do \ { \ if (!flag_inhibit_size_directive) \ ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME); \ } \ while (0) #endif # 341 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/elfos.h" /* A table of bytes codes used by the ASM_OUTPUT_ASCII and ASM_OUTPUT_LIMITED_STRING macros. Each byte in the table corresponds to a particular byte value [0..255]. For any given byte value, if the value in the corresponding table position is zero, the given character can be output directly. If the table value is 1, the byte must be output as a \ooo octal escape. If the tables value is anything else, then the byte value should be output as a \ followed by the value in the table. Note that we can use standard UN*X escape sequences for many control characters, but we don't use \a to represent BEL because some svr4 assemblers (e.g. on the i386) don't know about that. Also, we don't use \v since some versions of gas, such as 2.2 did not accept it. */ #define ESCAPES \ "\1\1\1\1\1\1\1\1btn\1fr\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\ \0\0\"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\\\0\0\0\ \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\ \1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\ \1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\ \1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\ \1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1" /* Some svr4 assemblers have a limit on the number of characters which can appear in the operand of a .string directive. If your assembler has such a limitation, you should define STRING_LIMIT to reflect that limit. Note that at least some svr4 assemblers have a limit on the actual number of bytes in the double-quoted string, and that they count each character in an escape sequence as one byte. Thus, an escape sequence like \377 would count as four bytes. If your target assembler doesn't support the .string directive, you should define this to zero. */ #define STRING_LIMIT ((unsigned) 256) #define STRING_ASM_OP "\t.string\t" /* The routine used to output NUL terminated strings. We use a special version of this for most svr4 targets because doing so makes the generated assembly code more compact (and thus faster to assemble) as well as more readable, especially for targets like the i386 (where the only alternative is to output character sequences as comma separated lists of numbers). */ #define ASM_OUTPUT_LIMITED_STRING(FILE, STR) \ do \ { \ register const unsigned char *_limited_str = \ (const unsigned char *) (STR); \ register unsigned ch; \ \ fprintf ((FILE), "%s\"", STRING_ASM_OP); \ \ for (; (ch = *_limited_str); _limited_str++) \ { \ register int escape; \ \ switch (escape = ESCAPES[ch]) \ { \ case 0: \ putc (ch, (FILE)); \ break; \ case 1: \ fprintf ((FILE), "\\%03o", ch); \ break; \ default: \ putc ('\\', (FILE)); \ putc (escape, (FILE)); \ break; \ } \ } \ \ fprintf ((FILE), "\"\n"); \ } \ while (0) /* The routine used to output sequences of byte values. We use a special version of this for most svr4 targets because doing so makes the generated assembly code more compact (and thus faster to assemble) as well as more readable. Note that if we find subparts of the character sequence which end with NUL (and which are shorter than STRING_LIMIT) we output those using ASM_OUTPUT_LIMITED_STRING. */ #undef ASM_OUTPUT_ASCII #define ASM_OUTPUT_ASCII(FILE, STR, LENGTH) \ do \ { \ const unsigned char *_ascii_bytes = \ (const unsigned char *) (STR); \ const unsigned char *limit = _ascii_bytes + (LENGTH); \ const unsigned char *last_null = NULL; \ unsigned bytes_in_chunk = 0; \ \ for (; _ascii_bytes < limit; _ascii_bytes++) \ { \ const unsigned char *p; \ \ if (bytes_in_chunk >= 60) \ { \ fprintf ((FILE), "\"\n"); \ bytes_in_chunk = 0; \ } \ \ if (_ascii_bytes > last_null) \ { \ for (p = _ascii_bytes; p < limit && *p != '\0'; p++) \ continue; \ last_null = p; \ } \ else \ p = last_null; \ \ if (p < limit && (p - _ascii_bytes) <= (long)STRING_LIMIT) \ { \ if (bytes_in_chunk > 0) \ { \ fprintf ((FILE), "\"\n"); \ bytes_in_chunk = 0; \ } \ \ ASM_OUTPUT_LIMITED_STRING ((FILE), _ascii_bytes); \ _ascii_bytes = p; \ } \ else \ { \ register int escape; \ register unsigned ch; \ \ if (bytes_in_chunk == 0) \ fprintf ((FILE), "%s\"", ASCII_DATA_ASM_OP); \ \ switch (escape = ESCAPES[ch = *_ascii_bytes]) \ { \ case 0: \ putc (ch, (FILE)); \ bytes_in_chunk++; \ break; \ case 1: \ fprintf ((FILE), "\\%03o", ch); \ bytes_in_chunk += 4; \ break; \ default: \ putc ('\\', (FILE)); \ putc (escape, (FILE)); \ bytes_in_chunk += 2; \ break; \ } \ } \ } \ \ if (bytes_in_chunk > 0) \ fprintf ((FILE), "\"\n"); \ } \ while (0) /* A C statement (sans semicolon) to output to the stdio stream STREAM any text necessary for declaring the name of an external symbol named NAME whch is referenced in this compilation but not defined. It is needed to properly support non-default visibility. */ #ifndef ASM_OUTPUT_EXTERNAL #define ASM_OUTPUT_EXTERNAL(FILE, DECL, NAME) \ default_elf_asm_output_external (FILE, DECL, NAME) #endif # 509 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/elfos.h" # 9 "./tm.h" 2 #if 0 /* expanded by -frewrite-includes */ # include "freebsd-native.h" #endif /* expanded by -frewrite-includes */ # 9 "./tm.h" # 1 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/freebsd-native.h" 1 /* $FreeBSD: projects/clang360-import/gnu/usr.bin/cc/cc_tools/freebsd-native.h 258445 2013-11-21 21:05:11Z andreast $ */ /* FREEBSD_NATIVE is defined when gcc is integrated into the FreeBSD source tree so it can be configured appropriately without using the GNU configure/build mechanism. */ #define FREEBSD_NATIVE 1 /* Fake out gcc/config/freebsd.h. */ #define FBSD_MAJOR 11 #define FBSD_CC_VER 1100001 /* form like __FreeBSD_version */ #undef SYSTEM_INCLUDE_DIR /* We don't need one for now. */ #undef TOOL_INCLUDE_DIR /* We don't need one for now. */ #undef LOCAL_INCLUDE_DIR /* We don't wish to support one. */ /* Look for the include files in the system-defined places. */ #define GPLUSPLUS_INCLUDE_DIR PREFIX"/include/c++/"GCCVER #define GPLUSPLUS_BACKWARD_INCLUDE_DIR PREFIX"/include/c++/"GCCVER"/backward" #define GCC_INCLUDE_DIR PREFIX"/include/gcc/"GCCVER #ifdef CROSS_DIRECTORY_STRUCTURE #define CROSS_INCLUDE_DIR PREFIX"/include" #else # 24 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/freebsd-native.h" #define STANDARD_INCLUDE_DIR PREFIX"/include" #endif # 26 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/freebsd-native.h" /* Under FreeBSD, the normal location of the compiler back ends is the /usr/libexec directory. ``cc --print-search-dirs'' gives: install: STANDARD_EXEC_PREFIX/ programs: STANDARD_EXEC_PREFIX:MD_EXEC_PREFIX libraries: STANDARD_STARTFILE_PREFIX */ #undef STANDARD_BINDIR_PREFIX /* We don't need one for now. */ #define STANDARD_EXEC_PREFIX PREFIX"/libexec/" #define STANDARD_LIBEXEC_PREFIX PREFIX"/libexec/" #define TOOLDIR_BASE_PREFIX PREFIX #undef MD_EXEC_PREFIX /* We don't want one. */ #define FBSD_DATA_PREFIX PREFIX"/libdata/gcc/" /* Under FreeBSD, the normal location of the various *crt*.o files is the /usr/lib directory. */ #undef MD_STARTFILE_PREFIX /* We don't need one for now. */ #define STANDARD_STARTFILE_PREFIX PREFIX"/lib/" #define STARTFILE_PREFIX_SPEC PREFIX"/lib/" #if 0 #define LIBGCC_SPEC "%{shared: -lgcc_pic} \ %{!shared: %{!pg: -lgcc} %{pg: -lgcc_p}}" #endif # 53 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../usr.bin/cc/cc_tools/freebsd-native.h" #define LIBSTDCXX_PROFILE "-lstdc++_p" #define MATH_LIBRARY_PROFILE "-lm_p" #define FORTRAN_LIBRARY_PROFILE "-lg2c_p" #define LIBGCC_SPEC "-lgcc" /* For the native system compiler, we actually build libgcc in a profiled version. So we should use it with -pg. */ #define LIBGCC_STATIC_LIB_SPEC "%{pg: -lgcc_p;:-lgcc}" #define LIBGCC_EH_STATIC_LIB_SPEC "%{pg: -lgcc_eh_p;:-lgcc_eh}" /* FreeBSD is 4.4BSD derived */ #define bsd4_4 # 10 "./tm.h" 2 #if 0 /* expanded by -frewrite-includes */ # include "freebsd-spec.h" #endif /* expanded by -frewrite-includes */ # 10 "./tm.h" # 1 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/freebsd-spec.h" 1 /* Base configuration file for all FreeBSD targets. Copyright (C) 1999, 2000, 2001, 2004, 2005 Free Software Foundation, Inc. This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING. If not, write to the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* $FreeBSD: projects/clang360-import/contrib/gcc/config/freebsd-spec.h 200038 2009-12-02 16:34:20Z kib $ */ /* Common FreeBSD configuration. All FreeBSD architectures should include this file, which will specify their commonalities. Adapted from gcc/config/freebsd.h by David O'Brien Loren J. Rittle . */ /* In case we need to know. */ #define USING_CONFIG_FREEBSD_SPEC 1 /* This defines which switch letters take arguments. On FreeBSD, most of the normal cases (defined in gcc.c) apply, and we also have -h* and -z* options (for the linker) (coming from SVR4). We also have -R (alias --rpath), no -z, --soname (-h), --assert etc. */ #define FBSD_SWITCH_TAKES_ARG(CHAR) \ (DEFAULT_SWITCH_TAKES_ARG (CHAR) \ || (CHAR) == 'h' \ || (CHAR) == 'z' /* ignored by ld */ \ || (CHAR) == 'R') /* This defines which multi-letter switches take arguments. */ #define FBSD_WORD_SWITCH_TAKES_ARG(STR) \ (DEFAULT_WORD_SWITCH_TAKES_ARG (STR) \ || !strcmp ((STR), "rpath") || !strcmp ((STR), "rpath-link") \ || !strcmp ((STR), "soname") || !strcmp ((STR), "defsym") \ || !strcmp ((STR), "assert") || !strcmp ((STR), "dynamic-linker")) #define FBSD_TARGET_OS_CPP_BUILTINS() \ do \ { \ builtin_define_with_int_value ("__FreeBSD__", FBSD_MAJOR); \ builtin_define_std ("unix"); \ builtin_define_std ("__unix__"); \ builtin_define ("__KPRINTF_ATTRIBUTE__"); \ builtin_assert ("system=unix"); \ builtin_assert ("system=bsd"); \ builtin_assert ("system=FreeBSD"); \ FBSD_NATIVE_TARGET_OS_CPP_BUILTINS(); \ FBSD_TARGET_CPU_CPP_BUILTINS(); \ } \ while (0) /* Define the default FreeBSD-specific per-CPU hook code. */ #define FBSD_TARGET_CPU_CPP_BUILTINS() do {} while (0) #ifdef FREEBSD_NATIVE #define FBSD_NATIVE_TARGET_OS_CPP_BUILTINS() \ do { \ builtin_define_with_int_value ("__FreeBSD_cc_version", FBSD_CC_VER); \ } while (0) #else # 77 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/freebsd-spec.h" #define FBSD_NATIVE_TARGET_OS_CPP_BUILTINS() \ do {} while (0) #endif # 80 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/freebsd-spec.h" /* Provide a CPP_SPEC appropriate for FreeBSD. We just deal with the GCC option `-posix', and PIC issues. Try to detect support for the `long long' type. Unfortunately the GCC spec parser will not allow us to properly detect the "iso9899:1990" and "iso9899:199409" forms of -std=c89. Because of the ':' in the -std argument. :-( I have left them in the spec as a place holder in hopes someone knows a way to make the detection of them work. */ #define FBSD_CPP_SPEC " \ %(cpp_cpu) \ %(cpp_arch) \ %{!ansi:%{!std=c89:%{!std=iso9899.1990:%{!std=iso9899.199409:-D_LONGLONG}}}} \ %{posix:-D_POSIX_SOURCE}" /* Provide a STARTFILE_SPEC appropriate for FreeBSD. Here we add the magical crtbegin.o file (see crtstuff.c) which provides part of the support for getting C++ file-scope static object constructed before entering `main'. */ #define FBSD_STARTFILE_SPEC "\ %{!shared: \ %{pg:gcrt1.o%s} \ %{!pg: \ %{p:gcrt1.o%s} \ %{!p: \ %{profile:gcrt1.o%s} \ %{!profile: \ %{pie: Scrt1.o%s;:crt1.o%s}}}}} \ crti.o%s \ %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" /* Provide an ENDFILE_SPEC appropriate for FreeBSD/i386. Here we tack on our own magical crtend.o file (see crtstuff.c) which provides part of the support for getting C++ file-scope static object constructed before entering `main', followed by the normal "finalizer" file, `crtn.o'. */ #define FBSD_ENDFILE_SPEC "\ %{shared|pie:crtendS.o%s;:crtend.o%s} \ crtn.o%s " /* Provide a LIB_SPEC appropriate for FreeBSD as configured and as required by the user-land thread model. Before __FreeBSD_version 500016, select the appropriate libc, depending on whether we're doing profiling or need threads support. At __FreeBSD_version 500016 and later, when threads support is requested include both -lc and the threading lib instead of only -lc_r. To make matters interesting, we can't actually use __FreeBSD_version provided by directly since it breaks cross-compiling. As a final twist, make it a hard error if -pthread is provided on the command line and gcc was configured with --disable-threads (this will help avoid bug reports from users complaining about threading when they misconfigured the gcc bootstrap but are later consulting FreeBSD manual pages that refer to the mythical -pthread option). */ /* Provide a LIB_SPEC appropriate for FreeBSD. Just select the appropriate libc, depending on whether we're doing profiling or need threads support. (similar to the default, except no -lg, and no -p). */ #ifdef FBSD_NO_THREADS #define FBSD_LIB_SPEC " \ %{pthread: %eThe -pthread option is only supported on FreeBSD when gcc \ is built with the --enable-threads configure-time option.} \ %{!shared: \ %{!pg: -lc} \ %{pg: -lc_p} \ }" #else # 147 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/freebsd-spec.h" #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 147 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/freebsd-spec.h" # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 1 3 4 /*- * Copyright (c) 1982, 1986, 1989, 1993 * The Regents of the University of California. All rights reserved. * (c) UNIX System Laboratories, Inc. * All or some portions of this file are derived from material licensed * to the University of California by American Telephone and Telegraph * Co. or Unix System Laboratories, Inc. and are reproduced herein with * the permission of UNIX System Laboratories, Inc. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)param.h 8.3 (Berkeley) 4/4/95 * $FreeBSD: projects/clang360-import/sys/sys/param.h 277999 2015-01-31 20:49:30Z dim $ */ #ifndef _SYS_PARAM_H_ #define _SYS_PARAM_H_ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 41 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 # 42 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 #define BSD 199506 /* System version (year & month). */ #define BSD4_3 1 #define BSD4_4 1 /* * __FreeBSD_version numbers are documented in the Porter's Handbook. * If you bump the version for any reason, you should update the documentation * there. * Currently this lives here in the doc/ repository: * * head/en_US.ISO8859-1/books/porters-handbook/book.xml * * scheme is: Rxx * 'R' is in the range 0 to 4 if this is a release branch or * x.0-CURRENT before RELENG_*_0 is created, otherwise 'R' is * in the range 5 to 9. */ #undef __FreeBSD_version #define __FreeBSD_version 1100058 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, * which by definition is always true on FreeBSD. This macro is also defined * on other systems that use the kernel of FreeBSD, such as GNU/kFreeBSD. * * It is tempting to use this macro in userland code when we want to enable * kernel-specific routines, and in fact it's fine to do this in code that * is part of FreeBSD itself. However, be aware that as presence of this * macro is still not widespread (e.g. older FreeBSD versions, 3rd party * compilers, etc), it is STRONGLY DISCOURAGED to check for this macro in * external applications without also checking for __FreeBSD__ as an * alternative. */ #undef __FreeBSD_kernel__ #define __FreeBSD_kernel__ #ifdef _KERNEL #define P_OSREL_SIGWAIT 700000 #define P_OSREL_SIGSEGV 700004 #define P_OSREL_MAP_ANON 800104 #define P_OSREL_MAP_FSTRICT 1100036 #define P_OSREL_MAJOR(x) ((x) / 100000) #endif # 87 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 #ifndef LOCORE #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 89 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 # 90 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 #endif # 91 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 /* * Machine-independent constants (some used in following include files). * Redefined constants are from POSIX 1003.1 limits file. * * MAXCOMLEN should be >= sizeof(ac_comm) (see ) */ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 98 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 # 99 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 #define MAXCOMLEN 19 /* max command name remembered */ #define MAXINTERP PATH_MAX /* max interpreter file name length */ #define MAXLOGNAME 33 /* max login name length (incl. NUL) */ #define MAXUPRC CHILD_MAX /* max simultaneous processes */ #define NCARGS ARG_MAX /* max bytes for an exec function */ #define NGROUPS (NGROUPS_MAX+1) /* max number groups */ #define NOFILE OPEN_MAX /* max open files per process */ #define NOGROUP 65535 /* marker for empty group set member */ #define MAXHOSTNAMELEN 256 /* max hostname size */ #define SPECNAMELEN 63 /* max length of devicename */ /* More types and definitions used throughout the kernel. */ #ifdef _KERNEL #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 113 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 # 114 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 114 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 # 115 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 #ifndef LOCORE #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 116 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 # 117 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 117 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 # 118 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 #endif # 119 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 #ifndef FALSE #define FALSE 0 #endif # 123 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 #ifndef TRUE #define TRUE 1 #endif # 126 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 #endif # 127 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 #ifndef _KERNEL /* Signals. */ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 130 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 1 3 4 /*- * Copyright (c) 1982, 1986, 1989, 1991, 1993 * The Regents of the University of California. All rights reserved. * (c) UNIX System Laboratories, Inc. * All or some portions of this file are derived from material licensed * to the University of California by American Telephone and Telegraph * Co. or Unix System Laboratories, Inc. and are reproduced herein with * the permission of UNIX System Laboratories, Inc. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)signal.h 8.4 (Berkeley) 5/4/95 * $FreeBSD: projects/clang360-import/sys/sys/signal.h 233519 2012-03-26 19:12:09Z rmh $ */ #ifndef _SYS_SIGNAL_H_ #define _SYS_SIGNAL_H_ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 41 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 # 42 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 42 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 # 43 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 43 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 # 44 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include /* __MINSIGSTKSZ */ #endif /* expanded by -frewrite-includes */ # 45 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 # 46 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include /* sig_atomic_t; trap codes; sigcontext */ #endif /* expanded by -frewrite-includes */ # 46 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/signal.h" 1 3 4 /* $OpenBSD: signal.h,v 1.2 1999/01/27 04:10:03 imp Exp $ */ /* * Copyright (c) 1992, 1993 * The Regents of the University of California. All rights reserved. * * This code is derived from software contributed to Berkeley by * Ralph Campbell. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)signal.h 8.1 (Berkeley) 6/10/93 * JNPR: signal.h,v 1.4 2007/01/08 04:58:37 katta * $FreeBSD: projects/clang360-import/sys/mips/include/signal.h 202175 2010-01-12 21:36:08Z imp $ */ #ifndef _MACHINE_SIGNAL_H_ #define _MACHINE_SIGNAL_H_ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 42 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/signal.h" 3 4 # 43 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/signal.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 43 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/signal.h" 3 4 # 44 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/signal.h" 3 4 /* * Machine-dependent signal definitions */ typedef int sig_atomic_t; #if !defined(_ANSI_SOURCE) && !defined(_POSIX_SOURCE) /* * Information pushed on stack when a signal is delivered. * This is used by the kernel to restore state following * execution of the signal handler. It is also made available * to the handler to allow it to restore state properly if * a non-standard exit is performed. */ struct sigcontext { /* * The fields following 'sc_mask' must match the definition * of struct __mcontext. That way we can support * struct sigcontext and ucontext_t at the same * time. */ __sigset_t sc_mask; /* signal mask to restore */ int sc_onstack; /* sigstack state to restore */ __register_t sc_pc; /* pc at time of signal */ __register_t sc_regs[32]; /* processor regs 0 to 31 */ __register_t mullo, mulhi; /* mullo and mulhi registers... */ int sc_fpused; /* fp has been used */ f_register_t sc_fpregs[33]; /* fp regs 0 to 31 and csr */ __register_t sc_fpc_eir; /* fp exception instruction reg */ int xxx[8]; /* XXX reserved */ }; #endif /* !_ANSI_SOURCE && !_POSIX_SOURCE */ # 79 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/signal.h" 3 4 #endif /* !_MACHINE_SIGNAL_H_ */ # 81 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/signal.h" 3 4 # 47 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 2 3 4 /* * System defined signals. */ #if __POSIX_VISIBLE || __XSI_VISIBLE #define SIGHUP 1 /* hangup */ #endif # 54 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #define SIGINT 2 /* interrupt */ #if __POSIX_VISIBLE || __XSI_VISIBLE #define SIGQUIT 3 /* quit */ #endif # 58 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #define SIGILL 4 /* illegal instr. (not reset when caught) */ #if __XSI_VISIBLE #define SIGTRAP 5 /* trace trap (not reset when caught) */ #endif # 62 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #define SIGABRT 6 /* abort() */ #if __BSD_VISIBLE #define SIGIOT SIGABRT /* compatibility */ #define SIGEMT 7 /* EMT instruction */ #endif # 67 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #define SIGFPE 8 /* floating point exception */ #if __POSIX_VISIBLE || __XSI_VISIBLE #define SIGKILL 9 /* kill (cannot be caught or ignored) */ #endif # 71 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE #define SIGBUS 10 /* bus error */ #endif # 74 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #define SIGSEGV 11 /* segmentation violation */ #if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE #define SIGSYS 12 /* non-existent system call invoked */ #endif # 78 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if __POSIX_VISIBLE || __XSI_VISIBLE #define SIGPIPE 13 /* write on a pipe with no one to read it */ #define SIGALRM 14 /* alarm clock */ #endif # 82 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #define SIGTERM 15 /* software termination signal from kill */ #if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE #define SIGURG 16 /* urgent condition on IO channel */ #endif # 86 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if __POSIX_VISIBLE || __XSI_VISIBLE #define SIGSTOP 17 /* sendable stop signal not from tty */ #define SIGTSTP 18 /* stop signal from tty */ #define SIGCONT 19 /* continue a stopped process */ #define SIGCHLD 20 /* to parent on child stop or exit */ #define SIGTTIN 21 /* to readers pgrp upon background tty read */ #define SIGTTOU 22 /* like TTIN if (tp->t_local<OSTOP) */ #endif # 94 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if __BSD_VISIBLE #define SIGIO 23 /* input/output possible signal */ #endif # 97 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if __XSI_VISIBLE #define SIGXCPU 24 /* exceeded CPU time limit */ #define SIGXFSZ 25 /* exceeded file size limit */ #define SIGVTALRM 26 /* virtual time alarm */ #define SIGPROF 27 /* profiling time alarm */ #endif # 103 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if __BSD_VISIBLE #define SIGWINCH 28 /* window size changes */ #define SIGINFO 29 /* information request */ #endif # 107 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if __POSIX_VISIBLE || __XSI_VISIBLE #define SIGUSR1 30 /* user defined signal 1 */ #define SIGUSR2 31 /* user defined signal 2 */ #endif # 111 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if __BSD_VISIBLE #define SIGTHR 32 /* reserved by thread library. */ #define SIGLWP SIGTHR #define SIGLIBRT 33 /* reserved by real-time library. */ #endif # 116 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #define SIGRTMIN 65 #define SIGRTMAX 126 #define SIG_DFL ((__sighandler_t *)0) #define SIG_IGN ((__sighandler_t *)1) #define SIG_ERR ((__sighandler_t *)-1) /* #define SIG_CATCH ((__sighandler_t *)2) See signalvar.h */ #define SIG_HOLD ((__sighandler_t *)3) /* * Type of a signal handling function. * * Language spec sez signal handlers take exactly one arg, even though we * actually supply three. Ugh! * * We don't try to hide the difference by leaving out the args because * that would cause warnings about conformant programs. Nonconformant * programs can avoid the warnings by casting to (__sighandler_t *) or * sig_t before calling signal() or assigning to sa_handler or sv_handler. * * The kernel should reverse the cast before calling the function. It * has no way to do this, but on most machines 1-arg and 3-arg functions * have the same calling protocol so there is no problem in practice. * A bit in sa_flags could be used to specify the number of args. */ typedef void __sighandler_t(int); #if __POSIX_VISIBLE || __XSI_VISIBLE #ifndef _SIGSET_T_DECLARED #define _SIGSET_T_DECLARED typedef __sigset_t sigset_t; #endif # 149 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #endif # 150 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if __POSIX_VISIBLE >= 199309 || __XSI_VISIBLE >= 500 union sigval { /* Members as suggested by Annex C of POSIX 1003.1b. */ int sival_int; void *sival_ptr; /* 6.0 compatibility */ int sigval_int; void *sigval_ptr; }; #endif # 161 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if __POSIX_VISIBLE >= 199309 struct sigevent { int sigev_notify; /* Notification type */ int sigev_signo; /* Signal number */ union sigval sigev_value; /* Signal value */ union { __lwpid_t _threadid; struct { void (*_function)(union sigval); void *_attribute; /* pthread_attr_t * */ } _sigev_thread; unsigned short _kevent_flags; long __spare__[8]; } _sigev_un; }; #if __BSD_VISIBLE #define sigev_notify_kqueue sigev_signo #define sigev_notify_kevent_flags _sigev_un._kevent_flags #define sigev_notify_thread_id _sigev_un._threadid #endif # 183 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #define sigev_notify_function _sigev_un._sigev_thread._function #define sigev_notify_attributes _sigev_un._sigev_thread._attribute #define SIGEV_NONE 0 /* No async notification. */ #define SIGEV_SIGNAL 1 /* Generate a queued signal. */ #define SIGEV_THREAD 2 /* Call back from another pthread. */ #if __BSD_VISIBLE #define SIGEV_KEVENT 3 /* Generate a kevent. */ #define SIGEV_THREAD_ID 4 /* Send signal to a kernel thread. */ #endif # 193 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #endif /* __POSIX_VISIBLE >= 199309 */ # 194 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if __POSIX_VISIBLE >= 199309 || __XSI_VISIBLE typedef struct __siginfo { int si_signo; /* signal number */ int si_errno; /* errno association */ /* * Cause of signal, one of the SI_ macros or signal-specific * values, i.e. one of the FPE_... values for SIGFPE. This * value is equivalent to the second argument to an old-style * FreeBSD signal handler. */ int si_code; /* signal code */ __pid_t si_pid; /* sending process */ __uid_t si_uid; /* sender's ruid */ int si_status; /* exit value */ void *si_addr; /* faulting instruction */ union sigval si_value; /* signal value */ union { struct { int _trapno;/* machine specific trap code */ } _fault; struct { int _timerid; int _overrun; } _timer; struct { int _mqd; } _mesgq; struct { long _band; /* band event for SIGPOLL */ } _poll; /* was this ever used ? */ struct { long __spare1__; int __spare2__[7]; } __spare__; } _reason; } siginfo_t; #define si_trapno _reason._fault._trapno #define si_timerid _reason._timer._timerid #define si_overrun _reason._timer._overrun #define si_mqd _reason._mesgq._mqd #define si_band _reason._poll._band /** si_code **/ /* codes for SIGILL */ #define ILL_ILLOPC 1 /* Illegal opcode. */ #define ILL_ILLOPN 2 /* Illegal operand. */ #define ILL_ILLADR 3 /* Illegal addressing mode. */ #define ILL_ILLTRP 4 /* Illegal trap. */ #define ILL_PRVOPC 5 /* Privileged opcode. */ #define ILL_PRVREG 6 /* Privileged register. */ #define ILL_COPROC 7 /* Coprocessor error. */ #define ILL_BADSTK 8 /* Internal stack error. */ /* codes for SIGBUS */ #define BUS_ADRALN 1 /* Invalid address alignment. */ #define BUS_ADRERR 2 /* Nonexistent physical address. */ #define BUS_OBJERR 3 /* Object-specific hardware error. */ /* codes for SIGSEGV */ #define SEGV_MAPERR 1 /* Address not mapped to object. */ #define SEGV_ACCERR 2 /* Invalid permissions for mapped */ /* object. */ /* codes for SIGFPE */ #define FPE_INTOVF 1 /* Integer overflow. */ #define FPE_INTDIV 2 /* Integer divide by zero. */ #define FPE_FLTDIV 3 /* Floating point divide by zero. */ #define FPE_FLTOVF 4 /* Floating point overflow. */ #define FPE_FLTUND 5 /* Floating point underflow. */ #define FPE_FLTRES 6 /* Floating point inexact result. */ #define FPE_FLTINV 7 /* Invalid floating point operation. */ #define FPE_FLTSUB 8 /* Subscript out of range. */ /* codes for SIGTRAP */ #define TRAP_BRKPT 1 /* Process breakpoint. */ #define TRAP_TRACE 2 /* Process trace trap. */ #define TRAP_DTRACE 3 /* DTrace induced trap. */ /* codes for SIGCHLD */ #define CLD_EXITED 1 /* Child has exited */ #define CLD_KILLED 2 /* Child has terminated abnormally but */ /* did not create a core file */ #define CLD_DUMPED 3 /* Child has terminated abnormally and */ /* created a core file */ #define CLD_TRAPPED 4 /* Traced child has trapped */ #define CLD_STOPPED 5 /* Child has stopped */ #define CLD_CONTINUED 6 /* Stopped child has continued */ /* codes for SIGPOLL */ #define POLL_IN 1 /* Data input available */ #define POLL_OUT 2 /* Output buffers available */ #define POLL_MSG 3 /* Input message available */ #define POLL_ERR 4 /* I/O Error */ #define POLL_PRI 5 /* High priority input available */ #define POLL_HUP 6 /* Device disconnected */ #endif # 293 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if __POSIX_VISIBLE || __XSI_VISIBLE struct __siginfo; /* * Signal vector "template" used in sigaction call. */ struct sigaction { union { void (*__sa_handler)(int); void (*__sa_sigaction)(int, struct __siginfo *, void *); } __sigaction_u; /* signal handler */ int sa_flags; /* see signal options below */ sigset_t sa_mask; /* signal mask to apply */ }; #define sa_handler __sigaction_u.__sa_handler #endif # 311 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if __XSI_VISIBLE /* If SA_SIGINFO is set, sa_sigaction must be used instead of sa_handler. */ #define sa_sigaction __sigaction_u.__sa_sigaction #endif # 316 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if __POSIX_VISIBLE || __XSI_VISIBLE #define SA_NOCLDSTOP 0x0008 /* do not generate SIGCHLD on child stop */ #endif /* __POSIX_VISIBLE || __XSI_VISIBLE */ # 320 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if __XSI_VISIBLE #define SA_ONSTACK 0x0001 /* take signal on signal stack */ #define SA_RESTART 0x0002 /* restart system call on signal return */ #define SA_RESETHAND 0x0004 /* reset to SIG_DFL when taking signal */ #define SA_NODEFER 0x0010 /* don't mask the signal we're delivering */ #define SA_NOCLDWAIT 0x0020 /* don't keep zombies around */ #define SA_SIGINFO 0x0040 /* signal handler with SA_SIGINFO args */ #endif # 329 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if __BSD_VISIBLE #define NSIG 32 /* number of old signals (counting 0) */ #endif # 333 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if __POSIX_VISIBLE || __XSI_VISIBLE #define SI_NOINFO 0 /* No signal info besides si_signo. */ #define SI_USER 0x10001 /* Signal sent by kill(). */ #define SI_QUEUE 0x10002 /* Signal sent by the sigqueue(). */ #define SI_TIMER 0x10003 /* Signal generated by expiration of */ /* a timer set by timer_settime(). */ #define SI_ASYNCIO 0x10004 /* Signal generated by completion of */ /* an asynchronous I/O request.*/ #define SI_MESGQ 0x10005 /* Signal generated by arrival of a */ /* message on an empty message queue. */ #define SI_KERNEL 0x10006 #define SI_LWP 0x10007 /* Signal sent by thr_kill */ #endif # 347 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if __BSD_VISIBLE #define SI_UNDEFINED 0 #endif # 350 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if __BSD_VISIBLE typedef __sighandler_t *sig_t; /* type of pointer to a signal function */ typedef void __siginfohandler_t(int, struct __siginfo *, void *); #endif # 355 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if __XSI_VISIBLE /* * Structure used in sigaltstack call. */ #if __BSD_VISIBLE typedef struct sigaltstack { #else # 363 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 typedef struct { #endif # 365 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 char *ss_sp; /* signal stack base */ __size_t ss_size; /* signal stack length */ int ss_flags; /* SS_DISABLE and/or SS_ONSTACK */ } stack_t; #define SS_ONSTACK 0x0001 /* take signal on alternate stack */ #define SS_DISABLE 0x0004 /* disable taking signals on alternate stack */ #define MINSIGSTKSZ __MINSIGSTKSZ /* minimum stack size */ #define SIGSTKSZ (MINSIGSTKSZ + 32768) /* recommended stack size */ #endif # 375 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if __BSD_VISIBLE /* * 4.3 compatibility: * Signal vector "template" used in sigvec call. */ struct sigvec { __sighandler_t *sv_handler; /* signal handler */ int sv_mask; /* signal mask to apply */ int sv_flags; /* see signal options below */ }; #define SV_ONSTACK SA_ONSTACK #define SV_INTERRUPT SA_RESTART /* same bit, opposite sense */ #define SV_RESETHAND SA_RESETHAND #define SV_NODEFER SA_NODEFER #define SV_NOCLDSTOP SA_NOCLDSTOP #define SV_SIGINFO SA_SIGINFO #define sv_onstack sv_flags /* isn't compatibility wonderful! */ #endif # 395 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 /* Keep this in one place only */ #if defined(_KERNEL) && defined(COMPAT_43) && \ !defined(__i386__) struct osigcontext { int _not_used; }; #endif # 403 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if __XSI_VISIBLE /* * Structure used in sigstack call. */ struct sigstack { /* XXX ss_sp's type should be `void *'. */ char *ss_sp; /* signal stack pointer */ int ss_onstack; /* current status */ }; #endif # 414 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if __BSD_VISIBLE || __POSIX_VISIBLE > 0 && __POSIX_VISIBLE <= 200112 /* * Macro for converting signal number to a mask suitable for * sigblock(). */ #define sigmask(m) (1 << ((m)-1)) #endif # 422 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if __BSD_VISIBLE #define BADSIG SIG_ERR #endif # 426 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 #if __POSIX_VISIBLE || __XSI_VISIBLE /* * Flags for sigprocmask: */ #define SIG_BLOCK 1 /* block specified signal set */ #define SIG_UNBLOCK 2 /* unblock specified signal set */ #define SIG_SETMASK 3 /* set specified signal set */ #endif # 435 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 /* * For historical reasons; programs expect signal's return value to be * defined by . */ __BEGIN_DECLS __sighandler_t *signal(int, __sighandler_t *); __END_DECLS #endif /* !_SYS_SIGNAL_H_ */ # 445 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/signal.h" 3 4 # 131 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 2 3 4 #endif # 132 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 /* Machine type dependent parameters. */ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 134 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 1 3 4 /* $OpenBSD: param.h,v 1.11 1998/08/30 22:05:35 millert Exp $ */ /*- * Copyright (c) 1988 University of Utah. * Copyright (c) 1992, 1993 * The Regents of the University of California. All rights reserved. * * This code is derived from software contributed to Berkeley by * the Systems Programming Group of the University of Utah Computer * Science Department and Ralph Campbell. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * from: Utah Hdr: machparam.h 1.11 89/08/14 * from: @(#)param.h 8.1 (Berkeley) 6/10/93 * JNPR: param.h,v 1.6.2.1 2007/09/10 07:49:36 girish * $FreeBSD: projects/clang360-import/sys/mips/include/param.h 273783 2014-10-28 15:22:13Z kib $ */ #ifndef _MIPS_INCLUDE_PARAM_H_ #define _MIPS_INCLUDE_PARAM_H_ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 45 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_align.h" 1 3 4 /* $OpenBSD: param.h,v 1.11 1998/08/30 22:05:35 millert Exp $ */ /*- * Copyright (c) 1988 University of Utah. * Copyright (c) 1992, 1993 * The Regents of the University of California. All rights reserved. * * This code is derived from software contributed to Berkeley by * the Systems Programming Group of the University of Utah Computer * Science Department and Ralph Campbell. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * from: Utah Hdr: machparam.h 1.11 89/08/14 * from: @(#)param.h 8.1 (Berkeley) 6/10/93 * JNPR: param.h,v 1.6.2.1 2007/09/10 07:49:36 girish * $FreeBSD: projects/clang360-import/sys/mips/include/_align.h 202175 2010-01-12 21:36:08Z imp $ */ #ifndef _MIPS_INCLUDE__ALIGN_H_ #define _MIPS_INCLUDE__ALIGN_H_ /* * Round p (pointer or byte index) up to a correctly-aligned value for all * data types (int, long, ...). The result is u_long and must be cast to * any desired pointer type. */ #define _ALIGNBYTES 7 #define _ALIGN(p) (((u_long)(p) + _ALIGNBYTES) &~ _ALIGNBYTES) #endif /* !_MIPS_INCLUDE__ALIGN_H_ */ # 54 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/_align.h" 3 4 # 46 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 2 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 47 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 # 48 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 #ifdef _KERNEL #ifndef _LOCORE #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 50 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 # 51 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 #endif # 52 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 #endif # 53 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 #define __PCI_REROUTE_INTERRUPT #ifndef MACHINE #define MACHINE "mips" #endif # 59 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 #ifndef MACHINE_ARCH #if _BYTE_ORDER == _BIG_ENDIAN #ifdef __mips_n64 #define MACHINE_ARCH "mips64" #ifndef MACHINE_ARCH32 #define MACHINE_ARCH32 "mips" #endif # 66 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 #elif defined(__mips_n32) # 67 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 #define MACHINE_ARCH "mipsn32" #else # 69 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 #define MACHINE_ARCH "mips" #endif # 71 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 #else # 72 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 #ifdef __mips_n64 #define MACHINE_ARCH "mips64el" #ifndef MACHINE_ARCH32 #define MACHINE_ARCH32 "mipsel" #endif # 77 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 #elif defined(__mips_n32) # 78 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 #define MACHINE_ARCH "mipsn32el" #else # 80 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 #define MACHINE_ARCH "mipsel" #endif # 82 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 #endif # 83 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 #endif # 84 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 /* * OBJFORMAT_NAMES is a comma-separated list of the object formats * that are supported on the architecture. */ #define OBJFORMAT_NAMES "elf" #define OBJFORMAT_DEFAULT "elf" #define MID_MACHINE 0 /* None but has to be defined */ #ifdef SMP #define MAXSMPCPU 32 #ifndef MAXCPU #define MAXCPU MAXSMPCPU #endif # 99 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 #else # 100 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 #define MAXSMPCPU 1 #define MAXCPU 1 #endif # 103 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 #ifndef MAXMEMDOM #define MAXMEMDOM 1 #endif # 107 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 /* * Round p (pointer or byte index) up to a correctly-aligned value for all * data types (int, long, ...). The result is u_int and must be cast to * any desired pointer type. */ #define ALIGNBYTES _ALIGNBYTES #define ALIGN(p) _ALIGN(p) /* * ALIGNED_POINTER is a boolean macro that checks whether an address * is valid to fetch data elements of type t from on this architecture. * This does not reflect the optimal alignment, just the possibility * (within reasonable limits). */ #define ALIGNED_POINTER(p, t) ((((unsigned long)(p)) & (sizeof (t) - 1)) == 0) /* * CACHE_LINE_SIZE is the compile-time maximum cache line size for an * architecture. It should be used with appropriate caution. */ #define CACHE_LINE_SHIFT 6 #define CACHE_LINE_SIZE (1 << CACHE_LINE_SHIFT) #define PAGE_SHIFT 12 /* LOG2(PAGE_SIZE) */ #define PAGE_SIZE (1<> PAGE_SHIFT) #define ptoa(x) ((x) << PAGE_SHIFT) #define pgtok(x) ((x) * (PAGE_SIZE / 1024)) #ifdef _KERNEL #define NO_FUEWORD 1 #endif # 184 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 #endif /* !_MIPS_INCLUDE_PARAM_H_ */ # 186 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 # 135 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 2 3 4 #ifndef _KERNEL #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 136 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 # 137 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 #endif # 138 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 #ifndef DEV_BSHIFT #define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */ #endif # 142 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 #define DEV_BSIZE (1<>PAGE_SHIFT) #endif # 195 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 /* * btodb() is messy and perhaps slow because `bytes' may be an off_t. We * want to shift an unsigned type to avoid sign extension and we don't * want to widen `bytes' unnecessarily. Assume that the result fits in * a daddr_t. */ #ifndef btodb #define btodb(bytes) /* calculates (bytes / DEV_BSIZE) */ \ (sizeof (bytes) > sizeof(long) \ ? (daddr_t)((unsigned long long)(bytes) >> DEV_BSHIFT) \ : (daddr_t)((unsigned long)(bytes) >> DEV_BSHIFT)) #endif # 208 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 #ifndef dbtob #define dbtob(db) /* calculates (db * DEV_BSIZE) */ \ ((off_t)(db) << DEV_BSHIFT) #endif # 213 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 #define PRIMASK 0x0ff #define PCATCH 0x100 /* OR'd with pri for tsleep to check signals */ #define PDROP 0x200 /* OR'd with pri to stop re-entry of interlock mutex */ #define NZERO 0 /* default "nice" */ #define NBBY 8 /* number of bits in a byte */ #define NBPW sizeof(int) /* number of bytes per word (integer) */ #define CMASK 022 /* default file mask: S_IWGRP|S_IWOTH */ #define NODEV (dev_t)(-1) /* non-existent device */ /* * File system parameters and macros. * * MAXBSIZE - Filesystems are made out of blocks of at most MAXBSIZE bytes * per block. MAXBSIZE may be made larger without effecting * any existing filesystems as long as it does not exceed MAXPHYS, * and may be made smaller at the risk of not being able to use * filesystems which require a block size exceeding MAXBSIZE. * * BKVASIZE - Nominal buffer space per buffer, in bytes. BKVASIZE is the * minimum KVM memory reservation the kernel is willing to make. * Filesystems can of course request smaller chunks. Actual * backing memory uses a chunk size of a page (PAGE_SIZE). * * If you make BKVASIZE too small you risk seriously fragmenting * the buffer KVM map which may slow things down a bit. If you * make it too big the kernel will not be able to optimally use * the KVM memory reserved for the buffer cache and will wind * up with too-few buffers. * * The default is 16384, roughly 2x the block size used by a * normal UFS filesystem. */ #define MAXBSIZE 65536 /* must be power of 2 */ #define BKVASIZE 16384 /* must be power of 2 */ #define BKVAMASK (BKVASIZE-1) /* * MAXPATHLEN defines the longest permissible path length after expanding * symbolic links. It is used to allocate a temporary buffer from the buffer * pool in which to do the name expansion, hence should be a power of two, * and must be less than or equal to MAXBSIZE. MAXSYMLINKS defines the * maximum number of symbolic links that may be expanded in a path name. * It should be set high enough to allow all legitimate uses, but halt * infinite loops reasonably quickly. */ #define MAXPATHLEN PATH_MAX #define MAXSYMLINKS 32 /* Bit map related macros. */ #define setbit(a,i) (((unsigned char *)(a))[(i)/NBBY] |= 1<<((i)%NBBY)) #define clrbit(a,i) (((unsigned char *)(a))[(i)/NBBY] &= ~(1<<((i)%NBBY))) #define isset(a,i) \ (((const unsigned char *)(a))[(i)/NBBY] & (1<<((i)%NBBY))) #define isclr(a,i) \ ((((const unsigned char *)(a))[(i)/NBBY] & (1<<((i)%NBBY))) == 0) /* Macros for counting and rounding. */ #ifndef howmany #define howmany(x, y) (((x)+((y)-1))/(y)) #endif # 278 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 #define nitems(x) (sizeof((x)) / sizeof((x)[0])) #define rounddown(x, y) (((x)/(y))*(y)) #define rounddown2(x, y) ((x)&(~((y)-1))) /* if y is power of two */ #define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) /* to any y */ #define roundup2(x, y) (((x)+((y)-1))&(~((y)-1))) /* if y is powers of two */ #define powerof2(x) ((((x)-1)&(x))==0) /* Macros for min/max. */ #define MIN(a,b) (((a)<(b))?(a):(b)) #define MAX(a,b) (((a)>(b))?(a):(b)) #ifdef _KERNEL /* * Basic byte order function prototypes for non-inline functions. */ #ifndef LOCORE #ifndef _BYTEORDER_PROTOTYPED #define _BYTEORDER_PROTOTYPED __BEGIN_DECLS __uint32_t htonl(__uint32_t); __uint16_t htons(__uint16_t); __uint32_t ntohl(__uint32_t); __uint16_t ntohs(__uint16_t); __END_DECLS #endif # 303 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 #endif # 304 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 #ifndef lint #ifndef _BYTEORDER_FUNC_DEFINED #define _BYTEORDER_FUNC_DEFINED #define htonl(x) __htonl(x) #define htons(x) __htons(x) #define ntohl(x) __ntohl(x) #define ntohs(x) __ntohs(x) #endif /* !_BYTEORDER_FUNC_DEFINED */ # 313 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 #endif /* lint */ # 314 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 #endif /* _KERNEL */ # 315 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 /* * Scale factor for scaled integers used to count %cpu time and load avgs. * * The number of CPU `tick's that map to a unique `%age' can be expressed * by the formula (1 / (2 ^ (FSHIFT - 11))). The maximum load average that * can be calculated (assuming 32 bits) can be closely approximated using * the formula (2 ^ (2 * (16 - FSHIFT))) for (FSHIFT < 15). * * For the scheduler to maintain a 1:1 mapping of CPU `tick' to `%age', * FSHIFT must be at least 11; this gives us a maximum load avg of ~1024. */ #define FSHIFT 11 /* bits to right of fixed binary point */ #define FSCALE (1<> (PAGE_SHIFT - DEV_BSHIFT)) #define ctodb(db) /* calculates pages to devblks */ \ ((db) << (PAGE_SHIFT - DEV_BSHIFT)) /* * Old spelling of __containerof(). */ #define member2struct(s, m, x) \ ((struct s *)(void *)((char *)(x) - offsetof(struct s, m))) /* * Access a variable length array that has been declared as a fixed * length array. */ #define __PAST_END(array, offset) (((__typeof__(*(array)) *)(array))[offset]) #endif /* _SYS_PARAM_H_ */ # 349 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 # 148 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/freebsd-spec.h" 2 #if __FreeBSD_version < 500016 #define FBSD_LIB_SPEC " \ %{!shared: \ %{!pg: \ %{!pthread:-lc} \ %{pthread:-lc_r}} \ %{pg: \ %{!pthread:-lc_p} \ %{pthread:-lc_r_p}} \ }" #elif __FreeBSD_version < 700022 # 159 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/freebsd-spec.h" #define FBSD_LIB_SPEC " \ %{!shared: \ %{!pg: %{pthread:-lpthread} -lc} \ %{pg: %{pthread:-lpthread_p} -lc_p} \ }" #else # 165 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/freebsd-spec.h" #define FBSD_LIB_SPEC " \ %{!shared: \ %{!pg: %{pthread:-lpthread} -lc} \ %{pg: %{pthread:-lpthread_p} -lc_p}} \ %{shared: \ %{pthread:-lpthread} -lc} \ %{fstack-protector|fstack-protector-all:-lssp_nonshared} \ " #endif # 174 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/freebsd-spec.h" #endif # 175 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/freebsd-spec.h" #if FBSD_MAJOR < 5 #define FBSD_DYNAMIC_LINKER "/usr/libexec/ld-elf.so.1" #else # 179 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/freebsd-spec.h" #define FBSD_DYNAMIC_LINKER "/libexec/ld-elf.so.1" #endif # 181 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/freebsd-spec.h" #if defined(HAVE_LD_EH_FRAME_HDR) #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " #endif # 185 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/freebsd-spec.h" /* Use --as-needed -lgcc_s for eh support. */ #ifdef HAVE_LD_AS_NEEDED #define USE_LD_AS_NEEDED 1 #endif # 190 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/freebsd-spec.h" #define FBSD_SIZE_TYPE \ (POINTER_SIZE == 64 ? "long unsigned int" : "unsigned int") #define FBSD_PTRDIFF_TYPE \ (POINTER_SIZE == 64 ? "long int" : "int") # 11 "./tm.h" 2 #if 0 /* expanded by -frewrite-includes */ # include "freebsd.h" #endif /* expanded by -frewrite-includes */ # 11 "./tm.h" # 1 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/freebsd.h" 1 /* Base configuration file for all FreeBSD targets. Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING. If not, write to the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Common FreeBSD configuration. All FreeBSD architectures should include this file, which will specify their commonalities. Adapted from gcc/config/i386/freebsd-elf.h by David O'Brien . Further work by David O'Brien and Loren J. Rittle . */ /* $FreeBSD: projects/clang360-import/contrib/gcc/config/freebsd.h 229715 2012-01-06 18:37:49Z andreast $ */ /* In case we need to know. */ #define USING_CONFIG_FREEBSD 1 /* This defines which switch letters take arguments. On FreeBSD, most of the normal cases (defined in gcc.c) apply, and we also have -h* and -z* options (for the linker) (coming from SVR4). We also have -R (alias --rpath), no -z, --soname (-h), --assert etc. */ #undef SWITCH_TAKES_ARG #define SWITCH_TAKES_ARG(CHAR) (FBSD_SWITCH_TAKES_ARG(CHAR)) #undef WORD_SWITCH_TAKES_ARG #define WORD_SWITCH_TAKES_ARG(STR) (FBSD_WORD_SWITCH_TAKES_ARG(STR)) #undef TARGET_OS_CPP_BUILTINS #define TARGET_OS_CPP_BUILTINS() FBSD_TARGET_OS_CPP_BUILTINS() #undef CPP_SPEC #define CPP_SPEC FBSD_CPP_SPEC #undef STARTFILE_SPEC #define STARTFILE_SPEC FBSD_STARTFILE_SPEC #undef ENDFILE_SPEC #define ENDFILE_SPEC FBSD_ENDFILE_SPEC #undef LIB_SPEC #define LIB_SPEC FBSD_LIB_SPEC /************************[ Target stuff ]***********************************/ /* All FreeBSD Architectures support the ELF object file format. */ #undef OBJECT_FORMAT_ELF #define OBJECT_FORMAT_ELF 1 #undef TARGET_ELF #define TARGET_ELF 1 /* Don't assume anything about the header files. */ #undef NO_IMPLICIT_EXTERN_C #define NO_IMPLICIT_EXTERN_C 1 /* Make gcc agree with FreeBSD's standard headers (, etc...) */ #undef SIZE_TYPE #define SIZE_TYPE FBSD_SIZE_TYPE #undef PTRDIFF_TYPE #define PTRDIFF_TYPE FBSD_PTRDIFF_TYPE #undef WCHAR_TYPE #define WCHAR_TYPE "int" #undef WCHAR_TYPE_SIZE #define WCHAR_TYPE_SIZE 32 #undef WINT_TYPE #define WINT_TYPE "int" #undef WINT_TYPE_SIZE #define WINT_TYPE_SIZE 32 #ifdef FREEBSD_NATIVE #define LIBSTDCXX_PROFILE "-lstdc++_p" #endif # 91 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/freebsd.h" #define MATH_LIBRARY_PROFILE "-lm_p" /* Code generation parameters. */ /* Writing `int' for a bitfield forces int alignment for the structure. */ /* XXX: ok for Alpha?? */ #undef PCC_BITFIELD_TYPE_MATTERS #define PCC_BITFIELD_TYPE_MATTERS 1 /* Use periods rather than dollar signs in special g++ assembler names. This ensures the configuration knows our system correctly so we can link with libraries compiled with the native cc. */ #undef NO_DOLLAR_IN_LABEL /* Define this so we can compile MS code for use with WINE. */ #define HANDLE_PRAGMA_PACK_PUSH_POP 1 #define TARGET_POSIX_IO # 12 "./tm.h" 2 #if 0 /* expanded by -frewrite-includes */ # include "mips/elf.h" #endif /* expanded by -frewrite-includes */ # 12 "./tm.h" # 1 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/elf.h" 1 /* Target macros for mips*-elf targets. Copyright (C) 1994, 1997, 1999, 2000, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING. If not, write to the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* MIPS assemblers don't have the usual .set foo,bar construct; .set is used for assembler options instead. */ #undef SET_ASM_OP #define ASM_OUTPUT_DEF(FILE, LABEL1, LABEL2) \ do \ { \ fputc ('\t', FILE); \ assemble_name (FILE, LABEL1); \ fputs (" = ", FILE); \ assemble_name (FILE, LABEL2); \ fputc ('\n', FILE); \ } \ while (0) #undef ASM_DECLARE_OBJECT_NAME #define ASM_DECLARE_OBJECT_NAME mips_declare_object_name #undef ASM_FINISH_DECLARE_OBJECT #define ASM_FINISH_DECLARE_OBJECT mips_finish_declare_object /* Leave the linker script to choose the appropriate libraries. */ #undef LIB_SPEC #define LIB_SPEC "" #undef STARTFILE_SPEC #define STARTFILE_SPEC "crti%O%s crtbegin%O%s" #undef ENDFILE_SPEC #define ENDFILE_SPEC "crtend%O%s crtn%O%s" #define NO_IMPLICIT_EXTERN_C 1 #define HANDLE_PRAGMA_PACK_PUSH_POP 1 # 13 "./tm.h" 2 #if 0 /* expanded by -frewrite-includes */ # include "mips/freebsd.h" #endif /* expanded by -frewrite-includes */ # 13 "./tm.h" # 1 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/freebsd.h" 1 /* Definitions for MIPS varients running FreeBSD with ELF format Copyright (C) 2008 Free Software Foundation, Inc. Continued by David O'Brien This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING. If not, write to the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* $FreeBSD: projects/clang360-import/contrib/gcc/config/mips/freebsd.h 238472 2012-07-15 10:54:10Z kib $ */ /* This defines which switch letters take arguments. -G is a MIPS special. */ #undef SWITCH_TAKES_ARG #define SWITCH_TAKES_ARG(CHAR) \ (FBSD_SWITCH_TAKES_ARG (CHAR) \ || (CHAR) == 'R' \ || (CHAR) == 'G') #undef SUBTARGET_EXTRA_SPECS /* mips.h bogusly defines it. */ #define SUBTARGET_EXTRA_SPECS \ { "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER}, \ { "fbsd_link_spec", FBSD_LINK_SPEC } /* config/mips/mips.h defines CC1_SPEC, but gives us an "out" with SUBTARGET_CC1_SPEC. */ #undef SUBTARGET_CC1_SPEC #define SUBTARGET_CC1_SPEC "%{profile:-p}" /* Provide a LINK_SPEC appropriate for FreeBSD. Here we provide support for the special GCC options -static and -shared, which allow us to link things in one of these three modes by applying the appropriate combinations of options at link-time. We like to support here for as many of the other GNU linker options as possible. But I don't have the time to search for those flags. I am sure how to add support for -soname shared_object_name. H.J. When the -shared link option is used a final link is not being done. */ #define FBSD_LINK_SPEC "\ %{p:%nconsider using `-pg' instead of `-p' with gprof(1) } \ %{v:-V} \ %{assert*} %{R*} %{rpath*} %{defsym*} \ %{shared:-Bshareable %{h*} %{soname*}} \ %{!static:--enable-new-dtags} \ %{!shared: \ %{!static: \ %{rdynamic: -export-dynamic} \ %{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }} \ %{static:-Bstatic}} \ %{symbolic:-Bsymbolic} " #undef LINK_SPEC #define LINK_SPEC "\ %{EB} %{EL} %(endian_spec) \ %{G*} %{mips1} %{mips2} %{mips3} %{mips4} \ %{mips32} %{mips32r2} %{mips64} %{mips64r2} \ %{bestGnum} %{call_shared} %{no_archive} %{exact_version} \ %{mabi=32:-melf32%{EB:b}%{EL:l}tsmip_fbsd} \ %{mabi=n32:-melf32%{EB:b}%{EL:l}tsmipn32_fbsd} \ %{mabi=64:-melf64%{EB:b}%{EL:l}tsmip_fbsd} \ %{mabi=o64:-melf64%{EB:b}%{EL:l}tsmip_fbsd} \ %(fbsd_link_spec)" #undef LINK_GCC_C_SEQUENCE_SPEC #define LINK_GCC_C_SEQUENCE_SPEC \ "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}" /* Reset our STARTFILE_SPEC which was properly set in config/freebsd.h but trashed by config/mips/elf.h. */ #undef STARTFILE_SPEC #define STARTFILE_SPEC FBSD_STARTFILE_SPEC /* Provide an ENDFILE_SPEC appropriate for FreeBSD/mips. */ #undef ENDFILE_SPEC #define ENDFILE_SPEC FBSD_ENDFILE_SPEC /* Reset our LIB_SPEC which was properly set in config/freebsd.h but trashed by config/mips/elf.h. */ #undef LIB_SPEC #define LIB_SPEC FBSD_LIB_SPEC /* config/mips/mips.h defines CPP_SPEC, and it expects SUBTARGET_CPP_SPEC. */ #undef SUBTARGET_CPP_SPEC #define SUBTARGET_CPP_SPEC FBSD_CPP_SPEC /************************[ Target stuff ]***********************************/ /* Define the actual types of some ANSI-mandated types. Needs to agree with . GCC defaults come from c-decl.c, c-common.c, and config//.h. */ #undef TARGET_DEFAULT #define TARGET_DEFAULT (MASK_ABICALLS | MASK_SOFT_FLOAT) #if TARGET_ENDIAN_DEFAULT != 0 #define TARGET_VERSION fprintf (stderr, " (FreeBSD/mips)"); #else # 114 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/freebsd.h" #define TARGET_VERSION fprintf (stderr, " (FreeBSD/mipsel)"); #endif # 116 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/freebsd.h" /* The generic MIPS TARGET_CPU_CPP_BUILTINS are incorrect for FreeBSD. Specifically, they define too many namespace-invasive macros. Override them here. Note this is structured for easy comparison to the version in mips.h. */ #undef TARGET_CPU_CPP_BUILTINS #define TARGET_CPU_CPP_BUILTINS() \ do \ { \ builtin_assert ("machine=mips"); \ builtin_assert ("cpu=mips"); \ builtin_define ("__mips__"); \ \ if (TARGET_64BIT) \ builtin_define ("__mips64"); \ \ if (TARGET_FLOAT64) \ builtin_define ("__mips_fpr=64"); \ else \ builtin_define ("__mips_fpr=32"); \ \ if (TARGET_MIPS16) \ builtin_define ("__mips16"); \ \ if (mips_abi == ABI_N32) \ { \ builtin_define ("__mips_n32"); \ builtin_define ("_ABIN32=2"); \ builtin_define ("_MIPS_SIM=_ABIN32"); \ builtin_define ("_MIPS_SZLONG=32"); \ builtin_define ("_MIPS_SZPTR=32"); \ } \ else if (mips_abi == ABI_64) \ { \ builtin_define ("__mips_n64"); \ builtin_define ("_ABI64=3"); \ builtin_define ("_MIPS_SIM=_ABI64"); \ builtin_define ("_MIPS_SZLONG=64"); \ builtin_define ("_MIPS_SZPTR=64"); \ } \ else if (mips_abi == ABI_O64) \ { \ builtin_define ("__mips_o64"); \ builtin_define ("_ABIO64=4"); \ builtin_define ("_MIPS_SIM=_ABIO64"); \ builtin_define ("_MIPS_SZLONG=64"); \ builtin_define ("_MIPS_SZPTR=64"); \ } \ else if (mips_abi == ABI_EABI) \ { \ builtin_define ("__mips_eabi"); \ builtin_define ("_ABIEMB=5"); \ builtin_define ("_MIPS_SIM=_ABIEMB"); \ if (TARGET_LONG64) \ builtin_define ("_MIPS_SZLONG=64"); \ else \ builtin_define ("_MIPS_SZLONG=32"); \ if (TARGET_64BIT) \ builtin_define ("_MIPS_SZPTR=64"); \ else \ builtin_define ("_MIPS_SZPTR=32"); \ } \ else \ { \ builtin_define ("__mips_o32"); \ builtin_define ("_ABIO32=1"); \ builtin_define ("_MIPS_SIM=_ABIO32"); \ builtin_define ("_MIPS_SZLONG=32"); \ builtin_define ("_MIPS_SZPTR=32"); \ } \ if (TARGET_FLOAT64) \ builtin_define ("_MIPS_FPSET=32"); \ else \ builtin_define ("_MIPS_FPSET=16"); \ \ builtin_define ("_MIPS_SZINT=32"); \ \ MIPS_CPP_SET_PROCESSOR ("_MIPS_ARCH", mips_arch_info); \ MIPS_CPP_SET_PROCESSOR ("_MIPS_TUNE", mips_tune_info); \ \ if (ISA_MIPS1) \ { \ builtin_define ("__mips=1"); \ builtin_define ("_MIPS_ISA=_MIPS_ISA_MIPS1"); \ } \ else if (ISA_MIPS2) \ { \ builtin_define ("__mips=2"); \ builtin_define ("_MIPS_ISA=_MIPS_ISA_MIPS2"); \ } \ else if (ISA_MIPS3) \ { \ builtin_define ("__mips=3"); \ builtin_define ("_MIPS_ISA=_MIPS_ISA_MIPS3"); \ } \ else if (ISA_MIPS4) \ { \ builtin_define ("__mips=4"); \ builtin_define ("_MIPS_ISA=_MIPS_ISA_MIPS4"); \ } \ else if (ISA_MIPS32) \ { \ builtin_define ("__mips=32"); \ builtin_define ("_MIPS_ISA=_MIPS_ISA_MIPS32"); \ builtin_define ("__mips_isa_rev=1"); \ } \ else if (ISA_MIPS32R2) \ { \ builtin_define ("__mips=32"); \ builtin_define ("_MIPS_ISA=_MIPS_ISA_MIPS32"); \ builtin_define ("__mips_isa_rev=2"); \ } \ else if (ISA_MIPS64) \ { \ builtin_define ("__mips=64"); \ builtin_define ("_MIPS_ISA=_MIPS_ISA_MIPS64"); \ builtin_define ("__mips_isa_rev=1"); \ } \ else if (ISA_MIPS64R2) \ { \ builtin_define ("__mips=64"); \ builtin_define ("_MIPS_ISA=_MIPS_ISA_MIPS64"); \ builtin_define ("__mips_isa_rev=2"); \ } \ \ if (TARGET_HARD_FLOAT) \ builtin_define ("__mips_hard_float"); \ else if (TARGET_SOFT_FLOAT) \ builtin_define ("__mips_soft_float"); \ \ if (TARGET_SINGLE_FLOAT) \ builtin_define ("__mips_single_float"); \ \ if (TARGET_BIG_ENDIAN) \ builtin_define ("__MIPSEB__"); \ else \ builtin_define ("__MIPSEL__"); \ \ /* No language dialect defines. */ \ if (TARGET_ABICALLS) \ builtin_define ("__ABICALLS__"); \ } \ while (0) /* Default ABI and ISA */ /* * XXX/juli * Shouldn't this also be dependent on !mips*? */ #ifdef MIPS_CPU_STRING_DEFAULT #define DRIVER_SELF_ISA_SPEC "%{!march=*: -march=" MIPS_CPU_STRING_DEFAULT "}" #else # 269 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/freebsd.h" #define DRIVER_SELF_ISA_SPEC "%{!march=*: -march=from-abi}" #endif # 271 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/freebsd.h" #undef DRIVER_SELF_SPECS #if MIPS_ABI_DEFAULT == ABI_N32 #define DRIVER_SELF_SPECS \ "%{!EB:%{!EL:%(endian_spec)}}", \ "%{!mabi=*: -mabi=n32}", \ DRIVER_SELF_ISA_SPEC #elif MIPS_ABI_DEFAULT == ABI_64 # 279 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/freebsd.h" #define DRIVER_SELF_SPECS \ "%{!EB:%{!EL:%(endian_spec)}}", \ "%{!mabi=*: -mabi=64}", \ DRIVER_SELF_ISA_SPEC #elif MIPS_ABI_DEFAULT == ABI_O64 # 284 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/freebsd.h" #define DRIVER_SELF_SPECS \ "%{!EB:%{!EL:%(endian_spec)}}", \ "%{!mabi=*: -mabi=o64}", \ DRIVER_SELF_ISA_SPEC #else /* default to o32 */ # 289 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/freebsd.h" #define DRIVER_SELF_SPECS \ "%{!EB:%{!EL:%(endian_spec)}}", \ "%{!mabi=*: -mabi=32}", \ DRIVER_SELF_ISA_SPEC #endif # 294 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/freebsd.h" #if 0 /* Don't default to pcc-struct-return, we want to retain compatibility with older gcc versions AND pcc-struct-return is nonreentrant. (even though the SVR4 ABI for the i386 says that records and unions are returned in memory). */ #undef DEFAULT_PCC_STRUCT_RETURN #define DEFAULT_PCC_STRUCT_RETURN 0 #endif # 304 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/freebsd.h" /************************[ Assembler stuff ]********************************/ #undef SUBTARGET_ASM_SPEC #define SUBTARGET_ASM_SPEC \ "%{!mno-abicalls: %{!fno-PIC:%{!fno-pic:-KPIC}}}" /* -G is incompatible with -KPIC which is the default, so only allow objects in the small data section if the user explicitly asks for it. */ #undef MIPS_DEFAULT_GVALUE #define MIPS_DEFAULT_GVALUE 0 /* If defined, a C expression whose value is a string containing the assembler operation to identify the following data as uninitialized global data. If not defined, and neither `ASM_OUTPUT_BSS' nor `ASM_OUTPUT_ALIGNED_BSS' are defined, uninitialized global data will be output in the data section if `-fno-common' is passed, otherwise `ASM_OUTPUT_COMMON' will be used. */ #undef BSS_SECTION_ASM_OP #define BSS_SECTION_ASM_OP "\t.section\t.bss" /* Like `ASM_OUTPUT_BSS' except takes the required alignment as a separate, explicit argument. If you define this macro, it is used in place of `ASM_OUTPUT_BSS', and gives you more flexibility in handling the required alignment of the variable. The alignment is specified as the number of bits. Try to use function `asm_output_aligned_bss' defined in file `varasm.c' when defining this macro. */ #undef ASM_OUTPUT_ALIGNED_BSS #define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN) /* Standard AT&T UNIX 'as' local label spelling. */ #undef LOCAL_LABEL_PREFIX #define LOCAL_LABEL_PREFIX "." /* Currently we don't support 128bit long doubles, so for now we force n32 to be 64bit. */ #undef LONG_DOUBLE_TYPE_SIZE #define LONG_DOUBLE_TYPE_SIZE 64 #ifdef IN_LIBGCC2 #undef LIBGCC2_LONG_DOUBLE_TYPE_SIZE #define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 64 #endif # 353 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/config/mips/freebsd.h" /************************[ Debugger stuff ]*********************************/ #undef DBX_DEBUGGING_INFO #undef MIPS_DEBUGGING_INFO # 14 "./tm.h" 2 #if 0 /* expanded by -frewrite-includes */ # include "defaults.h" #endif /* expanded by -frewrite-includes */ # 14 "./tm.h" # 1 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" 1 /* Definitions of various defaults for tm.h macros. Copyright (C) 1992, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. Contributed by Ron Guilmette (rfg@monkeys.com) This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING. If not, write to the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef GCC_DEFAULTS_H #define GCC_DEFAULTS_H #ifndef GET_ENVIRONMENT #define GET_ENVIRONMENT(VALUE, NAME) do { (VALUE) = getenv (NAME); } while (0) #endif # 30 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #define obstack_chunk_alloc ((void *(*) (long)) xmalloc) #define obstack_chunk_free ((void (*) (void *)) free) #define OBSTACK_CHUNK_SIZE 0 #define gcc_obstack_init(OBSTACK) \ _obstack_begin ((OBSTACK), OBSTACK_CHUNK_SIZE, 0, \ obstack_chunk_alloc, \ obstack_chunk_free) /* Store in OUTPUT a string (made with alloca) containing an assembler-name for a local static variable or function named NAME. LABELNO is an integer which is different for each call. */ #ifndef ASM_PN_FORMAT # ifndef NO_DOT_IN_LABEL # define ASM_PN_FORMAT "%s.%lu" # else # 47 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" # ifndef NO_DOLLAR_IN_LABEL # define ASM_PN_FORMAT "%s$%lu" # else # 50 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" # define ASM_PN_FORMAT "__%s_%lu" # endif # 52 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" # endif # 53 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #endif /* ! ASM_PN_FORMAT */ # 54 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef ASM_FORMAT_PRIVATE_NAME # define ASM_FORMAT_PRIVATE_NAME(OUTPUT, NAME, LABELNO) \ do { const char *const name_ = (NAME); \ char *const output_ = (OUTPUT) = \ (char *) alloca (strlen (name_) + 32); \ sprintf (output_, ASM_PN_FORMAT, name_, (unsigned long)(LABELNO)); \ } while (0) #endif # 63 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* Choose a reasonable default for ASM_OUTPUT_ASCII. */ #ifndef ASM_OUTPUT_ASCII #define ASM_OUTPUT_ASCII(MYFILE, MYSTRING, MYLENGTH) \ do { \ FILE *_hide_asm_out_file = (MYFILE); \ const unsigned char *_hide_p = (const unsigned char *) (MYSTRING); \ int _hide_thissize = (MYLENGTH); \ { \ FILE *asm_out_file = _hide_asm_out_file; \ const unsigned char *p = _hide_p; \ int thissize = _hide_thissize; \ int i; \ fprintf (asm_out_file, "\t.ascii \""); \ \ for (i = 0; i < thissize; i++) \ { \ int c = p[i]; \ if (c == '\"' || c == '\\') \ putc ('\\', asm_out_file); \ if (ISPRINT(c)) \ putc (c, asm_out_file); \ else \ { \ fprintf (asm_out_file, "\\%o", c); \ /* After an octal-escape, if a digit follows, \ terminate one string constant and start another. \ The VAX assembler fails to stop reading the escape \ after three digits, so this is the only way we \ can get it to parse the data properly. */ \ if (i < thissize - 1 && ISDIGIT(p[i + 1])) \ fprintf (asm_out_file, "\"\n\t.ascii \""); \ } \ } \ fprintf (asm_out_file, "\"\n"); \ } \ } \ while (0) #endif # 103 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* This is how we tell the assembler to equate two values. */ #ifdef SET_ASM_OP #ifndef ASM_OUTPUT_DEF #define ASM_OUTPUT_DEF(FILE,LABEL1,LABEL2) \ do { fprintf ((FILE), "%s", SET_ASM_OP); \ assemble_name (FILE, LABEL1); \ fprintf (FILE, ","); \ assemble_name (FILE, LABEL2); \ fprintf (FILE, "\n"); \ } while (0) #endif # 115 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #endif # 116 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #if defined (HAVE_AS_TLS) && !defined (ASM_OUTPUT_TLS_COMMON) #define ASM_OUTPUT_TLS_COMMON(FILE, DECL, NAME, SIZE) \ do \ { \ fprintf ((FILE), "\t.tls_common\t"); \ assemble_name ((FILE), (NAME)); \ fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \ (SIZE), DECL_ALIGN (DECL) / BITS_PER_UNIT); \ } \ while (0) #endif # 128 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* Decide whether to defer emitting the assembler output for an equate of two values. The default is to not defer output. */ #ifndef TARGET_DEFERRED_OUTPUT_DEFS #define TARGET_DEFERRED_OUTPUT_DEFS(DECL,TARGET) false #endif # 134 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* This is how to output the definition of a user-level label named NAME, such as the label on a static function or variable NAME. */ #ifndef ASM_OUTPUT_LABEL #define ASM_OUTPUT_LABEL(FILE,NAME) \ do { assemble_name ((FILE), (NAME)); fputs (":\n", (FILE)); } while (0) #endif # 142 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* Output the definition of a compiler-generated label named NAME. */ #ifndef ASM_OUTPUT_INTERNAL_LABEL #define ASM_OUTPUT_INTERNAL_LABEL(FILE,NAME) \ do { \ assemble_name_raw ((FILE), (NAME)); \ fputs (":\n", (FILE)); \ } while (0) #endif # 151 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* This is how to output a reference to a user-level label named NAME. */ #ifndef ASM_OUTPUT_LABELREF #define ASM_OUTPUT_LABELREF(FILE,NAME) asm_fprintf ((FILE), "%U%s", (NAME)) #endif # 157 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* Allow target to print debug info labels specially. This is useful for VLIW targets, since debug info labels should go into the middle of instruction bundles instead of breaking them. */ #ifndef ASM_OUTPUT_DEBUG_LABEL #define ASM_OUTPUT_DEBUG_LABEL(FILE, PREFIX, NUM) \ (*targetm.asm_out.internal_label) (FILE, PREFIX, NUM) #endif # 166 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* This is how we tell the assembler that a symbol is weak. */ #ifndef ASM_OUTPUT_WEAK_ALIAS #if defined (ASM_WEAKEN_LABEL) && defined (ASM_OUTPUT_DEF) #define ASM_OUTPUT_WEAK_ALIAS(STREAM, NAME, VALUE) \ do \ { \ ASM_WEAKEN_LABEL (STREAM, NAME); \ if (VALUE) \ ASM_OUTPUT_DEF (STREAM, NAME, VALUE); \ } \ while (0) #endif # 179 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #endif # 180 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* This is how we tell the assembler that a symbol is a weak alias to another symbol that doesn't require the other symbol to be defined. Uses of the former will turn into weak uses of the latter, i.e., uses that, in case the latter is undefined, will not cause errors, and will add it to the symbol table as weak undefined. However, if the latter is referenced directly, a strong reference prevails. */ #ifndef ASM_OUTPUT_WEAKREF #if defined HAVE_GAS_WEAKREF #define ASM_OUTPUT_WEAKREF(FILE, DECL, NAME, VALUE) \ do \ { \ fprintf ((FILE), "\t.weakref\t"); \ assemble_name ((FILE), (NAME)); \ fprintf ((FILE), ","); \ assemble_name ((FILE), (VALUE)); \ fprintf ((FILE), "\n"); \ } \ while (0) #endif # 200 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #endif # 201 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* How to emit a .type directive. */ #ifndef ASM_OUTPUT_TYPE_DIRECTIVE #if defined TYPE_ASM_OP && defined TYPE_OPERAND_FMT #define ASM_OUTPUT_TYPE_DIRECTIVE(STREAM, NAME, TYPE) \ do \ { \ fputs (TYPE_ASM_OP, STREAM); \ assemble_name (STREAM, NAME); \ fputs (", ", STREAM); \ fprintf (STREAM, TYPE_OPERAND_FMT, TYPE); \ putc ('\n', STREAM); \ } \ while (0) #endif # 216 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #endif # 217 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* How to emit a .size directive. */ #ifndef ASM_OUTPUT_SIZE_DIRECTIVE #ifdef SIZE_ASM_OP #define ASM_OUTPUT_SIZE_DIRECTIVE(STREAM, NAME, SIZE) \ do \ { \ HOST_WIDE_INT size_ = (SIZE); \ fputs (SIZE_ASM_OP, STREAM); \ assemble_name (STREAM, NAME); \ fprintf (STREAM, ", " HOST_WIDE_INT_PRINT_DEC "\n", size_); \ } \ while (0) #define ASM_OUTPUT_MEASURED_SIZE(STREAM, NAME) \ do \ { \ fputs (SIZE_ASM_OP, STREAM); \ assemble_name (STREAM, NAME); \ fputs (", .-", STREAM); \ assemble_name (STREAM, NAME); \ putc ('\n', STREAM); \ } \ while (0) #endif # 243 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #endif # 244 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* This determines whether or not we support weak symbols. */ #ifndef SUPPORTS_WEAK #if defined (ASM_WEAKEN_LABEL) || defined (ASM_WEAKEN_DECL) #define SUPPORTS_WEAK 1 #else # 250 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #define SUPPORTS_WEAK 0 #endif # 252 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #endif # 253 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* This determines whether or not we support link-once semantics. */ #ifndef SUPPORTS_ONE_ONLY #ifdef MAKE_DECL_ONE_ONLY #define SUPPORTS_ONE_ONLY 1 #else # 259 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #define SUPPORTS_ONE_ONLY 0 #endif # 261 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #endif # 262 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* This determines whether weak symbols must be left out of a static archive's table of contents. Defining this macro to be nonzero has the consequence that certain symbols will not be made weak that otherwise would be. The C++ ABI requires this macro to be zero; see the documentation. */ #ifndef TARGET_WEAK_NOT_IN_ARCHIVE_TOC #define TARGET_WEAK_NOT_IN_ARCHIVE_TOC 0 #endif # 271 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* This determines whether or not we need linkonce unwind information. */ #ifndef TARGET_USES_WEAK_UNWIND_INFO #define TARGET_USES_WEAK_UNWIND_INFO 0 #endif # 276 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* By default, there is no prefix on user-defined symbols. */ #ifndef USER_LABEL_PREFIX #define USER_LABEL_PREFIX "" #endif # 281 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* If the target supports weak symbols, define TARGET_ATTRIBUTE_WEAK to provide a weak attribute. Else define it to nothing. This would normally belong in ansidecl.h, but SUPPORTS_WEAK is not available at that time. Note, this is only for use by target files which we know are to be compiled by GCC. */ #ifndef TARGET_ATTRIBUTE_WEAK # if SUPPORTS_WEAK # define TARGET_ATTRIBUTE_WEAK __attribute__ ((weak)) # else # 294 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" # define TARGET_ATTRIBUTE_WEAK # endif # 296 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #endif # 297 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* Determines whether we may use common symbols to represent one-only semantics (a.k.a. "vague linkage"). */ #ifndef USE_COMMON_FOR_ONE_ONLY # define USE_COMMON_FOR_ONE_ONLY 1 #endif # 303 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* By default we can assume that all global symbols are in one namespace, across all shared libraries. */ #ifndef MULTIPLE_SYMBOL_SPACES # define MULTIPLE_SYMBOL_SPACES 0 #endif # 309 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* If the target supports init_priority C++ attribute, give SUPPORTS_INIT_PRIORITY a nonzero value. */ #ifndef SUPPORTS_INIT_PRIORITY #define SUPPORTS_INIT_PRIORITY 1 #endif /* SUPPORTS_INIT_PRIORITY */ # 315 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* If duplicate library search directories can be removed from a linker command without changing the linker's semantics, give this symbol a nonzero. */ #ifndef LINK_ELIMINATE_DUPLICATE_LDIRECTORIES #define LINK_ELIMINATE_DUPLICATE_LDIRECTORIES 0 #endif /* LINK_ELIMINATE_DUPLICATE_LDIRECTORIES */ # 322 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* If we have a definition of INCOMING_RETURN_ADDR_RTX, assume that the rest of the DWARF 2 frame unwind support is also provided. */ #if !defined (DWARF2_UNWIND_INFO) && defined (INCOMING_RETURN_ADDR_RTX) #define DWARF2_UNWIND_INFO 1 #endif # 328 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* If we have named sections, and we're using crtstuff to run ctors, use them for registering eh frame information. */ #if defined (TARGET_ASM_NAMED_SECTION) && DWARF2_UNWIND_INFO \ && !defined(EH_FRAME_IN_DATA_SECTION) #ifndef EH_FRAME_SECTION_NAME #define EH_FRAME_SECTION_NAME ".eh_frame" #endif # 336 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #endif # 337 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* On many systems, different EH table encodings are used under difference circumstances. Some will require runtime relocations; some will not. For those that do not require runtime relocations, we would like to make the table read-only. However, since the read-only tables may need to be combined with read-write tables that do require runtime relocation, it is not safe to make the tables read-only unless the linker will merge read-only and read-write sections into a single read-write section. If your linker does not have this ability, but your system is such that no encoding used with non-PIC code will ever require a runtime relocation, then you can define EH_TABLES_CAN_BE_READ_ONLY to 1 in your target configuration file. */ #ifndef EH_TABLES_CAN_BE_READ_ONLY #ifdef HAVE_LD_RO_RW_SECTION_MIXING #define EH_TABLES_CAN_BE_READ_ONLY 1 #else # 354 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #define EH_TABLES_CAN_BE_READ_ONLY 0 #endif # 356 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #endif # 357 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* If we have named section and we support weak symbols, then use the .jcr section for recording java classes which need to be registered at program start-up time. */ #if defined (TARGET_ASM_NAMED_SECTION) && SUPPORTS_WEAK #ifndef JCR_SECTION_NAME #define JCR_SECTION_NAME ".jcr" #endif # 365 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #endif # 366 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* This decision to use a .jcr section can be overridden by defining USE_JCR_SECTION to 0 in target file. This is necessary if target can define JCR_SECTION_NAME but does not have crtstuff or linker support for .jcr section. */ #ifndef TARGET_USE_JCR_SECTION #ifdef JCR_SECTION_NAME #define TARGET_USE_JCR_SECTION 1 #else # 375 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #define TARGET_USE_JCR_SECTION 0 #endif # 377 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #endif # 378 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* Number of hardware registers that go into the DWARF-2 unwind info. If not defined, equals FIRST_PSEUDO_REGISTER */ #ifndef DWARF_FRAME_REGISTERS #define DWARF_FRAME_REGISTERS FIRST_PSEUDO_REGISTER #endif # 385 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* How to renumber registers for dbx and gdb. If not defined, assume no renumbering is necessary. */ #ifndef DBX_REGISTER_NUMBER #define DBX_REGISTER_NUMBER(REGNO) (REGNO) #endif # 392 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* Default sizes for base C types. If the sizes are different for your target, you should override these values by defining the appropriate symbols in your tm.h file. */ #ifndef BITS_PER_UNIT #define BITS_PER_UNIT 8 #endif # 400 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef BITS_PER_WORD #define BITS_PER_WORD (BITS_PER_UNIT * UNITS_PER_WORD) #endif # 404 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef CHAR_TYPE_SIZE #define CHAR_TYPE_SIZE BITS_PER_UNIT #endif # 408 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef BOOL_TYPE_SIZE /* `bool' has size and alignment `1', on almost all platforms. */ #define BOOL_TYPE_SIZE CHAR_TYPE_SIZE #endif # 413 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef SHORT_TYPE_SIZE #define SHORT_TYPE_SIZE (BITS_PER_UNIT * MIN ((UNITS_PER_WORD + 1) / 2, 2)) #endif # 417 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef INT_TYPE_SIZE #define INT_TYPE_SIZE BITS_PER_WORD #endif # 421 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef LONG_TYPE_SIZE #define LONG_TYPE_SIZE BITS_PER_WORD #endif # 425 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef LONG_LONG_TYPE_SIZE #define LONG_LONG_TYPE_SIZE (BITS_PER_WORD * 2) #endif # 429 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef WCHAR_TYPE_SIZE #define WCHAR_TYPE_SIZE INT_TYPE_SIZE #endif # 433 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef FLOAT_TYPE_SIZE #define FLOAT_TYPE_SIZE BITS_PER_WORD #endif # 437 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef DOUBLE_TYPE_SIZE #define DOUBLE_TYPE_SIZE (BITS_PER_WORD * 2) #endif # 441 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef LONG_DOUBLE_TYPE_SIZE #define LONG_DOUBLE_TYPE_SIZE (BITS_PER_WORD * 2) #endif # 445 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef DECIMAL32_TYPE_SIZE #define DECIMAL32_TYPE_SIZE 32 #endif # 449 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef DECIMAL64_TYPE_SIZE #define DECIMAL64_TYPE_SIZE 64 #endif # 453 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef DECIMAL128_TYPE_SIZE #define DECIMAL128_TYPE_SIZE 128 #endif # 457 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* Width in bits of a pointer. Mind the value of the macro `Pmode'. */ #ifndef POINTER_SIZE #define POINTER_SIZE BITS_PER_WORD #endif # 462 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef PIC_OFFSET_TABLE_REGNUM #define PIC_OFFSET_TABLE_REGNUM INVALID_REGNUM #endif # 466 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef TARGET_DLLIMPORT_DECL_ATTRIBUTES #define TARGET_DLLIMPORT_DECL_ATTRIBUTES 0 #endif # 470 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef TARGET_DECLSPEC #if TARGET_DLLIMPORT_DECL_ATTRIBUTES /* If the target supports the "dllimport" attribute, users are probably used to the "__declspec" syntax. */ #define TARGET_DECLSPEC 1 #else # 477 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #define TARGET_DECLSPEC 0 #endif # 479 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #endif # 480 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* By default, the preprocessor should be invoked the same way in C++ as in C. */ #ifndef CPLUSPLUS_CPP_SPEC #ifdef CPP_SPEC #define CPLUSPLUS_CPP_SPEC CPP_SPEC #endif # 487 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #endif # 488 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef ACCUMULATE_OUTGOING_ARGS #define ACCUMULATE_OUTGOING_ARGS 0 #endif # 492 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* Supply a default definition for PUSH_ARGS. */ #ifndef PUSH_ARGS #ifdef PUSH_ROUNDING #define PUSH_ARGS !ACCUMULATE_OUTGOING_ARGS #else # 498 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #define PUSH_ARGS 0 #endif # 500 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #endif # 501 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* Decide whether a function's arguments should be processed from first to last or from last to first. They should if the stack and args grow in opposite directions, but only if we have push insns. */ #ifdef PUSH_ROUNDING #ifndef PUSH_ARGS_REVERSED #if defined (STACK_GROWS_DOWNWARD) != defined (ARGS_GROW_DOWNWARD) #define PUSH_ARGS_REVERSED PUSH_ARGS #endif # 514 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #endif # 515 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #endif # 517 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef PUSH_ARGS_REVERSED #define PUSH_ARGS_REVERSED 0 #endif # 521 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* If PREFERRED_STACK_BOUNDARY is not defined, set it to STACK_BOUNDARY. STACK_BOUNDARY is required. */ #ifndef PREFERRED_STACK_BOUNDARY #define PREFERRED_STACK_BOUNDARY STACK_BOUNDARY #endif # 527 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef TARGET_DEFAULT_PACK_STRUCT #define TARGET_DEFAULT_PACK_STRUCT 0 #endif # 531 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* By default, the C++ compiler will use function addresses in the vtable entries. Setting this nonzero tells the compiler to use function descriptors instead. The value of this macro says how many words wide the descriptor is (normally 2). It is assumed that the address of a function descriptor may be treated as a pointer to a function. */ #ifndef TARGET_VTABLE_USES_DESCRIPTORS #define TARGET_VTABLE_USES_DESCRIPTORS 0 #endif # 541 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* By default, the vtable entries are void pointers, the so the alignment is the same as pointer alignment. The value of this macro specifies the alignment of the vtable entry in bits. It should be defined only when special alignment is necessary. */ #ifndef TARGET_VTABLE_ENTRY_ALIGN #define TARGET_VTABLE_ENTRY_ALIGN POINTER_SIZE #endif # 549 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* There are a few non-descriptor entries in the vtable at offsets below zero. If these entries must be padded (say, to preserve the alignment specified by TARGET_VTABLE_ENTRY_ALIGN), set this to the number of words in each data entry. */ #ifndef TARGET_VTABLE_DATA_ENTRY_DISTANCE #define TARGET_VTABLE_DATA_ENTRY_DISTANCE 1 #endif # 557 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* Decide whether it is safe to use a local alias for a virtual function when constructing thunks. */ #ifndef TARGET_USE_LOCAL_THUNK_ALIAS_P #ifdef ASM_OUTPUT_DEF #define TARGET_USE_LOCAL_THUNK_ALIAS_P(DECL) 1 #else # 564 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #define TARGET_USE_LOCAL_THUNK_ALIAS_P(DECL) 0 #endif # 566 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #endif # 567 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* Select a format to encode pointers in exception handling data. We prefer those that result in fewer dynamic relocations. Assume no special support here and encode direct references. */ #ifndef ASM_PREFERRED_EH_DATA_FORMAT #define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) DW_EH_PE_absptr #endif # 574 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* By default, the C++ compiler will use the lowest bit of the pointer to function to indicate a pointer-to-member-function points to a virtual member function. However, if FUNCTION_BOUNDARY indicates function addresses aren't always even, the lowest bit of the delta field will be used. */ #ifndef TARGET_PTRMEMFUNC_VBIT_LOCATION #define TARGET_PTRMEMFUNC_VBIT_LOCATION \ (FUNCTION_BOUNDARY >= 2 * BITS_PER_UNIT \ ? ptrmemfunc_vbit_in_pfn : ptrmemfunc_vbit_in_delta) #endif # 585 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef DEFAULT_GDB_EXTENSIONS #define DEFAULT_GDB_EXTENSIONS 1 #endif # 589 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* If more than one debugging type is supported, you must define PREFERRED_DEBUGGING_TYPE to choose the default. */ #if 1 < (defined (DBX_DEBUGGING_INFO) + defined (SDB_DEBUGGING_INFO) \ + defined (DWARF2_DEBUGGING_INFO) + defined (XCOFF_DEBUGGING_INFO) \ + defined (VMS_DEBUGGING_INFO)) #ifndef PREFERRED_DEBUGGING_TYPE #error You must define PREFERRED_DEBUGGING_TYPE #endif /* no PREFERRED_DEBUGGING_TYPE */ # 599 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* If only one debugging format is supported, define PREFERRED_DEBUGGING_TYPE here so other code needn't care. */ #elif defined DBX_DEBUGGING_INFO # 603 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #define PREFERRED_DEBUGGING_TYPE DBX_DEBUG #elif defined SDB_DEBUGGING_INFO # 606 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #define PREFERRED_DEBUGGING_TYPE SDB_DEBUG #elif defined DWARF2_DEBUGGING_INFO # 609 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG #elif defined VMS_DEBUGGING_INFO # 612 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #define PREFERRED_DEBUGGING_TYPE VMS_AND_DWARF2_DEBUG #elif defined XCOFF_DEBUGGING_INFO # 615 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #define PREFERRED_DEBUGGING_TYPE XCOFF_DEBUG #else # 618 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* No debugging format is supported by this target. */ #define PREFERRED_DEBUGGING_TYPE NO_DEBUG #endif # 621 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* Define codes for all the float formats that we know of. */ #define UNKNOWN_FLOAT_FORMAT 0 #define IEEE_FLOAT_FORMAT 1 #define VAX_FLOAT_FORMAT 2 #define IBM_FLOAT_FORMAT 3 #define C4X_FLOAT_FORMAT 4 /* Default to IEEE float if not specified. Nearly all machines use it. */ #ifndef TARGET_FLOAT_FORMAT #define TARGET_FLOAT_FORMAT IEEE_FLOAT_FORMAT #endif # 633 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef LARGEST_EXPONENT_IS_NORMAL #define LARGEST_EXPONENT_IS_NORMAL(SIZE) 0 #endif # 637 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef ROUND_TOWARDS_ZERO #define ROUND_TOWARDS_ZERO 0 #endif # 641 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef MODE_HAS_NANS #define MODE_HAS_NANS(MODE) \ (FLOAT_MODE_P (MODE) \ && TARGET_FLOAT_FORMAT == IEEE_FLOAT_FORMAT \ && !LARGEST_EXPONENT_IS_NORMAL (GET_MODE_BITSIZE (MODE))) #endif # 648 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef MODE_HAS_INFINITIES #define MODE_HAS_INFINITIES(MODE) \ (FLOAT_MODE_P (MODE) \ && TARGET_FLOAT_FORMAT == IEEE_FLOAT_FORMAT \ && !LARGEST_EXPONENT_IS_NORMAL (GET_MODE_BITSIZE (MODE))) #endif # 655 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef MODE_HAS_SIGNED_ZEROS #define MODE_HAS_SIGNED_ZEROS(MODE) \ (FLOAT_MODE_P (MODE) && TARGET_FLOAT_FORMAT == IEEE_FLOAT_FORMAT) #endif # 660 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef MODE_HAS_SIGN_DEPENDENT_ROUNDING #define MODE_HAS_SIGN_DEPENDENT_ROUNDING(MODE) \ (FLOAT_MODE_P (MODE) \ && TARGET_FLOAT_FORMAT == IEEE_FLOAT_FORMAT \ && !ROUND_TOWARDS_ZERO) #endif # 667 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef FLOAT_LIB_COMPARE_RETURNS_BOOL #define FLOAT_LIB_COMPARE_RETURNS_BOOL(MODE, COMPARISON) false #endif # 671 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* True if the targets integer-comparison functions return { 0, 1, 2 } to indicate { <, ==, > }. False if { -1, 0, 1 } is used instead. The libgcc routines are biased. */ #ifndef TARGET_LIB_INT_CMP_BIASED #define TARGET_LIB_INT_CMP_BIASED (true) #endif # 678 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* If FLOAT_WORDS_BIG_ENDIAN is not defined in the header files, then the word-endianness is the same as for integers. */ #ifndef FLOAT_WORDS_BIG_ENDIAN #define FLOAT_WORDS_BIG_ENDIAN WORDS_BIG_ENDIAN #endif # 684 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef TARGET_FLT_EVAL_METHOD #define TARGET_FLT_EVAL_METHOD 0 #endif # 688 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef TARGET_DEC_EVAL_METHOD #define TARGET_DEC_EVAL_METHOD 2 #endif # 692 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef HOT_TEXT_SECTION_NAME #define HOT_TEXT_SECTION_NAME ".text.hot" #endif # 696 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef UNLIKELY_EXECUTED_TEXT_SECTION_NAME #define UNLIKELY_EXECUTED_TEXT_SECTION_NAME ".text.unlikely" #endif # 700 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef HAS_LONG_COND_BRANCH #define HAS_LONG_COND_BRANCH 0 #endif # 704 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef HAS_LONG_UNCOND_BRANCH #define HAS_LONG_UNCOND_BRANCH 0 #endif # 708 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* By default, only attempt to parallelize bitwise operations, and possibly adds/subtracts using bit-twiddling. */ #ifndef UNITS_PER_SIMD_WORD #define UNITS_PER_SIMD_WORD UNITS_PER_WORD #endif # 714 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* Determine whether __cxa_atexit, rather than atexit, is used to register C++ destructors for local statics and global objects. */ #ifndef DEFAULT_USE_CXA_ATEXIT #define DEFAULT_USE_CXA_ATEXIT 0 #endif # 720 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* If none of these macros are defined, the port must use the new technique of defining constraints in the machine description. tm_p.h will define those macros that machine-independent code still uses. */ #if !defined CONSTRAINT_LEN \ && !defined REG_CLASS_FROM_LETTER \ && !defined REG_CLASS_FROM_CONSTRAINT \ && !defined CONST_OK_FOR_LETTER_P \ && !defined CONST_OK_FOR_CONSTRAINT_P \ && !defined CONST_DOUBLE_OK_FOR_LETTER_P \ && !defined CONST_DOUBLE_OK_FOR_CONSTRAINT_P \ && !defined EXTRA_CONSTRAINT \ && !defined EXTRA_CONSTRAINT_STR \ && !defined EXTRA_MEMORY_CONSTRAINT \ && !defined EXTRA_ADDRESS_CONSTRAINT #define USE_MD_CONSTRAINTS #if GCC_VERSION >= 3000 && defined IN_GCC /* These old constraint macros shouldn't appear anywhere in a configuration using MD constraint definitions. */ #pragma GCC poison REG_CLASS_FROM_LETTER CONST_OK_FOR_LETTER_P \ CONST_DOUBLE_OK_FOR_LETTER_P EXTRA_CONSTRAINT #endif # 745 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #else /* old constraint mechanism in use */ # 747 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* Determine whether extra constraint letter should be handled via address reload (like 'o'). */ #ifndef EXTRA_MEMORY_CONSTRAINT #define EXTRA_MEMORY_CONSTRAINT(C,STR) 0 #endif # 753 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* Determine whether extra constraint letter should be handled as an address (like 'p'). */ #ifndef EXTRA_ADDRESS_CONSTRAINT #define EXTRA_ADDRESS_CONSTRAINT(C,STR) 0 #endif # 759 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* When a port defines CONSTRAINT_LEN, it should use DEFAULT_CONSTRAINT_LEN for all the characters that it does not want to change, so things like the 'length' of a digit in a matching constraint is an implementation detail, and not part of the interface. */ #define DEFAULT_CONSTRAINT_LEN(C,STR) 1 #ifndef CONSTRAINT_LEN #define CONSTRAINT_LEN(C,STR) DEFAULT_CONSTRAINT_LEN (C, STR) #endif # 769 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #if defined (CONST_OK_FOR_LETTER_P) && ! defined (CONST_OK_FOR_CONSTRAINT_P) #define CONST_OK_FOR_CONSTRAINT_P(VAL,C,STR) CONST_OK_FOR_LETTER_P (VAL, C) #endif # 773 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #if defined (CONST_DOUBLE_OK_FOR_LETTER_P) && ! defined (CONST_DOUBLE_OK_FOR_CONSTRAINT_P) #define CONST_DOUBLE_OK_FOR_CONSTRAINT_P(OP,C,STR) \ CONST_DOUBLE_OK_FOR_LETTER_P (OP, C) #endif # 778 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef REG_CLASS_FROM_CONSTRAINT #define REG_CLASS_FROM_CONSTRAINT(C,STR) REG_CLASS_FROM_LETTER (C) #endif # 782 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #if defined (EXTRA_CONSTRAINT) && ! defined (EXTRA_CONSTRAINT_STR) #define EXTRA_CONSTRAINT_STR(OP, C,STR) EXTRA_CONSTRAINT (OP, C) #endif # 786 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #endif /* old constraint mechanism in use */ # 788 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef REGISTER_MOVE_COST #define REGISTER_MOVE_COST(m, x, y) 2 #endif # 792 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* Determine whether the entire c99 runtime is present in the runtime library. */ #ifndef TARGET_C99_FUNCTIONS #define TARGET_C99_FUNCTIONS 0 #endif # 798 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* Indicate that CLZ and CTZ are undefined at zero. */ #ifndef CLZ_DEFINED_VALUE_AT_ZERO #define CLZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) 0 #endif # 803 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef CTZ_DEFINED_VALUE_AT_ZERO #define CTZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) 0 #endif # 806 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* Provide a default value for STORE_FLAG_VALUE. */ #ifndef STORE_FLAG_VALUE #define STORE_FLAG_VALUE 1 #endif # 811 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* This macro is used to determine what the largest unit size that move_by_pieces can use is. */ /* MOVE_MAX_PIECES is the number of bytes at a time which we can move efficiently, as opposed to MOVE_MAX which is the maximum number of bytes we can move with a single instruction. */ #ifndef MOVE_MAX_PIECES #define MOVE_MAX_PIECES MOVE_MAX #endif # 822 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef STACK_POINTER_OFFSET #define STACK_POINTER_OFFSET 0 #endif # 826 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef LOCAL_REGNO #define LOCAL_REGNO(REGNO) 0 #endif # 830 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* EXIT_IGNORE_STACK should be nonzero if, when returning from a function, the stack pointer does not matter. The value is tested only in functions that have frame pointers. */ #ifndef EXIT_IGNORE_STACK #define EXIT_IGNORE_STACK 0 #endif # 837 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* Assume that case vectors are not pc-relative. */ #ifndef CASE_VECTOR_PC_RELATIVE #define CASE_VECTOR_PC_RELATIVE 0 #endif # 842 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* Assume that trampolines need function alignment. */ #ifndef TRAMPOLINE_ALIGNMENT #define TRAMPOLINE_ALIGNMENT FUNCTION_BOUNDARY #endif # 847 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* Register mappings for target machines without register windows. */ #ifndef INCOMING_REGNO #define INCOMING_REGNO(N) (N) #endif # 852 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef OUTGOING_REGNO #define OUTGOING_REGNO(N) (N) #endif # 856 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef SHIFT_COUNT_TRUNCATED #define SHIFT_COUNT_TRUNCATED 0 #endif # 860 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef LEGITIMIZE_ADDRESS #define LEGITIMIZE_ADDRESS(X, OLDX, MODE, WIN) #endif # 864 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef LEGITIMATE_PIC_OPERAND_P #define LEGITIMATE_PIC_OPERAND_P(X) 1 #endif # 868 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef REVERSIBLE_CC_MODE #define REVERSIBLE_CC_MODE(MODE) 0 #endif # 872 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* Biggest alignment supported by the object file format of this machine. */ #ifndef MAX_OFILE_ALIGNMENT #define MAX_OFILE_ALIGNMENT BIGGEST_ALIGNMENT #endif # 877 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef FRAME_GROWS_DOWNWARD #define FRAME_GROWS_DOWNWARD 0 #endif # 881 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* On most machines, the CFA coincides with the first incoming parm. */ #ifndef ARG_POINTER_CFA_OFFSET #define ARG_POINTER_CFA_OFFSET(FNDECL) FIRST_PARM_OFFSET (FNDECL) #endif # 886 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* On most machines, we use the CFA as DW_AT_frame_base. */ #ifndef CFA_FRAME_BASE_OFFSET #define CFA_FRAME_BASE_OFFSET(FNDECL) 0 #endif # 891 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" /* The offset from the incoming value of %sp to the top of the stack frame for the current function. */ #ifndef INCOMING_FRAME_SP_OFFSET #define INCOMING_FRAME_SP_OFFSET 0 #endif # 897 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #ifndef HARD_REGNO_NREGS_HAS_PADDING #define HARD_REGNO_NREGS_HAS_PADDING(REGNO, MODE) 0 #define HARD_REGNO_NREGS_WITH_PADDING(REGNO, MODE) -1 #endif # 902 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" #endif /* ! GCC_DEFAULTS_H */ # 904 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/defaults.h" # 15 "./tm.h" 2 #endif # 16 "./tm.h" #if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET #if 0 /* expanded by -frewrite-includes */ # include "insn-constants.h" #endif /* expanded by -frewrite-includes */ # 17 "./tm.h" # 18 "./tm.h" #if 0 /* expanded by -frewrite-includes */ # include "insn-flags.h" #endif /* expanded by -frewrite-includes */ # 18 "./tm.h" # 19 "./tm.h" #endif # 20 "./tm.h" #endif /* GCC_TM_H */ # 21 "./tm.h" #define EXTRA_MODES_FILE "mips/mips-modes.def" # 71 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" 2 #if 0 /* expanded by -frewrite-includes */ #include "unwind-dw2-fde.h" #endif /* expanded by -frewrite-includes */ # 71 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" # 1 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/unwind-dw2-fde.h" 1 /* Subroutines needed for unwinding stack frames for exception handling. */ /* Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004 Free Software Foundation, Inc. Contributed by Jason Merrill . This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. In addition to the permissions in the GNU General Public License, the Free Software Foundation gives you unlimited permission to link the compiled version of this file into combinations with other programs, and to distribute those combinations without any restriction coming from the use of this file. (The General Public License restrictions do apply in other respects; for example, they cover modification of the file, and distribution when not linked into a combine executable.) GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING. If not, write to the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef GCC_UNWIND_DW2_FDE_H #define GCC_UNWIND_DW2_FDE_H #ifndef HIDE_EXPORTS #pragma GCC visibility push(default) #endif # 38 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/unwind-dw2-fde.h" struct fde_vector { const void *orig_data; size_t count; const struct dwarf_fde *array[]; }; struct object { void *pc_begin; void *tbase; void *dbase; union { const struct dwarf_fde *single; struct dwarf_fde **array; struct fde_vector *sort; } u; union { struct { unsigned long sorted : 1; unsigned long from_array : 1; unsigned long mixed_encoding : 1; unsigned long encoding : 8; /* ??? Wish there was an easy way to detect a 64-bit host here; we've got 32 bits left to play with... */ unsigned long count : 21; } b; size_t i; } s; #ifdef DWARF2_OBJECT_END_PTR_EXTENSION char *fde_end; #endif # 73 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/unwind-dw2-fde.h" struct object *next; }; /* This is the original definition of struct object. While the struct itself was opaque to users, they did know how large it was, and allocate one statically in crtbegin for each DSO. Keep this around so that we're aware of the static size limitations for the new struct. */ struct old_object { void *pc_begin; void *pc_end; struct dwarf_fde *fde_begin; struct dwarf_fde **fde_array; size_t count; struct old_object *next; }; struct dwarf_eh_bases { void *tbase; void *dbase; void *func; }; extern void __register_frame_info_bases (const void *, struct object *, void *, void *); extern void __register_frame_info (const void *, struct object *); extern void __register_frame (void *); extern void __register_frame_info_table_bases (void *, struct object *, void *, void *); extern void __register_frame_info_table (void *, struct object *); extern void __register_frame_table (void *); extern void *__deregister_frame_info (const void *); extern void *__deregister_frame_info_bases (const void *); extern void __deregister_frame (void *); typedef int sword __attribute__ ((mode (SI))); typedef unsigned int uword __attribute__ ((mode (SI))); typedef unsigned int uaddr __attribute__ ((mode (pointer))); typedef int saddr __attribute__ ((mode (pointer))); typedef unsigned char ubyte; /* Terminology: CIE - Common Information Element FDE - Frame Descriptor Element There is one per function, and it describes where the function code is located, and what the register lifetimes and stack layout are within the function. The data structures are defined in the DWARF specification, although not in a very readable way (see LITERATURE). Every time an exception is thrown, the code needs to locate the FDE for the current function, and starts to look for exception regions from that FDE. This works in a two-level search: a) in a linear search, find the shared image (i.e. DLL) containing the PC b) using the FDE table for that shared object, locate the FDE using binary search (which requires the sorting). */ /* The first few fields of a CIE. The CIE_id field is 0 for a CIE, to distinguish it from a valid FDE. FDEs are aligned to an addressing unit boundary, but the fields within are unaligned. */ struct dwarf_cie { uword length; sword CIE_id; ubyte version; unsigned char augmentation[]; } __attribute__ ((packed, aligned (__alignof__ (void *)))); /* The first few fields of an FDE. */ struct dwarf_fde { uword length; sword CIE_delta; unsigned char pc_begin[]; } __attribute__ ((packed, aligned (__alignof__ (void *)))); typedef struct dwarf_fde fde; /* Locate the CIE for a given FDE. */ static inline const struct dwarf_cie * get_cie (const struct dwarf_fde *f) { return (void *)&f->CIE_delta - f->CIE_delta; } static inline const fde * next_fde (const fde *f) { return (const fde *) ((char *) f + f->length + sizeof (f->length)); } extern const fde * _Unwind_Find_FDE (void *, struct dwarf_eh_bases *); static inline int last_fde (struct object *obj __attribute__ ((__unused__)), const fde *f) { #ifdef DWARF2_OBJECT_END_PTR_EXTENSION return (char *)f == obj->fde_end || f->length == 0; #else # 180 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/unwind-dw2-fde.h" return f->length == 0; #endif # 182 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/unwind-dw2-fde.h" } #ifndef HIDE_EXPORTS #pragma GCC visibility pop #endif # 187 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/unwind-dw2-fde.h" #endif /* unwind-dw2-fde.h */ # 189 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/unwind-dw2-fde.h" # 72 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" 2 #ifndef FORCE_CODE_SECTION_ALIGN # define FORCE_CODE_SECTION_ALIGN #endif # 76 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #ifndef CRT_CALL_STATIC_FUNCTION # define CRT_CALL_STATIC_FUNCTION(SECTION_OP, FUNC) \ static void __attribute__((__used__)) \ call_ ## FUNC (void) \ { \ asm (SECTION_OP); \ FUNC (); \ FORCE_CODE_SECTION_ALIGN \ asm (TEXT_SECTION_ASM_OP); \ } #endif # 88 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #if defined(OBJECT_FORMAT_ELF) && defined(HAVE_LD_EH_FRAME_HDR) \ && !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \ && defined(__GLIBC__) && __GLIBC__ >= 2 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 92 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/link.h" 1 3 4 /* * Copyright (c) 1993 Paul Kranenburg * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by Paul Kranenburg. * 4. The name of the author may not be used to endorse or promote products * derived from this software without specific prior written permission * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: projects/clang360-import/include/link.h 103436 2002-09-17 01:49:00Z peter $ */ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 33 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/link.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/link_elf.h" 1 3 4 /*- * Copyright (c) 1993 Paul Kranenburg * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by Paul Kranenburg. * 4. The name of the author may not be used to endorse or promote products * derived from this software without specific prior written permission * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: projects/clang360-import/sys/sys/link_elf.h 276627 2015-01-03 18:09:53Z kib $ */ /* * RRS section definitions. * * The layout of some data structures defined in this header file is * such that we can provide compatibility with the SunOS 4.x shared * library scheme. */ #ifndef _SYS_LINK_ELF_H_ #define _SYS_LINK_ELF_H_ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 44 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/link_elf.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf.h" 1 3 4 /*- * Copyright (c) 2001 David E. O'Brien. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $FreeBSD: projects/clang360-import/sys/sys/elf.h 174043 2007-11-28 21:54:46Z jb $ */ /* * This is a Solaris compatibility header */ #ifndef _SYS_ELF_H_ #define _SYS_ELF_H_ #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 36 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf.h" 3 4 # 37 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 37 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/elf.h" 1 3 4 /* * Copyright (c) 2013 M. Warner Losh. All Rights Reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $FreeBSD: projects/clang360-import/sys/mips/include/elf.h 276539 2015-01-02 15:36:29Z emaste $ */ /*- * Copyright (c) 2013 The NetBSD Foundation, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * * See below starting with the line with $NetBSD...$ for code this applies to. */ #ifndef __MIPS_ELF_H #define __MIPS_ELF_H /* FreeBSD specific bits - derived from FreeBSD specific files and changes to old elf.h */ /* * Define __ELF_WORD_SIZE based on the ABI, if not defined yet. This sets * the proper defaults when we're not trying to do 32-bit on 64-bit systems. * We include both 32 and 64 bit versions so we can support multiple ABIs. */ #ifndef __ELF_WORD_SIZE #if defined(__mips_n64) #define __ELF_WORD_SIZE 64 #else # 70 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/elf.h" 3 4 #define __ELF_WORD_SIZE 32 #endif # 72 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/elf.h" 3 4 #endif # 73 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/elf.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 73 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/elf.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf32.h" 1 3 4 /*- * Copyright (c) 1996-1998 John D. Polstra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $FreeBSD: projects/clang360-import/sys/sys/elf32.h 276539 2015-01-02 15:36:29Z emaste $ */ #ifndef _SYS_ELF32_H_ #define _SYS_ELF32_H_ 1 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 32 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf32.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf_common.h" 1 3 4 /*- * Copyright (c) 2000, 2001, 2008, 2011, David E. O'Brien * Copyright (c) 1998 John D. Polstra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $FreeBSD: projects/clang360-import/sys/sys/elf_common.h 277719 2015-01-25 23:43:12Z dim $ */ #ifndef _SYS_ELF_COMMON_H_ #define _SYS_ELF_COMMON_H_ 1 /* * ELF definitions that are independent of architecture or word size. */ /* * Note header. The ".note" section contains an array of notes. Each * begins with this header, aligned to a word boundary. Immediately * following the note header is n_namesz bytes of name, padded to the * next word boundary. Then comes n_descsz bytes of descriptor, again * padded to a word boundary. The values of n_namesz and n_descsz do * not include the padding. */ typedef struct { u_int32_t n_namesz; /* Length of name. */ u_int32_t n_descsz; /* Length of descriptor. */ u_int32_t n_type; /* Type of this note. */ } Elf_Note; /* * Option kinds. */ #define ODK_NULL 0 /* undefined */ #define ODK_REGINFO 1 /* register usage info */ #define ODK_EXCEPTIONS 2 /* exception processing info */ #define ODK_PAD 3 /* section padding */ #define ODK_HWPATCH 4 /* hardware patch applied */ #define ODK_FILL 5 /* fill value used by the linker */ #define ODK_TAGS 6 /* reserved space for tools */ #define ODK_HWAND 7 /* hardware AND patch applied */ #define ODK_HWOR 8 /* hardware OR patch applied */ #define ODK_GP_GROUP 9 /* GP group for text/data sections */ #define ODK_IDENT 10 /* ID information */ #define ODK_PAGESIZE 11 /* page size information */ /* * ODK_EXCEPTIONS info field masks. */ #define OEX_FPU_MIN 0x0000001f /* min FPU exception required */ #define OEX_FPU_MAX 0x00001f00 /* max FPU exception allowed */ #define OEX_PAGE0 0x00010000 /* page zero must be mapped */ #define OEX_SMM 0x00020000 /* run in sequential memory mode */ #define OEX_PRECISEFP 0x00040000 /* run in precise FP exception mode */ #define OEX_DISMISS 0x00080000 /* dismiss invalid address traps */ /* * ODK_PAD info field masks. */ #define OPAD_PREFIX 0x0001 #define OPAD_POSTFIX 0x0002 #define OPAD_SYMBOL 0x0004 /* * ODK_HWPATCH info field masks. */ #define OHW_R4KEOP 0x00000001 /* patch for R4000 branch at end-of-page bug */ #define OHW_R8KPFETCH 0x00000002 /* R8000 prefetch bug may occur */ #define OHW_R5KEOP 0x00000004 /* patch for R5000 branch at end-of-page bug */ #define OHW_R5KCVTL 0x00000008 /* R5000 cvt.[ds].l bug: clean == 1 */ #define OHW_R10KLDL 0x00000010UL /* need patch for R10000 misaligned load */ /* * ODK_HWAND/ODK_HWOR info field and hwp_flags[12] masks. */ #define OHWA0_R4KEOP_CHECKED 0x00000001 /* object checked for R4000 end-of-page bug */ #define OHWA0_R4KEOP_CLEAN 0x00000002 /* object verified clean for R4000 end-of-page bug */ #define OHWO0_FIXADE 0x00000001 /* object requires call to fixade */ /* * ODK_IDENT/ODK_GP_GROUP info field masks. */ #define OGP_GROUP 0x0000ffff /* GP group number */ #define OGP_SELF 0x00010000 /* GP group is self-contained */ /* * The header for GNU-style hash sections. */ typedef struct { u_int32_t gh_nbuckets; /* Number of hash buckets. */ u_int32_t gh_symndx; /* First visible symbol in .dynsym. */ u_int32_t gh_maskwords; /* #maskwords used in bloom filter. */ u_int32_t gh_shift2; /* Bloom filter shift count. */ } Elf_GNU_Hash_Header; /* Indexes into the e_ident array. Keep synced with http://www.sco.com/developers/gabi/latest/ch4.eheader.html */ #define EI_MAG0 0 /* Magic number, byte 0. */ #define EI_MAG1 1 /* Magic number, byte 1. */ #define EI_MAG2 2 /* Magic number, byte 2. */ #define EI_MAG3 3 /* Magic number, byte 3. */ #define EI_CLASS 4 /* Class of machine. */ #define EI_DATA 5 /* Data format. */ #define EI_VERSION 6 /* ELF format version. */ #define EI_OSABI 7 /* Operating system / ABI identification */ #define EI_ABIVERSION 8 /* ABI version */ #define OLD_EI_BRAND 8 /* Start of architecture identification. */ #define EI_PAD 9 /* Start of padding (per SVR4 ABI). */ #define EI_NIDENT 16 /* Size of e_ident array. */ /* Values for the magic number bytes. */ #define ELFMAG0 0x7f #define ELFMAG1 'E' #define ELFMAG2 'L' #define ELFMAG3 'F' #define ELFMAG "\177ELF" /* magic string */ #define SELFMAG 4 /* magic string size */ /* Values for e_ident[EI_VERSION] and e_version. */ #define EV_NONE 0 #define EV_CURRENT 1 /* Values for e_ident[EI_CLASS]. */ #define ELFCLASSNONE 0 /* Unknown class. */ #define ELFCLASS32 1 /* 32-bit architecture. */ #define ELFCLASS64 2 /* 64-bit architecture. */ /* Values for e_ident[EI_DATA]. */ #define ELFDATANONE 0 /* Unknown data format. */ #define ELFDATA2LSB 1 /* 2's complement little-endian. */ #define ELFDATA2MSB 2 /* 2's complement big-endian. */ /* Values for e_ident[EI_OSABI]. */ #define ELFOSABI_NONE 0 /* UNIX System V ABI */ #define ELFOSABI_HPUX 1 /* HP-UX operating system */ #define ELFOSABI_NETBSD 2 /* NetBSD */ #define ELFOSABI_LINUX 3 /* GNU/Linux */ #define ELFOSABI_HURD 4 /* GNU/Hurd */ #define ELFOSABI_86OPEN 5 /* 86Open common IA32 ABI */ #define ELFOSABI_SOLARIS 6 /* Solaris */ #define ELFOSABI_AIX 7 /* AIX */ #define ELFOSABI_IRIX 8 /* IRIX */ #define ELFOSABI_FREEBSD 9 /* FreeBSD */ #define ELFOSABI_TRU64 10 /* TRU64 UNIX */ #define ELFOSABI_MODESTO 11 /* Novell Modesto */ #define ELFOSABI_OPENBSD 12 /* OpenBSD */ #define ELFOSABI_OPENVMS 13 /* Open VMS */ #define ELFOSABI_NSK 14 /* HP Non-Stop Kernel */ #define ELFOSABI_AROS 15 /* Amiga Research OS */ #define ELFOSABI_ARM 97 /* ARM */ #define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */ #define ELFOSABI_SYSV ELFOSABI_NONE /* symbol used in old spec */ #define ELFOSABI_MONTEREY ELFOSABI_AIX /* Monterey */ #define ELFOSABI_GNU ELFOSABI_LINUX /* e_ident */ #define IS_ELF(ehdr) ((ehdr).e_ident[EI_MAG0] == ELFMAG0 && \ (ehdr).e_ident[EI_MAG1] == ELFMAG1 && \ (ehdr).e_ident[EI_MAG2] == ELFMAG2 && \ (ehdr).e_ident[EI_MAG3] == ELFMAG3) /* Values for e_type. */ #define ET_NONE 0 /* Unknown type. */ #define ET_REL 1 /* Relocatable. */ #define ET_EXEC 2 /* Executable. */ #define ET_DYN 3 /* Shared object. */ #define ET_CORE 4 /* Core file. */ #define ET_LOOS 0xfe00 /* First operating system specific. */ #define ET_HIOS 0xfeff /* Last operating system-specific. */ #define ET_LOPROC 0xff00 /* First processor-specific. */ #define ET_HIPROC 0xffff /* Last processor-specific. */ /* Values for e_machine. */ #define EM_NONE 0 /* Unknown machine. */ #define EM_M32 1 /* AT&T WE32100. */ #define EM_SPARC 2 /* Sun SPARC. */ #define EM_386 3 /* Intel i386. */ #define EM_68K 4 /* Motorola 68000. */ #define EM_88K 5 /* Motorola 88000. */ #define EM_860 7 /* Intel i860. */ #define EM_MIPS 8 /* MIPS R3000 Big-Endian only. */ #define EM_S370 9 /* IBM System/370. */ #define EM_MIPS_RS3_LE 10 /* MIPS R3000 Little-Endian. */ #define EM_PARISC 15 /* HP PA-RISC. */ #define EM_VPP500 17 /* Fujitsu VPP500. */ #define EM_SPARC32PLUS 18 /* SPARC v8plus. */ #define EM_960 19 /* Intel 80960. */ #define EM_PPC 20 /* PowerPC 32-bit. */ #define EM_PPC64 21 /* PowerPC 64-bit. */ #define EM_S390 22 /* IBM System/390. */ #define EM_V800 36 /* NEC V800. */ #define EM_FR20 37 /* Fujitsu FR20. */ #define EM_RH32 38 /* TRW RH-32. */ #define EM_RCE 39 /* Motorola RCE. */ #define EM_ARM 40 /* ARM. */ #define EM_SH 42 /* Hitachi SH. */ #define EM_SPARCV9 43 /* SPARC v9 64-bit. */ #define EM_TRICORE 44 /* Siemens TriCore embedded processor. */ #define EM_ARC 45 /* Argonaut RISC Core. */ #define EM_H8_300 46 /* Hitachi H8/300. */ #define EM_H8_300H 47 /* Hitachi H8/300H. */ #define EM_H8S 48 /* Hitachi H8S. */ #define EM_H8_500 49 /* Hitachi H8/500. */ #define EM_IA_64 50 /* Intel IA-64 Processor. */ #define EM_MIPS_X 51 /* Stanford MIPS-X. */ #define EM_COLDFIRE 52 /* Motorola ColdFire. */ #define EM_68HC12 53 /* Motorola M68HC12. */ #define EM_MMA 54 /* Fujitsu MMA. */ #define EM_PCP 55 /* Siemens PCP. */ #define EM_NCPU 56 /* Sony nCPU. */ #define EM_NDR1 57 /* Denso NDR1 microprocessor. */ #define EM_STARCORE 58 /* Motorola Star*Core processor. */ #define EM_ME16 59 /* Toyota ME16 processor. */ #define EM_ST100 60 /* STMicroelectronics ST100 processor. */ #define EM_TINYJ 61 /* Advanced Logic Corp. TinyJ processor. */ #define EM_X86_64 62 /* Advanced Micro Devices x86-64 */ #define EM_AMD64 EM_X86_64 /* Advanced Micro Devices x86-64 (compat) */ #define EM_PDSP 63 /* Sony DSP Processor. */ #define EM_FX66 66 /* Siemens FX66 microcontroller. */ #define EM_ST9PLUS 67 /* STMicroelectronics ST9+ 8/16 microcontroller. */ #define EM_ST7 68 /* STmicroelectronics ST7 8-bit microcontroller. */ #define EM_68HC16 69 /* Motorola MC68HC16 microcontroller. */ #define EM_68HC11 70 /* Motorola MC68HC11 microcontroller. */ #define EM_68HC08 71 /* Motorola MC68HC08 microcontroller. */ #define EM_68HC05 72 /* Motorola MC68HC05 microcontroller. */ #define EM_SVX 73 /* Silicon Graphics SVx. */ #define EM_ST19 74 /* STMicroelectronics ST19 8-bit mc. */ #define EM_VAX 75 /* Digital VAX. */ #define EM_CRIS 76 /* Axis Communications 32-bit embedded processor. */ #define EM_JAVELIN 77 /* Infineon Technologies 32-bit embedded processor. */ #define EM_FIREPATH 78 /* Element 14 64-bit DSP Processor. */ #define EM_ZSP 79 /* LSI Logic 16-bit DSP Processor. */ #define EM_MMIX 80 /* Donald Knuth's educational 64-bit proc. */ #define EM_HUANY 81 /* Harvard University machine-independent object files. */ #define EM_PRISM 82 /* SiTera Prism. */ #define EM_AVR 83 /* Atmel AVR 8-bit microcontroller. */ #define EM_FR30 84 /* Fujitsu FR30. */ #define EM_D10V 85 /* Mitsubishi D10V. */ #define EM_D30V 86 /* Mitsubishi D30V. */ #define EM_V850 87 /* NEC v850. */ #define EM_M32R 88 /* Mitsubishi M32R. */ #define EM_MN10300 89 /* Matsushita MN10300. */ #define EM_MN10200 90 /* Matsushita MN10200. */ #define EM_PJ 91 /* picoJava. */ #define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor. */ #define EM_ARC_A5 93 /* ARC Cores Tangent-A5. */ #define EM_XTENSA 94 /* Tensilica Xtensa Architecture. */ #define EM_VIDEOCORE 95 /* Alphamosaic VideoCore processor. */ #define EM_TMM_GPP 96 /* Thompson Multimedia General Purpose Processor. */ #define EM_NS32K 97 /* National Semiconductor 32000 series. */ #define EM_TPC 98 /* Tenor Network TPC processor. */ #define EM_SNP1K 99 /* Trebia SNP 1000 processor. */ #define EM_ST200 100 /* STMicroelectronics ST200 microcontroller. */ #define EM_IP2K 101 /* Ubicom IP2xxx microcontroller family. */ #define EM_MAX 102 /* MAX Processor. */ #define EM_CR 103 /* National Semiconductor CompactRISC microprocessor. */ #define EM_F2MC16 104 /* Fujitsu F2MC16. */ #define EM_MSP430 105 /* Texas Instruments embedded microcontroller msp430. */ #define EM_BLACKFIN 106 /* Analog Devices Blackfin (DSP) processor. */ #define EM_SE_C33 107 /* S1C33 Family of Seiko Epson processors. */ #define EM_SEP 108 /* Sharp embedded microprocessor. */ #define EM_ARCA 109 /* Arca RISC Microprocessor. */ #define EM_UNICORE 110 /* Microprocessor series from PKU-Unity Ltd. and MPRC of Peking University */ #define EM_AARCH64 183 /* AArch64 (64-bit ARM) */ /* Non-standard or deprecated. */ #define EM_486 6 /* Intel i486. */ #define EM_MIPS_RS4_BE 10 /* MIPS R4000 Big-Endian */ #define EM_ALPHA_STD 41 /* Digital Alpha (standard value). */ #define EM_ALPHA 0x9026 /* Alpha (written in the absence of an ABI) */ /** * e_flags */ #define EF_ARM_RELEXEC 0x1 #define EF_ARM_HASENTRY 0x2 #define EF_ARM_SYMSARESORTED 0x4 #define EF_ARM_DYNSYMSUSESEGIDX 0x8 #define EF_ARM_MAPSYMSFIRST 0x10 #define EF_ARM_LE8 0x00400000 #define EF_ARM_BE8 0x00800000 #define EF_ARM_EABIMASK 0xFF000000 #define EF_ARM_EABI_UNKNOWN 0x00000000 #define EF_ARM_EABI_VER1 0x01000000 #define EF_ARM_EABI_VER2 0x02000000 #define EF_ARM_EABI_VER3 0x03000000 #define EF_ARM_EABI_VER4 0x04000000 #define EF_ARM_EABI_VER5 0x05000000 #define EF_ARM_INTERWORK 0x00000004 #define EF_ARM_APCS_26 0x00000008 #define EF_ARM_APCS_FLOAT 0x00000010 #define EF_ARM_PIC 0x00000020 #define EF_ARM_ALIGN8 0x00000040 #define EF_ARM_NEW_ABI 0x00000080 #define EF_ARM_OLD_ABI 0x00000100 #define EF_ARM_SOFT_FLOAT 0x00000200 #define EF_ARM_VFP_FLOAT 0x00000400 #define EF_ARM_MAVERICK_FLOAT 0x00000800 #define EF_MIPS_NOREORDER 0x00000001 #define EF_MIPS_PIC 0x00000002 /* Contains PIC code */ #define EF_MIPS_CPIC 0x00000004 /* STD PIC calling sequence */ #define EF_MIPS_UCODE 0x00000010 #define EF_MIPS_ABI2 0x00000020 /* N32 */ #define EF_MIPS_OPTIONS_FIRST 0x00000080 #define EF_MIPS_ARCH_ASE 0x0F000000 /* Architectural extensions */ #define EF_MIPS_ARCH_ASE_MDMX 0x08000000 /* MDMX multimedia extension */ #define EF_MIPS_ARCH_ASE_M16 0x04000000 /* MIPS-16 ISA extensions */ #define EF_MIPS_ARCH 0xF0000000 /* Architecture field */ #define EF_PPC_EMB 0x80000000 #define EF_PPC_RELOCATABLE 0x00010000 #define EF_PPC_RELOCATABLE_LIB 0x00008000 #define EF_SPARC_EXT_MASK 0x00ffff00 #define EF_SPARC_32PLUS 0x00000100 #define EF_SPARC_SUN_US1 0x00000200 #define EF_SPARC_HAL_R1 0x00000200 #define EF_SPARC_SUN_US3 0x00000800 #define EF_SPARCV9_MM 0x00000003 #define EF_SPARCV9_TSO 0x00000000 #define EF_SPARCV9_PSO 0x00000001 #define EF_SPARCV9_RMO 0x00000002 /* Special section indexes. */ #define SHN_UNDEF 0 /* Undefined, missing, irrelevant. */ #define SHN_LORESERVE 0xff00 /* First of reserved range. */ #define SHN_LOPROC 0xff00 /* First processor-specific. */ #define SHN_HIPROC 0xff1f /* Last processor-specific. */ #define SHN_LOOS 0xff20 /* First operating system-specific. */ #define SHN_HIOS 0xff3f /* Last operating system-specific. */ #define SHN_ABS 0xfff1 /* Absolute values. */ #define SHN_COMMON 0xfff2 /* Common data. */ #define SHN_XINDEX 0xffff /* Escape -- index stored elsewhere. */ #define SHN_HIRESERVE 0xffff /* Last of reserved range. */ /* sh_type */ #define SHT_NULL 0 /* inactive */ #define SHT_PROGBITS 1 /* program defined information */ #define SHT_SYMTAB 2 /* symbol table section */ #define SHT_STRTAB 3 /* string table section */ #define SHT_RELA 4 /* relocation section with addends */ #define SHT_HASH 5 /* symbol hash table section */ #define SHT_DYNAMIC 6 /* dynamic section */ #define SHT_NOTE 7 /* note section */ #define SHT_NOBITS 8 /* no space section */ #define SHT_REL 9 /* relocation section - no addends */ #define SHT_SHLIB 10 /* reserved - purpose unknown */ #define SHT_DYNSYM 11 /* dynamic symbol table section */ #define SHT_INIT_ARRAY 14 /* Initialization function pointers. */ #define SHT_FINI_ARRAY 15 /* Termination function pointers. */ #define SHT_PREINIT_ARRAY 16 /* Pre-initialization function ptrs. */ #define SHT_GROUP 17 /* Section group. */ #define SHT_SYMTAB_SHNDX 18 /* Section indexes (see SHN_XINDEX). */ #define SHT_LOOS 0x60000000 /* First of OS specific semantics */ #define SHT_LOSUNW 0x6ffffff4 #define SHT_SUNW_dof 0x6ffffff4 #define SHT_SUNW_cap 0x6ffffff5 #define SHT_GNU_ATTRIBUTES 0x6ffffff5 #define SHT_SUNW_SIGNATURE 0x6ffffff6 #define SHT_GNU_HASH 0x6ffffff6 #define SHT_GNU_LIBLIST 0x6ffffff7 #define SHT_SUNW_ANNOTATE 0x6ffffff7 #define SHT_SUNW_DEBUGSTR 0x6ffffff8 #define SHT_SUNW_DEBUG 0x6ffffff9 #define SHT_SUNW_move 0x6ffffffa #define SHT_SUNW_COMDAT 0x6ffffffb #define SHT_SUNW_syminfo 0x6ffffffc #define SHT_SUNW_verdef 0x6ffffffd #define SHT_GNU_verdef 0x6ffffffd /* Symbol versions provided */ #define SHT_SUNW_verneed 0x6ffffffe #define SHT_GNU_verneed 0x6ffffffe /* Symbol versions required */ #define SHT_SUNW_versym 0x6fffffff #define SHT_GNU_versym 0x6fffffff /* Symbol version table */ #define SHT_HISUNW 0x6fffffff #define SHT_HIOS 0x6fffffff /* Last of OS specific semantics */ #define SHT_LOPROC 0x70000000 /* reserved range for processor */ #define SHT_AMD64_UNWIND 0x70000001 /* unwind information */ #define SHT_ARM_EXIDX 0x70000001 /* Exception index table. */ #define SHT_ARM_PREEMPTMAP 0x70000002 /* BPABI DLL dynamic linking pre-emption map. */ #define SHT_ARM_ATTRIBUTES 0x70000003 /* Object file compatibility attributes. */ #define SHT_ARM_DEBUGOVERLAY 0x70000004 /* See DBGOVL for details. */ #define SHT_ARM_OVERLAYSECTION 0x70000005 /* See DBGOVL for details. */ #define SHT_MIPS_LIBLIST 0x70000000 #define SHT_MIPS_MSYM 0x70000001 #define SHT_MIPS_CONFLICT 0x70000002 #define SHT_MIPS_GPTAB 0x70000003 #define SHT_MIPS_UCODE 0x70000004 #define SHT_MIPS_DEBUG 0x70000005 #define SHT_MIPS_REGINFO 0x70000006 #define SHT_MIPS_PACKAGE 0x70000007 #define SHT_MIPS_PACKSYM 0x70000008 #define SHT_MIPS_RELD 0x70000009 #define SHT_MIPS_IFACE 0x7000000b #define SHT_MIPS_CONTENT 0x7000000c #define SHT_MIPS_OPTIONS 0x7000000d #define SHT_MIPS_DELTASYM 0x7000001b #define SHT_MIPS_DELTAINST 0x7000001c #define SHT_MIPS_DELTACLASS 0x7000001d #define SHT_MIPS_DWARF 0x7000001e /* MIPS gcc uses MIPS_DWARF */ #define SHT_MIPS_DELTADECL 0x7000001f #define SHT_MIPS_SYMBOL_LIB 0x70000020 #define SHT_MIPS_EVENTS 0x70000021 #define SHT_MIPS_TRANSLATE 0x70000022 #define SHT_MIPS_PIXIE 0x70000023 #define SHT_MIPS_XLATE 0x70000024 #define SHT_MIPS_XLATE_DEBUG 0x70000025 #define SHT_MIPS_WHIRL 0x70000026 #define SHT_MIPS_EH_REGION 0x70000027 #define SHT_MIPS_XLATE_OLD 0x70000028 #define SHT_MIPS_PDR_EXCEPTION 0x70000029 #define SHT_SPARC_GOTDATA 0x70000000 #define SHTORDERED #define SHT_HIPROC 0x7fffffff /* specific section header types */ #define SHT_LOUSER 0x80000000 /* reserved range for application */ #define SHT_HIUSER 0xffffffff /* specific indexes */ /* Flags for sh_flags. */ #define SHF_WRITE 0x1 /* Section contains writable data. */ #define SHF_ALLOC 0x2 /* Section occupies memory. */ #define SHF_EXECINSTR 0x4 /* Section contains instructions. */ #define SHF_MERGE 0x10 /* Section may be merged. */ #define SHF_STRINGS 0x20 /* Section contains strings. */ #define SHF_INFO_LINK 0x40 /* sh_info holds section index. */ #define SHF_LINK_ORDER 0x80 /* Special ordering requirements. */ #define SHF_OS_NONCONFORMING 0x100 /* OS-specific processing required. */ #define SHF_GROUP 0x200 /* Member of section group. */ #define SHF_TLS 0x400 /* Section contains TLS data. */ #define SHF_MASKOS 0x0ff00000 /* OS-specific semantics. */ #define SHF_MASKPROC 0xf0000000 /* Processor-specific semantics. */ /* Values for p_type. */ #define PT_NULL 0 /* Unused entry. */ #define PT_LOAD 1 /* Loadable segment. */ #define PT_DYNAMIC 2 /* Dynamic linking information segment. */ #define PT_INTERP 3 /* Pathname of interpreter. */ #define PT_NOTE 4 /* Auxiliary information. */ #define PT_SHLIB 5 /* Reserved (not used). */ #define PT_PHDR 6 /* Location of program header itself. */ #define PT_TLS 7 /* Thread local storage segment */ #define PT_LOOS 0x60000000 /* First OS-specific. */ #define PT_SUNW_UNWIND 0x6464e550 /* amd64 UNWIND program header */ #define PT_GNU_EH_FRAME 0x6474e550 #define PT_GNU_STACK 0x6474e551 #define PT_GNU_RELRO 0x6474e552 #define PT_DUMP_DELTA 0x6fb5d000 /* va->pa map for kernel dumps (currently arm). */ #define PT_LOSUNW 0x6ffffffa #define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */ #define PT_SUNWSTACK 0x6ffffffb /* describes the stack segment */ #define PT_SUNWDTRACE 0x6ffffffc /* private */ #define PT_SUNWCAP 0x6ffffffd /* hard/soft capabilities segment */ #define PT_HISUNW 0x6fffffff #define PT_HIOS 0x6fffffff /* Last OS-specific. */ #define PT_LOPROC 0x70000000 /* First processor-specific type. */ #define PT_HIPROC 0x7fffffff /* Last processor-specific type. */ /* Values for p_flags. */ #define PF_X 0x1 /* Executable. */ #define PF_W 0x2 /* Writable. */ #define PF_R 0x4 /* Readable. */ #define PF_MASKOS 0x0ff00000 /* Operating system-specific. */ #define PF_MASKPROC 0xf0000000 /* Processor-specific. */ /* Extended program header index. */ #define PN_XNUM 0xffff /* Values for d_tag. */ #define DT_NULL 0 /* Terminating entry. */ #define DT_NEEDED 1 /* String table offset of a needed shared library. */ #define DT_PLTRELSZ 2 /* Total size in bytes of PLT relocations. */ #define DT_PLTGOT 3 /* Processor-dependent address. */ #define DT_HASH 4 /* Address of symbol hash table. */ #define DT_STRTAB 5 /* Address of string table. */ #define DT_SYMTAB 6 /* Address of symbol table. */ #define DT_RELA 7 /* Address of ElfNN_Rela relocations. */ #define DT_RELASZ 8 /* Total size of ElfNN_Rela relocations. */ #define DT_RELAENT 9 /* Size of each ElfNN_Rela relocation entry. */ #define DT_STRSZ 10 /* Size of string table. */ #define DT_SYMENT 11 /* Size of each symbol table entry. */ #define DT_INIT 12 /* Address of initialization function. */ #define DT_FINI 13 /* Address of finalization function. */ #define DT_SONAME 14 /* String table offset of shared object name. */ #define DT_RPATH 15 /* String table offset of library path. [sup] */ #define DT_SYMBOLIC 16 /* Indicates "symbolic" linking. [sup] */ #define DT_REL 17 /* Address of ElfNN_Rel relocations. */ #define DT_RELSZ 18 /* Total size of ElfNN_Rel relocations. */ #define DT_RELENT 19 /* Size of each ElfNN_Rel relocation. */ #define DT_PLTREL 20 /* Type of relocation used for PLT. */ #define DT_DEBUG 21 /* Reserved (not used). */ #define DT_TEXTREL 22 /* Indicates there may be relocations in non-writable segments. [sup] */ #define DT_JMPREL 23 /* Address of PLT relocations. */ #define DT_BIND_NOW 24 /* [sup] */ #define DT_INIT_ARRAY 25 /* Address of the array of pointers to initialization functions */ #define DT_FINI_ARRAY 26 /* Address of the array of pointers to termination functions */ #define DT_INIT_ARRAYSZ 27 /* Size in bytes of the array of initialization functions. */ #define DT_FINI_ARRAYSZ 28 /* Size in bytes of the array of termination functions. */ #define DT_RUNPATH 29 /* String table offset of a null-terminated library search path string. */ #define DT_FLAGS 30 /* Object specific flag values. */ #define DT_ENCODING 32 /* Values greater than or equal to DT_ENCODING and less than DT_LOOS follow the rules for the interpretation of the d_un union as follows: even == 'd_ptr', odd == 'd_val' or none */ #define DT_PREINIT_ARRAY 32 /* Address of the array of pointers to pre-initialization functions. */ #define DT_PREINIT_ARRAYSZ 33 /* Size in bytes of the array of pre-initialization functions. */ #define DT_MAXPOSTAGS 34 /* number of positive tags */ #define DT_LOOS 0x6000000d /* First OS-specific */ #define DT_SUNW_AUXILIARY 0x6000000d /* symbol auxiliary name */ #define DT_SUNW_RTLDINF 0x6000000e /* ld.so.1 info (private) */ #define DT_SUNW_FILTER 0x6000000f /* symbol filter name */ #define DT_SUNW_CAP 0x60000010 /* hardware/software */ #define DT_HIOS 0x6ffff000 /* Last OS-specific */ /* * DT_* entries which fall between DT_VALRNGHI & DT_VALRNGLO use the * Dyn.d_un.d_val field of the Elf*_Dyn structure. */ #define DT_VALRNGLO 0x6ffffd00 #define DT_GNU_PRELINKED 0x6ffffdf5 /* prelinking timestamp */ #define DT_GNU_CONFLICTSZ 0x6ffffdf6 /* size of conflict section */ #define DT_GNU_LIBLISTSZ 0x6ffffdf7 /* size of library list */ #define DT_CHECKSUM 0x6ffffdf8 /* elf checksum */ #define DT_PLTPADSZ 0x6ffffdf9 /* pltpadding size */ #define DT_MOVEENT 0x6ffffdfa /* move table entry size */ #define DT_MOVESZ 0x6ffffdfb /* move table size */ #define DT_FEATURE 0x6ffffdfc /* feature holder */ #define DT_FEATURE_1 DT_FEATURE #define DT_POSFLAG_1 0x6ffffdfd /* flags for DT_* entries, effecting */ /* the following DT_* entry. */ /* See DF_P1_* definitions */ #define DT_SYMINSZ 0x6ffffdfe /* syminfo table size (in bytes) */ #define DT_SYMINENT 0x6ffffdff /* syminfo entry size (in bytes) */ #define DT_VALRNGHI 0x6ffffdff /* * DT_* entries which fall between DT_ADDRRNGHI & DT_ADDRRNGLO use the * Dyn.d_un.d_ptr field of the Elf*_Dyn structure. * * If any adjustment is made to the ELF object after it has been * built, these entries will need to be adjusted. */ #define DT_ADDRRNGLO 0x6ffffe00 #define DT_GNU_HASH 0x6ffffef5 /* GNU-style hash table */ #define DT_GNU_CONFLICT 0x6ffffef8 /* address of conflict section */ #define DT_GNU_LIBLIST 0x6ffffef9 /* address of library list */ #define DT_CONFIG 0x6ffffefa /* configuration information */ #define DT_DEPAUDIT 0x6ffffefb /* dependency auditing */ #define DT_AUDIT 0x6ffffefc /* object auditing */ #define DT_PLTPAD 0x6ffffefd /* pltpadding (sparcv9) */ #define DT_MOVETAB 0x6ffffefe /* move table */ #define DT_SYMINFO 0x6ffffeff /* syminfo table */ #define DT_ADDRRNGHI 0x6ffffeff #define DT_VERSYM 0x6ffffff0 /* Address of versym section. */ #define DT_RELACOUNT 0x6ffffff9 /* number of RELATIVE relocations */ #define DT_RELCOUNT 0x6ffffffa /* number of RELATIVE relocations */ #define DT_FLAGS_1 0x6ffffffb /* state flags - see DF_1_* defs */ #define DT_VERDEF 0x6ffffffc /* Address of verdef section. */ #define DT_VERDEFNUM 0x6ffffffd /* Number of elems in verdef section */ #define DT_VERNEED 0x6ffffffe /* Address of verneed section. */ #define DT_VERNEEDNUM 0x6fffffff /* Number of elems in verneed section */ #define DT_LOPROC 0x70000000 /* First processor-specific type. */ #define DT_ARM_SYMTABSZ 0x70000001 #define DT_ARM_PREEMPTMAP 0x70000002 #define DT_SPARC_REGISTER 0x70000001 #define DT_DEPRECATED_SPARC_REGISTER 0x7000001 #define DT_MIPS_RLD_VERSION 0x70000001 #define DT_MIPS_TIME_STAMP 0x70000002 #define DT_MIPS_ICHECKSUM 0x70000003 #define DT_MIPS_IVERSION 0x70000004 #define DT_MIPS_FLAGS 0x70000005 #define DT_MIPS_BASE_ADDRESS 0x70000006 #define DT_MIPS_CONFLICT 0x70000008 #define DT_MIPS_LIBLIST 0x70000009 #define DT_MIPS_LOCAL_GOTNO 0x7000000a #define DT_MIPS_CONFLICTNO 0x7000000b #define DT_MIPS_LIBLISTNO 0x70000010 #define DT_MIPS_SYMTABNO 0x70000011 #define DT_MIPS_UNREFEXTNO 0x70000012 #define DT_MIPS_GOTSYM 0x70000013 #define DT_MIPS_HIPAGENO 0x70000014 #define DT_MIPS_RLD_MAP 0x70000016 #define DT_MIPS_DELTA_CLASS 0x70000017 #define DT_MIPS_DELTA_CLASS_NO 0x70000018 #define DT_MIPS_DELTA_INSTANCE 0x70000019 #define DT_MIPS_DELTA_INSTANCE_NO 0x7000001A #define DT_MIPS_DELTA_RELOC 0x7000001B #define DT_MIPS_DELTA_RELOC_NO 0x7000001C #define DT_MIPS_DELTA_SYM 0x7000001D #define DT_MIPS_DELTA_SYM_NO 0x7000001E #define DT_MIPS_DELTA_CLASSSYM 0x70000020 #define DT_MIPS_DELTA_CLASSSYM_NO 0x70000021 #define DT_MIPS_CXX_FLAGS 0x70000022 #define DT_MIPS_PIXIE_INIT 0x70000023 #define DT_MIPS_SYMBOL_LIB 0x70000024 #define DT_MIPS_LOCALPAGE_GOTIDX 0x70000025 #define DT_MIPS_LOCAL_GOTIDX 0x70000026 #define DT_MIPS_HIDDEN_GOTIDX 0x70000027 #define DT_MIPS_PROTECTED_GOTIDX 0x70000028 #define DT_MIPS_OPTIONS 0x70000029 #define DT_MIPS_INTERFACE 0x7000002A #define DT_MIPS_DYNSTR_ALIGN 0x7000002B #define DT_MIPS_INTERFACE_SIZE 0x7000002C #define DT_MIPS_RLD_TEXT_RESOLVE_ADDR 0x7000002D #define DT_MIPS_PERF_SUFFIX 0x7000002E #define DT_MIPS_COMPACT_SIZE 0x7000002F #define DT_MIPS_GP_VALUE 0x70000030 #define DT_MIPS_AUX_DYNAMIC 0x70000031 #define DT_MIPS_PLTGOT 0x70000032 #define DT_MIPS_RLD_OBJ_UPDATE 0x70000033 #define DT_MIPS_RWPLT 0x70000034 #define DT_PPC_GOT 0x70000000 #define DT_PPC_TLSOPT 0x70000001 #define DT_PPC64_GLINK 0x70000000 #define DT_PPC64_OPD 0x70000001 #define DT_PPC64_OPDSZ 0x70000002 #define DT_PPC64_TLSOPT 0x70000003 #define DT_AUXILIARY 0x7ffffffd /* shared library auxiliary name */ #define DT_USED 0x7ffffffe /* ignored - same as needed */ #define DT_FILTER 0x7fffffff /* shared library filter name */ #define DT_HIPROC 0x7fffffff /* Last processor-specific type. */ /* Values for DT_FLAGS */ #define DF_ORIGIN 0x0001 /* Indicates that the object being loaded may make reference to the $ORIGIN substitution string */ #define DF_SYMBOLIC 0x0002 /* Indicates "symbolic" linking. */ #define DF_TEXTREL 0x0004 /* Indicates there may be relocations in non-writable segments. */ #define DF_BIND_NOW 0x0008 /* Indicates that the dynamic linker should process all relocations for the object containing this entry before transferring control to the program. */ #define DF_STATIC_TLS 0x0010 /* Indicates that the shared object or executable contains code using a static thread-local storage scheme. */ /* Values for DT_FLAGS_1 */ #define DF_1_BIND_NOW 0x00000001 /* Same as DF_BIND_NOW */ #define DF_1_GLOBAL 0x00000002 /* Set the RTLD_GLOBAL for object */ #define DF_1_NODELETE 0x00000008 /* Set the RTLD_NODELETE for object */ #define DF_1_LOADFLTR 0x00000010 /* Immediate loading of filtees */ #define DF_1_NOOPEN 0x00000040 /* Do not allow loading on dlopen() */ #define DF_1_ORIGIN 0x00000080 /* Process $ORIGIN */ #define DF_1_INTERPOSE 0x00000400 /* Interpose all objects but main */ #define DF_1_NODEFLIB 0x00000800 /* Do not search default paths */ /* Values for l_flags. */ #define LL_NONE 0x0 /* no flags */ #define LL_EXACT_MATCH 0x1 /* require an exact match */ #define LL_IGNORE_INT_VER 0x2 /* ignore version incompatibilities */ #define LL_REQUIRE_MINOR 0x4 #define LL_EXPORTS 0x8 #define LL_DELAY_LOAD 0x10 #define LL_DELTA 0x20 /* Values for n_type. Used in core files. */ #define NT_PRSTATUS 1 /* Process status. */ #define NT_FPREGSET 2 /* Floating point registers. */ #define NT_PRPSINFO 3 /* Process state info. */ #define NT_THRMISC 7 /* Thread miscellaneous info. */ #define NT_PROCSTAT_PROC 8 /* Procstat proc data. */ #define NT_PROCSTAT_FILES 9 /* Procstat files data. */ #define NT_PROCSTAT_VMMAP 10 /* Procstat vmmap data. */ #define NT_PROCSTAT_GROUPS 11 /* Procstat groups data. */ #define NT_PROCSTAT_UMASK 12 /* Procstat umask data. */ #define NT_PROCSTAT_RLIMIT 13 /* Procstat rlimit data. */ #define NT_PROCSTAT_OSREL 14 /* Procstat osreldate data. */ #define NT_PROCSTAT_PSSTRINGS 15 /* Procstat ps_strings data. */ #define NT_PROCSTAT_AUXV 16 /* Procstat auxv data. */ #define NT_PPC_VMX 0x100 /* PowerPC Altivec/VMX registers */ #define NT_X86_XSTATE 0x202 /* x86 XSAVE extended state. */ /* Symbol Binding - ELFNN_ST_BIND - st_info */ #define STB_LOCAL 0 /* Local symbol */ #define STB_GLOBAL 1 /* Global symbol */ #define STB_WEAK 2 /* like global - lower precedence */ #define STB_LOOS 10 /* Reserved range for operating system */ #define STB_HIOS 12 /* specific semantics. */ #define STB_LOPROC 13 /* reserved range for processor */ #define STB_HIPROC 15 /* specific semantics. */ /* Symbol type - ELFNN_ST_TYPE - st_info */ #define STT_NOTYPE 0 /* Unspecified type. */ #define STT_OBJECT 1 /* Data object. */ #define STT_FUNC 2 /* Function. */ #define STT_SECTION 3 /* Section. */ #define STT_FILE 4 /* Source file. */ #define STT_COMMON 5 /* Uninitialized common block. */ #define STT_TLS 6 /* TLS object. */ #define STT_NUM 7 #define STT_LOOS 10 /* Reserved range for operating system */ #define STT_GNU_IFUNC 10 #define STT_HIOS 12 /* specific semantics. */ #define STT_LOPROC 13 /* reserved range for processor */ #define STT_HIPROC 15 /* specific semantics. */ /* Symbol visibility - ELFNN_ST_VISIBILITY - st_other */ #define STV_DEFAULT 0x0 /* Default visibility (see binding). */ #define STV_INTERNAL 0x1 /* Special meaning in relocatable objects. */ #define STV_HIDDEN 0x2 /* Not visible. */ #define STV_PROTECTED 0x3 /* Visible but not preemptible. */ #define STV_EXPORTED 0x4 #define STV_SINGLETON 0x5 #define STV_ELIMINATE 0x6 /* Special symbol table indexes. */ #define STN_UNDEF 0 /* Undefined symbol index. */ /* Symbol versioning flags. */ #define VER_DEF_CURRENT 1 #define VER_DEF_IDX(x) VER_NDX(x) #define VER_FLG_BASE 0x01 #define VER_FLG_WEAK 0x02 #define VER_NEED_CURRENT 1 #define VER_NEED_WEAK (1u << 15) #define VER_NEED_HIDDEN VER_NDX_HIDDEN #define VER_NEED_IDX(x) VER_NDX(x) #define VER_NDX_LOCAL 0 #define VER_NDX_GLOBAL 1 #define VER_NDX_GIVEN 2 #define VER_NDX_HIDDEN (1u << 15) #define VER_NDX(x) ((x) & ~(1u << 15)) #define CA_SUNW_NULL 0 #define CA_SUNW_HW_1 1 /* first hardware capabilities entry */ #define CA_SUNW_SF_1 2 /* first software capabilities entry */ /* * Syminfo flag values */ #define SYMINFO_FLG_DIRECT 0x0001 /* symbol ref has direct association */ /* to object containing defn. */ #define SYMINFO_FLG_PASSTHRU 0x0002 /* ignored - see SYMINFO_FLG_FILTER */ #define SYMINFO_FLG_COPY 0x0004 /* symbol is a copy-reloc */ #define SYMINFO_FLG_LAZYLOAD 0x0008 /* object containing defn should be */ /* lazily-loaded */ #define SYMINFO_FLG_DIRECTBIND 0x0010 /* ref should be bound directly to */ /* object containing defn. */ #define SYMINFO_FLG_NOEXTDIRECT 0x0020 /* don't let an external reference */ /* directly bind to this symbol */ #define SYMINFO_FLG_FILTER 0x0002 /* symbol ref is associated to a */ #define SYMINFO_FLG_AUXILIARY 0x0040 /* standard or auxiliary filter */ /* * Syminfo.si_boundto values. */ #define SYMINFO_BT_SELF 0xffff /* symbol bound to self */ #define SYMINFO_BT_PARENT 0xfffe /* symbol bound to parent */ #define SYMINFO_BT_NONE 0xfffd /* no special symbol binding */ #define SYMINFO_BT_EXTERN 0xfffc /* symbol defined as external */ #define SYMINFO_BT_LOWRESERVE 0xff00 /* beginning of reserved entries */ /* * Syminfo version values. */ #define SYMINFO_NONE 0 /* Syminfo version */ #define SYMINFO_CURRENT 1 #define SYMINFO_NUM 2 /* * Relocation types. * * All machine architectures are defined here to allow tools on one to * handle others. */ #define R_386_NONE 0 /* No relocation. */ #define R_386_32 1 /* Add symbol value. */ #define R_386_PC32 2 /* Add PC-relative symbol value. */ #define R_386_GOT32 3 /* Add PC-relative GOT offset. */ #define R_386_PLT32 4 /* Add PC-relative PLT offset. */ #define R_386_COPY 5 /* Copy data from shared object. */ #define R_386_GLOB_DAT 6 /* Set GOT entry to data address. */ #define R_386_JMP_SLOT 7 /* Set GOT entry to code address. */ #define R_386_RELATIVE 8 /* Add load address of shared object. */ #define R_386_GOTOFF 9 /* Add GOT-relative symbol address. */ #define R_386_GOTPC 10 /* Add PC-relative GOT table address. */ #define R_386_TLS_TPOFF 14 /* Negative offset in static TLS block */ #define R_386_TLS_IE 15 /* Absolute address of GOT for -ve static TLS */ #define R_386_TLS_GOTIE 16 /* GOT entry for negative static TLS block */ #define R_386_TLS_LE 17 /* Negative offset relative to static TLS */ #define R_386_TLS_GD 18 /* 32 bit offset to GOT (index,off) pair */ #define R_386_TLS_LDM 19 /* 32 bit offset to GOT (index,zero) pair */ #define R_386_TLS_GD_32 24 /* 32 bit offset to GOT (index,off) pair */ #define R_386_TLS_GD_PUSH 25 /* pushl instruction for Sun ABI GD sequence */ #define R_386_TLS_GD_CALL 26 /* call instruction for Sun ABI GD sequence */ #define R_386_TLS_GD_POP 27 /* popl instruction for Sun ABI GD sequence */ #define R_386_TLS_LDM_32 28 /* 32 bit offset to GOT (index,zero) pair */ #define R_386_TLS_LDM_PUSH 29 /* pushl instruction for Sun ABI LD sequence */ #define R_386_TLS_LDM_CALL 30 /* call instruction for Sun ABI LD sequence */ #define R_386_TLS_LDM_POP 31 /* popl instruction for Sun ABI LD sequence */ #define R_386_TLS_LDO_32 32 /* 32 bit offset from start of TLS block */ #define R_386_TLS_IE_32 33 /* 32 bit offset to GOT static TLS offset entry */ #define R_386_TLS_LE_32 34 /* 32 bit offset within static TLS block */ #define R_386_TLS_DTPMOD32 35 /* GOT entry containing TLS index */ #define R_386_TLS_DTPOFF32 36 /* GOT entry containing TLS offset */ #define R_386_TLS_TPOFF32 37 /* GOT entry of -ve static TLS offset */ #define R_386_IRELATIVE 42 /* PLT entry resolved indirectly at runtime */ #define R_AARCH64_ABS64 257 /* Absolute offset */ #define R_AARCH64_ABS32 258 /* Absolute, 32-bit overflow check */ #define R_AARCH64_ABS16 259 /* Absolute, 16-bit overflow check */ #define R_AARCH64_PREL64 260 /* PC relative */ #define R_AARCH64_PREL32 261 /* PC relative, 32-bit overflow check */ #define R_AARCH64_PREL16 262 /* PC relative, 16-bit overflow check */ #define R_AARCH64_COPY 1024 /* Copy data from shared object */ #define R_AARCH64_GLOB_DAT 1025 /* Set GOT entry to data address */ #define R_AARCH64_JUMP_SLOT 1026 /* Set GOT entry to code address */ #define R_AARCH64_RELATIVE 1027 /* Add load address of shared object */ #define R_AARCH64_TLSDESC 1031 /* Identify the TLS descriptor */ #define R_ARM_NONE 0 /* No relocation. */ #define R_ARM_PC24 1 #define R_ARM_ABS32 2 #define R_ARM_REL32 3 #define R_ARM_PC13 4 #define R_ARM_ABS16 5 #define R_ARM_ABS12 6 #define R_ARM_THM_ABS5 7 #define R_ARM_ABS8 8 #define R_ARM_SBREL32 9 #define R_ARM_THM_PC22 10 #define R_ARM_THM_PC8 11 #define R_ARM_AMP_VCALL9 12 #define R_ARM_SWI24 13 #define R_ARM_THM_SWI8 14 #define R_ARM_XPC25 15 #define R_ARM_THM_XPC22 16 /* TLS relocations */ #define R_ARM_TLS_DTPMOD32 17 /* ID of module containing symbol */ #define R_ARM_TLS_DTPOFF32 18 /* Offset in TLS block */ #define R_ARM_TLS_TPOFF32 19 /* Offset in static TLS block */ #define R_ARM_COPY 20 /* Copy data from shared object. */ #define R_ARM_GLOB_DAT 21 /* Set GOT entry to data address. */ #define R_ARM_JUMP_SLOT 22 /* Set GOT entry to code address. */ #define R_ARM_RELATIVE 23 /* Add load address of shared object. */ #define R_ARM_GOTOFF 24 /* Add GOT-relative symbol address. */ #define R_ARM_GOTPC 25 /* Add PC-relative GOT table address. */ #define R_ARM_GOT32 26 /* Add PC-relative GOT offset. */ #define R_ARM_PLT32 27 /* Add PC-relative PLT offset. */ #define R_ARM_GNU_VTENTRY 100 #define R_ARM_GNU_VTINHERIT 101 #define R_ARM_RSBREL32 250 #define R_ARM_THM_RPC22 251 #define R_ARM_RREL32 252 #define R_ARM_RABS32 253 #define R_ARM_RPC24 254 #define R_ARM_RBASE 255 /* Name Value Field Calculation */ #define R_IA_64_NONE 0 /* None */ #define R_IA_64_IMM14 0x21 /* immediate14 S + A */ #define R_IA_64_IMM22 0x22 /* immediate22 S + A */ #define R_IA_64_IMM64 0x23 /* immediate64 S + A */ #define R_IA_64_DIR32MSB 0x24 /* word32 MSB S + A */ #define R_IA_64_DIR32LSB 0x25 /* word32 LSB S + A */ #define R_IA_64_DIR64MSB 0x26 /* word64 MSB S + A */ #define R_IA_64_DIR64LSB 0x27 /* word64 LSB S + A */ #define R_IA_64_GPREL22 0x2a /* immediate22 @gprel(S + A) */ #define R_IA_64_GPREL64I 0x2b /* immediate64 @gprel(S + A) */ #define R_IA_64_GPREL32MSB 0x2c /* word32 MSB @gprel(S + A) */ #define R_IA_64_GPREL32LSB 0x2d /* word32 LSB @gprel(S + A) */ #define R_IA_64_GPREL64MSB 0x2e /* word64 MSB @gprel(S + A) */ #define R_IA_64_GPREL64LSB 0x2f /* word64 LSB @gprel(S + A) */ #define R_IA_64_LTOFF22 0x32 /* immediate22 @ltoff(S + A) */ #define R_IA_64_LTOFF64I 0x33 /* immediate64 @ltoff(S + A) */ #define R_IA_64_PLTOFF22 0x3a /* immediate22 @pltoff(S + A) */ #define R_IA_64_PLTOFF64I 0x3b /* immediate64 @pltoff(S + A) */ #define R_IA_64_PLTOFF64MSB 0x3e /* word64 MSB @pltoff(S + A) */ #define R_IA_64_PLTOFF64LSB 0x3f /* word64 LSB @pltoff(S + A) */ #define R_IA_64_FPTR64I 0x43 /* immediate64 @fptr(S + A) */ #define R_IA_64_FPTR32MSB 0x44 /* word32 MSB @fptr(S + A) */ #define R_IA_64_FPTR32LSB 0x45 /* word32 LSB @fptr(S + A) */ #define R_IA_64_FPTR64MSB 0x46 /* word64 MSB @fptr(S + A) */ #define R_IA_64_FPTR64LSB 0x47 /* word64 LSB @fptr(S + A) */ #define R_IA_64_PCREL60B 0x48 /* immediate60 form1 S + A - P */ #define R_IA_64_PCREL21B 0x49 /* immediate21 form1 S + A - P */ #define R_IA_64_PCREL21M 0x4a /* immediate21 form2 S + A - P */ #define R_IA_64_PCREL21F 0x4b /* immediate21 form3 S + A - P */ #define R_IA_64_PCREL32MSB 0x4c /* word32 MSB S + A - P */ #define R_IA_64_PCREL32LSB 0x4d /* word32 LSB S + A - P */ #define R_IA_64_PCREL64MSB 0x4e /* word64 MSB S + A - P */ #define R_IA_64_PCREL64LSB 0x4f /* word64 LSB S + A - P */ #define R_IA_64_LTOFF_FPTR22 0x52 /* immediate22 @ltoff(@fptr(S + A)) */ #define R_IA_64_LTOFF_FPTR64I 0x53 /* immediate64 @ltoff(@fptr(S + A)) */ #define R_IA_64_LTOFF_FPTR32MSB 0x54 /* word32 MSB @ltoff(@fptr(S + A)) */ #define R_IA_64_LTOFF_FPTR32LSB 0x55 /* word32 LSB @ltoff(@fptr(S + A)) */ #define R_IA_64_LTOFF_FPTR64MSB 0x56 /* word64 MSB @ltoff(@fptr(S + A)) */ #define R_IA_64_LTOFF_FPTR64LSB 0x57 /* word64 LSB @ltoff(@fptr(S + A)) */ #define R_IA_64_SEGREL32MSB 0x5c /* word32 MSB @segrel(S + A) */ #define R_IA_64_SEGREL32LSB 0x5d /* word32 LSB @segrel(S + A) */ #define R_IA_64_SEGREL64MSB 0x5e /* word64 MSB @segrel(S + A) */ #define R_IA_64_SEGREL64LSB 0x5f /* word64 LSB @segrel(S + A) */ #define R_IA_64_SECREL32MSB 0x64 /* word32 MSB @secrel(S + A) */ #define R_IA_64_SECREL32LSB 0x65 /* word32 LSB @secrel(S + A) */ #define R_IA_64_SECREL64MSB 0x66 /* word64 MSB @secrel(S + A) */ #define R_IA_64_SECREL64LSB 0x67 /* word64 LSB @secrel(S + A) */ #define R_IA_64_REL32MSB 0x6c /* word32 MSB BD + A */ #define R_IA_64_REL32LSB 0x6d /* word32 LSB BD + A */ #define R_IA_64_REL64MSB 0x6e /* word64 MSB BD + A */ #define R_IA_64_REL64LSB 0x6f /* word64 LSB BD + A */ #define R_IA_64_LTV32MSB 0x74 /* word32 MSB S + A */ #define R_IA_64_LTV32LSB 0x75 /* word32 LSB S + A */ #define R_IA_64_LTV64MSB 0x76 /* word64 MSB S + A */ #define R_IA_64_LTV64LSB 0x77 /* word64 LSB S + A */ #define R_IA_64_PCREL21BI 0x79 /* immediate21 form1 S + A - P */ #define R_IA_64_PCREL22 0x7a /* immediate22 S + A - P */ #define R_IA_64_PCREL64I 0x7b /* immediate64 S + A - P */ #define R_IA_64_IPLTMSB 0x80 /* function descriptor MSB special */ #define R_IA_64_IPLTLSB 0x81 /* function descriptor LSB speciaal */ #define R_IA_64_SUB 0x85 /* immediate64 A - S */ #define R_IA_64_LTOFF22X 0x86 /* immediate22 special */ #define R_IA_64_LDXMOV 0x87 /* immediate22 special */ #define R_IA_64_TPREL14 0x91 /* imm14 @tprel(S + A) */ #define R_IA_64_TPREL22 0x92 /* imm22 @tprel(S + A) */ #define R_IA_64_TPREL64I 0x93 /* imm64 @tprel(S + A) */ #define R_IA_64_TPREL64MSB 0x96 /* word64 MSB @tprel(S + A) */ #define R_IA_64_TPREL64LSB 0x97 /* word64 LSB @tprel(S + A) */ #define R_IA_64_LTOFF_TPREL22 0x9a /* imm22 @ltoff(@tprel(S+A)) */ #define R_IA_64_DTPMOD64MSB 0xa6 /* word64 MSB @dtpmod(S + A) */ #define R_IA_64_DTPMOD64LSB 0xa7 /* word64 LSB @dtpmod(S + A) */ #define R_IA_64_LTOFF_DTPMOD22 0xaa /* imm22 @ltoff(@dtpmod(S+A)) */ #define R_IA_64_DTPREL14 0xb1 /* imm14 @dtprel(S + A) */ #define R_IA_64_DTPREL22 0xb2 /* imm22 @dtprel(S + A) */ #define R_IA_64_DTPREL64I 0xb3 /* imm64 @dtprel(S + A) */ #define R_IA_64_DTPREL32MSB 0xb4 /* word32 MSB @dtprel(S + A) */ #define R_IA_64_DTPREL32LSB 0xb5 /* word32 LSB @dtprel(S + A) */ #define R_IA_64_DTPREL64MSB 0xb6 /* word64 MSB @dtprel(S + A) */ #define R_IA_64_DTPREL64LSB 0xb7 /* word64 LSB @dtprel(S + A) */ #define R_IA_64_LTOFF_DTPREL22 0xba /* imm22 @ltoff(@dtprel(S+A)) */ #define R_MIPS_NONE 0 /* No reloc */ #define R_MIPS_16 1 /* Direct 16 bit */ #define R_MIPS_32 2 /* Direct 32 bit */ #define R_MIPS_REL32 3 /* PC relative 32 bit */ #define R_MIPS_26 4 /* Direct 26 bit shifted */ #define R_MIPS_HI16 5 /* High 16 bit */ #define R_MIPS_LO16 6 /* Low 16 bit */ #define R_MIPS_GPREL16 7 /* GP relative 16 bit */ #define R_MIPS_LITERAL 8 /* 16 bit literal entry */ #define R_MIPS_GOT16 9 /* 16 bit GOT entry */ #define R_MIPS_PC16 10 /* PC relative 16 bit */ #define R_MIPS_CALL16 11 /* 16 bit GOT entry for function */ #define R_MIPS_GPREL32 12 /* GP relative 32 bit */ #define R_MIPS_64 18 /* Direct 64 bit */ #define R_MIPS_GOTHI16 21 /* GOT HI 16 bit */ #define R_MIPS_GOTLO16 22 /* GOT LO 16 bit */ #define R_MIPS_CALLHI16 30 /* upper 16 bit GOT entry for function */ #define R_MIPS_CALLLO16 31 /* lower 16 bit GOT entry for function */ #define R_PPC_NONE 0 /* No relocation. */ #define R_PPC_ADDR32 1 #define R_PPC_ADDR24 2 #define R_PPC_ADDR16 3 #define R_PPC_ADDR16_LO 4 #define R_PPC_ADDR16_HI 5 #define R_PPC_ADDR16_HA 6 #define R_PPC_ADDR14 7 #define R_PPC_ADDR14_BRTAKEN 8 #define R_PPC_ADDR14_BRNTAKEN 9 #define R_PPC_REL24 10 #define R_PPC_REL14 11 #define R_PPC_REL14_BRTAKEN 12 #define R_PPC_REL14_BRNTAKEN 13 #define R_PPC_GOT16 14 #define R_PPC_GOT16_LO 15 #define R_PPC_GOT16_HI 16 #define R_PPC_GOT16_HA 17 #define R_PPC_PLTREL24 18 #define R_PPC_COPY 19 #define R_PPC_GLOB_DAT 20 #define R_PPC_JMP_SLOT 21 #define R_PPC_RELATIVE 22 #define R_PPC_LOCAL24PC 23 #define R_PPC_UADDR32 24 #define R_PPC_UADDR16 25 #define R_PPC_REL32 26 #define R_PPC_PLT32 27 #define R_PPC_PLTREL32 28 #define R_PPC_PLT16_LO 29 #define R_PPC_PLT16_HI 30 #define R_PPC_PLT16_HA 31 #define R_PPC_SDAREL16 32 #define R_PPC_SECTOFF 33 #define R_PPC_SECTOFF_LO 34 #define R_PPC_SECTOFF_HI 35 #define R_PPC_SECTOFF_HA 36 /* * 64-bit relocations */ #define R_PPC64_ADDR64 38 #define R_PPC64_ADDR16_HIGHER 39 #define R_PPC64_ADDR16_HIGHERA 40 #define R_PPC64_ADDR16_HIGHEST 41 #define R_PPC64_ADDR16_HIGHESTA 42 #define R_PPC64_UADDR64 43 #define R_PPC64_REL64 44 #define R_PPC64_PLT64 45 #define R_PPC64_PLTREL64 46 #define R_PPC64_TOC16 47 #define R_PPC64_TOC16_LO 48 #define R_PPC64_TOC16_HI 49 #define R_PPC64_TOC16_HA 50 #define R_PPC64_TOC 51 #define R_PPC64_DTPMOD64 68 #define R_PPC64_TPREL64 73 #define R_PPC64_DTPREL64 78 /* * TLS relocations */ #define R_PPC_TLS 67 #define R_PPC_DTPMOD32 68 #define R_PPC_TPREL16 69 #define R_PPC_TPREL16_LO 70 #define R_PPC_TPREL16_HI 71 #define R_PPC_TPREL16_HA 72 #define R_PPC_TPREL32 73 #define R_PPC_DTPREL16 74 #define R_PPC_DTPREL16_LO 75 #define R_PPC_DTPREL16_HI 76 #define R_PPC_DTPREL16_HA 77 #define R_PPC_DTPREL32 78 #define R_PPC_GOT_TLSGD16 79 #define R_PPC_GOT_TLSGD16_LO 80 #define R_PPC_GOT_TLSGD16_HI 81 #define R_PPC_GOT_TLSGD16_HA 82 #define R_PPC_GOT_TLSLD16 83 #define R_PPC_GOT_TLSLD16_LO 84 #define R_PPC_GOT_TLSLD16_HI 85 #define R_PPC_GOT_TLSLD16_HA 86 #define R_PPC_GOT_TPREL16 87 #define R_PPC_GOT_TPREL16_LO 88 #define R_PPC_GOT_TPREL16_HI 89 #define R_PPC_GOT_TPREL16_HA 90 /* * The remaining relocs are from the Embedded ELF ABI, and are not in the * SVR4 ELF ABI. */ #define R_PPC_EMB_NADDR32 101 #define R_PPC_EMB_NADDR16 102 #define R_PPC_EMB_NADDR16_LO 103 #define R_PPC_EMB_NADDR16_HI 104 #define R_PPC_EMB_NADDR16_HA 105 #define R_PPC_EMB_SDAI16 106 #define R_PPC_EMB_SDA2I16 107 #define R_PPC_EMB_SDA2REL 108 #define R_PPC_EMB_SDA21 109 #define R_PPC_EMB_MRKREF 110 #define R_PPC_EMB_RELSEC16 111 #define R_PPC_EMB_RELST_LO 112 #define R_PPC_EMB_RELST_HI 113 #define R_PPC_EMB_RELST_HA 114 #define R_PPC_EMB_BIT_FLD 115 #define R_PPC_EMB_RELSDA 116 #define R_SPARC_NONE 0 #define R_SPARC_8 1 #define R_SPARC_16 2 #define R_SPARC_32 3 #define R_SPARC_DISP8 4 #define R_SPARC_DISP16 5 #define R_SPARC_DISP32 6 #define R_SPARC_WDISP30 7 #define R_SPARC_WDISP22 8 #define R_SPARC_HI22 9 #define R_SPARC_22 10 #define R_SPARC_13 11 #define R_SPARC_LO10 12 #define R_SPARC_GOT10 13 #define R_SPARC_GOT13 14 #define R_SPARC_GOT22 15 #define R_SPARC_PC10 16 #define R_SPARC_PC22 17 #define R_SPARC_WPLT30 18 #define R_SPARC_COPY 19 #define R_SPARC_GLOB_DAT 20 #define R_SPARC_JMP_SLOT 21 #define R_SPARC_RELATIVE 22 #define R_SPARC_UA32 23 #define R_SPARC_PLT32 24 #define R_SPARC_HIPLT22 25 #define R_SPARC_LOPLT10 26 #define R_SPARC_PCPLT32 27 #define R_SPARC_PCPLT22 28 #define R_SPARC_PCPLT10 29 #define R_SPARC_10 30 #define R_SPARC_11 31 #define R_SPARC_64 32 #define R_SPARC_OLO10 33 #define R_SPARC_HH22 34 #define R_SPARC_HM10 35 #define R_SPARC_LM22 36 #define R_SPARC_PC_HH22 37 #define R_SPARC_PC_HM10 38 #define R_SPARC_PC_LM22 39 #define R_SPARC_WDISP16 40 #define R_SPARC_WDISP19 41 #define R_SPARC_GLOB_JMP 42 #define R_SPARC_7 43 #define R_SPARC_5 44 #define R_SPARC_6 45 #define R_SPARC_DISP64 46 #define R_SPARC_PLT64 47 #define R_SPARC_HIX22 48 #define R_SPARC_LOX10 49 #define R_SPARC_H44 50 #define R_SPARC_M44 51 #define R_SPARC_L44 52 #define R_SPARC_REGISTER 53 #define R_SPARC_UA64 54 #define R_SPARC_UA16 55 #define R_SPARC_TLS_GD_HI22 56 #define R_SPARC_TLS_GD_LO10 57 #define R_SPARC_TLS_GD_ADD 58 #define R_SPARC_TLS_GD_CALL 59 #define R_SPARC_TLS_LDM_HI22 60 #define R_SPARC_TLS_LDM_LO10 61 #define R_SPARC_TLS_LDM_ADD 62 #define R_SPARC_TLS_LDM_CALL 63 #define R_SPARC_TLS_LDO_HIX22 64 #define R_SPARC_TLS_LDO_LOX10 65 #define R_SPARC_TLS_LDO_ADD 66 #define R_SPARC_TLS_IE_HI22 67 #define R_SPARC_TLS_IE_LO10 68 #define R_SPARC_TLS_IE_LD 69 #define R_SPARC_TLS_IE_LDX 70 #define R_SPARC_TLS_IE_ADD 71 #define R_SPARC_TLS_LE_HIX22 72 #define R_SPARC_TLS_LE_LOX10 73 #define R_SPARC_TLS_DTPMOD32 74 #define R_SPARC_TLS_DTPMOD64 75 #define R_SPARC_TLS_DTPOFF32 76 #define R_SPARC_TLS_DTPOFF64 77 #define R_SPARC_TLS_TPOFF32 78 #define R_SPARC_TLS_TPOFF64 79 #define R_X86_64_NONE 0 /* No relocation. */ #define R_X86_64_64 1 /* Add 64 bit symbol value. */ #define R_X86_64_PC32 2 /* PC-relative 32 bit signed sym value. */ #define R_X86_64_GOT32 3 /* PC-relative 32 bit GOT offset. */ #define R_X86_64_PLT32 4 /* PC-relative 32 bit PLT offset. */ #define R_X86_64_COPY 5 /* Copy data from shared object. */ #define R_X86_64_GLOB_DAT 6 /* Set GOT entry to data address. */ #define R_X86_64_JMP_SLOT 7 /* Set GOT entry to code address. */ #define R_X86_64_RELATIVE 8 /* Add load address of shared object. */ #define R_X86_64_GOTPCREL 9 /* Add 32 bit signed pcrel offset to GOT. */ #define R_X86_64_32 10 /* Add 32 bit zero extended symbol value */ #define R_X86_64_32S 11 /* Add 32 bit sign extended symbol value */ #define R_X86_64_16 12 /* Add 16 bit zero extended symbol value */ #define R_X86_64_PC16 13 /* Add 16 bit signed extended pc relative symbol value */ #define R_X86_64_8 14 /* Add 8 bit zero extended symbol value */ #define R_X86_64_PC8 15 /* Add 8 bit signed extended pc relative symbol value */ #define R_X86_64_DTPMOD64 16 /* ID of module containing symbol */ #define R_X86_64_DTPOFF64 17 /* Offset in TLS block */ #define R_X86_64_TPOFF64 18 /* Offset in static TLS block */ #define R_X86_64_TLSGD 19 /* PC relative offset to GD GOT entry */ #define R_X86_64_TLSLD 20 /* PC relative offset to LD GOT entry */ #define R_X86_64_DTPOFF32 21 /* Offset in TLS block */ #define R_X86_64_GOTTPOFF 22 /* PC relative offset to IE GOT entry */ #define R_X86_64_TPOFF32 23 /* Offset in static TLS block */ #define R_X86_64_PC64 24 /* PC-relative 64 bit signed sym value. */ #define R_X86_64_GOTOFF64 25 #define R_X86_64_GOTPC32 26 #define R_X86_64_GOT64 27 #define R_X86_64_GOTPCREL64 28 #define R_X86_64_GOTPC64 29 #define R_X86_64_GOTPLT64 30 #define R_X86_64_PLTOFF64 31 #define R_X86_64_SIZE32 32 #define R_X86_64_SIZE64 33 #define R_X86_64_GOTPC32_TLSDESC 34 #define R_X86_64_TLSDESC_CALL 35 #define R_X86_64_TLSDESC 36 #define R_X86_64_IRELATIVE 37 #endif /* !_SYS_ELF_COMMON_H_ */ # 1243 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf_common.h" 3 4 # 33 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf32.h" 2 3 4 /* * ELF definitions common to all 32-bit architectures. */ typedef uint32_t Elf32_Addr; typedef uint16_t Elf32_Half; typedef uint32_t Elf32_Off; typedef int32_t Elf32_Sword; typedef uint32_t Elf32_Word; typedef uint64_t Elf32_Lword; typedef Elf32_Word Elf32_Hashelt; /* Non-standard class-dependent datatype used for abstraction. */ typedef Elf32_Word Elf32_Size; typedef Elf32_Sword Elf32_Ssize; /* * ELF header. */ typedef struct { unsigned char e_ident[EI_NIDENT]; /* File identification. */ Elf32_Half e_type; /* File type. */ Elf32_Half e_machine; /* Machine architecture. */ Elf32_Word e_version; /* ELF format version. */ Elf32_Addr e_entry; /* Entry point. */ Elf32_Off e_phoff; /* Program header file offset. */ Elf32_Off e_shoff; /* Section header file offset. */ Elf32_Word e_flags; /* Architecture-specific flags. */ Elf32_Half e_ehsize; /* Size of ELF header in bytes. */ Elf32_Half e_phentsize; /* Size of program header entry. */ Elf32_Half e_phnum; /* Number of program header entries. */ Elf32_Half e_shentsize; /* Size of section header entry. */ Elf32_Half e_shnum; /* Number of section header entries. */ Elf32_Half e_shstrndx; /* Section name strings section. */ } Elf32_Ehdr; /* * Shared object information, found in SHT_MIPS_LIBLIST. */ typedef struct { Elf32_Word l_name; /* The name of a shared object. */ Elf32_Word l_time_stamp; /* 32-bit timestamp. */ Elf32_Word l_checksum; /* Checksum of visible symbols, sizes. */ Elf32_Word l_version; /* Interface version string index. */ Elf32_Word l_flags; /* Flags (LL_*). */ } Elf32_Lib; /* * Section header. */ typedef struct { Elf32_Word sh_name; /* Section name (index into the section header string table). */ Elf32_Word sh_type; /* Section type. */ Elf32_Word sh_flags; /* Section flags. */ Elf32_Addr sh_addr; /* Address in memory image. */ Elf32_Off sh_offset; /* Offset in file. */ Elf32_Word sh_size; /* Size in bytes. */ Elf32_Word sh_link; /* Index of a related section. */ Elf32_Word sh_info; /* Depends on section type. */ Elf32_Word sh_addralign; /* Alignment in bytes. */ Elf32_Word sh_entsize; /* Size of each entry in section. */ } Elf32_Shdr; /* * Program header. */ typedef struct { Elf32_Word p_type; /* Entry type. */ Elf32_Off p_offset; /* File offset of contents. */ Elf32_Addr p_vaddr; /* Virtual address in memory image. */ Elf32_Addr p_paddr; /* Physical address (not used). */ Elf32_Word p_filesz; /* Size of contents in file. */ Elf32_Word p_memsz; /* Size of contents in memory. */ Elf32_Word p_flags; /* Access permission flags. */ Elf32_Word p_align; /* Alignment in memory and file. */ } Elf32_Phdr; /* * Dynamic structure. The ".dynamic" section contains an array of them. */ typedef struct { Elf32_Sword d_tag; /* Entry type. */ union { Elf32_Word d_val; /* Integer value. */ Elf32_Addr d_ptr; /* Address value. */ } d_un; } Elf32_Dyn; /* * Relocation entries. */ /* Relocations that don't need an addend field. */ typedef struct { Elf32_Addr r_offset; /* Location to be relocated. */ Elf32_Word r_info; /* Relocation type and symbol index. */ } Elf32_Rel; /* Relocations that need an addend field. */ typedef struct { Elf32_Addr r_offset; /* Location to be relocated. */ Elf32_Word r_info; /* Relocation type and symbol index. */ Elf32_Sword r_addend; /* Addend. */ } Elf32_Rela; /* Macros for accessing the fields of r_info. */ #define ELF32_R_SYM(info) ((info) >> 8) #define ELF32_R_TYPE(info) ((unsigned char)(info)) /* Macro for constructing r_info from field values. */ #define ELF32_R_INFO(sym, type) (((sym) << 8) + (unsigned char)(type)) /* * Note entry header */ typedef Elf_Note Elf32_Nhdr; /* * Move entry */ typedef struct { Elf32_Lword m_value; /* symbol value */ Elf32_Word m_info; /* size + index */ Elf32_Word m_poffset; /* symbol offset */ Elf32_Half m_repeat; /* repeat count */ Elf32_Half m_stride; /* stride info */ } Elf32_Move; /* * The macros compose and decompose values for Move.r_info * * sym = ELF32_M_SYM(M.m_info) * size = ELF32_M_SIZE(M.m_info) * M.m_info = ELF32_M_INFO(sym, size) */ #define ELF32_M_SYM(info) ((info)>>8) #define ELF32_M_SIZE(info) ((unsigned char)(info)) #define ELF32_M_INFO(sym, size) (((sym)<<8)+(unsigned char)(size)) /* * Hardware/Software capabilities entry */ typedef struct { Elf32_Word c_tag; /* how to interpret value */ union { Elf32_Word c_val; Elf32_Addr c_ptr; } c_un; } Elf32_Cap; /* * Symbol table entries. */ typedef struct { Elf32_Word st_name; /* String table index of name. */ Elf32_Addr st_value; /* Symbol value. */ Elf32_Word st_size; /* Size of associated object. */ unsigned char st_info; /* Type and binding information. */ unsigned char st_other; /* Reserved (not used). */ Elf32_Half st_shndx; /* Section index of symbol. */ } Elf32_Sym; /* Macros for accessing the fields of st_info. */ #define ELF32_ST_BIND(info) ((info) >> 4) #define ELF32_ST_TYPE(info) ((info) & 0xf) /* Macro for constructing st_info from field values. */ #define ELF32_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf)) /* Macro for accessing the fields of st_other. */ #define ELF32_ST_VISIBILITY(oth) ((oth) & 0x3) /* Structures used by Sun & GNU symbol versioning. */ typedef struct { Elf32_Half vd_version; Elf32_Half vd_flags; Elf32_Half vd_ndx; Elf32_Half vd_cnt; Elf32_Word vd_hash; Elf32_Word vd_aux; Elf32_Word vd_next; } Elf32_Verdef; typedef struct { Elf32_Word vda_name; Elf32_Word vda_next; } Elf32_Verdaux; typedef struct { Elf32_Half vn_version; Elf32_Half vn_cnt; Elf32_Word vn_file; Elf32_Word vn_aux; Elf32_Word vn_next; } Elf32_Verneed; typedef struct { Elf32_Word vna_hash; Elf32_Half vna_flags; Elf32_Half vna_other; Elf32_Word vna_name; Elf32_Word vna_next; } Elf32_Vernaux; typedef Elf32_Half Elf32_Versym; typedef struct { Elf32_Half si_boundto; /* direct bindings - symbol bound to */ Elf32_Half si_flags; /* per symbol flags */ } Elf32_Syminfo; #endif /* !_SYS_ELF32_H_ */ # 258 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf32.h" 3 4 # 74 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/elf.h" 2 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 74 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/elf.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf64.h" 1 3 4 /*- * Copyright (c) 1996-1998 John D. Polstra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $FreeBSD: projects/clang360-import/sys/sys/elf64.h 276539 2015-01-02 15:36:29Z emaste $ */ #ifndef _SYS_ELF64_H_ #define _SYS_ELF64_H_ 1 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 32 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf64.h" 3 4 # 33 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf64.h" 3 4 /* * ELF definitions common to all 64-bit architectures. */ typedef uint64_t Elf64_Addr; typedef uint16_t Elf64_Half; typedef uint64_t Elf64_Off; typedef int32_t Elf64_Sword; typedef int64_t Elf64_Sxword; typedef uint32_t Elf64_Word; typedef uint64_t Elf64_Lword; typedef uint64_t Elf64_Xword; /* * Types of dynamic symbol hash table bucket and chain elements. * * This is inconsistent among 64 bit architectures, so a machine dependent * typedef is required. */ typedef Elf64_Word Elf64_Hashelt; /* Non-standard class-dependent datatype used for abstraction. */ typedef Elf64_Xword Elf64_Size; typedef Elf64_Sxword Elf64_Ssize; /* * ELF header. */ typedef struct { unsigned char e_ident[EI_NIDENT]; /* File identification. */ Elf64_Half e_type; /* File type. */ Elf64_Half e_machine; /* Machine architecture. */ Elf64_Word e_version; /* ELF format version. */ Elf64_Addr e_entry; /* Entry point. */ Elf64_Off e_phoff; /* Program header file offset. */ Elf64_Off e_shoff; /* Section header file offset. */ Elf64_Word e_flags; /* Architecture-specific flags. */ Elf64_Half e_ehsize; /* Size of ELF header in bytes. */ Elf64_Half e_phentsize; /* Size of program header entry. */ Elf64_Half e_phnum; /* Number of program header entries. */ Elf64_Half e_shentsize; /* Size of section header entry. */ Elf64_Half e_shnum; /* Number of section header entries. */ Elf64_Half e_shstrndx; /* Section name strings section. */ } Elf64_Ehdr; /* * Shared object information, found in SHT_MIPS_LIBLIST. */ typedef struct { Elf64_Word l_name; /* The name of a shared object. */ Elf64_Word l_time_stamp; /* 64-bit timestamp. */ Elf64_Word l_checksum; /* Checksum of visible symbols, sizes. */ Elf64_Word l_version; /* Interface version string index. */ Elf64_Word l_flags; /* Flags (LL_*). */ } Elf64_Lib; /* * Section header. */ typedef struct { Elf64_Word sh_name; /* Section name (index into the section header string table). */ Elf64_Word sh_type; /* Section type. */ Elf64_Xword sh_flags; /* Section flags. */ Elf64_Addr sh_addr; /* Address in memory image. */ Elf64_Off sh_offset; /* Offset in file. */ Elf64_Xword sh_size; /* Size in bytes. */ Elf64_Word sh_link; /* Index of a related section. */ Elf64_Word sh_info; /* Depends on section type. */ Elf64_Xword sh_addralign; /* Alignment in bytes. */ Elf64_Xword sh_entsize; /* Size of each entry in section. */ } Elf64_Shdr; /* * Program header. */ typedef struct { Elf64_Word p_type; /* Entry type. */ Elf64_Word p_flags; /* Access permission flags. */ Elf64_Off p_offset; /* File offset of contents. */ Elf64_Addr p_vaddr; /* Virtual address in memory image. */ Elf64_Addr p_paddr; /* Physical address (not used). */ Elf64_Xword p_filesz; /* Size of contents in file. */ Elf64_Xword p_memsz; /* Size of contents in memory. */ Elf64_Xword p_align; /* Alignment in memory and file. */ } Elf64_Phdr; /* * Dynamic structure. The ".dynamic" section contains an array of them. */ typedef struct { Elf64_Sxword d_tag; /* Entry type. */ union { Elf64_Xword d_val; /* Integer value. */ Elf64_Addr d_ptr; /* Address value. */ } d_un; } Elf64_Dyn; /* * Relocation entries. */ /* Relocations that don't need an addend field. */ typedef struct { Elf64_Addr r_offset; /* Location to be relocated. */ Elf64_Xword r_info; /* Relocation type and symbol index. */ } Elf64_Rel; /* Relocations that need an addend field. */ typedef struct { Elf64_Addr r_offset; /* Location to be relocated. */ Elf64_Xword r_info; /* Relocation type and symbol index. */ Elf64_Sxword r_addend; /* Addend. */ } Elf64_Rela; /* Macros for accessing the fields of r_info. */ #define ELF64_R_SYM(info) ((info) >> 32) #define ELF64_R_TYPE(info) ((info) & 0xffffffffL) /* Macro for constructing r_info from field values. */ #define ELF64_R_INFO(sym, type) (((sym) << 32) + ((type) & 0xffffffffL)) #define ELF64_R_TYPE_DATA(info) (((Elf64_Xword)(info)<<32)>>40) #define ELF64_R_TYPE_ID(info) (((Elf64_Xword)(info)<<56)>>56) #define ELF64_R_TYPE_INFO(data, type) \ (((Elf64_Xword)(data)<<8)+(Elf64_Xword)(type)) /* * Note entry header */ typedef Elf_Note Elf64_Nhdr; /* * Move entry */ typedef struct { Elf64_Lword m_value; /* symbol value */ Elf64_Xword m_info; /* size + index */ Elf64_Xword m_poffset; /* symbol offset */ Elf64_Half m_repeat; /* repeat count */ Elf64_Half m_stride; /* stride info */ } Elf64_Move; #define ELF64_M_SYM(info) ((info)>>8) #define ELF64_M_SIZE(info) ((unsigned char)(info)) #define ELF64_M_INFO(sym, size) (((sym)<<8)+(unsigned char)(size)) /* * Hardware/Software capabilities entry */ typedef struct { Elf64_Xword c_tag; /* how to interpret value */ union { Elf64_Xword c_val; Elf64_Addr c_ptr; } c_un; } Elf64_Cap; /* * Symbol table entries. */ typedef struct { Elf64_Word st_name; /* String table index of name. */ unsigned char st_info; /* Type and binding information. */ unsigned char st_other; /* Reserved (not used). */ Elf64_Half st_shndx; /* Section index of symbol. */ Elf64_Addr st_value; /* Symbol value. */ Elf64_Xword st_size; /* Size of associated object. */ } Elf64_Sym; /* Macros for accessing the fields of st_info. */ #define ELF64_ST_BIND(info) ((info) >> 4) #define ELF64_ST_TYPE(info) ((info) & 0xf) /* Macro for constructing st_info from field values. */ #define ELF64_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf)) /* Macro for accessing the fields of st_other. */ #define ELF64_ST_VISIBILITY(oth) ((oth) & 0x3) /* Structures used by Sun & GNU-style symbol versioning. */ typedef struct { Elf64_Half vd_version; Elf64_Half vd_flags; Elf64_Half vd_ndx; Elf64_Half vd_cnt; Elf64_Word vd_hash; Elf64_Word vd_aux; Elf64_Word vd_next; } Elf64_Verdef; typedef struct { Elf64_Word vda_name; Elf64_Word vda_next; } Elf64_Verdaux; typedef struct { Elf64_Half vn_version; Elf64_Half vn_cnt; Elf64_Word vn_file; Elf64_Word vn_aux; Elf64_Word vn_next; } Elf64_Verneed; typedef struct { Elf64_Word vna_hash; Elf64_Half vna_flags; Elf64_Half vna_other; Elf64_Word vna_name; Elf64_Word vna_next; } Elf64_Vernaux; typedef Elf64_Half Elf64_Versym; typedef struct { Elf64_Half si_boundto; /* direct bindings - symbol bound to */ Elf64_Half si_flags; /* per symbol flags */ } Elf64_Syminfo; #endif /* !_SYS_ELF64_H_ */ # 261 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf64.h" 3 4 # 75 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/elf.h" 2 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 75 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/elf.h" 3 4 # 1 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf_generic.h" 1 3 4 /*- * Copyright (c) 1998 John D. Polstra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $FreeBSD: projects/clang360-import/sys/sys/elf_generic.h 186667 2009-01-01 02:08:56Z obrien $ */ #ifndef _SYS_ELF_GENERIC_H_ #define _SYS_ELF_GENERIC_H_ 1 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 32 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf_generic.h" 3 4 # 33 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf_generic.h" 3 4 /* * Definitions of generic ELF names which relieve applications from * needing to know the word size. */ #if __ELF_WORD_SIZE != 32 && __ELF_WORD_SIZE != 64 #error "__ELF_WORD_SIZE must be defined as 32 or 64" #endif # 42 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf_generic.h" 3 4 #define ELF_CLASS __CONCAT(ELFCLASS,__ELF_WORD_SIZE) #if BYTE_ORDER == LITTLE_ENDIAN #define ELF_DATA ELFDATA2LSB #elif BYTE_ORDER == BIG_ENDIAN # 48 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf_generic.h" 3 4 #define ELF_DATA ELFDATA2MSB #else # 50 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf_generic.h" 3 4 #error "Unknown byte order" #endif # 52 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf_generic.h" 3 4 #define __elfN(x) __CONCAT(__CONCAT(__CONCAT(elf,__ELF_WORD_SIZE),_),x) #define __ElfN(x) __CONCAT(__CONCAT(__CONCAT(Elf,__ELF_WORD_SIZE),_),x) #define __ELFN(x) __CONCAT(__CONCAT(__CONCAT(ELF,__ELF_WORD_SIZE),_),x) #define __ElfType(x) typedef __ElfN(x) __CONCAT(Elf_,x) __ElfType(Addr); __ElfType(Half); __ElfType(Off); __ElfType(Sword); __ElfType(Word); __ElfType(Ehdr); __ElfType(Shdr); __ElfType(Phdr); __ElfType(Dyn); __ElfType(Rel); __ElfType(Rela); __ElfType(Sym); __ElfType(Verdef); __ElfType(Verdaux); __ElfType(Verneed); __ElfType(Vernaux); __ElfType(Versym); /* Non-standard ELF types. */ __ElfType(Hashelt); __ElfType(Size); __ElfType(Ssize); #define ELF_R_SYM __ELFN(R_SYM) #define ELF_R_TYPE __ELFN(R_TYPE) #define ELF_R_INFO __ELFN(R_INFO) #define ELF_ST_BIND __ELFN(ST_BIND) #define ELF_ST_TYPE __ELFN(ST_TYPE) #define ELF_ST_INFO __ELFN(ST_INFO) #endif /* !_SYS_ELF_GENERIC_H_ */ # 89 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf_generic.h" 3 4 # 76 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/elf.h" 2 3 4 #define ELF_ARCH EM_MIPS #define ELF_ARCH32 EM_MIPS #define ELF_MACHINE_OK(x) ((x) == ELF_ARCH) /* Define "machine" characteristics */ #if __ELF_WORD_SIZE == 32 #define ELF_TARG_CLASS ELFCLASS32 #else # 86 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/elf.h" 3 4 #define ELF_TARG_CLASS ELFCLASS64 #endif # 88 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/elf.h" 3 4 #ifdef __MIPSEB__ #define ELF_TARG_DATA ELFDATA2MSB #else # 91 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/elf.h" 3 4 #define ELF_TARG_DATA ELFDATA2LSB #endif # 93 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/elf.h" 3 4 #define ELF_TARG_MACH EM_MIPS #define ELF_TARG_VER 1 /* * Auxiliary vector entries for passing information to the interpreter. * * The i386 supplement to the SVR4 ABI specification names this "auxv_t", * but POSIX lays claim to all symbols ending with "_t". */ typedef struct { /* Auxiliary vector entry on initial stack */ int a_type; /* Entry type. */ union { int a_val; /* Integer value. */ void *a_ptr; /* Address. */ void (*a_fcn)(void); /* Function pointer (not used). */ } a_un; } Elf32_Auxinfo; typedef struct { /* Auxiliary vector entry on initial stack */ long a_type; /* Entry type. */ union { long a_val; /* Integer value. */ void *a_ptr; /* Address. */ void (*a_fcn)(void); /* Function pointer (not used). */ } a_un; } Elf64_Auxinfo; __ElfType(Auxinfo); /* Values for a_type. */ #define AT_NULL 0 /* Terminates the vector. */ #define AT_IGNORE 1 /* Ignored entry. */ #define AT_EXECFD 2 /* File descriptor of program to load. */ #define AT_PHDR 3 /* Program header of program already loaded. */ #define AT_PHENT 4 /* Size of each program header entry. */ #define AT_PHNUM 5 /* Number of program header entries. */ #define AT_PAGESZ 6 /* Page size in bytes. */ #define AT_BASE 7 /* Interpreter's base address. */ #define AT_FLAGS 8 /* Flags (unused for i386). */ #define AT_ENTRY 9 /* Where interpreter should transfer control. */ #define AT_NOTELF 10 /* Program is not ELF ?? */ #define AT_UID 11 /* Real uid. */ #define AT_EUID 12 /* Effective uid. */ #define AT_GID 13 /* Real gid. */ #define AT_EGID 14 /* Effective gid. */ #define AT_EXECPATH 15 /* Path to the executable. */ #define AT_CANARY 16 /* Canary for SSP */ #define AT_CANARYLEN 17 /* Length of the canary. */ #define AT_OSRELDATE 18 /* OSRELDATE. */ #define AT_NCPUS 19 /* Number of CPUs. */ #define AT_PAGESIZES 20 /* Pagesizes. */ #define AT_PAGESIZESLEN 21 /* Number of pagesizes. */ #define AT_TIMEKEEP 22 /* Pointer to timehands. */ #define AT_STACKPROT 23 /* Initial stack protection. */ #define AT_COUNT 24 /* Count of defined aux entry types. */ #define ET_DYN_LOAD_ADDR 0x0120000 /* * Constant to mark start of symtab/strtab saved by trampoline */ #define SYMTAB_MAGIC 0x64656267 /* from NetBSD's sys/mips/include/elf_machdep.h $NetBSD: elf_machdep.h,v 1.18 2013/05/23 21:39:49 christos Exp $ */ /* mips relocs. */ #define R_MIPS_NONE 0 #define R_MIPS_16 1 #define R_MIPS_32 2 #define R_MIPS_REL32 3 #define R_MIPS_REL R_MIPS_REL32 #define R_MIPS_26 4 #define R_MIPS_HI16 5 /* high 16 bits of symbol value */ #define R_MIPS_LO16 6 /* low 16 bits of symbol value */ #define R_MIPS_GPREL16 7 /* GP-relative reference */ #define R_MIPS_LITERAL 8 /* Reference to literal section */ #define R_MIPS_GOT16 9 /* Reference to global offset table */ #define R_MIPS_GOT R_MIPS_GOT16 #define R_MIPS_PC16 10 /* 16 bit PC relative reference */ #define R_MIPS_CALL16 11 /* 16 bit call thru glbl offset tbl */ #define R_MIPS_CALL R_MIPS_CALL16 #define R_MIPS_GPREL32 12 /* 13, 14, 15 are not defined at this point. */ #define R_MIPS_UNUSED1 13 #define R_MIPS_UNUSED2 14 #define R_MIPS_UNUSED3 15 /* * The remaining relocs are apparently part of the 64-bit Irix ELF ABI. */ #define R_MIPS_SHIFT5 16 #define R_MIPS_SHIFT6 17 #define R_MIPS_64 18 #define R_MIPS_GOT_DISP 19 #define R_MIPS_GOT_PAGE 20 #define R_MIPS_GOT_OFST 21 #define R_MIPS_GOT_HI16 22 #define R_MIPS_GOT_LO16 23 #define R_MIPS_SUB 24 #define R_MIPS_INSERT_A 25 #define R_MIPS_INSERT_B 26 #define R_MIPS_DELETE 27 #define R_MIPS_HIGHER 28 #define R_MIPS_HIGHEST 29 #define R_MIPS_CALL_HI16 30 #define R_MIPS_CALL_LO16 31 #define R_MIPS_SCN_DISP 32 #define R_MIPS_REL16 33 #define R_MIPS_ADD_IMMEDIATE 34 #define R_MIPS_PJUMP 35 #define R_MIPS_RELGOT 36 #define R_MIPS_JALR 37 /* TLS relocations */ #define R_MIPS_TLS_DTPMOD32 38 /* Module number 32 bit */ #define R_MIPS_TLS_DTPREL32 39 /* Module-relative offset 32 bit */ #define R_MIPS_TLS_DTPMOD64 40 /* Module number 64 bit */ #define R_MIPS_TLS_DTPREL64 41 /* Module-relative offset 64 bit */ #define R_MIPS_TLS_GD 42 /* 16 bit GOT offset for GD */ #define R_MIPS_TLS_LDM 43 /* 16 bit GOT offset for LDM */ #define R_MIPS_TLS_DTPREL_HI16 44 /* Module-relative offset, high 16 bits */ #define R_MIPS_TLS_DTPREL_LO16 45 /* Module-relative offset, low 16 bits */ #define R_MIPS_TLS_GOTTPREL 46 /* 16 bit GOT offset for IE */ #define R_MIPS_TLS_TPREL32 47 /* TP-relative offset, 32 bit */ #define R_MIPS_TLS_TPREL64 48 /* TP-relative offset, 64 bit */ #define R_MIPS_TLS_TPREL_HI16 49 /* TP-relative offset, high 16 bits */ #define R_MIPS_TLS_TPREL_LO16 50 /* TP-relative offset, low 16 bits */ #define R_MIPS_max 51 #define R_TYPE(name) __CONCAT(R_MIPS_,name) #define R_MIPS16_min 100 #define R_MIPS16_26 100 #define R_MIPS16_GPREL 101 #define R_MIPS16_GOT16 102 #define R_MIPS16_CALL16 103 #define R_MIPS16_HI16 104 #define R_MIPS16_LO16 105 #define R_MIPS16_max 106 #define R_MIPS_COPY 126 #define R_MIPS_JUMP_SLOT 127 /* * ELF Flags */ #define EF_MIPS_ARCH_1 0x00000000 /* -mips1 code */ #define EF_MIPS_ARCH_2 0x10000000 /* -mips2 code */ #define EF_MIPS_ARCH_3 0x20000000 /* -mips3 code */ #define EF_MIPS_ARCH_4 0x30000000 /* -mips4 code */ #define EF_MIPS_ARCH_5 0x40000000 /* -mips5 code */ #define EF_MIPS_ARCH_32 0x50000000 /* -mips32 code */ #define EF_MIPS_ARCH_64 0x60000000 /* -mips64 code */ #define EF_MIPS_ARCH_32R2 0x70000000 /* -mips32r2 code */ #define EF_MIPS_ARCH_64R2 0x80000000 /* -mips64r2 code */ #define EF_MIPS_ABI 0x0000f000 #define EF_MIPS_ABI_O32 0x00001000 #define EF_MIPS_ABI_O64 0x00002000 #define EF_MIPS_ABI_EABI32 0x00003000 #define EF_MIPS_ABI_EABI64 0x00004000 #endif /* __MIPS_ELF_H */ # 262 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/elf.h" 3 4 # 38 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf.h" 2 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 38 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf.h" 3 4 # 39 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf.h" 3 4 #if 0 /* expanded by -frewrite-includes */ #include #endif /* expanded by -frewrite-includes */ # 39 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf.h" 3 4 # 40 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf.h" 3 4 #endif /* !_SYS_ELF_H_ */ # 42 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/elf.h" 3 4 # 45 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/link_elf.h" 2 3 4 /* * Flags that describe the origin of the entries in Dl_serinfo. * SunOS has these in , we follow the suit. */ #define LA_SER_ORIG 0x01 /* original (needed) name */ #define LA_SER_LIBPATH 0x02 /* LD_LIBRARY_PATH entry prepended */ #define LA_SER_RUNPATH 0x04 /* runpath entry prepended */ #define LA_SER_CONFIG 0x08 /* configuration entry prepended */ #define LA_SER_DEFAULT 0x40 /* default path prepended */ #define LA_SER_SECURE 0x80 /* default (secure) path prepended */ typedef struct link_map { caddr_t l_addr; /* Base Address of library */ #ifdef __mips__ caddr_t l_offs; /* Load Offset of library */ #endif # 62 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/link_elf.h" 3 4 const char *l_name; /* Absolute Path to Library */ const void *l_ld; /* Pointer to .dynamic in memory */ struct link_map *l_next, *l_prev; /* linked list of of mapped libs */ } Link_map; struct r_debug { int r_version; /* not used */ struct link_map *r_map; /* list of loaded images */ void (*r_brk)(struct r_debug *, struct link_map *); /* pointer to break point */ enum { RT_CONSISTENT, /* things are stable */ RT_ADD, /* adding a shared library */ RT_DELETE /* removing a shared library */ } r_state; }; struct dl_phdr_info { Elf_Addr dlpi_addr; /* module relocation base */ const char *dlpi_name; /* module name */ const Elf_Phdr *dlpi_phdr; /* pointer to module's phdr */ Elf_Half dlpi_phnum; /* number of entries in phdr */ unsigned long long int dlpi_adds; /* total # of loads */ unsigned long long int dlpi_subs; /* total # of unloads */ size_t dlpi_tls_modid; void *dlpi_tls_data; }; __BEGIN_DECLS typedef int (*__dl_iterate_hdr_callback)(struct dl_phdr_info *, size_t, void *); extern int dl_iterate_phdr(__dl_iterate_hdr_callback, void *); int _rtld_addr_phdr(const void *, struct dl_phdr_info *); int _rtld_get_stack_prot(void); int _rtld_is_dlopened(void *); #ifdef __ARM_EABI__ void * dl_unwind_find_exidx(const void *, int *); #endif # 102 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/link_elf.h" 3 4 __END_DECLS #endif /* _SYS_LINK_ELF_H_ */ # 106 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/link_elf.h" 3 4 # 34 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/link.h" 2 3 4 # 93 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" 2 # if (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \ || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG))) # define USE_PT_GNU_EH_FRAME # endif # 97 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #endif # 98 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #if defined(EH_FRAME_SECTION_NAME) && !defined(USE_PT_GNU_EH_FRAME) # define USE_EH_FRAME_REGISTRY #endif # 101 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #if defined(EH_FRAME_SECTION_NAME) && EH_TABLES_CAN_BE_READ_ONLY # define EH_FRAME_SECTION_CONST const #else # 104 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" # define EH_FRAME_SECTION_CONST #endif # 106 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" /* We do not want to add the weak attribute to the declarations of these routines in unwind-dw2-fde.h because that will cause the definition of these symbols to be weak as well. This exposes a core issue, how to handle creating weak references vs how to create weak definitions. Either we have to have the definition of TARGET_WEAK_ATTRIBUTE be conditional in the shared header files or have a second declaration if we want a function's references to be weak, but not its definition. Making TARGET_WEAK_ATTRIBUTE conditional seems like a good solution until one thinks about scaling to larger problems -- i.e., the condition under which TARGET_WEAK_ATTRIBUTE is active will eventually get far too complicated. So, we take an approach similar to #pragma weak -- we have a second declaration for functions that we want to have weak references. Neither way is particularly good. */ /* References to __register_frame_info and __deregister_frame_info should be weak in this file if at all possible. */ extern void __register_frame_info (const void *, struct object *) TARGET_ATTRIBUTE_WEAK; extern void __register_frame_info_bases (const void *, struct object *, void *, void *) TARGET_ATTRIBUTE_WEAK; extern void *__deregister_frame_info (const void *) TARGET_ATTRIBUTE_WEAK; extern void *__deregister_frame_info_bases (const void *) TARGET_ATTRIBUTE_WEAK; extern void __do_global_ctors_1 (void); /* Likewise for _Jv_RegisterClasses. */ extern void _Jv_RegisterClasses (void *) TARGET_ATTRIBUTE_WEAK; #ifdef OBJECT_FORMAT_ELF /* Declare a pointer to void function type. */ typedef void (*func_ptr) (void); #define STATIC static #else /* OBJECT_FORMAT_ELF */ # 150 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #if 0 /* expanded by -frewrite-includes */ #include "gbl-ctors.h" #endif /* expanded by -frewrite-includes */ # 151 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" # 152 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #define STATIC #endif /* OBJECT_FORMAT_ELF */ # 156 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #ifdef CRT_BEGIN /* NOTE: In order to be able to support SVR4 shared libraries, we arrange to have one set of symbols { __CTOR_LIST__, __DTOR_LIST__, __CTOR_END__, __DTOR_END__ } per root executable and also one set of these symbols per shared library. So in any given whole process image, we may have multiple definitions of each of these symbols. In order to prevent these definitions from conflicting with one another, and in order to ensure that the proper lists are used for the initialization/finalization of each individual shared library (respectively), we give these symbols only internal (i.e. `static') linkage, and we also make it a point to refer to only the __CTOR_END__ symbol in crtend.o and the __DTOR_LIST__ symbol in crtbegin.o, where they are defined. */ /* The -1 is a flag to __do_global_[cd]tors indicating that this table does not start with a count of elements. */ #ifdef CTOR_LIST_BEGIN CTOR_LIST_BEGIN; #elif defined(CTORS_SECTION_ASM_OP) # 176 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" /* Hack: force cc1 to switch to .data section early, so that assembling __CTOR_LIST__ does not undo our behind-the-back change to .ctors. */ static func_ptr force_to_data[1] __attribute__ ((__used__)) = { }; asm (CTORS_SECTION_ASM_OP); STATIC func_ptr __CTOR_LIST__[1] __attribute__ ((__used__, aligned(sizeof(func_ptr)))) = { (func_ptr) (-1) }; #else # 184 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" STATIC func_ptr __CTOR_LIST__[1] __attribute__ ((__used__, section(".ctors"), aligned(sizeof(func_ptr)))) = { (func_ptr) (-1) }; #endif /* __CTOR_LIST__ alternatives */ # 188 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #ifdef DTOR_LIST_BEGIN DTOR_LIST_BEGIN; #elif defined(DTORS_SECTION_ASM_OP) # 192 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" asm (DTORS_SECTION_ASM_OP); STATIC func_ptr __DTOR_LIST__[1] __attribute__ ((used, aligned(sizeof(func_ptr)))) = { (func_ptr) (-1) }; #else # 197 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" STATIC func_ptr __DTOR_LIST__[1] __attribute__((used, section(".dtors"), aligned(sizeof(func_ptr)))) = { (func_ptr) (-1) }; #endif /* __DTOR_LIST__ alternatives */ # 201 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #ifdef USE_EH_FRAME_REGISTRY /* Stick a label at the beginning of the frame unwind info so we can register and deregister it with the exception handling library code. */ STATIC EH_FRAME_SECTION_CONST char __EH_FRAME_BEGIN__[] __attribute__((used, section(EH_FRAME_SECTION_NAME), aligned(4))) = { }; #endif /* USE_EH_FRAME_REGISTRY */ # 209 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #ifdef JCR_SECTION_NAME /* Stick a label at the beginning of the java class registration info so we can register them properly. */ STATIC void *__JCR_LIST__[] __attribute__ ((used, section(JCR_SECTION_NAME), aligned(sizeof(void*)))) = { }; #endif /* JCR_SECTION_NAME */ # 217 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #if defined(INIT_SECTION_ASM_OP) || defined(INIT_ARRAY_SECTION_ASM_OP) #ifdef OBJECT_FORMAT_ELF /* Declare the __dso_handle variable. It should have a unique value in every shared-object; in a main program its value is zero. The object should in any case be protected. This means the instance in one DSO or the main program is not used in another object. The dynamic linker takes care of this. */ #ifdef TARGET_LIBGCC_SDATA_SECTION extern void *__dso_handle __attribute__ ((__section__ (TARGET_LIBGCC_SDATA_SECTION))); #endif # 231 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #ifdef HAVE_GAS_HIDDEN extern void *__dso_handle __attribute__ ((__visibility__ ("hidden"))); #endif # 234 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #ifdef CRTSTUFFS_O void *__dso_handle = &__dso_handle; #else # 237 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" void *__dso_handle = 0; #endif # 239 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" /* The __cxa_finalize function may not be available so we use only a weak declaration. */ extern void __cxa_finalize (void *) TARGET_ATTRIBUTE_WEAK; /* Run all the global destructors on exit from the program. */ /* Some systems place the number of pointers in the first word of the table. On SVR4 however, that word is -1. In all cases, the table is null-terminated. On SVR4, we start from the beginning of the list and invoke each per-compilation-unit destructor routine in order until we find that null. Note that this function MUST be static. There will be one of these functions in each root executable and one in each shared library, but although they all have the same code, each one is unique in that it refers to one particular associated `__DTOR_LIST__' which belongs to the same particular root executable or shared library file. On some systems, this routine is run more than once from the .fini, when exit is called recursively, so we arrange to remember where in the list we left off processing, and we resume at that point, should we be re-invoked. */ static void __attribute__((used)) __do_global_dtors_aux (void) { #ifndef FINI_ARRAY_SECTION_ASM_OP static func_ptr *p = __DTOR_LIST__ + 1; func_ptr f; #endif /* !defined(FINI_ARRAY_SECTION_ASM_OP) */ # 270 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" static _Bool completed; if (__builtin_expect (completed, 0)) return; #ifdef CRTSTUFFS_O if (__cxa_finalize) __cxa_finalize (__dso_handle); #endif # 279 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #ifdef FINI_ARRAY_SECTION_ASM_OP /* If we are using .fini_array then destructors will be run via that mechanism. */ #else /* !defined (FINI_ARRAY_SECTION_ASM_OP) */ # 284 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" while ((f = *p)) { p++; f (); } #endif /* !defined(FINI_ARRAY_SECTION_ASM_OP) */ # 290 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #ifdef USE_EH_FRAME_REGISTRY #ifdef CRT_GET_RFIB_DATA /* If we used the new __register_frame_info_bases interface, make sure that we deregister from the same place. */ if (__deregister_frame_info_bases) __deregister_frame_info_bases (__EH_FRAME_BEGIN__); #else # 298 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" if (__deregister_frame_info) __deregister_frame_info (__EH_FRAME_BEGIN__); #endif # 301 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #endif # 302 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" completed = 1; } /* Stick a call to __do_global_dtors_aux into the .fini section. */ #ifdef FINI_SECTION_ASM_OP CRT_CALL_STATIC_FUNCTION (FINI_SECTION_ASM_OP, __do_global_dtors_aux) #else /* !defined(FINI_SECTION_ASM_OP) */ # 310 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" static func_ptr __do_global_dtors_aux_fini_array_entry[] __attribute__ ((__used__, section(".fini_array"))) = { __do_global_dtors_aux }; #endif /* !defined(FINI_SECTION_ASM_OP) */ # 314 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #if defined(USE_EH_FRAME_REGISTRY) || defined(JCR_SECTION_NAME) /* Stick a call to __register_frame_info into the .init section. For some reason calls with no arguments work more reliably in .init, so stick the call in another function. */ static void __attribute__((used)) frame_dummy (void) { #ifdef USE_EH_FRAME_REGISTRY static struct object object; #ifdef CRT_GET_RFIB_DATA void *tbase, *dbase; tbase = 0; CRT_GET_RFIB_DATA (dbase); if (__register_frame_info_bases) __register_frame_info_bases (__EH_FRAME_BEGIN__, &object, tbase, dbase); #else # 332 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" if (__register_frame_info) __register_frame_info (__EH_FRAME_BEGIN__, &object); #endif /* CRT_GET_RFIB_DATA */ # 335 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #endif /* USE_EH_FRAME_REGISTRY */ # 336 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #ifdef JCR_SECTION_NAME if (__JCR_LIST__[0]) { void (*register_classes) (void *) = _Jv_RegisterClasses; __asm ("" : "+r" (register_classes)); if (register_classes) register_classes (__JCR_LIST__); } #endif /* JCR_SECTION_NAME */ # 345 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" } #ifdef INIT_SECTION_ASM_OP CRT_CALL_STATIC_FUNCTION (INIT_SECTION_ASM_OP, frame_dummy) #else /* defined(INIT_SECTION_ASM_OP) */ # 350 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" static func_ptr __frame_dummy_init_array_entry[] __attribute__ ((__used__, section(".init_array"))) = { frame_dummy }; #endif /* !defined(INIT_SECTION_ASM_OP) */ # 354 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #endif /* USE_EH_FRAME_REGISTRY || JCR_SECTION_NAME */ # 355 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #else /* OBJECT_FORMAT_ELF */ # 357 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" /* The function __do_global_ctors_aux is compiled twice (once in crtbegin.o and once in crtend.o). It must be declared static to avoid a link error. Here, we define __do_global_ctors as an externally callable function. It is externally callable so that __main can invoke it when INVOKE__main is defined. This has the additional effect of forcing cc1 to switch to the .text section. */ static void __do_global_ctors_aux (void); void __do_global_ctors (void) { #ifdef INVOKE__main /* If __main won't actually call __do_global_ctors then it doesn't matter what's inside the function. The inside of __do_global_ctors_aux is called automatically in that case. And the Alliant fx2800 linker crashes on this reference. So prevent the crash. */ __do_global_ctors_aux (); #endif # 376 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" } asm (INIT_SECTION_ASM_OP); /* cc1 doesn't know that we are switching! */ /* A routine to invoke all of the global constructors upon entry to the program. We put this into the .init section (for systems that have such a thing) so that we can properly perform the construction of file-scope static-storage C++ objects within shared libraries. */ static void __attribute__((used)) __do_global_ctors_aux (void) /* prologue goes in .init section */ { FORCE_CODE_SECTION_ALIGN /* explicit align before switch to .text */ asm (TEXT_SECTION_ASM_OP); /* don't put epilogue and body in .init */ DO_GLOBAL_CTORS_BODY; atexit (__do_global_dtors); } #endif /* OBJECT_FORMAT_ELF */ # 395 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #elif defined(HAS_INIT_SECTION) /* ! INIT_SECTION_ASM_OP */ # 397 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" extern void __do_global_dtors (void); /* This case is used by the Irix 6 port, which supports named sections but not an SVR4-style .fini section. __do_global_dtors can be non-static in this case because we protect it with -hidden_symbol. */ void __do_global_dtors (void) { func_ptr *p, f; for (p = __DTOR_LIST__ + 1; (f = *p); p++) f (); #ifdef USE_EH_FRAME_REGISTRY if (__deregister_frame_info) __deregister_frame_info (__EH_FRAME_BEGIN__); #endif # 415 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" } #if defined(USE_EH_FRAME_REGISTRY) || defined(JCR_SECTION_NAME) /* A helper function for __do_global_ctors, which is in crtend.o. Here in crtbegin.o, we can reference a couple of symbols not visible there. Plus, since we're before libgcc.a, we have no problems referencing functions from there. */ void __do_global_ctors_1(void) { #ifdef USE_EH_FRAME_REGISTRY static struct object object; if (__register_frame_info) __register_frame_info (__EH_FRAME_BEGIN__, &object); #endif # 430 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #ifdef JCR_SECTION_NAME if (__JCR_LIST__[0]) { void (*register_classes) (void *) = _Jv_RegisterClasses; __asm ("" : "+r" (register_classes)); if (register_classes) register_classes (__JCR_LIST__); } #endif # 439 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" } #endif /* USE_EH_FRAME_REGISTRY || JCR_SECTION_NAME */ # 441 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #else /* ! INIT_SECTION_ASM_OP && ! HAS_INIT_SECTION */ # 443 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #error "What are you doing with crtstuff.c, then?" #endif # 445 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #elif defined(CRT_END) /* ! CRT_BEGIN */ # 447 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" /* Put a word containing zero at the end of each of our two lists of function addresses. Note that the words defined here go into the .ctors and .dtors sections of the crtend.o file, and since that file is always linked in last, these words naturally end up at the very ends of the two lists contained in these two sections. */ #ifdef CTOR_LIST_END CTOR_LIST_END; #elif defined(CTORS_SECTION_ASM_OP) # 457 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" /* Hack: force cc1 to switch to .data section early, so that assembling __CTOR_LIST__ does not undo our behind-the-back change to .ctors. */ static func_ptr force_to_data[1] __attribute__ ((__used__)) = { }; asm (CTORS_SECTION_ASM_OP); STATIC func_ptr __CTOR_END__[1] __attribute__((used, aligned(sizeof(func_ptr)))) = { (func_ptr) 0 }; #else # 465 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" STATIC func_ptr __CTOR_END__[1] __attribute__((used, section(".ctors"), aligned(sizeof(func_ptr)))) = { (func_ptr) 0 }; #endif # 469 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #ifdef DTOR_LIST_END DTOR_LIST_END; #elif defined(DTORS_SECTION_ASM_OP) # 473 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" asm (DTORS_SECTION_ASM_OP); STATIC func_ptr __DTOR_END__[1] __attribute__ ((used, aligned(sizeof(func_ptr)))) = { (func_ptr) 0 }; #else # 478 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" STATIC func_ptr __DTOR_END__[1] __attribute__((used, section(".dtors"), aligned(sizeof(func_ptr)))) = { (func_ptr) 0 }; #endif # 482 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #ifdef EH_FRAME_SECTION_NAME /* Terminate the frame unwind info section with a 4byte 0 as a sentinel; this would be the 'length' field in a real FDE. */ # if __INT_MAX__ == 2147483647 typedef int int32; # elif __LONG_MAX__ == 2147483647 # 489 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" typedef long int32; # elif __SHRT_MAX__ == 2147483647 # 491 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" typedef short int32; # else # 493 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" # error "Missing a 4 byte integer" # endif # 495 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" STATIC EH_FRAME_SECTION_CONST int32 __FRAME_END__[] __attribute__ ((used, section(EH_FRAME_SECTION_NAME), aligned(sizeof(int32)))) = { 0 }; #endif /* EH_FRAME_SECTION_NAME */ # 500 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #ifdef JCR_SECTION_NAME /* Null terminate the .jcr section array. */ STATIC void *__JCR_END__[1] __attribute__ ((used, section(JCR_SECTION_NAME), aligned(sizeof(void *)))) = { 0 }; #endif /* JCR_SECTION_NAME */ # 508 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #ifdef INIT_ARRAY_SECTION_ASM_OP /* If we are using .init_array, there is nothing to do. */ #elif defined(INIT_SECTION_ASM_OP) # 514 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #ifdef OBJECT_FORMAT_ELF static void __attribute__((used)) __do_global_ctors_aux (void) { func_ptr *p; for (p = __CTOR_END__ - 1; *p != (func_ptr) -1; p--) (*p) (); } /* Stick a call to __do_global_ctors_aux into the .init section. */ CRT_CALL_STATIC_FUNCTION (INIT_SECTION_ASM_OP, __do_global_ctors_aux) #else /* OBJECT_FORMAT_ELF */ # 527 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" /* Stick the real initialization code, followed by a normal sort of function epilogue at the very end of the .init section for this entire root executable file or for this entire shared library file. Note that we use some tricks here to get *just* the body and just a function epilogue (but no function prologue) into the .init section of the crtend.o file. Specifically, we switch to the .text section, start to define a function, and then we switch to the .init section just before the body code. Earlier on, we put the corresponding function prologue into the .init section of the crtbegin.o file (which will be linked in first). Note that we want to invoke all constructors for C++ file-scope static- storage objects AFTER any other possible initialization actions which may be performed by the code in the .init section contributions made by other libraries, etc. That's because those other initializations may include setup operations for very primitive things (e.g. initializing the state of the floating-point coprocessor, etc.) which should be done before we start to execute any of the user's code. */ static void __do_global_ctors_aux (void) /* prologue goes in .text section */ { asm (INIT_SECTION_ASM_OP); DO_GLOBAL_CTORS_BODY; atexit (__do_global_dtors); } /* epilogue and body go in .init section */ FORCE_CODE_SECTION_ALIGN asm (TEXT_SECTION_ASM_OP); #endif /* OBJECT_FORMAT_ELF */ # 561 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #elif defined(HAS_INIT_SECTION) /* ! INIT_SECTION_ASM_OP */ # 563 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" extern void __do_global_ctors (void); /* This case is used by the Irix 6 port, which supports named sections but not an SVR4-style .init section. __do_global_ctors can be non-static in this case because we protect it with -hidden_symbol. */ void __do_global_ctors (void) { func_ptr *p; #if defined(USE_EH_FRAME_REGISTRY) || defined(JCR_SECTION_NAME) __do_global_ctors_1(); #endif # 576 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" for (p = __CTOR_END__ - 1; *p != (func_ptr) -1; p--) (*p) (); } #else /* ! INIT_SECTION_ASM_OP && ! HAS_INIT_SECTION */ # 581 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #error "What are you doing with crtstuff.c, then?" #endif # 583 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #else /* ! CRT_BEGIN && ! CRT_END */ # 585 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c" #error "One of CRT_BEGIN or CRT_END must be defined." #endif # 587 "/home/sbruno/bsd/clang360-import/gnu/lib/csu/../../../contrib/gcc/crtstuff.c"