FreeBSD Bugzilla – Attachment 152527 Details for
Bug 197259
[mips64] First Pass at clang enabled builds for mips64 (with clang36)
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
c source file from clang36 crash #3
crtstuff-ce8c9e.c (text/plain), 801.00 KB, created by
Sean Bruno
on 2015-02-03 20:27:24 UTC
(
hide
)
Description:
c source file from clang36 crash #3
Filename:
MIME Type:
Creator:
Sean Bruno
Created:
2015-02-03 20:27:24 UTC
Size:
801.00 KB
patch
obsolete
># 1 "<built-in>" ># 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 <time.h> 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 <direct.h> 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 <fcntl.h> 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 <iconv.h> 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 <inttypes.h> 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 <langinfo.h> 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 <langinfo.h> 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 <locale.h> 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 <ldfcn.h> 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 <limits.h> 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 <locale.h> 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 <malloc.h> 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 <memory.h> 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 <stddef.h> 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 <stdint.h> 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 <stdlib.h> 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 <strings.h> 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 <string.h> 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 <sys/times.h> 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 <sys/file.h> 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 <sys/mman.h> 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 <sys/param.h> 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 <sys/resource.h> 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 <sys/stat.h> 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 <sys/times.h> 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 <sys/time.h> 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 <sys/types.h> 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 <sys/wait.h> 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 <time.h> 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 <unistd.h> 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 <vfork.h> 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 <wchar.h> 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 <string.h> and <strings.h>. */ >#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 <sys/time.h> and <time.h>. */ >#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 <sys/types.h> 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 <sys/types.h> 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 <sys/resource.h> 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 <sys/types.h> 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 <sys/types.h> 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 <size-host.h> >#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 <time.h> 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 <direct.h> 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 <fcntl.h> 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 <iconv.h> 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 <inttypes.h> 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 <langinfo.h> 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 <langinfo.h> 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 <locale.h> 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 <ldfcn.h> 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 <limits.h> 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 <locale.h> 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 <malloc.h> 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 <memory.h> 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 <stddef.h> 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 <stdint.h> 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 <stdlib.h> 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 <strings.h> 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 <string.h> 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 <sys/times.h> 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 <sys/file.h> 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 <sys/mman.h> 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 <sys/param.h> 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 <sys/resource.h> 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 <sys/stat.h> 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 <sys/times.h> 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 <sys/time.h> 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 <sys/types.h> 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 <sys/wait.h> 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 <time.h> 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 <unistd.h> 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 <vfork.h> 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 <wchar.h> 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 <string.h> and <strings.h>. */ >#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 <sys/time.h> and <time.h>. */ >#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 <sys/types.h> 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 <sys/types.h> 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 <sys/resource.h> 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 <sys/types.h> 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 <sys/types.h> 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 <size-host.h> >#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 <varargs.h> and C89 <stdarg.h> 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 <stddef.h> >#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 <sys/cdefs.h> >#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 <stddef.h>, <sys/queue.h>, and <sys/types.h> > * 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 <const volatile char &> \ > (static_cast<type *> (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 <sys/_posix.h>, 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 <sys/_null.h> >#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 <sys/_types.h> >#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 <mike@FreeBSD.org> > * 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 <sys/cdefs.h> >#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 <machine/_types.h> >#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 <mike@FreeBSD.org> > * 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 <float.h> >#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 <sys/cdefs.h> >#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 <stdarg.h> >#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 <sys/cdefs.h> >#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 <sys/_types.h> >#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 <machine/endian.h> >#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 <stdio.h> >#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 <sys/cdefs.h> >#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 <sys/_null.h> >#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 <sys/_types.h> >#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 <limits.h> */ >#ifndef FOPEN_MAX >#define FOPEN_MAX 20 /* must be <= OPEN_MAX <sys/syslimits.h> */ >#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 <sys/syslimits.h> */ > >/* 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 <xlocale/_stdio.h> >#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 <string.h> > * 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 <sys/types.h>. > */ >#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 <sys/types.h> >#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 <sys/cdefs.h> >#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 <machine/endian.h> >#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 <sys/cdefs.h> >#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 <sys/_types.h> >#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 <sys/_types.h> >#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 <sys/_pthreadtypes.h> >#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 <jb@cimlogic.com.au> > * 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 <sys/stdint.h>. > */ >#if 0 /* expanded by -frewrite-includes */ >#include <sys/_stdint.h> >#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 <obrien@FreeBSD.org> > * Copyright (c) 2001 Mike Barcroft <mike@FreeBSD.org> > * 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 <sys/select.h> >#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 <sys/cdefs.h> >#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 <sys/_types.h> >#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 <sys/_sigset.h> >#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 <sys/_timeval.h> >#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 <mike@FreeBSD.org> > * 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 <sys/_types.h> >#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 <sys/timespec.h> >#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 <sys/cdefs.h> >#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 <sys/_timespec.h> >#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 <sys/_types.h> >#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 > * <stdio.h> 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 <errno.h> >#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 <sys/cdefs.h> >#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 <string.h> >#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 <sys/cdefs.h> >#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 <sys/_null.h> >#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 <sys/_types.h> >#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 <string.h>, but > * are required by POSIX to be prototyped in <strings.h>. > */ >#if __BSD_VISIBLE >#if 0 /* expanded by -frewrite-includes */ >#include <strings.h> >#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 <mike@FreeBSD.org> > * 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 <sys/cdefs.h> >#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 <sys/_types.h> >#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 <xlocale/_strings.h> >#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 <xlocale/_string.h> >#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 <stdlib.h> >#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 <sys/cdefs.h> >#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 <sys/_null.h> >#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 <sys/_types.h> >#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 <xlocale/_stdlib.h> >#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 <sys/wait.h> 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 <unistd.h> >#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 <sys/cdefs.h> >#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 <sys/types.h> /* 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 <sys/unistd.h> >#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 <sys/cdefs.h> >#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 <unistd.h>. 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 <sys/_null.h> >#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 <sys/_types.h> >#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 <limits.h> >#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 <sys/cdefs.h> >#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 <pwd.h> */ > >#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 <sys/limits.h> >#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 <sys/cdefs.h> >#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 <machine/_limits.h> >#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 <sys/syslimits.h> >#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 <time.h> >#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 <sys/cdefs.h> >#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 <sys/_null.h> >#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 <sys/_types.h> >#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 <sys/timespec.h> >#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 <xlocale/_time.h> >#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# <function address>\n"); \ > fprintf (STREAM, "\t.dword\t0x00000000\t\t# <static chain value>\n"); \ > } \ > else \ > { \ > fprintf (STREAM, "\t.word\t0x0020f821\t\t# move $31,$1\n"); \ > fprintf (STREAM, "\t.word\t0x00000000\t\t# <function address>\n"); \ > fprintf (STREAM, "\t.word\t0x00000000\t\t# <static chain value>\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<xx> 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<version>.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 <obrien@FreeBSD.org> > Loren J. Rittle <ljrittle@acm.org>. */ > > >/* 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 > <osreldate.h> 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 <sys/param.h> >#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 <sys/_null.h> >#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: <major><two digit minor>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 <sys/types.h> >#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 <acct.h>) > */ >#if 0 /* expanded by -frewrite-includes */ >#include <sys/syslimits.h> >#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 <sys/cdefs.h> >#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 <sys/errno.h> >#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 <sys/time.h> >#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 <sys/priority.h> >#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 <sys/signal.h> >#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 <sys/cdefs.h> >#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 <sys/_types.h> >#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 <sys/_sigset.h> >#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 <machine/_limits.h> /* __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 <machine/signal.h> /* 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 <sys/cdefs.h> >#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 <sys/_sigset.h> >#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 <sys/signal.h>. > */ >__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 <machine/param.h> >#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 <machine/_align.h> >#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 <sys/cdefs.h> >#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 <machine/cpu.h> >#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) /* bytes/page */ >#define PAGE_MASK (PAGE_SIZE-1) > >#define NPTEPG (PAGE_SIZE/(sizeof (pt_entry_t))) >#define NPDEPG (PAGE_SIZE/(sizeof (pd_entry_t))) > >#if defined(__mips_n32) || defined(__mips_n64) /* PHYSADDR_64_BIT */ >#define NPTEPGSHIFT 9 /* LOG2(NPTEPG) */ >#else ># 141 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 >#define NPTEPGSHIFT 10 /* LOG2(NPTEPG) */ >#endif ># 143 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 > >#ifdef __mips_n64 >#define NPDEPGSHIFT 9 /* LOG2(NPTEPG) */ >#define SEGSHIFT (PAGE_SHIFT + NPTEPGSHIFT + NPDEPGSHIFT) >#define NBSEG (1ul << SEGSHIFT) >#define PDRSHIFT (PAGE_SHIFT + NPTEPGSHIFT) >#define PDRMASK ((1 << PDRSHIFT) - 1) >#else ># 151 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 >#define NPDEPGSHIFT 10 /* LOG2(NPTEPG) */ >#define SEGSHIFT (PAGE_SHIFT + NPTEPGSHIFT) >#define NBSEG (1 << SEGSHIFT) /* bytes/segment */ >#define PDRSHIFT SEGSHIFT /* alias for SEG in 32 bit */ >#define PDRMASK ((1 << PDRSHIFT) - 1) >#endif ># 157 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/machine/param.h" 3 4 >#define NBPDR (1 << PDRSHIFT) /* bytes/pagedir */ >#define SEGMASK (NBSEG - 1) /* byte offset into segment */ > >#define MAXPAGESIZES 1 /* max supported pagesizes */ > >#define MAXDUMPPGS 1 /* xxx: why is this only one? */ > >/* > * The kernel stack needs to be aligned on a (PAGE_SIZE * 2) boundary. > */ >#define KSTACK_PAGES 2 /* kernel stack */ >#define KSTACK_GUARD_PAGES 2 /* pages of kstack guard; 0 disables */ > >/* > * Mach derived conversion macros > */ >#define round_page(x) (((x) + PAGE_MASK) & ~PAGE_MASK) >#define trunc_page(x) ((x) & ~PAGE_MASK) > >#define atop(x) ((x) >> 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 <sys/limits.h> >#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<<DEV_BSHIFT) > >#ifndef BLKDEV_IOSIZE >#define BLKDEV_IOSIZE PAGE_SIZE /* default block device I/O size */ >#endif ># 147 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 >#ifndef DFLTPHYS >#define DFLTPHYS (64 * 1024) /* default max raw I/O transfer size */ >#endif ># 150 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 >#ifndef MAXPHYS >#define MAXPHYS (128 * 1024) /* max raw I/O transfer size */ >#endif ># 153 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 >#ifndef MAXDUMPPGS >#define MAXDUMPPGS (DFLTPHYS/PAGE_SIZE) >#endif ># 156 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 > >/* > * Constants related to network buffer management. > * MCLBYTES must be no larger than PAGE_SIZE. > */ >#ifndef MSIZE >#define MSIZE 256 /* size of an mbuf */ >#endif ># 164 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 > >#ifndef MCLSHIFT >#define MCLSHIFT 11 /* convert bytes to mbuf clusters */ >#endif /* MCLSHIFT */ ># 168 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 > >#define MCLBYTES (1 << MCLSHIFT) /* size of an mbuf cluster */ > >#if PAGE_SIZE < 2048 >#define MJUMPAGESIZE MCLBYTES >#elif PAGE_SIZE <= 8192 ># 174 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 >#define MJUMPAGESIZE PAGE_SIZE >#else ># 176 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 >#define MJUMPAGESIZE (8 * 1024) >#endif ># 178 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 > >#define MJUM9BYTES (9 * 1024) /* jumbo cluster 9k */ >#define MJUM16BYTES (16 * 1024) /* jumbo cluster 16k */ > >/* > * Some macros for units conversion > */ > >/* clicks to bytes */ >#ifndef ctob >#define ctob(x) ((x)<<PAGE_SHIFT) >#endif ># 190 "/var/tmp/mips.mips64/home/sbruno/bsd/clang360-import/tmp/usr/include/sys/param.h" 3 4 > >/* bytes to clicks */ >#ifndef btoc >#define btoc(x) (((vm_offset_t)(x)+PAGE_MASK)>>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<<FSHIFT) > >#define dbtoc(db) /* calculates devblks to pages */ \ > ((db + (ctodb(1) - 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 <obrien@FreeBSD.org>. > Further work by David O'Brien <obrien@FreeBSD.org> and > Loren J. Rittle <ljrittle@acm.org>. */ > >/* $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 (<machine/ansi.h>, 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 <obrien@freebsd.org> > >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 <machine/ansi.h>. GCC defaults come from c-decl.c, > c-common.c, and config/<arch>/<arch>.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 <jason@cygnus.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. */ > >#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 <link.h> >#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 <sys/link_elf.h> >#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 <sys/elf.h> >#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 <sys/types.h> >#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 <machine/elf.h> >#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 <sys/elf32.h> >#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 <sys/elf_common.h> >#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 <sys/elf64.h> >#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 <sys/elf_common.h> >#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 <sys/elf_generic.h> >#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 <sys/cdefs.h> >#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 <sys/elf32.h> >#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 <sys/elf64.h> >#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 <sys/link.h>, 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"
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 197259
:
152461
|
152462
|
152489
|
152490
|
152502
|
152522
| 152527 |
152528
Working