Skip to content

Instantly share code, notes, and snippets.

@dch

dch/bw.log Secret

Created December 2, 2020 10:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dch/e368e2154b3c9111cf557e58b88df469 to your computer and use it in GitHub Desktop.
Save dch/e368e2154b3c9111cf557e58b88df469 to your computer and use it in GitHub Desktop.
make[1]: "/usr/src/Makefile.inc1" line 339: SYSTEM_COMPILER: Determined that CC=/usr/local/bin/ccache cc matches the source tree. Not bootstrapping a cross-compiler.
make[1]: "/usr/src/Makefile.inc1" line 344: SYSTEM_LINKER: Determined that LD=ld matches the source tree. Not bootstrapping a cross-linker.
--------------------------------------------------------------
>>> World build started on Wed Dec 2 10:07:24 UTC 2020
--------------------------------------------------------------
--------------------------------------------------------------
>>> Rebuilding the temporary build tree
--------------------------------------------------------------
>>> Deleting stale files in build tree...
Linking host tools into /usr/obj/usr/src/arm64.aarch64/tmp/legacy/bin
--------------------------------------------------------------
>>> stage 1.1: legacy release compatibility shims
--------------------------------------------------------------
===> tools/build (obj,includes,all,install)
--------------------------------------------------------------
>>> stage 1.2: bootstrap tools
--------------------------------------------------------------
===> lib/clang/libllvmminimal (obj,all,install)
===> usr.bin/dtc (obj,all,install)
===> usr.bin/lorder (obj,all,install)
===> lib/libopenbsd (obj,all,install)
===> usr.bin/rpcgen (obj,all,install)
===> usr.bin/yacc (obj,all,install)
===> usr.bin/xinstall (obj,all,install)
===> usr.sbin/bsnmpd/gensnmptree (obj,all,install)
===> lib/libnv (obj,all,install)
===> lib/libsbuf (obj,all,install)
===> usr.bin/vtfontcvt (obj,all,install)
===> usr.bin/clang/clang-tblgen (obj,all,install)
===> usr.bin/clang/llvm-tblgen (obj,all,install)
===> usr.bin/clang/lldb-tblgen (obj,all,install)
===> usr.bin/mandoc (obj,all,install)
===> usr.bin/localedef (obj,all,install)
===> kerberos5/tools/make-roken (obj,all,install)
===> kerberos5/lib/libroken (obj,all,install)
===> kerberos5/lib/libvers (obj,all,install)
===> kerberos5/tools/asn1_compile (obj,all,install)
===> kerberos5/tools/slc (obj,all,install)
===> usr.bin/compile_et (obj,all,install)
===> usr.sbin/config (obj,all,install)
>>> Deleting stale dependencies...
--------------------------------------------------------------
>>> stage 2.3: build tools
--------------------------------------------------------------
===> bin/csh (obj,build-tools)
===> bin/sh (obj,build-tools)
===> lib/libpmc/pmu-events (obj,build-tools)
===> lib/ncurses/ncurses (obj,build-tools)
===> lib/ncurses/ncursesw (obj,build-tools)
===> rescue/rescue (obj,build-tools)
===> share/syscons/scrnmaps (obj,build-tools)
===> usr.bin/awk (obj,build-tools)
===> lib/libmagic (obj,build-tools)
===> usr.bin/mkesdb_static (obj,build-tools)
===> usr.bin/mkcsmapper_static (obj,build-tools)
===> usr.bin/vi/catalog (obj,build-tools)
--------------------------------------------------------------
>>> stage 3: cross tools
--------------------------------------------------------------
===> lib/libelftc (obj,all,install)
===> lib/libpe (obj,all,install)
===> usr.bin/objcopy (obj,all,install)
===> usr.bin/nm (obj,all,install)
===> usr.bin/size (obj,all,install)
===> usr.bin/strings (obj,all,install)
===> usr.bin/addr2line (obj,all,install)
===> cddl/lib/libctf (obj,all,install)
===> cddl/lib/libspl (obj,all,install)
===> cddl/usr.bin/ctfconvert (obj,all,install)
===> cddl/usr.bin/ctfmerge (obj,all,install)
===> stand/usb/tools (obj,all,install)
--------------------------------------------------------------
>>> stage 3.1: recording build metadata
--------------------------------------------------------------
`host-osreldate.h' is up to date.
--------------------------------------------------------------
>>> stage 4.1: building includes
--------------------------------------------------------------
===> lib (includes)
===> lib/csu (includes)
===> lib/csu/aarch64 (includes)
===> lib/csu/tests (includes)
===> lib/csu/tests/dso (includes)
===> lib/csu/tests/dynamic (includes)
===> lib/csu/tests/dynamiclib (includes)
===> lib/csu/tests/dynamicpie (includes)
===> lib/csu/tests/static (includes)
===> lib/libc (includes)
===> lib/libc/tests (includes)
===> lib/libc/tests/tls_dso (includes)
===> lib/libc/tests/c063 (includes)
===> lib/libc/tests/db (includes)
===> lib/libc/tests/gen (includes)
===> lib/libc/tests/gen/execve (includes)
===> lib/libc/tests/gen/posix_spawn (includes)
===> lib/libc/tests/hash (includes)
===> lib/libc/tests/inet (includes)
===> lib/libc/tests/net (includes)
===> lib/libc/tests/nss (includes)
===> lib/libc/tests/regex (includes)
===> lib/libc/tests/resolv (includes)
===> lib/libc/tests/rpc (includes)
===> lib/libc/tests/setjmp (includes)
===> lib/libc/tests/stdio (includes)
===> lib/libc/tests/stdlib (includes)
===> lib/libc/tests/stdlib/dynthr_mod (includes)
===> lib/libc/tests/string (includes)
===> lib/libc/tests/sys (includes)
===> lib/libc/tests/termios (includes)
===> lib/libc/tests/time (includes)
===> lib/libc/tests/tls (includes)
===> lib/libc/tests/tls/dso (includes)
===> lib/libc/tests/ttyio (includes)
===> lib/libc/tests/iconv (includes)
===> lib/libc/tests/locale (includes)
===> lib/libc/tests/ssp (includes)
===> lib/libc_nonshared (includes)
===> lib/libcompiler_rt (includes)
===> lib/libclang_rt (includes)
===> lib/libclang_rt/profile (includes)
===> lib/libc++ (includes)
===> lib/libc++experimental (includes)
===> lib/libcxxrt (includes)
===> lib/libelf (includes)
===> lib/libssp (includes)
===> lib/libssp_nonshared (includes)
===> lib/msun (includes)
===> lib/msun/tests (includes)
===> lib/libsqlite3 (includes)
===> lib/geom (includes)
===> lib/geom/cache (includes)
===> lib/geom/concat (includes)
===> lib/geom/eli (includes)
===> lib/geom/journal (includes)
===> lib/geom/label (includes)
===> lib/geom/mirror (includes)
===> lib/geom/mountver (includes)
===> lib/geom/multipath (includes)
===> lib/geom/nop (includes)
===> lib/geom/part (includes)
===> lib/geom/raid (includes)
===> lib/geom/raid3 (includes)
===> lib/geom/shsec (includes)
===> lib/geom/stripe (includes)
===> lib/geom/virstor (includes)
===> lib/lib9p (includes)
===> lib/libalias (includes)
===> lib/libalias/libalias (includes)
===> lib/libalias/modules (includes)
===> lib/libalias/modules/dummy (includes)
===> lib/libalias/modules/ftp (includes)
===> lib/libalias/modules/irc (includes)
===> lib/libalias/modules/nbt (includes)
===> lib/libalias/modules/pptp (includes)
===> lib/libalias/modules/skinny (includes)
===> lib/libalias/modules/smedia (includes)
===> lib/libarchive (includes)
===> lib/libarchive/tests (includes)
===> lib/libauditd (includes)
===> lib/libbegemot (includes)
===> lib/libblocksruntime (includes)
===> lib/libbsdstat (includes)
===> lib/libbsm (includes)
===> lib/libbz2 (includes)
===> lib/libcalendar (includes)
===> lib/libcam (includes)
===> lib/libcam/tests (includes)
===> lib/libcapsicum (includes)
===> lib/libcasper (includes)
===> lib/libcasper/libcasper (includes)
===> lib/libcasper/services (includes)
===> lib/libcasper/services/cap_dns (includes)
===> lib/libcasper/services/cap_dns/tests (includes)
===> lib/libcasper/services/cap_fileargs (includes)
===> lib/libcasper/services/cap_grp (includes)
===> lib/libcasper/services/cap_grp/tests (includes)
===> lib/libcasper/services/cap_net (includes)
===> lib/libcasper/services/cap_net/tests (includes)
===> lib/libcasper/services/cap_pwd (includes)
===> lib/libcasper/services/cap_pwd/tests (includes)
===> lib/libcasper/services/cap_sysctl (includes)
===> lib/libcasper/services/cap_sysctl/tests (includes)
===> lib/libcasper/services/cap_syslog (includes)
===> lib/libcasper/services/tests (includes)
===> lib/libcasper/tests (includes)
===> lib/libcompat (includes)
===> lib/libcrypt (includes)
===> lib/libcrypt/tests (includes)
===> lib/libdevctl (includes)
===> lib/libdevinfo (includes)
===> lib/libdevstat (includes)
===> lib/libdl (includes)
===> lib/libdwarf (includes)
===> lib/libedit (includes)
===> lib/libedit/readline (includes)
===> lib/libelftc (includes)
===> lib/libevent1 (includes)
===> lib/libexecinfo (includes)
===> lib/libexecinfo/tests (includes)
===> lib/libexpat (includes)
===> lib/libfetch (includes)
===> lib/libfigpar (includes)
===> lib/libgcc_eh (includes)
===> lib/libgcc_s (includes)
===> lib/libgeom (includes)
===> lib/libifconfig (includes)
===> lib/libipsec (includes)
===> lib/libjail (includes)
===> lib/libkiconv (includes)
===> lib/libkvm (includes)
===> lib/libkvm/tests (includes)
===> lib/liblua (includes)
===> lib/liblzma (includes)
===> lib/libmemstat (includes)
===> lib/libmd (includes)
===> lib/libmt (includes)
===> lib/lib80211 (includes)
===> lib/libnetbsd (includes)
===> lib/libnetmap (includes)
===> lib/libnv (includes)
===> lib/libnv/tests (includes)
===> lib/libopenbsd (includes)
===> lib/libopie (includes)
===> lib/libpam (includes)
===> lib/libpam/libpam (includes)
===> lib/libpam/modules (includes)
===> lib/libpam/modules/pam_chroot (includes)
===> lib/libpam/modules/pam_deny (includes)
===> lib/libpam/modules/pam_echo (includes)
===> lib/libpam/modules/pam_exec (includes)
===> lib/libpam/modules/pam_ftpusers (includes)
===> lib/libpam/modules/pam_group (includes)
===> lib/libpam/modules/pam_guest (includes)
===> lib/libpam/modules/pam_krb5 (includes)
===> lib/libpam/modules/pam_ksu (includes)
===> lib/libpam/modules/pam_lastlog (includes)
===> lib/libpam/modules/pam_login_access (includes)
===> lib/libpam/modules/pam_nologin (includes)
===> lib/libpam/modules/pam_opie (includes)
===> lib/libpam/modules/pam_opieaccess (includes)
===> lib/libpam/modules/pam_passwdqc (includes)
===> lib/libpam/modules/pam_permit (includes)
===> lib/libpam/modules/pam_radius (includes)
===> lib/libpam/modules/pam_rhosts (includes)
===> lib/libpam/modules/pam_rootok (includes)
===> lib/libpam/modules/pam_securetty (includes)
===> lib/libpam/modules/pam_self (includes)
===> lib/libpam/modules/pam_ssh (includes)
===> lib/libpam/modules/pam_tacplus (includes)
===> lib/libpam/modules/pam_unix (includes)
===> lib/libpam/pam.d (includes)
===> lib/libpam/static_libpam (includes)
===> lib/libpathconv (includes)
===> lib/libpcap (includes)
===> lib/libpjdlog (includes)
===> lib/libproc (includes)
===> lib/libproc/tests (includes)
===> lib/libprocstat (includes)
===> lib/libprocstat/zfs (includes)
===> lib/libregex (includes)
===> lib/libregex/tests (includes)
===> lib/librpcsvc (includes)
===> lib/librss (includes)
===> lib/librt (includes)
===> lib/librt/tests (includes)
===> lib/librtld_db (includes)
===> lib/libsbuf (includes)
===> lib/libsbuf/tests (includes)
===> lib/libsmb (includes)
===> lib/libstdbuf (includes)
===> lib/libstdthreads (includes)
===> lib/libsysdecode (includes)
===> lib/libtacplus (includes)
===> lib/libthread_db (includes)
===> lib/libucl (includes)
===> lib/libufs (includes)
===> lib/libugidfw (includes)
===> lib/libulog (includes)
===> lib/libutil (includes)
===> lib/libutil/tests (includes)
===> lib/libwrap (includes)
===> lib/libxo (includes)
===> lib/libxo/libxo (includes)
===> lib/libxo/encoder (includes)
===> lib/libxo/encoder/csv (includes)
===> lib/libxo/tests (includes)
===> lib/libxo/tests/encoder (includes)
===> lib/liby (includes)
===> lib/libz (includes)
===> lib/libzstd (includes)
===> lib/ncurses (includes)
===> lib/ncurses/ncurses (includes)
===> lib/ncurses/form (includes)
===> lib/ncurses/menu (includes)
===> lib/ncurses/panel (includes)
===> lib/ncurses/ncursesw (includes)
===> lib/ncurses/formw (includes)
===> lib/ncurses/menuw (includes)
===> lib/ncurses/panelw (includes)
===> lib/flua (includes)
===> lib/flua/libjail (includes)
===> lib/libngatm (includes)
===> lib/libblacklist (includes)
===> lib/libbluetooth (includes)
===> lib/libsdp (includes)
===> lib/libbsnmp (includes)
===> lib/libbsnmp/libbsnmp (includes)
===> lib/libbsnmp/tests (includes)
===> lib/clang (includes)
===> lib/clang/libllvm (includes)
===> lib/clang/libclang (includes)
===> lib/clang/liblldb (includes)
===> lib/clang/headers (includes)
===> lib/libcuse (includes)
===> lib/libdevdctl (includes)
===> lib/libpe (includes)
===> lib/libdpv (includes)
===> lib/libmagic (includes)
===> lib/libgpio (includes)
===> lib/libgssapi (includes)
===> lib/librpcsec_gss (includes)
===> lib/libiconv_modules (includes)
===> lib/libiconv_modules/BIG5 (includes)
===> lib/libiconv_modules/DECHanyu (includes)
===> lib/libiconv_modules/EUC (includes)
===> lib/libiconv_modules/EUCTW (includes)
===> lib/libiconv_modules/GBK2K (includes)
===> lib/libiconv_modules/HZ (includes)
===> lib/libiconv_modules/ISO2022 (includes)
===> lib/libiconv_modules/JOHAB (includes)
===> lib/libiconv_modules/MSKanji (includes)
===> lib/libiconv_modules/UES (includes)
===> lib/libiconv_modules/UTF1632 (includes)
===> lib/libiconv_modules/UTF7 (includes)
===> lib/libiconv_modules/UTF8 (includes)
===> lib/libiconv_modules/VIQR (includes)
===> lib/libiconv_modules/ZW (includes)
===> lib/libiconv_modules/iconv_none (includes)
===> lib/libiconv_modules/iconv_std (includes)
===> lib/libiconv_modules/mapper_646 (includes)
===> lib/libiconv_modules/mapper_none (includes)
===> lib/libiconv_modules/mapper_parallel (includes)
===> lib/libiconv_modules/mapper_serial (includes)
===> lib/libiconv_modules/mapper_std (includes)
===> lib/libiconv_modules/mapper_zone (includes)
===> lib/libcom_err (includes)
===> lib/libldns (includes)
===> lib/libstats (includes)
===> lib/libefivar (includes)
===> lib/googletest (includes)
===> lib/googletest/gtest (includes)
===> lib/googletest/gmock (includes)
===> lib/googletest/gmock_main (includes)
===> lib/googletest/gtest_main (includes)
===> lib/googletest/tests (includes)
===> lib/googletest/tests/gmock_main (includes)
===> lib/googletest/tests/gmock (includes)
===> lib/googletest/tests/gtest_main (includes)
===> lib/googletest/tests/gtest (includes)
===> lib/libthr (includes)
===> lib/libthr/tests (includes)
===> lib/libthr/tests/dlopen (includes)
===> lib/libthr/tests/dlopen/dso (includes)
===> lib/libnetgraph (includes)
===> lib/libypclnt (includes)
===> lib/libopencsd (includes)
===> lib/libomp (includes)
===> lib/libmp (includes)
===> lib/libmp/tests (includes)
===> lib/libpmc (includes)
===> lib/libpmcstat (includes)
===> lib/libradius (includes)
===> lib/libtelnet (includes)
===> lib/atf (includes)
===> lib/atf/libatf-c (includes)
===> lib/atf/libatf-c/tests (includes)
===> lib/atf/libatf-c/tests/detail (includes)
===> lib/atf/libatf-c++ (includes)
===> lib/atf/libatf-c++/tests (includes)
===> lib/atf/libatf-c++/tests/detail (includes)
===> lib/atf/tests (includes)
===> lib/atf/tests/test-programs (includes)
===> lib/tests (includes)
===> lib/libunbound (includes)
===> lib/libusbhid (includes)
===> lib/libusb (includes)
===> lib/ofed (includes)
===> lib/ofed/include (includes)
===> lib/ofed/libibverbs (includes)
===> lib/ofed/libibcm (includes)
===> lib/ofed/libibumad (includes)
===> lib/ofed/librdmacm (includes)
===> lib/ofed/libibmad (includes)
===> lib/ofed/complib (includes)
===> lib/ofed/libvendor (includes)
===> lib/ofed/libcxgb4 (includes)
===> lib/ofed/libmlx4 (includes)
===> lib/ofed/libmlx5 (includes)
===> lib/ofed/libibnetdisc (includes)
===> lib/ofed/libopensm (includes)
===> lib/libbe (includes)
===> lib/libbe/tests (includes)
===> lib/kyua (includes)
===> lib/kyua/cli (includes)
===> lib/kyua/drivers (includes)
===> lib/kyua/engine (includes)
===> lib/kyua/model (includes)
===> lib/kyua/store (includes)
===> lib/kyua/utils (includes)
===> lib/liblutok (includes)
===> libexec (includes)
===> libexec/atf (includes)
===> libexec/atf/atf-check (includes)
===> libexec/atf/atf-check/tests (includes)
===> libexec/atf/atf-sh (includes)
===> libexec/atf/atf-sh/tests (includes)
===> libexec/atf/tests (includes)
===> libexec/atrun (includes)
===> libexec/blacklistd-helper (includes)
===> libexec/comsat (includes)
===> libexec/dma (includes)
===> libexec/dma/dmagent (includes)
===> libexec/dma/dma-mbox-create (includes)
===> libexec/flua (includes)
===> libexec/getty (includes)
===> libexec/makewhatis.local (includes)
===> libexec/mknetid (includes)
===> libexec/phttpget (includes)
===> libexec/pppoed (includes)
===> libexec/rc (includes)
===> libexec/rc/rc.d (includes)
===> libexec/revnetgroup (includes)
===> libexec/rpc.rquotad (includes)
===> libexec/rpc.rstatd (includes)
===> libexec/rpc.rusersd (includes)
===> libexec/rpc.rwalld (includes)
===> libexec/rpc.sprayd (includes)
===> libexec/rtld-elf (includes)
===> libexec/rtld-elf/tests (includes)
===> libexec/rtld-elf/tests/libpythagoras (includes)
===> libexec/rtld-elf/tests/target (includes)
===> libexec/save-entropy (includes)
===> libexec/telnetd (includes)
===> libexec/tests (includes)
===> libexec/tftp-proxy (includes)
===> libexec/ulog-helper (includes)
===> libexec/ypxfr (includes)
===> libexec/bootpd (includes)
===> libexec/bootpd/bootpgw (includes)
===> libexec/bootpd/tools (includes)
===> libexec/bootpd/tools/bootpef (includes)
===> libexec/bootpd/tools/bootptest (includes)
===> libexec/ftpd (includes)
===> libexec/tcpd (includes)
===> libexec/tftpd (includes)
===> libexec/tftpd/tests (includes)
===> bin (includes)
===> bin/cat (includes)
===> bin/cat/tests (includes)
===> bin/chflags (includes)
===> bin/chflags/tests (includes)
===> bin/chio (includes)
===> bin/chmod (includes)
===> bin/chmod/tests (includes)
===> bin/cp (includes)
===> bin/cp/tests (includes)
===> bin/date (includes)
===> bin/date/tests (includes)
===> bin/dd (includes)
===> bin/dd/tests (includes)
===> bin/df (includes)
===> bin/domainname (includes)
===> bin/echo (includes)
===> bin/echo/tests (includes)
===> bin/ed (includes)
===> bin/expr (includes)
===> bin/expr/tests (includes)
===> bin/freebsd-version (includes)
===> bin/getfacl (includes)
===> bin/hostname (includes)
===> bin/kenv (includes)
===> bin/kill (includes)
===> bin/ln (includes)
===> bin/ln/tests (includes)
===> bin/ls (includes)
===> bin/ls/tests (includes)
===> bin/mkdir (includes)
===> bin/mkdir/tests (includes)
===> bin/mv (includes)
===> bin/mv/tests (includes)
===> bin/pax (includes)
===> bin/pax/tests (includes)
===> bin/pkill (includes)
===> bin/pkill/tests (includes)
===> bin/ps (includes)
===> bin/pwait (includes)
===> bin/pwait/tests (includes)
===> bin/pwd (includes)
===> bin/realpath (includes)
===> bin/rm (includes)
===> bin/rm/tests (includes)
===> bin/rmdir (includes)
===> bin/rmdir/tests (includes)
===> bin/setfacl (includes)
===> bin/sh (includes)
===> bin/sh/tests (includes)
===> bin/sh/tests/builtins (includes)
===> bin/sh/tests/errors (includes)
===> bin/sh/tests/execution (includes)
===> bin/sh/tests/expansion (includes)
===> bin/sh/tests/invocation (includes)
===> bin/sh/tests/parameters (includes)
===> bin/sh/tests/parser (includes)
===> bin/sh/tests/set-e (includes)
===> bin/sleep (includes)
===> bin/sleep/tests (includes)
===> bin/stty (includes)
===> bin/sync (includes)
===> bin/test (includes)
===> bin/test/tests (includes)
===> bin/uuidgen (includes)
===> bin/csh (includes)
===> bin/tests (includes)
===> cddl (includes)
===> cddl/lib (includes)
===> cddl/lib/drti (includes)
===> cddl/lib/libavl (includes)
===> cddl/lib/libctf (includes)
===> cddl/lib/libdtrace (includes)
===> cddl/lib/libicp (includes)
===> cddl/lib/libicp_rescue (includes)
===> cddl/lib/libnvpair (includes)
===> cddl/lib/libspl (includes)
===> cddl/lib/libtpool (includes)
===> cddl/lib/libumem (includes)
===> cddl/lib/libuutil (includes)
===> cddl/lib/libzfs_core (includes)
===> cddl/lib/libzfs (includes)
===> cddl/lib/libzfsbootenv (includes)
===> cddl/lib/libzpool (includes)
===> cddl/lib/libzutil (includes)
===> cddl/lib/tests (includes)
===> cddl/sbin (includes)
===> cddl/sbin/zfs (includes)
===> cddl/sbin/zpool (includes)
===> cddl/sbin/tests (includes)
===> cddl/usr.bin (includes)
===> cddl/usr.bin/ctfconvert (includes)
===> cddl/usr.bin/ctfconvert/tests (includes)
===> cddl/usr.bin/ctfdump (includes)
===> cddl/usr.bin/ctfmerge (includes)
===> cddl/usr.bin/zinject (includes)
===> cddl/usr.bin/zstream (includes)
===> cddl/usr.bin/zstreamdump (includes)
===> cddl/usr.bin/ztest (includes)
===> cddl/usr.bin/ztest/tests (includes)
===> cddl/usr.bin/tests (includes)
===> cddl/usr.sbin (includes)
===> cddl/usr.sbin/dtrace (includes)
===> cddl/usr.sbin/dwatch (includes)
===> cddl/usr.sbin/dwatch/libexec (includes)
===> cddl/usr.sbin/dwatch/examples (includes)
===> cddl/usr.sbin/lockstat (includes)
===> cddl/usr.sbin/zdb (includes)
===> cddl/usr.sbin/zfsd (includes)
===> cddl/usr.sbin/zfsd/tests (includes)
===> cddl/usr.sbin/zhack (includes)
===> cddl/usr.sbin/tests (includes)
===> cddl/tests (includes)
===> gnu (includes)
===> gnu/lib (includes)
===> gnu/lib/libregex (includes)
===> gnu/lib/libdialog (includes)
===> gnu/lib/tests (includes)
===> gnu/usr.bin (includes)
===> gnu/usr.bin/dialog (includes)
===> gnu/usr.bin/diff3 (includes)
===> gnu/usr.bin/grep (includes)
===> gnu/usr.bin/tests (includes)
===> gnu/tests (includes)
===> include (includes)
===> include/arpa (includes)
===> include/protocols (includes)
===> include/rpcsvc (includes)
===> include/rpc (includes)
===> include/xlocale (includes)
===> include/gssapi (includes)
===> kerberos5 (includes)
===> kerberos5/lib (includes)
===> kerberos5/lib/libasn1 (includes)
===> kerberos5/lib/libhdb (includes)
===> kerberos5/lib/libheimntlm (includes)
===> kerberos5/lib/libhx509 (includes)
===> kerberos5/lib/libkadm5clnt (includes)
===> kerberos5/lib/libkadm5srv (includes)
===> kerberos5/lib/libkrb5 (includes)
===> kerberos5/lib/libroken (includes)
===> kerberos5/lib/libsl (includes)
===> kerberos5/lib/libvers (includes)
===> kerberos5/lib/libkdc (includes)
===> kerberos5/lib/libwind (includes)
===> kerberos5/lib/libheimbase (includes)
===> kerberos5/lib/libheimipcc (includes)
===> kerberos5/lib/libheimipcs (includes)
===> kerberos5/lib/libkafs5 (includes)
===> kerberos5/lib/libgssapi_krb5 (includes)
===> kerberos5/lib/libgssapi_ntlm (includes)
===> kerberos5/lib/libgssapi_spnego (includes)
===> kerberos5/libexec (includes)
===> kerberos5/libexec/digest-service (includes)
===> kerberos5/libexec/ipropd-master (includes)
===> kerberos5/libexec/ipropd-slave (includes)
===> kerberos5/libexec/hprop (includes)
===> kerberos5/libexec/hpropd (includes)
===> kerberos5/libexec/kdc (includes)
===> kerberos5/libexec/kdigest (includes)
===> kerberos5/libexec/kfd (includes)
===> kerberos5/libexec/kimpersonate (includes)
===> kerberos5/libexec/kpasswdd (includes)
===> kerberos5/libexec/kcm (includes)
===> kerberos5/libexec/kadmind (includes)
===> kerberos5/tools (includes)
===> kerberos5/tools/make-roken (includes)
===> kerberos5/tools/asn1_compile (includes)
===> kerberos5/tools/slc (includes)
===> kerberos5/usr.bin (includes)
===> kerberos5/usr.bin/hxtool (includes)
===> kerberos5/usr.bin/kadmin (includes)
===> kerberos5/usr.bin/kcc (includes)
===> kerberos5/usr.bin/kdestroy (includes)
===> kerberos5/usr.bin/kgetcred (includes)
===> kerberos5/usr.bin/kf (includes)
===> kerberos5/usr.bin/kinit (includes)
===> kerberos5/usr.bin/kpasswd (includes)
===> kerberos5/usr.bin/krb5-config (includes)
===> kerberos5/usr.bin/ksu (includes)
===> kerberos5/usr.bin/string2key (includes)
===> kerberos5/usr.bin/verify_krb5_conf (includes)
===> kerberos5/usr.sbin (includes)
===> kerberos5/usr.sbin/iprop-log (includes)
===> kerberos5/usr.sbin/kstash (includes)
===> kerberos5/usr.sbin/ktutil (includes)
===> rescue (includes)
===> rescue/librescue (includes)
===> rescue/rescue (includes)
===> sbin (includes)
===> sbin/adjkerntz (includes)
===> sbin/camcontrol (includes)
===> sbin/clri (includes)
===> sbin/comcontrol (includes)
===> sbin/conscontrol (includes)
===> sbin/ddb (includes)
===> sbin/devfs (includes)
===> sbin/devmatch (includes)
===> sbin/dhclient (includes)
===> sbin/dhclient/tests (includes)
===> sbin/dmesg (includes)
===> sbin/dump (includes)
===> sbin/dumpfs (includes)
===> sbin/dumpon (includes)
===> sbin/etherswitchcfg (includes)
===> sbin/ffsinfo (includes)
===> sbin/fsck (includes)
===> sbin/fsck_ffs (includes)
===> sbin/fsck_msdosfs (includes)
===> sbin/fsdb (includes)
===> sbin/fsirand (includes)
===> sbin/gbde (includes)
===> sbin/geom (includes)
===> sbin/ggate (includes)
===> sbin/ggate/ggatec (includes)
===> sbin/ggate/ggated (includes)
===> sbin/ggate/ggatel (includes)
===> sbin/growfs (includes)
===> sbin/growfs/tests (includes)
===> sbin/gvinum (includes)
===> sbin/ifconfig (includes)
===> sbin/ifconfig/tests (includes)
===> sbin/init (includes)
===> sbin/kldconfig (includes)
===> sbin/kldload (includes)
===> sbin/kldstat (includes)
===> sbin/kldunload (includes)
===> sbin/ldconfig (includes)
===> sbin/md5 (includes)
===> sbin/mdconfig (includes)
===> sbin/mdconfig/tests (includes)
===> sbin/mdmfs (includes)
===> sbin/mknod (includes)
===> sbin/mksnap_ffs (includes)
===> sbin/mount (includes)
===> sbin/mount_cd9660 (includes)
===> sbin/mount_fusefs (includes)
===> sbin/mount_msdosfs (includes)
===> sbin/mount_nfs (includes)
===> sbin/mount_nullfs (includes)
===> sbin/mount_udf (includes)
===> sbin/mount_unionfs (includes)
===> sbin/newfs (includes)
===> sbin/newfs_msdos (includes)
===> sbin/nfsiod (includes)
===> sbin/nos-tun (includes)
===> sbin/pfilctl (includes)
===> sbin/ping (includes)
===> sbin/ping/tests (includes)
===> sbin/rcorder (includes)
===> sbin/reboot (includes)
===> sbin/recoverdisk (includes)
===> sbin/resolvconf (includes)
===> sbin/restore (includes)
===> sbin/route (includes)
===> sbin/route/tests (includes)
===> sbin/savecore (includes)
===> sbin/setkey (includes)
===> sbin/shutdown (includes)
===> sbin/spppcontrol (includes)
===> sbin/swapon (includes)
===> sbin/sysctl (includes)
===> sbin/tunefs (includes)
===> sbin/umount (includes)
===> sbin/ccdconfig (includes)
===> sbin/devd (includes)
===> sbin/devd/tests (includes)
===> sbin/rtsol (includes)
===> sbin/ipf (includes)
===> sbin/ipf/libipf (includes)
===> sbin/ipf/ipf (includes)
===> sbin/ipf/ipfs (includes)
===> sbin/ipf/ipfstat (includes)
===> sbin/ipf/ipmon (includes)
===> sbin/ipf/ipnat (includes)
===> sbin/ipf/ippool (includes)
===> sbin/ipfw (includes)
===> sbin/natd (includes)
===> sbin/iscontrol (includes)
===> sbin/nvmecontrol (includes)
===> sbin/nvmecontrol/modules (includes)
===> sbin/nvmecontrol/modules/intel (includes)
===> sbin/nvmecontrol/modules/wdc (includes)
===> sbin/nvmecontrol/tests (includes)
===> sbin/decryptcore (includes)
===> sbin/pfctl (includes)
===> sbin/pfctl/tests (includes)
===> sbin/pfctl/tests/files (includes)
===> sbin/pflogd (includes)
===> sbin/quotacheck (includes)
===> sbin/routed (includes)
===> sbin/routed/rtquery (includes)
===> sbin/bectl (includes)
===> sbin/bectl/tests (includes)
===> sbin/zfsbootcfg (includes)
===> sbin/tests (includes)
===> secure (includes)
===> secure/lib (includes)
===> secure/lib/libcrypto (includes)
===> secure/lib/libcrypto/engines (includes)
===> secure/lib/libcrypto/engines/capi (includes)
===> secure/lib/libssl (includes)
===> secure/lib/libssh (includes)
===> secure/lib/tests (includes)
===> secure/libexec (includes)
===> secure/libexec/sftp-server (includes)
===> secure/libexec/ssh-keysign (includes)
===> secure/libexec/ssh-pkcs11-helper (includes)
===> secure/libexec/tests (includes)
===> secure/usr.bin (includes)
===> secure/usr.bin/openssl (includes)
===> secure/usr.bin/scp (includes)
===> secure/usr.bin/sftp (includes)
===> secure/usr.bin/ssh (includes)
===> secure/usr.bin/ssh-add (includes)
===> secure/usr.bin/ssh-agent (includes)
===> secure/usr.bin/ssh-keygen (includes)
===> secure/usr.bin/ssh-keyscan (includes)
===> secure/usr.bin/tests (includes)
===> secure/usr.sbin (includes)
===> secure/usr.sbin/sshd (includes)
===> secure/usr.sbin/tests (includes)
===> secure/tests (includes)
===> secure/caroot (includes)
===> secure/caroot/trusted (includes)
===> secure/caroot/blacklisted (includes)
===> share (includes)
===> share/colldef (includes)
===> share/ctypedef (includes)
===> share/dict (includes)
===> share/doc (includes)
===> share/doc/IPv6 (includes)
===> share/doc/atf (includes)
===> share/doc/legal (includes)
===> share/doc/legal/intel_ipw (includes)
===> share/doc/legal/intel_iwi (includes)
===> share/doc/legal/intel_iwn (includes)
===> share/doc/legal/intel_wpi (includes)
===> share/doc/legal/realtek (includes)
===> share/doc/llvm (includes)
===> share/doc/llvm/clang (includes)
===> share/doc/pjdfstest (includes)
===> share/dtrace (includes)
===> share/examples (includes)
===> share/examples/ipfilter (includes)
===> share/examples/smbfs (includes)
===> share/examples/smbfs/print (includes)
===> share/examples/tests (includes)
===> share/examples/tests/tests (includes)
===> share/examples/tests/tests/atf (includes)
===> share/examples/tests/tests/plain (includes)
===> share/examples/tests/tests/tap (includes)
===> share/examples/tests/tests/googletest (includes)
===> share/i18n (includes)
===> share/i18n/csmapper (includes)
===> share/i18n/csmapper/APPLE (includes)
===> share/i18n/csmapper/AST (includes)
===> share/i18n/csmapper/BIG5 (includes)
===> share/i18n/csmapper/CNS (includes)
===> share/i18n/csmapper/CP (includes)
===> share/i18n/csmapper/EBCDIC (includes)
===> share/i18n/csmapper/GB (includes)
===> share/i18n/csmapper/GEORGIAN (includes)
===> share/i18n/csmapper/ISO646 (includes)
===> share/i18n/csmapper/ISO-8859 (includes)
===> share/i18n/csmapper/JIS (includes)
===> share/i18n/csmapper/KAZAKH (includes)
===> share/i18n/csmapper/KOI (includes)
===> share/i18n/csmapper/KS (includes)
===> share/i18n/csmapper/MISC (includes)
===> share/i18n/csmapper/TCVN (includes)
===> share/i18n/esdb (includes)
===> share/i18n/esdb/APPLE (includes)
===> share/i18n/esdb/AST (includes)
===> share/i18n/esdb/BIG5 (includes)
===> share/i18n/esdb/CP (includes)
===> share/i18n/esdb/DEC (includes)
===> share/i18n/esdb/EUC (includes)
===> share/i18n/esdb/EBCDIC (includes)
===> share/i18n/esdb/GB (includes)
===> share/i18n/esdb/GEORGIAN (includes)
===> share/i18n/esdb/ISO-2022 (includes)
===> share/i18n/esdb/ISO-8859 (includes)
===> share/i18n/esdb/ISO646 (includes)
===> share/i18n/esdb/KAZAKH (includes)
===> share/i18n/esdb/KOI (includes)
===> share/i18n/esdb/MISC (includes)
===> share/i18n/esdb/TCVN (includes)
===> share/i18n/esdb/UTF (includes)
===> share/keys (includes)
===> share/keys/pkg (includes)
===> share/keys/pkg/trusted (includes)
===> share/man (includes)
===> share/man/man1 (includes)
===> share/man/man3 (includes)
===> share/man/man3lua (includes)
===> share/man/man4 (includes)
===> share/man/man4/man4.aarch64 (includes)
===> share/man/man5 (includes)
===> share/man/man6 (includes)
===> share/man/man7 (includes)
===> share/man/man8 (includes)
===> share/man/man9 (includes)
===> share/misc (includes)
===> share/mk (includes)
===> share/monetdef (includes)
===> share/msgdef (includes)
===> share/numericdef (includes)
===> share/skel (includes)
===> share/snmp (includes)
===> share/snmp/mibs (includes)
===> share/syscons (includes)
===> share/syscons/fonts (includes)
===> share/syscons/keymaps (includes)
===> share/syscons/scrnmaps (includes)
===> share/tabset (includes)
===> share/termcap (includes)
===> share/timedef (includes)
===> share/vt (includes)
===> share/vt/fonts (includes)
===> share/vt/keymaps (includes)
===> share/zoneinfo (includes)
===> share/zoneinfo/tests (includes)
===> share/tests (includes)
===> stand (includes)
===> stand/libsa (includes)
===> stand/liblua (includes)
===> stand/lua (includes)
===> stand/fdt (includes)
===> stand/defaults (includes)
===> stand/man (includes)
===> stand/efi (includes)
===> stand/efi/fdt (includes)
===> stand/efi/libefi (includes)
===> stand/efi/boot1 (includes)
===> stand/efi/gptboot (includes)
===> stand/efi/loader_lua (includes)
===> stand/efi/loader_simp (includes)
===> stand/arm64 (includes)
===> sys (includes)
===> usr.bin (includes)
===> usr.bin/alias (includes)
===> usr.bin/apply (includes)
===> usr.bin/apply/tests (includes)
===> usr.bin/asa (includes)
===> usr.bin/awk (includes)
===> usr.bin/backlight (includes)
===> usr.bin/banner (includes)
===> usr.bin/basename (includes)
===> usr.bin/basename/tests (includes)
===> usr.bin/brandelf (includes)
===> usr.bin/bsdcat (includes)
===> usr.bin/bsdcat/tests (includes)
===> usr.bin/bsdiff (includes)
===> usr.bin/bsdiff/bsdiff (includes)
===> usr.bin/bsdiff/bspatch (includes)
===> usr.bin/bzip2 (includes)
===> usr.bin/bzip2recover (includes)
===> usr.bin/cap_mkdb (includes)
===> usr.bin/chat (includes)
===> usr.bin/chpass (includes)
===> usr.bin/cksum (includes)
===> usr.bin/cmp (includes)
===> usr.bin/cmp/tests (includes)
===> usr.bin/col (includes)
===> usr.bin/col/tests (includes)
===> usr.bin/colrm (includes)
===> usr.bin/column (includes)
===> usr.bin/comm (includes)
===> usr.bin/comm/tests (includes)
===> usr.bin/compress (includes)
===> usr.bin/compress/tests (includes)
===> usr.bin/cpuset (includes)
===> usr.bin/csplit (includes)
===> usr.bin/csplit/tests (includes)
===> usr.bin/ctlstat (includes)
===> usr.bin/cut (includes)
===> usr.bin/cut/tests (includes)
===> usr.bin/diff (includes)
===> usr.bin/diff/tests (includes)
===> usr.bin/dirname (includes)
===> usr.bin/dirname/tests (includes)
===> usr.bin/du (includes)
===> usr.bin/du/tests (includes)
===> usr.bin/elfctl (includes)
===> usr.bin/elfdump (includes)
===> usr.bin/enigma (includes)
===> usr.bin/env (includes)
===> usr.bin/etdump (includes)
===> usr.bin/expand (includes)
===> usr.bin/false (includes)
===> usr.bin/fetch (includes)
===> usr.bin/find (includes)
===> usr.bin/find/tests (includes)
===> usr.bin/fmt (includes)
===> usr.bin/fold (includes)
===> usr.bin/fold/tests (includes)
===> usr.bin/fstat (includes)
===> usr.bin/fsync (includes)
===> usr.bin/gcore (includes)
===> usr.bin/gencat (includes)
===> usr.bin/getaddrinfo (includes)
===> usr.bin/getconf (includes)
===> usr.bin/getconf/tests (includes)
===> usr.bin/getent (includes)
===> usr.bin/getopt (includes)
===> usr.bin/grep (includes)
===> usr.bin/grep/tests (includes)
===> usr.bin/gzip (includes)
===> usr.bin/gzip/tests (includes)
===> usr.bin/head (includes)
===> usr.bin/head/tests (includes)
===> usr.bin/hexdump (includes)
===> usr.bin/hexdump/tests (includes)
===> usr.bin/id (includes)
===> usr.bin/ident (includes)
===> usr.bin/ident/tests (includes)
===> usr.bin/ipcrm (includes)
===> usr.bin/ipcs (includes)
===> usr.bin/join (includes)
===> usr.bin/join/tests (includes)
===> usr.bin/jot (includes)
===> usr.bin/jot/tests (includes)
===> usr.bin/keylogin (includes)
===> usr.bin/keylogout (includes)
===> usr.bin/killall (includes)
===> usr.bin/ktrace (includes)
===> usr.bin/ktrdump (includes)
===> usr.bin/lam (includes)
===> usr.bin/lastcomm (includes)
===> usr.bin/lastcomm/tests (includes)
===> usr.bin/ldd (includes)
===> usr.bin/leave (includes)
===> usr.bin/less (includes)
===> usr.bin/lessecho (includes)
===> usr.bin/lesskey (includes)
===> usr.bin/limits (includes)
===> usr.bin/limits/tests (includes)
===> usr.bin/locale (includes)
===> usr.bin/locale/tests (includes)
===> usr.bin/localedef (includes)
===> usr.bin/lock (includes)
===> usr.bin/lockf (includes)
===> usr.bin/logger (includes)
===> usr.bin/login (includes)
===> usr.bin/logins (includes)
===> usr.bin/logname (includes)
===> usr.bin/look (includes)
===> usr.bin/lorder (includes)
===> usr.bin/lsvfs (includes)
===> usr.bin/lzmainfo (includes)
===> usr.bin/m4 (includes)
===> usr.bin/m4/tests (includes)
===> usr.bin/mandoc (includes)
===> usr.bin/mesg (includes)
===> usr.bin/minigzip (includes)
===> usr.bin/ministat (includes)
===> usr.bin/mkdep (includes)
===> usr.bin/mkfifo (includes)
===> usr.bin/mkimg (includes)
===> usr.bin/mkimg/tests (includes)
===> usr.bin/mktemp (includes)
===> usr.bin/mkuzip (includes)
===> usr.bin/mt (includes)
===> usr.bin/ncal (includes)
===> usr.bin/ncal/tests (includes)
===> usr.bin/netstat (includes)
===> usr.bin/newgrp (includes)
===> usr.bin/nfsstat (includes)
===> usr.bin/nice (includes)
===> usr.bin/nl (includes)
===> usr.bin/nohup (includes)
===> usr.bin/opieinfo (includes)
===> usr.bin/opiekey (includes)
===> usr.bin/opiepasswd (includes)
===> usr.bin/pagesize (includes)
===> usr.bin/passwd (includes)
===> usr.bin/paste (includes)
===> usr.bin/patch (includes)
===> usr.bin/patch/tests (includes)
===> usr.bin/pathchk (includes)
===> usr.bin/perror (includes)
===> usr.bin/posixshmcontrol (includes)
===> usr.bin/pr (includes)
===> usr.bin/pr/tests (includes)
===> usr.bin/printenv (includes)
===> usr.bin/printf (includes)
===> usr.bin/printf/tests (includes)
===> usr.bin/proccontrol (includes)
===> usr.bin/procstat (includes)
===> usr.bin/procstat/tests (includes)
===> usr.bin/protect (includes)
===> usr.bin/rctl (includes)
===> usr.bin/renice (includes)
===> usr.bin/resizewin (includes)
===> usr.bin/rev (includes)
===> usr.bin/revoke (includes)
===> usr.bin/rpcinfo (includes)
===> usr.bin/rs (includes)
===> usr.bin/rs/tests (includes)
===> usr.bin/rup (includes)
===> usr.bin/ruptime (includes)
===> usr.bin/rusers (includes)
===> usr.bin/rwall (includes)
===> usr.bin/rwho (includes)
===> usr.bin/script (includes)
===> usr.bin/sdiff (includes)
===> usr.bin/sdiff/tests (includes)
===> usr.bin/sed (includes)
===> usr.bin/sed/tests (includes)
===> usr.bin/sed/tests/regress.multitest.out (includes)
===> usr.bin/seq (includes)
===> usr.bin/seq/tests (includes)
===> usr.bin/shar (includes)
===> usr.bin/showmount (includes)
===> usr.bin/sockstat (includes)
===> usr.bin/soelim (includes)
===> usr.bin/soelim/tests (includes)
===> usr.bin/sort (includes)
===> usr.bin/split (includes)
===> usr.bin/stat (includes)
===> usr.bin/stat/tests (includes)
===> usr.bin/stdbuf (includes)
===> usr.bin/strings (includes)
===> usr.bin/su (includes)
===> usr.bin/systat (includes)
===> usr.bin/tabs (includes)
===> usr.bin/tail (includes)
===> usr.bin/tail/tests (includes)
===> usr.bin/tar (includes)
===> usr.bin/tar/tests (includes)
===> usr.bin/tcopy (includes)
===> usr.bin/tee (includes)
===> usr.bin/time (includes)
===> usr.bin/timeout (includes)
===> usr.bin/timeout/tests (includes)
===> usr.bin/tip (includes)
===> usr.bin/tip/tip (includes)
===> usr.bin/top (includes)
===> usr.bin/touch (includes)
===> usr.bin/tput (includes)
===> usr.bin/tr (includes)
===> usr.bin/tr/tests (includes)
===> usr.bin/true (includes)
===> usr.bin/truncate (includes)
===> usr.bin/truncate/tests (includes)
===> usr.bin/tset (includes)
===> usr.bin/tsort (includes)
===> usr.bin/tty (includes)
===> usr.bin/uname (includes)
===> usr.bin/unexpand (includes)
===> usr.bin/uniq (includes)
===> usr.bin/uniq/tests (includes)
===> usr.bin/unzip (includes)
===> usr.bin/units (includes)
===> usr.bin/units/tests (includes)
===> usr.bin/unvis (includes)
===> usr.bin/uudecode (includes)
===> usr.bin/uudecode/tests (includes)
===> usr.bin/uuencode (includes)
===> usr.bin/uuencode/tests (includes)
===> usr.bin/vis (includes)
===> usr.bin/vmstat (includes)
===> usr.bin/vmstat/tests (includes)
===> usr.bin/w (includes)
===> usr.bin/wall (includes)
===> usr.bin/wc (includes)
===> usr.bin/what (includes)
===> usr.bin/whereis (includes)
===> usr.bin/which (includes)
===> usr.bin/whois (includes)
===> usr.bin/write (includes)
===> usr.bin/xargs (includes)
===> usr.bin/xargs/tests (includes)
===> usr.bin/xinstall (includes)
===> usr.bin/xinstall/tests (includes)
===> usr.bin/xo (includes)
===> usr.bin/xo/tests (includes)
===> usr.bin/xz (includes)
===> usr.bin/xzdec (includes)
===> usr.bin/yes (includes)
===> usr.bin/zstd (includes)
===> usr.bin/dtc (includes)
===> usr.bin/gh-bc (includes)
===> usr.bin/gh-bc/tests (includes)
===> usr.bin/at (includes)
===> usr.bin/atm (includes)
===> usr.bin/atm/sscop (includes)
===> usr.bin/bluetooth (includes)
===> usr.bin/bluetooth/bthost (includes)
===> usr.bin/bluetooth/btsockstat (includes)
===> usr.bin/bluetooth/rfcomm_sppd (includes)
===> usr.bin/cpio (includes)
===> usr.bin/cpio/tests (includes)
===> usr.bin/calendar (includes)
===> usr.bin/calendar/tests (includes)
===> usr.bin/clang (includes)
===> usr.bin/clang/clang (includes)
===> usr.bin/clang/clang-tblgen (includes)
===> usr.bin/clang/llvm-tblgen (includes)
===> usr.bin/clang/lldb-tblgen (includes)
===> usr.bin/clang/llvm-ar (includes)
===> usr.bin/clang/llvm-nm (includes)
===> usr.bin/clang/llvm-objdump (includes)
===> usr.bin/clang/llvm-symbolizer (includes)
===> usr.bin/clang/llvm-cxxfilt (includes)
===> usr.bin/clang/lld (includes)
===> usr.bin/clang/lldb (includes)
===> usr.bin/clang/llvm-cov (includes)
===> usr.bin/clang/llvm-profdata (includes)
===> usr.bin/dpv (includes)
===> usr.bin/ee (includes)
===> usr.bin/file (includes)
===> usr.bin/ftp (includes)
===> usr.bin/iconv (includes)
===> usr.bin/mkcsmapper (includes)
===> usr.bin/mkesdb (includes)
===> usr.bin/iscsictl (includes)
===> usr.bin/kdump (includes)
===> usr.bin/truss (includes)
===> usr.bin/compile_et (includes)
===> usr.bin/drill (includes)
===> usr.bin/host (includes)
===> usr.bin/locate (includes)
===> usr.bin/locate/bigram (includes)
===> usr.bin/locate/code (includes)
===> usr.bin/locate/locate (includes)
===> usr.bin/biff (includes)
===> usr.bin/from (includes)
===> usr.bin/mail (includes)
===> usr.bin/msgs (includes)
===> usr.bin/bmake (includes)
===> usr.bin/bmake/tests (includes)
===> usr.bin/bmake/tests/archives (includes)
===> usr.bin/bmake/tests/archives/fmt_44bsd (includes)
===> usr.bin/bmake/tests/archives/fmt_44bsd_mod (includes)
===> usr.bin/bmake/tests/archives/fmt_oldbsd (includes)
===> usr.bin/bmake/tests/basic (includes)
===> usr.bin/bmake/tests/basic/t0 (includes)
===> usr.bin/bmake/tests/basic/t1 (includes)
===> usr.bin/bmake/tests/basic/t2 (includes)
===> usr.bin/bmake/tests/basic/t3 (includes)
===> usr.bin/bmake/tests/execution (includes)
===> usr.bin/bmake/tests/execution/ellipsis (includes)
===> usr.bin/bmake/tests/execution/empty (includes)
===> usr.bin/bmake/tests/execution/joberr (includes)
===> usr.bin/bmake/tests/execution/plus (includes)
===> usr.bin/bmake/tests/shell (includes)
===> usr.bin/bmake/tests/shell/builtin (includes)
===> usr.bin/bmake/tests/shell/meta (includes)
===> usr.bin/bmake/tests/shell/path (includes)
===> usr.bin/bmake/tests/shell/path_select (includes)
===> usr.bin/bmake/tests/shell/replace (includes)
===> usr.bin/bmake/tests/shell/select (includes)
===> usr.bin/bmake/tests/suffixes (includes)
===> usr.bin/bmake/tests/suffixes/basic (includes)
===> usr.bin/bmake/tests/suffixes/src_wild1 (includes)
===> usr.bin/bmake/tests/suffixes/src_wild2 (includes)
===> usr.bin/bmake/tests/syntax (includes)
===> usr.bin/bmake/tests/syntax/directive-t0 (includes)
===> usr.bin/bmake/tests/syntax/enl (includes)
===> usr.bin/bmake/tests/syntax/funny-targets (includes)
===> usr.bin/bmake/tests/syntax/semi (includes)
===> usr.bin/bmake/tests/sysmk (includes)
===> usr.bin/bmake/tests/sysmk/t0 (includes)
===> usr.bin/bmake/tests/sysmk/t0/mk (includes)
===> usr.bin/bmake/tests/sysmk/t0/2 (includes)
===> usr.bin/bmake/tests/sysmk/t0/2/1 (includes)
===> usr.bin/bmake/tests/sysmk/t1 (includes)
===> usr.bin/bmake/tests/sysmk/t1/mk (includes)
===> usr.bin/bmake/tests/sysmk/t1/2 (includes)
===> usr.bin/bmake/tests/sysmk/t1/2/1 (includes)
===> usr.bin/bmake/tests/sysmk/t2 (includes)
===> usr.bin/bmake/tests/sysmk/t2/mk (includes)
===> usr.bin/bmake/tests/sysmk/t2/2 (includes)
===> usr.bin/bmake/tests/sysmk/t2/2/1 (includes)
===> usr.bin/bmake/tests/variables (includes)
===> usr.bin/bmake/tests/variables/modifier_M (includes)
===> usr.bin/bmake/tests/variables/modifier_t (includes)
===> usr.bin/bmake/tests/variables/opt_V (includes)
===> usr.bin/bmake/tests/variables/t0 (includes)
===> usr.bin/man (includes)
===> usr.bin/nc (includes)
===> usr.bin/ypcat (includes)
===> usr.bin/ypmatch (includes)
===> usr.bin/ypwhich (includes)
===> usr.bin/ssh-copy-id (includes)
===> usr.bin/chkey (includes)
===> usr.bin/newkey (includes)
===> usr.bin/quota (includes)
===> usr.bin/telnet (includes)
===> usr.bin/tests (includes)
===> usr.bin/ul (includes)
===> usr.bin/tftp (includes)
===> usr.bin/addr2line (includes)
===> usr.bin/ar (includes)
===> usr.bin/c89 (includes)
===> usr.bin/c99 (includes)
===> usr.bin/ctags (includes)
===> usr.bin/objcopy (includes)
===> usr.bin/file2c (includes)
===> usr.bin/file2c/tests (includes)
===> usr.bin/gprof (includes)
===> usr.bin/indent (includes)
===> usr.bin/indent/tests (includes)
===> usr.bin/lex (includes)
===> usr.bin/lex/lib (includes)
===> usr.bin/mkstr (includes)
===> usr.bin/nm (includes)
===> usr.bin/readelf (includes)
===> usr.bin/rpcgen (includes)
===> usr.bin/unifdef (includes)
===> usr.bin/unifdef/tests (includes)
===> usr.bin/size (includes)
===> usr.bin/xstr (includes)
===> usr.bin/yacc (includes)
===> usr.bin/yacc/tests (includes)
===> usr.bin/vi (includes)
===> usr.bin/vi/catalog (includes)
===> usr.bin/vtfontcvt (includes)
===> usr.bin/usbhidaction (includes)
===> usr.bin/usbhidctl (includes)
===> usr.bin/last (includes)
===> usr.bin/users (includes)
===> usr.bin/who (includes)
===> usr.bin/svn (includes)
===> usr.bin/svn/lib (includes)
===> usr.bin/svn/lib/libapr (includes)
===> usr.bin/svn/lib/libapr_util (includes)
===> usr.bin/svn/lib/libserf (includes)
===> usr.bin/svn/lib/libsvn_client (includes)
===> usr.bin/svn/lib/libsvn_delta (includes)
===> usr.bin/svn/lib/libsvn_diff (includes)
===> usr.bin/svn/lib/libsvn_fs (includes)
===> usr.bin/svn/lib/libsvn_fs_fs (includes)
===> usr.bin/svn/lib/libsvn_fs_util (includes)
===> usr.bin/svn/lib/libsvn_fs_x (includes)
===> usr.bin/svn/lib/libsvn_ra (includes)
===> usr.bin/svn/lib/libsvn_ra_local (includes)
===> usr.bin/svn/lib/libsvn_ra_serf (includes)
===> usr.bin/svn/lib/libsvn_ra_svn (includes)
===> usr.bin/svn/lib/libsvn_repos (includes)
===> usr.bin/svn/lib/libsvn_subr (includes)
===> usr.bin/svn/lib/libsvn_wc (includes)
===> usr.bin/svn/svn (includes)
===> usr.bin/svn/svnadmin (includes)
===> usr.bin/svn/svnbench (includes)
===> usr.bin/svn/svndumpfilter (includes)
===> usr.bin/svn/svnfsfs (includes)
===> usr.bin/svn/svnlook (includes)
===> usr.bin/svn/svnserve (includes)
===> usr.bin/svn/svnsync (includes)
===> usr.bin/svn/svnversion (includes)
===> usr.bin/svn/svnmucc (includes)
===> usr.bin/svn/svnrdump (includes)
===> usr.bin/ofed (includes)
===> usr.bin/ofed/libibverbs (includes)
===> usr.bin/ofed/libibverbs/asyncwatch (includes)
===> usr.bin/ofed/libibverbs/devinfo (includes)
===> usr.bin/ofed/libibverbs/devices (includes)
===> usr.bin/ofed/libibverbs/rc_pingpong (includes)
===> usr.bin/ofed/libibverbs/srq_pingpong (includes)
===> usr.bin/ofed/libibverbs/uc_pingpong (includes)
===> usr.bin/ofed/libibverbs/ud_pingpong (includes)
===> usr.bin/ofed/librdmacm (includes)
===> usr.bin/ofed/librdmacm/ucmatose (includes)
===> usr.bin/ofed/librdmacm/mckey (includes)
===> usr.bin/ofed/librdmacm/rping (includes)
===> usr.bin/ofed/librdmacm/udaddy (includes)
===> usr.bin/ofed/infiniband-diags (includes)
===> usr.bin/ofed/infiniband-diags/ibstat (includes)
===> usr.bin/kyua (includes)
===> usr.sbin (includes)
===> usr.sbin/adduser (includes)
===> usr.sbin/arp (includes)
===> usr.sbin/binmiscctl (includes)
===> usr.sbin/camdd (includes)
===> usr.sbin/cdcontrol (includes)
===> usr.sbin/chkgrp (includes)
===> usr.sbin/chown (includes)
===> usr.sbin/chown/tests (includes)
===> usr.sbin/chroot (includes)
===> usr.sbin/ckdist (includes)
===> usr.sbin/clear_locks (includes)
===> usr.sbin/crashinfo (includes)
===> usr.sbin/cron (includes)
===> usr.sbin/cron/lib (includes)
===> usr.sbin/cron/cron (includes)
===> usr.sbin/cron/crontab (includes)
===> usr.sbin/ctladm (includes)
===> usr.sbin/ctld (includes)
===> usr.sbin/daemon (includes)
===> usr.sbin/dconschat (includes)
===> usr.sbin/devctl (includes)
===> usr.sbin/devinfo (includes)
===> usr.sbin/diskinfo (includes)
===> usr.sbin/dumpcis (includes)
===> usr.sbin/etcupdate (includes)
===> usr.sbin/etcupdate/tests (includes)
===> usr.sbin/extattr (includes)
===> usr.sbin/extattr/tests (includes)
===> usr.sbin/extattrctl (includes)
===> usr.sbin/fifolog (includes)
===> usr.sbin/fifolog/lib (includes)
===> usr.sbin/fifolog/fifolog_create (includes)
===> usr.sbin/fifolog/fifolog_writer (includes)
===> usr.sbin/fifolog/fifolog_reader (includes)
===> usr.sbin/fstyp (includes)
===> usr.sbin/fstyp/tests (includes)
===> usr.sbin/fwcontrol (includes)
===> usr.sbin/getfmac (includes)
===> usr.sbin/getpmac (includes)
===> usr.sbin/gstat (includes)
===> usr.sbin/i2c (includes)
===> usr.sbin/ifmcstat (includes)
===> usr.sbin/iostat (includes)
===> usr.sbin/iovctl (includes)
===> usr.sbin/kldxref (includes)
===> usr.sbin/mailwrapper (includes)
===> usr.sbin/makefs (includes)
===> usr.sbin/makefs/tests (includes)
===> usr.sbin/memcontrol (includes)
===> usr.sbin/mergemaster (includes)
===> usr.sbin/mfiutil (includes)
===> usr.sbin/mixer (includes)
===> usr.sbin/mixer/tests (includes)
===> usr.sbin/mlxcontrol (includes)
===> usr.sbin/mountd (includes)
===> usr.sbin/mount_smbfs (includes)
===> usr.sbin/mpsutil (includes)
===> usr.sbin/mptutil (includes)
===> usr.sbin/mtest (includes)
===> usr.sbin/newsyslog (includes)
===> usr.sbin/newsyslog/newsyslog.conf.d (includes)
===> usr.sbin/newsyslog/tests (includes)
===> usr.sbin/nfscbd (includes)
===> usr.sbin/nfsd (includes)
===> usr.sbin/nfsdumpstate (includes)
===> usr.sbin/nfsrevoke (includes)
===> usr.sbin/nfsuserd (includes)
===> usr.sbin/nmtree (includes)
===> usr.sbin/nmtree/tests (includes)
===> usr.sbin/nologin (includes)
===> usr.sbin/pciconf (includes)
===> usr.sbin/periodic (includes)
===> usr.sbin/periodic/etc (includes)
===> usr.sbin/periodic/etc/daily (includes)
===> usr.sbin/periodic/etc/security (includes)
===> usr.sbin/periodic/etc/weekly (includes)
===> usr.sbin/periodic/etc/monthly (includes)
===> usr.sbin/pnfsdscopymr (includes)
===> usr.sbin/pnfsdsfile (includes)
===> usr.sbin/pnfsdskill (includes)
===> usr.sbin/powerd (includes)
===> usr.sbin/prometheus_sysctl_exporter (includes)
===> usr.sbin/pstat (includes)
===> usr.sbin/pw (includes)
===> usr.sbin/pw/tests (includes)
===> usr.sbin/pwd_mkdb (includes)
===> usr.sbin/pwm (includes)
===> usr.sbin/quot (includes)
===> usr.sbin/rarpd (includes)
===> usr.sbin/rmt (includes)
===> usr.sbin/rpcbind (includes)
===> usr.sbin/rpcbind/tests (includes)
===> usr.sbin/rpc.lockd (includes)
===> usr.sbin/rpc.statd (includes)
===> usr.sbin/rpc.umntall (includes)
===> usr.sbin/rtprio (includes)
===> usr.sbin/rwhod (includes)
===> usr.sbin/service (includes)
===> usr.sbin/services_mkdb (includes)
===> usr.sbin/sesutil (includes)
===> usr.sbin/setfib (includes)
===> usr.sbin/setfmac (includes)
===> usr.sbin/setpmac (includes)
===> usr.sbin/smbmsg (includes)
===> usr.sbin/snapinfo (includes)
===> usr.sbin/spi (includes)
===> usr.sbin/spray (includes)
===> usr.sbin/syslogd (includes)
===> usr.sbin/sysrc (includes)
===> usr.sbin/tcpdrop (includes)
===> usr.sbin/tcpdump (includes)
===> usr.sbin/tcpdump/tcpdump (includes)
===> usr.sbin/traceroute (includes)
===> usr.sbin/trim (includes)
===> usr.sbin/trpt (includes)
===> usr.sbin/tzsetup (includes)
===> usr.sbin/ugidfw (includes)
===> usr.sbin/valectl (includes)
===> usr.sbin/vigr (includes)
===> usr.sbin/vipw (includes)
===> usr.sbin/wake (includes)
===> usr.sbin/watch (includes)
===> usr.sbin/watchdogd (includes)
===> usr.sbin/zic (includes)
===> usr.sbin/zic/zic (includes)
===> usr.sbin/zic/zdump (includes)
===> usr.sbin/zonectl (includes)
===> usr.sbin/acpi (includes)
===> usr.sbin/acpi/acpiconf (includes)
===> usr.sbin/acpi/acpidb (includes)
===> usr.sbin/acpi/acpidump (includes)
===> usr.sbin/acpi/iasl (includes)
===> usr.sbin/ofwdump (includes)
===> usr.sbin/accton (includes)
===> usr.sbin/sa (includes)
===> usr.sbin/sa/tests (includes)
===> usr.sbin/audit (includes)
===> usr.sbin/auditd (includes)
===> usr.sbin/auditdistd (includes)
===> usr.sbin/auditreduce (includes)
===> usr.sbin/praudit (includes)
===> usr.sbin/praudit/tests (includes)
===> usr.sbin/authpf (includes)
===> usr.sbin/autofs (includes)
===> usr.sbin/autofs/autofs (includes)
===> usr.sbin/blacklistctl (includes)
===> usr.sbin/blacklistd (includes)
===> usr.sbin/bluetooth (includes)
===> usr.sbin/bluetooth/bluetooth-config (includes)
===> usr.sbin/bluetooth/bt3cfw (includes)
===> usr.sbin/bluetooth/btpand (includes)
===> usr.sbin/bluetooth/hccontrol (includes)
===> usr.sbin/bluetooth/hcsecd (includes)
===> usr.sbin/bluetooth/hcseriald (includes)
===> usr.sbin/bluetooth/l2control (includes)
===> usr.sbin/bluetooth/l2ping (includes)
===> usr.sbin/bluetooth/rfcomm_pppd (includes)
===> usr.sbin/bluetooth/sdpcontrol (includes)
===> usr.sbin/bluetooth/sdpd (includes)
===> usr.sbin/bluetooth/ath3kfw (includes)
===> usr.sbin/bluetooth/bcmfw (includes)
===> usr.sbin/bluetooth/bthidcontrol (includes)
===> usr.sbin/bluetooth/bthidd (includes)
===> usr.sbin/bluetooth/iwmbtfw (includes)
===> usr.sbin/bootparamd (includes)
===> usr.sbin/bootparamd/bootparamd (includes)
===> usr.sbin/bootparamd/callbootd (includes)
===> usr.sbin/bsdinstall (includes)
===> usr.sbin/bsdinstall/distextract (includes)
===> usr.sbin/bsdinstall/distfetch (includes)
===> usr.sbin/bsdinstall/partedit (includes)
===> usr.sbin/bsdinstall/scripts (includes)
===> usr.sbin/bsnmpd (includes)
===> usr.sbin/bsnmpd/gensnmptree (includes)
===> usr.sbin/bsnmpd/bsnmpd (includes)
===> usr.sbin/bsnmpd/modules (includes)
===> usr.sbin/bsnmpd/modules/snmp_bridge (includes)
===> usr.sbin/bsnmpd/modules/snmp_hostres (includes)
===> usr.sbin/bsnmpd/modules/snmp_lm75 (includes)
===> usr.sbin/bsnmpd/modules/snmp_mibII (includes)
===> usr.sbin/bsnmpd/modules/snmp_target (includes)
===> usr.sbin/bsnmpd/modules/snmp_usm (includes)
===> usr.sbin/bsnmpd/modules/snmp_vacm (includes)
===> usr.sbin/bsnmpd/modules/snmp_pf (includes)
===> usr.sbin/bsnmpd/modules/snmp_netgraph (includes)
===> usr.sbin/bsnmpd/modules/snmp_wlan (includes)
===> usr.sbin/bsnmpd/tools (includes)
===> usr.sbin/bsnmpd/tools/libbsnmptools (includes)
===> usr.sbin/bsnmpd/tools/bsnmptools (includes)
===> usr.sbin/certctl (includes)
===> usr.sbin/cxgbetool (includes)
===> usr.sbin/bsdconfig (includes)
===> usr.sbin/bsdconfig/console (all)
===> usr.sbin/bsdconfig/console/include (all)
===> usr.sbin/bsdconfig/diskmgmt (all)
===> usr.sbin/bsdconfig/diskmgmt/include (all)
===> usr.sbin/bsdconfig/docsinstall (all)
===> usr.sbin/bsdconfig/docsinstall/include (all)
===> usr.sbin/bsdconfig/dot (all)
===> usr.sbin/bsdconfig/dot/include (all)
===> usr.sbin/bsdconfig/include (all)
===> usr.sbin/bsdconfig/console (includes)
===> usr.sbin/bsdconfig/console/include (includes)
===> usr.sbin/bsdconfig/diskmgmt (includes)
===> usr.sbin/bsdconfig/diskmgmt/include (includes)
===> usr.sbin/bsdconfig/docsinstall (includes)
===> usr.sbin/bsdconfig/docsinstall/include (includes)
===> usr.sbin/bsdconfig/dot (includes)
===> usr.sbin/bsdconfig/dot/include (includes)
===> usr.sbin/bsdconfig/include (includes)
===> usr.sbin/bsdconfig/includes (includes)
===> usr.sbin/bsdconfig/includes/include (includes)
===> usr.sbin/bsdconfig/mouse (includes)
===> usr.sbin/bsdconfig/mouse/include (includes)
===> usr.sbin/bsdconfig/networking (includes)
===> usr.sbin/bsdconfig/networking/include (includes)
===> usr.sbin/bsdconfig/networking/share (includes)
===> usr.sbin/bsdconfig/packages (includes)
===> usr.sbin/bsdconfig/packages/include (includes)
===> usr.sbin/bsdconfig/password (includes)
===> usr.sbin/bsdconfig/password/include (includes)
===> usr.sbin/bsdconfig/password/share (includes)
===> usr.sbin/bsdconfig/security (includes)
===> usr.sbin/bsdconfig/security/include (includes)
===> usr.sbin/bsdconfig/share (includes)
===> usr.sbin/bsdconfig/share/media (includes)
===> usr.sbin/bsdconfig/share/packages (includes)
===> usr.sbin/bsdconfig/startup (includes)
===> usr.sbin/bsdconfig/startup/include (includes)
===> usr.sbin/bsdconfig/startup/share (includes)
===> usr.sbin/bsdconfig/timezone (includes)
===> usr.sbin/bsdconfig/timezone/include (includes)
===> usr.sbin/bsdconfig/timezone/share (includes)
===> usr.sbin/bsdconfig/ttys (includes)
===> usr.sbin/bsdconfig/ttys/include (includes)
===> usr.sbin/bsdconfig/usermgmt (includes)
===> usr.sbin/bsdconfig/usermgmt/include (includes)
===> usr.sbin/bsdconfig/usermgmt/share (includes)
===> usr.sbin/bsdconfig/examples (includes)
===> usr.sbin/bsdconfig/includes (all)
===> usr.sbin/bsdconfig/includes/include (all)
===> usr.sbin/efivar (includes)
===> usr.sbin/efidp (includes)
===> usr.sbin/efibootmgr (includes)
===> usr.sbin/uefisign (includes)
===> usr.sbin/fmtree (includes)
===> usr.sbin/freebsd-update (includes)
===> usr.sbin/gssd (includes)
===> usr.sbin/gpioctl (includes)
===> usr.sbin/ip6addrctl (includes)
===> usr.sbin/mld6query (includes)
===> usr.sbin/ndp (includes)
===> usr.sbin/rip6query (includes)
===> usr.sbin/route6d (includes)
===> usr.sbin/rrenumd (includes)
===> usr.sbin/rtadvctl (includes)
===> usr.sbin/rtadvd (includes)
===> usr.sbin/rtsold (includes)
===> usr.sbin/traceroute6 (includes)
===> usr.sbin/inetd (includes)
===> usr.sbin/ipfwpcap (includes)
===> usr.sbin/iscsid (includes)
===> usr.sbin/jail (includes)
===> usr.sbin/jail/tests (includes)
===> usr.sbin/jexec (includes)
===> usr.sbin/jls (includes)
===> usr.sbin/kbdcontrol (includes)
===> usr.sbin/kbdmap (includes)
===> usr.sbin/moused (includes)
===> usr.sbin/vidcontrol (includes)
===> usr.sbin/pppctl (includes)
===> usr.sbin/nscd (includes)
===> usr.sbin/lpr (includes)
===> usr.sbin/lpr/common_source (includes)
===> usr.sbin/lpr/chkprintcap (includes)
===> usr.sbin/lpr/lp (includes)
===> usr.sbin/lpr/lpc (includes)
===> usr.sbin/lpr/lpd (includes)
===> usr.sbin/lpr/lpq (includes)
===> usr.sbin/lpr/lpr (includes)
===> usr.sbin/lpr/lprm (includes)
===> usr.sbin/lpr/lptest (includes)
===> usr.sbin/lpr/pac (includes)
===> usr.sbin/lpr/filters (includes)
===> usr.sbin/lpr/filters.ru (includes)
===> usr.sbin/lpr/filters.ru/koi2alt (includes)
===> usr.sbin/lpr/filters.ru/koi2855 (includes)
===> usr.sbin/manctl (includes)
===> usr.sbin/mlx5tool (includes)
===> usr.sbin/flowctl (includes)
===> usr.sbin/ngctl (includes)
===> usr.sbin/nghook (includes)
===> usr.sbin/rpc.yppasswdd (includes)
===> usr.sbin/rpc.ypupdated (includes)
===> usr.sbin/rpc.ypxfrd (includes)
===> usr.sbin/ypbind (includes)
===> usr.sbin/ypldap (includes)
===> usr.sbin/yp_mkdb (includes)
===> usr.sbin/yppoll (includes)
===> usr.sbin/yppush (includes)
===> usr.sbin/ypserv (includes)
===> usr.sbin/ypset (includes)
===> usr.sbin/ntp (includes)
===> usr.sbin/ntp/libopts (includes)
===> usr.sbin/ntp/libntp (includes)
===> usr.sbin/ntp/libntpevent (includes)
===> usr.sbin/ntp/libparse (includes)
===> usr.sbin/ntp/ntpd (includes)
===> usr.sbin/ntp/ntpdc (includes)
===> usr.sbin/ntp/ntpq (includes)
===> usr.sbin/ntp/ntpdate (includes)
===> usr.sbin/ntp/ntptime (includes)
===> usr.sbin/ntp/ntp-keygen (includes)
===> usr.sbin/ntp/sntp (includes)
===> usr.sbin/ntp/doc (includes)
===> usr.sbin/ntp/doc/drivers (includes)
===> usr.sbin/ntp/doc/drivers/icons (includes)
===> usr.sbin/ntp/doc/drivers/scripts (includes)
===> usr.sbin/ntp/doc/hints (includes)
===> usr.sbin/ntp/doc/icons (includes)
===> usr.sbin/ntp/doc/pic (includes)
===> usr.sbin/ntp/doc/scripts (includes)
===> usr.sbin/keyserv (includes)
===> usr.sbin/ftp-proxy (includes)
===> usr.sbin/pkg (includes)
===> usr.sbin/pmc (includes)
===> usr.sbin/pmcannotate (includes)
===> usr.sbin/pmccontrol (includes)
===> usr.sbin/pmcstat (includes)
===> usr.sbin/pmcstudy (includes)
===> usr.sbin/ppp (includes)
===> usr.sbin/edquota (includes)
===> usr.sbin/quotaon (includes)
===> usr.sbin/repquota (includes)
===> usr.sbin/tcpdchk (includes)
===> usr.sbin/tcpdmatch (includes)
===> usr.sbin/config (includes)
===> usr.sbin/crunch (includes)
===> usr.sbin/crunch/crunchgen (includes)
===> usr.sbin/crunch/crunchide (includes)
===> usr.sbin/unbound (includes)
===> usr.sbin/unbound/daemon (includes)
===> usr.sbin/unbound/anchor (includes)
===> usr.sbin/unbound/checkconf (includes)
===> usr.sbin/unbound/control (includes)
===> usr.sbin/unbound/setup (includes)
===> usr.sbin/uathload (includes)
===> usr.sbin/uhsoctl (includes)
===> usr.sbin/usbconfig (includes)
===> usr.sbin/usbdump (includes)
===> usr.sbin/ac (includes)
===> usr.sbin/lastlogin (includes)
===> usr.sbin/utx (includes)
===> usr.sbin/ancontrol (includes)
===> usr.sbin/wlandebug (includes)
===> usr.sbin/wpa (includes)
===> usr.sbin/wpa/wpa_supplicant (includes)
===> usr.sbin/wpa/wpa_cli (includes)
===> usr.sbin/wpa/wpa_passphrase (includes)
===> usr.sbin/wpa/hostapd (includes)
===> usr.sbin/wpa/hostapd_cli (includes)
===> usr.sbin/wpa/ndis_events (includes)
===> usr.sbin/tests (includes)
===> tests (includes)
===> tests/etc (includes)
===> tests/etc/rc.d (includes)
===> tests/sys (includes)
===> tests/sys/pjdfstest (includes)
===> tests/sys/pjdfstest/pjdfstest (includes)
===> tests/sys/pjdfstest/tests (includes)
===> tests/sys/pjdfstest/tests/chflags (includes)
===> tests/sys/pjdfstest/tests/chmod (includes)
===> tests/sys/pjdfstest/tests/chown (includes)
===> tests/sys/pjdfstest/tests/ftruncate (includes)
===> tests/sys/pjdfstest/tests/granular (includes)
===> tests/sys/pjdfstest/tests/link (includes)
===> tests/sys/pjdfstest/tests/mkdir (includes)
===> tests/sys/pjdfstest/tests/mkfifo (includes)
===> tests/sys/pjdfstest/tests/mknod (includes)
===> tests/sys/pjdfstest/tests/open (includes)
===> tests/sys/pjdfstest/tests/rename (includes)
===> tests/sys/pjdfstest/tests/rmdir (includes)
===> tests/sys/pjdfstest/tests/symlink (includes)
===> tests/sys/pjdfstest/tests/truncate (includes)
===> tests/sys/pjdfstest/tests/unlink (includes)
===> tests/sys/pjdfstest/tests/utimensat (includes)
===> tests/sys/common (includes)
===> tests/sys/acl (includes)
===> tests/sys/aio (includes)
===> tests/sys/audit (includes)
===> tests/sys/auditpipe (includes)
===> tests/sys/capsicum (includes)
===> tests/sys/cddl (includes)
===> tests/sys/cddl/zfs (includes)
===> tests/sys/cddl/zfs/bin (includes)
===> tests/sys/cddl/zfs/tests (includes)
===> tests/sys/cddl/zfs/tests/acl (includes)
===> tests/sys/cddl/zfs/tests/acl/cifs (includes)
===> tests/sys/cddl/zfs/tests/acl/trivial (includes)
===> tests/sys/cddl/zfs/tests/acl/nontrivial (includes)
===> tests/sys/cddl/zfs/tests/atime (includes)
===> tests/sys/cddl/zfs/tests/bootfs (includes)
===> tests/sys/cddl/zfs/tests/cache (includes)
===> tests/sys/cddl/zfs/tests/cachefile (includes)
===> tests/sys/cddl/zfs/tests/clean_mirror (includes)
===> tests/sys/cddl/zfs/tests/cli_root (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zdb (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zfs (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zfs_clone (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zfs_copies (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zfs_create (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zfs_destroy (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zfs_diff (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zfs_get (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zfs_inherit (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zfs_mount (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zfs_promote (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zfs_property (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zfs_receive (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zfs_rename (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zfs_reservation (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zfs_rollback (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zfs_send (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zfs_set (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zfs_share (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zfs_snapshot (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zfs_unshare (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zfs_unmount (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zfs_upgrade (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zpool (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zpool_add (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zpool_attach (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zpool_clear (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zpool_create (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zpool_destroy (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zpool_detach (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zpool_expand (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zpool_export (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zpool_get (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zpool_history (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zpool_import (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zpool_import/blockfiles (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zpool_offline (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zpool_online (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zpool_remove (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zpool_replace (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zpool_set (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zpool_scrub (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zpool_status (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zpool_upgrade (includes)
===> tests/sys/cddl/zfs/tests/cli_root/zpool_upgrade/blockfiles (includes)
===> tests/sys/cddl/zfs/tests/cli_user (includes)
===> tests/sys/cddl/zfs/tests/cli_user/zpool_iostat (includes)
===> tests/sys/cddl/zfs/tests/cli_user/zpool_list (includes)
===> tests/sys/cddl/zfs/tests/cli_user/zfs_list (includes)
===> tests/sys/cddl/zfs/tests/cli_user/misc (includes)
===> tests/sys/cddl/zfs/tests/compression (includes)
===> tests/sys/cddl/zfs/tests/ctime (includes)
===> tests/sys/cddl/zfs/tests/delegate (includes)
===> tests/sys/cddl/zfs/tests/devices (includes)
===> tests/sys/cddl/zfs/tests/exec (includes)
===> tests/sys/cddl/zfs/tests/grow_pool (includes)
===> tests/sys/cddl/zfs/tests/grow_replicas (includes)
===> tests/sys/cddl/zfs/tests/history (includes)
===> tests/sys/cddl/zfs/tests/hotplug (includes)
===> tests/sys/cddl/zfs/tests/hotspare (includes)
===> tests/sys/cddl/zfs/tests/inheritance (includes)
===> tests/sys/cddl/zfs/tests/inuse (includes)
===> tests/sys/cddl/zfs/tests/large_files (includes)
===> tests/sys/cddl/zfs/tests/migration (includes)
===> tests/sys/cddl/zfs/tests/mmap (includes)
===> tests/sys/cddl/zfs/tests/mount (includes)
===> tests/sys/cddl/zfs/tests/mv_files (includes)
===> tests/sys/cddl/zfs/tests/nestedfs (includes)
===> tests/sys/cddl/zfs/tests/no_space (includes)
===> tests/sys/cddl/zfs/tests/online_offline (includes)
===> tests/sys/cddl/zfs/tests/pool_names (includes)
===> tests/sys/cddl/zfs/tests/poolversion (includes)
===> tests/sys/cddl/zfs/tests/quota (includes)
===> tests/sys/cddl/zfs/tests/redundancy (includes)
===> tests/sys/cddl/zfs/tests/refquota (includes)
===> tests/sys/cddl/zfs/tests/refreserv (includes)
===> tests/sys/cddl/zfs/tests/replacement (includes)
===> tests/sys/cddl/zfs/tests/reservation (includes)
===> tests/sys/cddl/zfs/tests/rootpool (includes)
===> tests/sys/cddl/zfs/tests/scrub_mirror (includes)
===> tests/sys/cddl/zfs/tests/slog (includes)
===> tests/sys/cddl/zfs/tests/snapshot (includes)
===> tests/sys/cddl/zfs/tests/snapused (includes)
===> tests/sys/cddl/zfs/tests/sparse (includes)
===> tests/sys/cddl/zfs/tests/threadsappend (includes)
===> tests/sys/cddl/zfs/tests/truncate (includes)
===> tests/sys/cddl/zfs/tests/txg_integrity (includes)
===> tests/sys/cddl/zfs/tests/userquota (includes)
===> tests/sys/cddl/zfs/tests/utils_test (includes)
===> tests/sys/cddl/zfs/tests/write_dirs (includes)
===> tests/sys/cddl/zfs/tests/zfsd (includes)
===> tests/sys/cddl/zfs/tests/zil (includes)
===> tests/sys/cddl/zfs/tests/zvol (includes)
===> tests/sys/cddl/zfs/tests/zvol/zvol_ENOSPC (includes)
===> tests/sys/cddl/zfs/tests/zvol/zvol_swap (includes)
===> tests/sys/cddl/zfs/tests/zvol/zvol_misc (includes)
===> tests/sys/cddl/zfs/tests/zvol/zvol_cli (includes)
===> tests/sys/cddl/zfs/tests/zvol_thrash (includes)
===> tests/sys/cddl/zfs/include (includes)
===> tests/sys/devrandom (includes)
===> tests/sys/fifo (includes)
===> tests/sys/file (includes)
===> tests/sys/fs (includes)
===> tests/sys/fs/fusefs (includes)
===> tests/sys/fs/tmpfs (includes)
===> tests/sys/geom (includes)
===> tests/sys/geom/class (includes)
===> tests/sys/geom/class/concat (includes)
===> tests/sys/geom/class/eli (includes)
===> tests/sys/geom/class/gate (includes)
===> tests/sys/geom/class/mirror (includes)
===> tests/sys/geom/class/multipath (includes)
===> tests/sys/geom/class/nop (includes)
===> tests/sys/geom/class/part (includes)
===> tests/sys/geom/class/raid3 (includes)
===> tests/sys/geom/class/shsec (includes)
===> tests/sys/geom/class/stripe (includes)
===> tests/sys/geom/class/uzip (includes)
===> tests/sys/kern (includes)
===> tests/sys/kern/acct (includes)
===> tests/sys/kern/execve (includes)
===> tests/sys/kern/pipe (includes)
===> tests/sys/kqueue (includes)
===> tests/sys/kqueue/libkqueue (includes)
===> tests/sys/mac (includes)
===> tests/sys/mac/bsdextended (includes)
===> tests/sys/mac/portacl (includes)
===> tests/sys/mqueue (includes)
===> tests/sys/net (includes)
===> tests/sys/net/routing (includes)
===> tests/sys/netinet (includes)
===> tests/sys/netinet6 (includes)
===> tests/sys/netinet6/frag6 (includes)
===> tests/sys/netipsec (includes)
===> tests/sys/netipsec/tunnel (includes)
===> tests/sys/netmap (includes)
===> tests/sys/netpfil (includes)
===> tests/sys/netpfil/pf (includes)
===> tests/sys/netpfil/pf/ioctl (includes)
===> tests/sys/netpfil/common (includes)
===> tests/sys/opencrypto (includes)
===> tests/sys/posixshm (includes)
===> tests/sys/sys (includes)
===> tests/sys/vfs (includes)
===> tests/sys/vm (includes)
===> etc (includes)
--------------------------------------------------------------
>>> stage 4.2: building libraries
--------------------------------------------------------------
===> lib/libcompiler_rt (obj,all,install)
===> lib/libssp_nonshared (obj,all,install)
===> lib/libgcc_eh (obj,all,install)
Register class not supported
UNREACHABLE executed at /usr/src/contrib/llvm-project/llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp:270!
PLEASE submit a bug report to https://bugs.freebsd.org/submit/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /usr/bin/c++ -target aarch64-unknown-freebsd13.0 --sysroot=/usr/obj/usr/src/arm64.aarch64/tmp -B/usr/obj/usr/src/arm64.aarch64/tmp/usr/bin -fvisibility=hidden -fPIC -O2 -pipe -fno-common -g -O0 -Wno-format-zero-length -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef -Wno-address-of-packed-member -Wno-switch -Wno-switch-enum -Wno-knr-promoted-parameter -Qunused-arguments -fno-rtti -std=c++11 -Wno-c++11-extensions -fno-exceptions -funwind-tables -I/usr/src/contrib/llvm-project/libunwind/include -I/usr/src/lib/libgcc_eh -D_LIBUNWIND_IS_NATIVE_ONLY -D_LIBUNWIND_USE_FRAME_HEADER_CACHE -I/usr/src/lib/msun/src -c -o libunwind.o /usr/src/contrib/llvm-project/libunwind/src/libunwind.cpp
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module '/usr/src/contrib/llvm-project/libunwind/src/libunwind.cpp'.
4. Running pass 'RegBankSelect' on function '@_ZN9libunwind17DwarfInstructionsINS_17LocalAddressSpaceENS_15Registers_arm64EE13stepWithDwarfERS1_mmRS2_Rb'
#0 0x0000000003b7c378 PrintStackTrace /usr/src/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc:564:13
#1 0x0000000003b7a5f0 __cxx_atomic_store<CallbackAndCookie::Status> /usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/atomic:985:5
#2 0x0000000003b7a5f0 store /usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/atomic:1594:10
#3 0x0000000003b7a5f0 RunSignalHandlers /usr/src/contrib/llvm-project/llvm/lib/Support/Signals.cpp:70:16
#4 0x0000000003b23820 HandleCrash /usr/src/contrib/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:77:5
#5 0x0000000003b239cc CrashRecoverySignalHandler /usr/src/contrib/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:0:51
#6 0x0000000044ef66ec handle_signal /usr/src/lib/libthr/thread/thr_sig.c:0:3
c++: error: clang frontend command failed due to signal (use -v to see invocation)
FreeBSD clang version 11.0.0 (git@github.com:llvm/llvm-project.git llvmorg-11.0.0-0-g176249bd673)
Target: aarch64-unknown-freebsd13.0
Thread model: posix
InstalledDir: /usr/bin
c++: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
c++: note: diagnostic msg: /tmp/libunwind-5dff76.cpp
c++: note: diagnostic msg: /tmp/libunwind-5dff76.sh
c++: note: diagnostic msg:
********************
*** [libunwind.o] Error code 254
make[4]: stopped in /usr/src/lib/libgcc_eh
.ERROR_TARGET='libunwind.o'
.ERROR_META_FILE='/usr/obj/usr/src/arm64.aarch64/lib/libgcc_eh/libunwind.o.meta'
.MAKE.LEVEL='4'
MAKEFILE=''
.MAKE.MODE='meta missing-filemon=yes missing-meta=yes silent=yes'
_ERROR_CMD='/usr/local/bin/ccache c++ -target aarch64-unknown-freebsd13.0 --sysroot=/usr/obj/usr/src/arm64.aarch64/tmp -B/usr/obj/usr/src/arm64.aarch64/tmp/usr/bin -fvisibility=hidden -fPIC -O2 -pipe -fno-common -I/usr/src/contrib/llvm-project/libunwind/include -I/usr/src/lib/libgcc_eh -D_LIBUNWIND_IS_NATIVE_ONLY -D_LIBUNWIND_USE_FRAME_HEADER_CACHE -I/usr/src/lib/msun/src -g -O0 -Wno-format-zero-length -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef -Wno-address-of-packed-member -Wno-switch -Wno-switch-enum -Wno-knr-promoted-parameter -Qunused-arguments -fno-rtti -std=c++11 -Wno-c++11-extensions -fno-exceptions -funwind-tables -c /usr/src/contrib/llvm-project/libunwind/src/libunwind.cpp -o libunwind.o;'
.CURDIR='/usr/src/lib/libgcc_eh'
.MAKE='make'
.OBJDIR='/usr/obj/usr/src/arm64.aarch64/lib/libgcc_eh'
.TARGETS='all'
DESTDIR='/usr/obj/usr/src/arm64.aarch64/tmp'
LD_LIBRARY_PATH=''
MACHINE='arm64'
MACHINE_ARCH='aarch64'
MAKEOBJDIRPREFIX=''
MAKESYSPATH='/usr/src/share/mk'
MAKE_VERSION='20201101'
PATH='/usr/obj/usr/src/arm64.aarch64/tmp/bin:/usr/obj/usr/src/arm64.aarch64/tmp/usr/sbin:/usr/obj/usr/src/arm64.aarch64/tmp/usr/bin:/usr/obj/usr/src/arm64.aarch64/tmp/legacy/usr/sbin:/usr/obj/usr/src/arm64.aarch64/tmp/legacy/usr/bin:/usr/obj/usr/src/arm64.aarch64/tmp/legacy/bin:/usr/obj/usr/src/arm64.aarch64/tmp/legacy/usr/libexec::/sbin:/bin:/usr/sbin:/usr/bin'
SRCTOP='/usr/src'
OBJTOP='/usr/obj/usr/src/arm64.aarch64'
.MAKE.MAKEFILES='/usr/src/share/mk/sys.mk /usr/src/share/mk/local.sys.env.mk /usr/src/share/mk/src.sys.env.mk /etc/src-env.conf /usr/src/share/mk/bsd.mkopt.mk /usr/src/share/mk/src.sys.obj.mk /usr/src/share/mk/auto.obj.mk /usr/src/share/mk/bsd.suffixes.mk /etc/make.conf /usr/src/share/mk/local.sys.mk /usr/src/share/mk/src.sys.mk /etc/src.conf /usr/src/lib/libgcc_eh/Makefile /usr/src/share/mk/src.opts.mk /usr/src/share/mk/bsd.own.mk /usr/src/share/mk/bsd.opts.mk /usr/src/share/mk/bsd.cpu.mk /usr/src/share/mk/bsd.compiler.mk /usr/src/share/mk/bsd.linker.mk /usr/src/lib/libgcc_eh/Makefile.inc /usr/src/share/mk/bsd.lib.mk /usr/src/share/mk/bsd.init.mk /usr/src/share/mk/local.init.mk /usr/src/share/mk/src.init.mk /usr/src/lib/libgcc_eh/../Makefile.inc /usr/src/share/mk/bsd.libnames.mk /usr/src/share/mk/src.libnames.mk /usr/src/share/mk/bsd.symver.mk /usr/src/share/mk/bsd.nls.mk /usr/src/share/mk/bsd.confs.mk /usr/src/share/mk/bsd.files.mk /usr/src/share/mk/bsd.dirs.mk /usr/src/share/mk/bsd.incs.mk /usr/src/share/mk/bsd.links.mk /usr/src/share/mk/bsd.dep.mk /usr/src/share/mk/bsd.clang-analyze.mk /usr/src/share/mk/bsd.obj.mk /usr/src/share/mk/bsd.subdir.mk /usr/src/share/mk/bsd.sys.mk'
.PATH='. /usr/src/lib/libgcc_eh /usr/src/contrib/llvm-project/compiler-rt/lib/builtins /usr/src/contrib/llvm-project/libunwind/src'
1 error
make[4]: stopped in /usr/src/lib/libgcc_eh
.ERROR_TARGET='libunwind.o'
.ERROR_META_FILE='/usr/obj/usr/src/arm64.aarch64/lib/libgcc_eh/libunwind.o.meta'
.MAKE.LEVEL='4'
MAKEFILE=''
.MAKE.MODE='meta missing-filemon=yes missing-meta=yes silent=yes'
_ERROR_CMD='/usr/local/bin/ccache c++ -target aarch64-unknown-freebsd13.0 --sysroot=/usr/obj/usr/src/arm64.aarch64/tmp -B/usr/obj/usr/src/arm64.aarch64/tmp/usr/bin -fvisibility=hidden -fPIC -O2 -pipe -fno-common -I/usr/src/contrib/llvm-project/libunwind/include -I/usr/src/lib/libgcc_eh -D_LIBUNWIND_IS_NATIVE_ONLY -D_LIBUNWIND_USE_FRAME_HEADER_CACHE -I/usr/src/lib/msun/src -g -O0 -Wno-format-zero-length -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef -Wno-address-of-packed-member -Wno-switch -Wno-switch-enum -Wno-knr-promoted-parameter -Qunused-arguments -fno-rtti -std=c++11 -Wno-c++11-extensions -fno-exceptions -funwind-tables -c /usr/src/contrib/llvm-project/libunwind/src/libunwind.cpp -o libunwind.o;'
.CURDIR='/usr/src/lib/libgcc_eh'
.MAKE='make'
.OBJDIR='/usr/obj/usr/src/arm64.aarch64/lib/libgcc_eh'
.TARGETS='all'
DESTDIR='/usr/obj/usr/src/arm64.aarch64/tmp'
LD_LIBRARY_PATH=''
MACHINE='arm64'
MACHINE_ARCH='aarch64'
MAKEOBJDIRPREFIX=''
MAKESYSPATH='/usr/src/share/mk'
MAKE_VERSION='20201101'
PATH='/usr/obj/usr/src/arm64.aarch64/tmp/bin:/usr/obj/usr/src/arm64.aarch64/tmp/usr/sbin:/usr/obj/usr/src/arm64.aarch64/tmp/usr/bin:/usr/obj/usr/src/arm64.aarch64/tmp/legacy/usr/sbin:/usr/obj/usr/src/arm64.aarch64/tmp/legacy/usr/bin:/usr/obj/usr/src/arm64.aarch64/tmp/legacy/bin:/usr/obj/usr/src/arm64.aarch64/tmp/legacy/usr/libexec::/sbin:/bin:/usr/sbin:/usr/bin'
SRCTOP='/usr/src'
OBJTOP='/usr/obj/usr/src/arm64.aarch64'
.MAKE.MAKEFILES='/usr/src/share/mk/sys.mk /usr/src/share/mk/local.sys.env.mk /usr/src/share/mk/src.sys.env.mk /etc/src-env.conf /usr/src/share/mk/bsd.mkopt.mk /usr/src/share/mk/src.sys.obj.mk /usr/src/share/mk/auto.obj.mk /usr/src/share/mk/bsd.suffixes.mk /etc/make.conf /usr/src/share/mk/local.sys.mk /usr/src/share/mk/src.sys.mk /etc/src.conf /usr/src/lib/libgcc_eh/Makefile /usr/src/share/mk/src.opts.mk /usr/src/share/mk/bsd.own.mk /usr/src/share/mk/bsd.opts.mk /usr/src/share/mk/bsd.cpu.mk /usr/src/share/mk/bsd.compiler.mk /usr/src/share/mk/bsd.linker.mk /usr/src/lib/libgcc_eh/Makefile.inc /usr/src/share/mk/bsd.lib.mk /usr/src/share/mk/bsd.init.mk /usr/src/share/mk/local.init.mk /usr/src/share/mk/src.init.mk /usr/src/lib/libgcc_eh/../Makefile.inc /usr/src/share/mk/bsd.libnames.mk /usr/src/share/mk/src.libnames.mk /usr/src/share/mk/bsd.symver.mk /usr/src/share/mk/bsd.nls.mk /usr/src/share/mk/bsd.confs.mk /usr/src/share/mk/bsd.files.mk /usr/src/share/mk/bsd.dirs.mk /usr/src/share/mk/bsd.incs.mk /usr/src/share/mk/bsd.links.mk /usr/src/share/mk/bsd.dep.mk /usr/src/share/mk/bsd.clang-analyze.mk /usr/src/share/mk/bsd.obj.mk /usr/src/share/mk/bsd.subdir.mk /usr/src/share/mk/bsd.sys.mk'
.PATH='. /usr/src/lib/libgcc_eh /usr/src/contrib/llvm-project/compiler-rt/lib/builtins /usr/src/contrib/llvm-project/libunwind/src'
This file has been truncated, but you can view the full file.
# 1 "<built-in>"
# 1 "/usr/src/contrib/llvm-project/libunwind/src/libunwind.cpp"
//===--------------------------- libunwind.cpp ----------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//
// Implements unw_* functions from <libunwind.h>
//
//===----------------------------------------------------------------------===//
#if 0 /* expanded by -frewrite-includes */
#include <libunwind.h>
#endif /* expanded by -frewrite-includes */
# 12 "/usr/src/contrib/llvm-project/libunwind/src/libunwind.cpp"
# 1 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h" 1
//===---------------------------- libunwind.h -----------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//
// Compatible with libunwind API documented at:
// http://www.nongnu.org/libunwind/man/libunwind(3).html
//
//===----------------------------------------------------------------------===//
#ifndef __LIBUNWIND__
#define __LIBUNWIND__
#if 0 /* expanded by -frewrite-includes */
#include <__libunwind_config.h>
#endif /* expanded by -frewrite-includes */
# 16 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
# 1 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h" 1
//===------------------------- __libunwind_config.h -----------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#ifndef ____LIBUNWIND_CONFIG_H__
#define ____LIBUNWIND_CONFIG_H__
#if 0 /* disabled by -frewrite-includes */
#if defined(__arm__) && !defined(__USING_SJLJ_EXCEPTIONS__) && \
!defined(__ARM_DWARF_EH__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 14 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
#define _LIBUNWIND_ARM_EHABI
#endif
# 16 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_X86 8
#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_X86_64 32
#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_PPC 112
#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_PPC64 116
#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_ARM64 95
#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_ARM 287
#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_OR1K 32
#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_MIPS 65
#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_SPARC 31
#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_HEXAGON 34
#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_RISCV 64
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_IS_NATIVE_ONLY)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 30 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
#if 0 /* disabled by -frewrite-includes */
# if defined(__i386__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 31 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_TARGET_I386
# define _LIBUNWIND_CONTEXT_SIZE 8
# define _LIBUNWIND_CURSOR_SIZE 15
# define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_X86
#if 0 /* disabled by -frewrite-includes */
#if 0
# elif defined(__x86_64__)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 36 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_TARGET_X86_64 1
#if 0 /* disabled by -frewrite-includes */
# if defined(_WIN64)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 38 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_CONTEXT_SIZE 54
# ifdef __SEH__
# define _LIBUNWIND_CURSOR_SIZE 204
# else
# 42 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_CURSOR_SIZE 66
# endif
# 44 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# else
# 45 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_CONTEXT_SIZE 21
# define _LIBUNWIND_CURSOR_SIZE 33
# endif
# 48 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_X86_64
#if 0 /* disabled by -frewrite-includes */
#if 0
# elif defined(__powerpc64__)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 50 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_TARGET_PPC64 1
# define _LIBUNWIND_CONTEXT_SIZE 167
# define _LIBUNWIND_CURSOR_SIZE 179
# define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_PPC64
#if 0 /* disabled by -frewrite-includes */
#if 0
# elif defined(__ppc__)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 55 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_TARGET_PPC 1
# define _LIBUNWIND_CONTEXT_SIZE 117
# define _LIBUNWIND_CURSOR_SIZE 124
# define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_PPC
#if 0 /* disabled by -frewrite-includes */
#if 0
# elif defined(__aarch64__)
#endif
#endif /* disabled by -frewrite-includes */
#elif 1 /* evaluated by -frewrite-includes */
# 60 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_TARGET_AARCH64 1
# define _LIBUNWIND_CONTEXT_SIZE 66
#if 0 /* disabled by -frewrite-includes */
# if defined(__SEH__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 63 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_CURSOR_SIZE 164
# else
# 65 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_CURSOR_SIZE 78
# endif
# 67 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_ARM64
#if 0 /* disabled by -frewrite-includes */
#if 0
# elif defined(__arm__)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 69 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_TARGET_ARM 1
#if 0 /* disabled by -frewrite-includes */
# if defined(__SEH__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 71 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_CONTEXT_SIZE 42
# define _LIBUNWIND_CURSOR_SIZE 80
#if 0 /* disabled by -frewrite-includes */
#if 0
# elif defined(__ARM_WMMX)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 74 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_CONTEXT_SIZE 61
# define _LIBUNWIND_CURSOR_SIZE 68
# else
# 77 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_CONTEXT_SIZE 42
# define _LIBUNWIND_CURSOR_SIZE 49
# endif
# 80 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_ARM
#if 0 /* disabled by -frewrite-includes */
#if 0
# elif defined(__or1k__)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 82 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_TARGET_OR1K 1
# define _LIBUNWIND_CONTEXT_SIZE 16
# define _LIBUNWIND_CURSOR_SIZE 24
# define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_OR1K
#if 0 /* disabled by -frewrite-includes */
#if 0
# elif defined(__hexagon__)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 87 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_TARGET_HEXAGON 1
// Values here change when : Registers.hpp - hexagon_thread_state_t change
# define _LIBUNWIND_CONTEXT_SIZE 18
# define _LIBUNWIND_CURSOR_SIZE 24
# define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_HEXAGON
#if 0 /* disabled by -frewrite-includes */
#if 0
# elif defined(__mips__)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 93 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
#if 0 /* disabled by -frewrite-includes */
# if defined(_ABIO32) && _MIPS_SIM == _ABIO32
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 94 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_TARGET_MIPS_O32 1
#if 0 /* disabled by -frewrite-includes */
# if defined(__mips_hard_float)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 96 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_CONTEXT_SIZE 50
# define _LIBUNWIND_CURSOR_SIZE 57
# else
# 99 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_CONTEXT_SIZE 18
# define _LIBUNWIND_CURSOR_SIZE 24
# endif
# 102 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
#if 0 /* disabled by -frewrite-includes */
#if 0
# elif defined(_ABIN32) && _MIPS_SIM == _ABIN32
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 103 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_TARGET_MIPS_NEWABI 1
#if 0 /* disabled by -frewrite-includes */
# if defined(__mips_hard_float)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 105 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_CONTEXT_SIZE 67
# define _LIBUNWIND_CURSOR_SIZE 74
# else
# 108 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_CONTEXT_SIZE 35
# define _LIBUNWIND_CURSOR_SIZE 42
# endif
# 111 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
#if 0 /* disabled by -frewrite-includes */
#if 0
# elif defined(_ABI64) && _MIPS_SIM == _ABI64
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 112 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_TARGET_MIPS_NEWABI 1
#if 0 /* disabled by -frewrite-includes */
# if defined(__mips_hard_float)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 114 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_CONTEXT_SIZE 67
# define _LIBUNWIND_CURSOR_SIZE 79
# else
# 117 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_CONTEXT_SIZE 35
# define _LIBUNWIND_CURSOR_SIZE 47
# endif
# 120 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# else
# 121 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# error "Unsupported MIPS ABI and/or environment"
# endif
# 123 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_MIPS
#if 0 /* disabled by -frewrite-includes */
#if 0
# elif defined(__sparc__)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 125 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
#define _LIBUNWIND_TARGET_SPARC 1
#define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_SPARC
#define _LIBUNWIND_CONTEXT_SIZE 16
#define _LIBUNWIND_CURSOR_SIZE 23
#if 0 /* disabled by -frewrite-includes */
#if 0
# elif defined(__riscv)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 130 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
#if 0 /* disabled by -frewrite-includes */
# if __riscv_xlen == 64
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 131 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_TARGET_RISCV 1
# define _LIBUNWIND_CONTEXT_SIZE 64
# define _LIBUNWIND_CURSOR_SIZE 76
# else
# 135 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# error "Unsupported RISC-V ABI"
# endif
# 137 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_RISCV
# else
# 139 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# error "Unsupported architecture."
# endif
# 141 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
#else // !_LIBUNWIND_IS_NATIVE_ONLY
# 142 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# define _LIBUNWIND_TARGET_I386
# define _LIBUNWIND_TARGET_X86_64 1
# define _LIBUNWIND_TARGET_PPC 1
# define _LIBUNWIND_TARGET_PPC64 1
# define _LIBUNWIND_TARGET_AARCH64 1
# define _LIBUNWIND_TARGET_ARM 1
# define _LIBUNWIND_TARGET_OR1K 1
# define _LIBUNWIND_TARGET_MIPS_O32 1
# define _LIBUNWIND_TARGET_MIPS_NEWABI 1
# define _LIBUNWIND_TARGET_SPARC 1
# define _LIBUNWIND_TARGET_HEXAGON 1
# define _LIBUNWIND_TARGET_RISCV 1
# define _LIBUNWIND_CONTEXT_SIZE 167
# define _LIBUNWIND_CURSOR_SIZE 179
# define _LIBUNWIND_HIGHEST_DWARF_REGISTER 287
#endif // _LIBUNWIND_IS_NATIVE_ONLY
# 158 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
#endif // ____LIBUNWIND_CONFIG_H__
# 160 "/usr/src/contrib/llvm-project/libunwind/include/__libunwind_config.h"
# 17 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h" 2
#if 0 /* expanded by -frewrite-includes */
#include <stdint.h>
#endif /* expanded by -frewrite-includes */
# 18 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdint.h" 1 3
// -*- C++ -*-
//===---------------------------- stdint.h --------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP_STDINT_H
// AIX system headers need stdint.h to be re-enterable while _STD_TYPES_T
// is defined until an inclusion of it without _STD_TYPES_T occurs, in which
// case the header guard macro is defined.
#if 0 /* disabled by -frewrite-includes */
#if !defined(_AIX) || !defined(_STD_TYPES_T)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 15 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdint.h" 3
#define _LIBCPP_STDINT_H
#endif // _STD_TYPES_T
# 17 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdint.h" 3
/*
stdint.h synopsis
Macros:
INT8_MIN
INT16_MIN
INT32_MIN
INT64_MIN
INT8_MAX
INT16_MAX
INT32_MAX
INT64_MAX
UINT8_MAX
UINT16_MAX
UINT32_MAX
UINT64_MAX
INT_LEAST8_MIN
INT_LEAST16_MIN
INT_LEAST32_MIN
INT_LEAST64_MIN
INT_LEAST8_MAX
INT_LEAST16_MAX
INT_LEAST32_MAX
INT_LEAST64_MAX
UINT_LEAST8_MAX
UINT_LEAST16_MAX
UINT_LEAST32_MAX
UINT_LEAST64_MAX
INT_FAST8_MIN
INT_FAST16_MIN
INT_FAST32_MIN
INT_FAST64_MIN
INT_FAST8_MAX
INT_FAST16_MAX
INT_FAST32_MAX
INT_FAST64_MAX
UINT_FAST8_MAX
UINT_FAST16_MAX
UINT_FAST32_MAX
UINT_FAST64_MAX
INTPTR_MIN
INTPTR_MAX
UINTPTR_MAX
INTMAX_MIN
INTMAX_MAX
UINTMAX_MAX
PTRDIFF_MIN
PTRDIFF_MAX
SIG_ATOMIC_MIN
SIG_ATOMIC_MAX
SIZE_MAX
WCHAR_MIN
WCHAR_MAX
WINT_MIN
WINT_MAX
INT8_C(value)
INT16_C(value)
INT32_C(value)
INT64_C(value)
UINT8_C(value)
UINT16_C(value)
UINT32_C(value)
UINT64_C(value)
INTMAX_C(value)
UINTMAX_C(value)
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 106 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdint.h" 3
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 1 3
// -*- C++ -*-
//===--------------------------- __config ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP_CONFIG
#define _LIBCPP_CONFIG
#if 0 /* disabled by -frewrite-includes */
#if defined(_MSC_VER) && !defined(__clang__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 14 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 15 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
# endif
# 17 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 18 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 21 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 22 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifdef __cplusplus
#ifdef __GNUC__
# define _GNUC_VER (__GNUC__ * 100 + __GNUC_MINOR__)
// The _GNUC_VER_NEW macro better represents the new GCC versioning scheme
// introduced in GCC 5.0.
# define _GNUC_VER_NEW (_GNUC_VER * 10 + __GNUC_PATCHLEVEL__)
#else
# 31 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _GNUC_VER 0
# define _GNUC_VER_NEW 0
#endif
# 34 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_VERSION 11000
#ifndef _LIBCPP_ABI_VERSION
# define _LIBCPP_ABI_VERSION 1
#endif
# 40 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef __STDC_HOSTED__
# define _LIBCPP_FREESTANDING
#endif
# 44 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_STD_VER
#if 0 /* disabled by -frewrite-includes */
# if __cplusplus <= 201103L
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 47 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_STD_VER 11
#if 0 /* disabled by -frewrite-includes */
#if 0
# elif __cplusplus <= 201402L
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 49 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_STD_VER 14
#if 0 /* disabled by -frewrite-includes */
#if 0
# elif __cplusplus <= 201703L
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 51 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_STD_VER 17
# else
# 53 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_STD_VER 18 // current year, or date of c++2a ratification
# endif
# 55 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif // _LIBCPP_STD_VER
# 56 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(__ELF__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 58 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_OBJECT_FORMAT_ELF 1
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(__MACH__)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 60 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_OBJECT_FORMAT_MACHO 1
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_WIN32)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 62 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_OBJECT_FORMAT_COFF 1
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(__wasm__)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 64 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_OBJECT_FORMAT_WASM 1
#else
# 66 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# error Unknown object file format
#endif
# 68 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBCPP_ABI_UNSTABLE) || _LIBCPP_ABI_VERSION >= 2
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 70 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Change short string representation so that string data starts at offset 0,
// improving its alignment in some cases.
# define _LIBCPP_ABI_ALTERNATE_STRING_LAYOUT
// Fix deque iterator type in order to support incomplete types.
# define _LIBCPP_ABI_INCOMPLETE_TYPES_IN_DEQUE
// Fix undefined behavior in how std::list stores its linked nodes.
# define _LIBCPP_ABI_LIST_REMOVE_NODE_POINTER_UB
// Fix undefined behavior in how __tree stores its end and parent nodes.
# define _LIBCPP_ABI_TREE_REMOVE_NODE_POINTER_UB
// Fix undefined behavior in how __hash_table stores its pointer types.
# define _LIBCPP_ABI_FIX_UNORDERED_NODE_POINTER_UB
# define _LIBCPP_ABI_FORWARD_LIST_REMOVE_NODE_POINTER_UB
# define _LIBCPP_ABI_FIX_UNORDERED_CONTAINER_SIZE_TYPE
// Don't use a nullptr_t simulation type in C++03 instead using C++11 nullptr
// provided under the alternate keyword __nullptr, which changes the mangling
// of nullptr_t. This option is ABI incompatible with GCC in C++03 mode.
# define _LIBCPP_ABI_ALWAYS_USE_CXX11_NULLPTR
// Define the `pointer_safety` enum as a C++11 strongly typed enumeration
// instead of as a class simulating an enum. If this option is enabled
// `pointer_safety` and `get_pointer_safety()` will no longer be available
// in C++03.
# define _LIBCPP_ABI_POINTER_SAFETY_ENUM_TYPE
// Define a key function for `bad_function_call` in the library, to centralize
// its vtable and typeinfo to libc++ rather than having all other libraries
// using that class define their own copies.
# define _LIBCPP_ABI_BAD_FUNCTION_CALL_KEY_FUNCTION
// Enable optimized version of __do_get_(un)signed which avoids redundant copies.
# define _LIBCPP_ABI_OPTIMIZED_LOCALE_NUM_GET
// Use the smallest possible integer type to represent the index of the variant.
// Previously libc++ used "unsigned int" exclusively.
# define _LIBCPP_ABI_VARIANT_INDEX_TYPE_OPTIMIZATION
// Unstable attempt to provide a more optimized std::function
# define _LIBCPP_ABI_OPTIMIZED_FUNCTION
// All the regex constants must be distinct and nonzero.
# define _LIBCPP_ABI_REGEX_CONSTANTS_NONZERO
// Re-worked external template instantiations for std::string with a focus on
// performance and fast-path inlining.
# define _LIBCPP_ABI_STRING_OPTIMIZED_EXTERNAL_INSTANTIATION
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif _LIBCPP_ABI_VERSION == 1
#endif
#endif /* disabled by -frewrite-includes */
#elif 1 /* evaluated by -frewrite-includes */
# 109 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
# if !defined(_LIBCPP_OBJECT_FORMAT_COFF)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 110 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Enable compiling copies of now inline methods into the dylib to support
// applications compiled against older libraries. This is unnecessary with
// COFF dllexport semantics, since dllexport forces a non-inline definition
// of inline functions to be emitted anyway. Our own non-inline copy would
// conflict with the dllexport-emitted copy, so we disable it.
# define _LIBCPP_DEPRECATED_ABI_LEGACY_LIBRARY_DEFINITIONS_FOR_INLINE_FUNCTIONS
# endif
# 117 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Feature macros for disabling pre ABI v1 features. All of these options
// are deprecated.
#if 0 /* disabled by -frewrite-includes */
# if defined(__FreeBSD__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 120 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_DEPRECATED_ABI_DISABLE_PAIR_TRIVIAL_COPY_CTOR
# endif
# 122 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 123 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifdef _LIBCPP_TRIVIAL_PAIR_COPY_CTOR
#error "_LIBCPP_TRIVIAL_PAIR_COPY_CTOR" is no longer supported. \
use _LIBCPP_DEPRECATED_ABI_DISABLE_PAIR_TRIVIAL_COPY_CTOR instead
#endif
# 128 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_CONCAT1(_LIBCPP_X,_LIBCPP_Y) _LIBCPP_X##_LIBCPP_Y
#define _LIBCPP_CONCAT(_LIBCPP_X,_LIBCPP_Y) _LIBCPP_CONCAT1(_LIBCPP_X,_LIBCPP_Y)
#ifndef _LIBCPP_ABI_NAMESPACE
# define _LIBCPP_ABI_NAMESPACE _LIBCPP_CONCAT(__,_LIBCPP_ABI_VERSION)
#endif
# 135 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if __cplusplus < 201103L
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 137 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_CXX03_LANG
#endif
# 139 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef __has_attribute
#define __has_attribute(__x) 0
#endif
# 143 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef __has_builtin
#define __has_builtin(__x) 0
#endif
# 147 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef __has_extension
#define __has_extension(__x) 0
#endif
# 151 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef __has_feature
#define __has_feature(__x) 0
#endif
# 155 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef __has_cpp_attribute
#define __has_cpp_attribute(__x) 0
#endif
# 159 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// '__is_identifier' returns '0' if '__x' is a reserved identifier provided by
// the compiler and '1' otherwise.
#ifndef __is_identifier
#define __is_identifier(__x) 1
#endif
# 165 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef __has_declspec_attribute
#define __has_declspec_attribute(__x) 0
#endif
# 169 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define __has_keyword(__x) !(__is_identifier(__x))
#ifndef __has_include
#define __has_include(...) 0
#endif
# 175 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(__clang__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 177 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_COMPILER_CLANG
# ifndef __apple_build_version__
# define _LIBCPP_CLANG_VER (__clang_major__ * 100 + __clang_minor__)
# endif
# 181 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(__GNUC__)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 182 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_COMPILER_GCC
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_MSC_VER)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 184 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_COMPILER_MSVC
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(__IBMCPP__)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 186 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_COMPILER_IBM
#endif
# 188 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBCPP_COMPILER_GCC) && __cplusplus < 201103L
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 190 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#error "libc++ does not support using GCC with C++03. Please enable C++11"
#endif
# 192 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// FIXME: ABI detection should be done via compiler builtin macros. This
// is just a placeholder until Clang implements such macros. For now assume
// that Windows compilers pretending to be MSVC++ target the Microsoft ABI,
// and allow the user to explicitly specify the ABI to handle cases where this
// heuristic falls short.
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBCPP_ABI_FORCE_ITANIUM) && defined(_LIBCPP_ABI_FORCE_MICROSOFT)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 199 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# error "Only one of _LIBCPP_ABI_FORCE_ITANIUM and _LIBCPP_ABI_FORCE_MICROSOFT can be defined"
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBCPP_ABI_FORCE_ITANIUM)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 201 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_ABI_ITANIUM
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBCPP_ABI_FORCE_MICROSOFT)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 203 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_ABI_MICROSOFT
#else
# 205 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
# if defined(_WIN32) && defined(_MSC_VER)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 206 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_ABI_MICROSOFT
# else
# 208 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_ABI_ITANIUM
# endif
# 210 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 211 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBCPP_ABI_MICROSOFT) && !defined(_LIBCPP_NO_VCRUNTIME)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 213 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_ABI_VCRUNTIME
#endif
# 215 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Need to detect which libc we're using if we're on Linux.
#if 0 /* disabled by -frewrite-includes */
#if defined(__linux__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 218 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* expanded by -frewrite-includes */
# include <features.h>
#endif /* expanded by -frewrite-includes */
# 218 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# 219 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
# if defined(__GLIBC_PREREQ)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 220 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_GLIBC_PREREQ(a, b) __GLIBC_PREREQ(a, b)
# else
# 222 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_GLIBC_PREREQ(a, b) 0
# endif // defined(__GLIBC_PREREQ)
# 224 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif // defined(__linux__)
# 225 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifdef __LITTLE_ENDIAN__
#if 0 /* disabled by -frewrite-includes */
# if __LITTLE_ENDIAN__
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 228 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_LITTLE_ENDIAN
# endif // __LITTLE_ENDIAN__
# 230 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif // __LITTLE_ENDIAN__
# 231 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifdef __BIG_ENDIAN__
#if 0 /* disabled by -frewrite-includes */
# if __BIG_ENDIAN__
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 234 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_BIG_ENDIAN
# endif // __BIG_ENDIAN__
# 236 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif // __BIG_ENDIAN__
# 237 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifdef __BYTE_ORDER__
#if 0 /* disabled by -frewrite-includes */
# if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 240 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_LITTLE_ENDIAN
#if 0 /* disabled by -frewrite-includes */
#if 0
# elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 242 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_BIG_ENDIAN
# endif // __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
# 244 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif // __BYTE_ORDER__
# 245 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifdef __FreeBSD__
#if 0 /* expanded by -frewrite-includes */
# include <sys/endian.h>
#endif /* expanded by -frewrite-includes */
# 247 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/endian.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-2-Clause-FreeBSD
*
* Copyright (c) 2002 Thomas Moestl <tmm@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$
*/
#ifndef _SYS_ENDIAN_H_
#define _SYS_ENDIAN_H_
#if 0 /* expanded by -frewrite-includes */
#include <sys/cdefs.h>
#endif /* expanded by -frewrite-includes */
# 34 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/endian.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-3-Clause
*
* 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.
* 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.
*
* @(#)cdefs.h 8.8 (Berkeley) 1/9/95
* $FreeBSD$
*/
#ifndef _SYS_CDEFS_H_
#define _SYS_CDEFS_H_
#if 0 /* disabled by -frewrite-includes */
#if defined(_KERNEL) && defined(_STANDALONE)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 42 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#error "_KERNEL and _STANDALONE are mutually exclusive"
#endif
# 44 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
/*
* Testing against Clang-specific extensions.
*/
#ifndef __has_attribute
#define __has_attribute(x) 0
#endif
# 51 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#ifndef __has_extension
#define __has_extension __has_feature
#endif
# 54 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#ifndef __has_feature
#define __has_feature(x) 0
#endif
# 57 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#ifndef __has_include
#define __has_include(x) 0
#endif
# 60 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#ifndef __has_builtin
#define __has_builtin(x) 0
#endif
# 63 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if defined(__cplusplus)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 65 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __BEGIN_DECLS extern "C" {
#define __END_DECLS }
#else
# 68 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __BEGIN_DECLS
#define __END_DECLS
#endif
# 71 "/usr/obj/usr/src/arm64.aarch64/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 0 /* disabled by -frewrite-includes */
#if defined(__GNUC__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 79 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __GNUC__ >= 3
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 81 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __GNUCLIKE_ASM 3
#define __GNUCLIKE_MATH_BUILTIN_CONSTANTS
#else
# 84 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __GNUCLIKE_ASM 2
#endif
# 86 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __GNUCLIKE___TYPEOF 1
#define __GNUCLIKE___OFFSETOF 1
#define __GNUCLIKE___SECTION 1
#define __GNUCLIKE_CTOR_SECTION_HANDLING 1
#define __GNUCLIKE_BUILTIN_CONSTANT_P 1
#if 0 /* disabled by -frewrite-includes */
#if (__GNUC_MINOR__ > 95 || __GNUC__ >= 3)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 95 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __GNUCLIKE_BUILTIN_VARARGS 1
#define __GNUCLIKE_BUILTIN_STDARG 1
#define __GNUCLIKE_BUILTIN_VAALIST 1
#endif
# 99 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if defined(__GNUC__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 101 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __GNUC_VA_LIST_COMPATIBILITY 1
#endif
# 103 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
/*
* Compiler memory barriers, specific to gcc and clang.
*/
#if 0 /* disabled by -frewrite-includes */
#if defined(__GNUC__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 108 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __compiler_membar() __asm __volatile(" " : : : "memory")
#endif
# 110 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __GNUCLIKE_BUILTIN_NEXT_ARG 1
#define __GNUCLIKE_MATH_BUILTIN_RELOPS
#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__ */
# 129 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
/*
* Macro to test if we're using a specific version of gcc or later.
*/
#if 0 /* disabled by -frewrite-includes */
#if defined(__GNUC__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 134 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __GNUC_PREREQ__(ma, mi) \
(__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))
#else
# 137 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __GNUC_PREREQ__(ma, mi) 0
#endif
# 139 "/usr/obj/usr/src/arm64.aarch64/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 0 /* disabled by -frewrite-includes */
#if defined(__STDC__) || defined(__cplusplus)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 153 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#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 0 /* disabled by -frewrite-includes */
#if defined(__cplusplus)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 163 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __inline inline /* convert to C++ keyword */
#else
# 165 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if !(defined(__CC_SUPPORTS___INLINE))
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 166 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __inline /* delete GCC keyword */
#endif /* ! __CC_SUPPORTS___INLINE */
# 168 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#endif /* !__cplusplus */
# 169 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#else /* !(__STDC__ || __cplusplus) */
# 171 "/usr/obj/usr/src/arm64.aarch64/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 0 /* disabled by -frewrite-includes */
#if !defined(__CC_SUPPORTS___INLINE)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 176 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#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 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#endif /* !__CC_SUPPORTS___INLINE */
# 195 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#endif /* !(__STDC__ || __cplusplus) */
# 196 "/usr/obj/usr/src/arm64.aarch64/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.
*/
#define __weak_symbol __attribute__((__weak__))
#if 0 /* disabled by -frewrite-includes */
#if !__GNUC_PREREQ__(2, 5)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 208 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __dead2
#define __pure2
#define __unused
#endif
# 212 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __GNUC__ == 2 && __GNUC_MINOR__ >= 5 && __GNUC_MINOR__ < 7
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 213 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __dead2 __attribute__((__noreturn__))
#define __pure2 __attribute__((__const__))
#define __unused
/* XXX Find out what to do for __packed, __aligned and __section */
#endif
# 218 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __GNUC_PREREQ__(2, 7)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 219 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#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
# 227 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __GNUC_PREREQ__(4, 3) || __has_attribute(__alloc_size__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 228 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __alloc_size(x) __attribute__((__alloc_size__(x)))
#define __alloc_size2(n, x) __attribute__((__alloc_size__(n, x)))
#else
# 231 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __alloc_size(x)
#define __alloc_size2(n, x)
#endif
# 234 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __GNUC_PREREQ__(4, 9) || __has_attribute(__alloc_align__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 235 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __alloc_align(x) __attribute__((__alloc_align__(x)))
#else
# 237 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __alloc_align(x)
#endif
# 239 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if !__GNUC_PREREQ__(2, 95)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 241 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __alignof(x) __offsetof(struct { char __a; x __b; }, __b)
#endif
# 243 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
/*
* Keywords added in C11.
*/
#if 0 /* disabled by -frewrite-includes */
#if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 201112L
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 249 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if !__has_extension(c_alignas)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 251 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if (defined(__cplusplus) && __cplusplus >= 201103L) || \
__has_extension(cxx_alignas)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 253 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define _Alignas(x) alignas(x)
#else
# 255 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
/* XXX: Only emulates _Alignas(constant-expression); not _Alignas(type-name). */
#define _Alignas(x) __aligned(x)
#endif
# 258 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#endif
# 259 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if defined(__cplusplus) && __cplusplus >= 201103L
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 261 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define _Alignof(x) alignof(x)
#else
# 263 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define _Alignof(x) __alignof(x)
#endif
# 265 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if !defined(__cplusplus) && !__has_extension(c_atomic) && \
!__has_extension(cxx_atomic) && !__GNUC_PREREQ__(4, 7)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 268 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
/*
* 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
# 274 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if defined(__cplusplus) && __cplusplus >= 201103L
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 276 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define _Noreturn [[noreturn]]
#else
# 278 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define _Noreturn __dead2
#endif
# 280 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if !__has_extension(c_static_assert)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 282 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if (defined(__cplusplus) && __cplusplus >= 201103L) || \
__has_extension(cxx_static_assert)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 284 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define _Static_assert(x, y) static_assert(x, y)
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif __GNUC_PREREQ__(4,6) && !defined(__cplusplus)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 286 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
/* Nothing, gcc 4.6 and higher has _Static_assert built-in */
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(__COUNTER__)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 288 "/usr/obj/usr/src/arm64.aarch64/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] \
__unused
#else
# 293 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define _Static_assert(x, y) struct __hack
#endif
# 295 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#endif
# 296 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if !__has_extension(c_thread_local)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 298 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
/*
* 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 0 /* disabled by -frewrite-includes */
#if /* (defined(__cplusplus) && __cplusplus >= 201103L) || */ \
__has_extension(cxx_thread_local)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 305 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define _Thread_local thread_local
#else
# 307 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define _Thread_local __thread
#endif
# 309 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#endif
# 310 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#endif /* __STDC_VERSION__ || __STDC_VERSION__ < 201112L */
# 312 "/usr/obj/usr/src/arm64.aarch64/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 0 /* disabled by -frewrite-includes */
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
__has_extension(c_generic_selections)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 324 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __generic(expr, t, yes, no) \
_Generic(expr, t: yes, default: no)
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif __GNUC_PREREQ__(3, 1) && !defined(__cplusplus)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 327 "/usr/obj/usr/src/arm64.aarch64/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
# 331 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
/*
* C99 Static array indices in function parameter declarations. Syntax such as:
* void bar(int myArray[static 10]);
* is allowed in C99 but not in C++. Define __min_size appropriately so
* headers using it can be compiled in either language. Use like this:
* void bar(int myArray[__min_size(10)]);
*/
#if 0 /* disabled by -frewrite-includes */
#if !defined(__cplusplus) && \
(defined(__clang__) || __GNUC_PREREQ__(4, 6)) && \
(!defined(__STDC_VERSION__) || (__STDC_VERSION__ >= 199901))
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 342 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __min_size(x) static (x)
#else
# 344 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __min_size(x) (x)
#endif
# 346 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __GNUC_PREREQ__(2, 96)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 348 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __malloc_like __attribute__((__malloc__))
#define __pure __attribute__((__pure__))
#else
# 351 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __malloc_like
#define __pure
#endif
# 354 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __GNUC_PREREQ__(3, 1)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 356 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __always_inline __attribute__((__always_inline__))
#else
# 358 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __always_inline
#endif
# 360 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __GNUC_PREREQ__(3, 1)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 362 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __noinline __attribute__ ((__noinline__))
#else
# 364 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __noinline
#endif
# 366 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __GNUC_PREREQ__(3, 4)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 368 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __fastcall __attribute__((__fastcall__))
#define __result_use_check __attribute__((__warn_unused_result__))
#else
# 371 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __fastcall
#define __result_use_check
#endif
# 374 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __GNUC_PREREQ__(4, 1)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 376 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __returns_twice __attribute__((__returns_twice__))
#else
# 378 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __returns_twice
#endif
# 380 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __GNUC_PREREQ__(4, 6) || __has_builtin(__builtin_unreachable)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 382 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __unreachable() __builtin_unreachable()
#else
# 384 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __unreachable() ((void)0)
#endif
# 386 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
/* XXX: should use `#if __STDC_VERSION__ < 199901'. */
#if 0 /* disabled by -frewrite-includes */
#if !__GNUC_PREREQ__(2, 7)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 389 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __func__ NULL
#endif
# 391 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if (defined(__GNUC__) && __GNUC__ >= 2) && !defined(__STRICT_ANSI__) || __STDC_VERSION__ >= 199901
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 393 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __LONG_LONG_SUPPORTED
#endif
# 395 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
/* C++11 exposes a load of C99 stuff */
#if 0 /* disabled by -frewrite-includes */
#if defined(__cplusplus) && __cplusplus >= 201103L
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 398 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __LONG_LONG_SUPPORTED
#ifndef __STDC_LIMIT_MACROS
#define __STDC_LIMIT_MACROS
#endif
# 402 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#ifndef __STDC_CONSTANT_MACROS
#define __STDC_CONSTANT_MACROS
#endif
# 405 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#endif
# 406 "/usr/obj/usr/src/arm64.aarch64/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 0 /* disabled by -frewrite-includes */
#if !(__GNUC__ == 2 && __GNUC_MINOR__ == 95)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 414 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 415 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __restrict
#else
# 417 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __restrict restrict
#endif
# 419 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#endif
# 420 "/usr/obj/usr/src/arm64.aarch64/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 0 /* disabled by -frewrite-includes */
#if __GNUC_PREREQ__(2, 96)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 450 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __predict_true(exp) __builtin_expect((exp), 1)
#define __predict_false(exp) __builtin_expect((exp), 0)
#else
# 453 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __predict_true(exp) (exp)
#define __predict_false(exp) (exp)
#endif
# 456 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __GNUC_PREREQ__(4, 0)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 458 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __null_sentinel __attribute__((__sentinel__))
#define __exported __attribute__((__visibility__("default")))
#define __hidden __attribute__((__visibility__("hidden")))
#else
# 462 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __null_sentinel
#define __exported
#define __hidden
#endif
# 466 "/usr/obj/usr/src/arm64.aarch64/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 0 /* disabled by -frewrite-includes */
#if __GNUC_PREREQ__(4, 1)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 472 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __offsetof(type, field) __builtin_offsetof(type, field)
#else
# 474 "/usr/obj/usr/src/arm64.aarch64/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
# 478 "/usr/obj/usr/src/arm64.aarch64/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
# 483 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#endif
# 484 "/usr/obj/usr/src/arm64.aarch64/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 0 /* disabled by -frewrite-includes */
#if __GNUC_PREREQ__(3, 1)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 494 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __containerof(x, s, m) ({ \
const volatile __typeof(((s *)0)->m) *__x = (x); \
__DEQUALIFY(s *, (const volatile char *)__x - __offsetof(s, m));\
})
#else
# 499 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __containerof(x, s, m) \
__DEQUALIFY(s *, (const volatile char *)(x) - __offsetof(s, m))
#endif
# 502 "/usr/obj/usr/src/arm64.aarch64/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 0 /* disabled by -frewrite-includes */
#if !__GNUC_PREREQ__(2, 7)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 510 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __printflike(fmtarg, firstvararg)
#define __scanflike(fmtarg, firstvararg)
#define __format_arg(fmtarg)
#define __strfmonlike(fmtarg, firstvararg)
#define __strftimelike(fmtarg, firstvararg)
#else
# 516 "/usr/obj/usr/src/arm64.aarch64/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
# 526 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
/* Compiler-dependent macros that rely on FreeBSD-specific extensions. */
#if 0 /* disabled by -frewrite-includes */
#if defined(__FreeBSD_cc_version) && __FreeBSD_cc_version >= 300001 && \
defined(__GNUC__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 530 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __printf0like(fmtarg, firstvararg) \
__attribute__((__format__ (__printf0__, fmtarg, firstvararg)))
#else
# 533 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __printf0like(fmtarg, firstvararg)
#endif
# 535 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if defined(__GNUC__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 537 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __strong_reference(sym,aliassym) \
extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)))
#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
# 552 "/usr/obj/usr/src/arm64.aarch64/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__ */
# 564 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#endif /* __GNUC__ */
# 565 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __GLOBL1(sym) __asm__(".globl " #sym)
#define __GLOBL(sym) __GLOBL1(sym)
#if 0 /* disabled by -frewrite-includes */
#if defined(__GNUC__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 570 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __IDSTRING(name,string) __asm__(".ident\t\"" string "\"")
#else
# 572 "/usr/obj/usr/src/arm64.aarch64/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
# 580 "/usr/obj/usr/src/arm64.aarch64/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$");
*/
#ifndef __FBSDID
#if 0 /* disabled by -frewrite-includes */
#if !defined(STRIP_FBSDID)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 589 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)
#else
# 591 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __FBSDID(s) struct __hack
#endif
# 593 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#endif
# 594 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#ifndef __RCSID
#ifndef NO__RCSID
#define __RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)
#else
# 599 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __RCSID(s) struct __hack
#endif
# 601 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#endif
# 602 "/usr/obj/usr/src/arm64.aarch64/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
# 607 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __RCSID_SOURCE(s) struct __hack
#endif
# 609 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#endif
# 610 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#ifndef __SCCSID
#ifndef NO__SCCSID
#define __SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)
#else
# 615 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __SCCSID(s) struct __hack
#endif
# 617 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#endif
# 618 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#ifndef __COPYRIGHT
#ifndef NO__COPYRIGHT
#define __COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)
#else
# 623 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __COPYRIGHT(s) struct __hack
#endif
# 625 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#endif
# 626 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#ifndef __DECONST
#define __DECONST(type, var) ((type)(__uintptr_t)(const void *)(var))
#endif
# 630 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#ifndef __DEVOLATILE
#define __DEVOLATILE(type, var) ((type)(__uintptr_t)(volatile void *)(var))
#endif
# 634 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#ifndef __DEQUALIFY
#define __DEQUALIFY(type, var) ((type)(__uintptr_t)(const volatile void *)(var))
#endif
# 638 "/usr/obj/usr/src/arm64.aarch64/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 0 /* disabled by -frewrite-includes */
#if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE == 1
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 664 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#undef _POSIX_C_SOURCE /* Probably illegal, but beyond caring now. */
#define _POSIX_C_SOURCE 199009
#endif
# 667 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
/* Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2. */
#if 0 /* disabled by -frewrite-includes */
#if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE == 2
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 670 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#undef _POSIX_C_SOURCE
#define _POSIX_C_SOURCE 199209
#endif
# 673 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
/* Deal with various X/Open Portability Guides and Single UNIX Spec. */
#ifdef _XOPEN_SOURCE
#if 0 /* disabled by -frewrite-includes */
#if _XOPEN_SOURCE - 0 >= 700
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 677 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __XSI_VISIBLE 700
#undef _POSIX_C_SOURCE
#define _POSIX_C_SOURCE 200809
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif _XOPEN_SOURCE - 0 >= 600
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 681 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __XSI_VISIBLE 600
#undef _POSIX_C_SOURCE
#define _POSIX_C_SOURCE 200112
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif _XOPEN_SOURCE - 0 >= 500
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 685 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __XSI_VISIBLE 500
#undef _POSIX_C_SOURCE
#define _POSIX_C_SOURCE 199506
#endif
# 689 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#endif
# 690 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
/*
* Deal with all versions of POSIX. The ordering relative to the tests above is
* important.
*/
#if 0 /* disabled by -frewrite-includes */
#if defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 696 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define _POSIX_C_SOURCE 198808
#endif
# 698 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#ifdef _POSIX_C_SOURCE
#if 0 /* disabled by -frewrite-includes */
#if _POSIX_C_SOURCE >= 200809
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 700 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __POSIX_VISIBLE 200809
#define __ISO_C_VISIBLE 1999
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif _POSIX_C_SOURCE >= 200112
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 703 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __POSIX_VISIBLE 200112
#define __ISO_C_VISIBLE 1999
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif _POSIX_C_SOURCE >= 199506
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 706 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __POSIX_VISIBLE 199506
#define __ISO_C_VISIBLE 1990
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif _POSIX_C_SOURCE >= 199309
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 709 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __POSIX_VISIBLE 199309
#define __ISO_C_VISIBLE 1990
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif _POSIX_C_SOURCE >= 199209
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 712 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __POSIX_VISIBLE 199209
#define __ISO_C_VISIBLE 1990
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif _POSIX_C_SOURCE >= 199009
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 715 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __POSIX_VISIBLE 199009
#define __ISO_C_VISIBLE 1990
#else
# 718 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __POSIX_VISIBLE 198808
#define __ISO_C_VISIBLE 0
#endif /* _POSIX_C_SOURCE */
# 721 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#else
# 722 "/usr/obj/usr/src/arm64.aarch64/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 0 /* disabled by -frewrite-includes */
#if defined(_ANSI_SOURCE) /* Hide almost everything. */
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 735 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __POSIX_VISIBLE 0
#define __XSI_VISIBLE 0
#define __BSD_VISIBLE 0
#define __ISO_C_VISIBLE 1990
#define __EXT1_VISIBLE 0
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_C99_SOURCE) /* Localism to specify strict C99 env. */
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 741 "/usr/obj/usr/src/arm64.aarch64/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
#define __EXT1_VISIBLE 0
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_C11_SOURCE) /* Localism to specify strict C11 env. */
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 747 "/usr/obj/usr/src/arm64.aarch64/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
#define __EXT1_VISIBLE 0
#else /* Default environment: show everything. */
# 753 "/usr/obj/usr/src/arm64.aarch64/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
#define __EXT1_VISIBLE 1
#endif
# 759 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#endif
# 760 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
/* User override __EXT1_VISIBLE */
#if 0 /* disabled by -frewrite-includes */
#if defined(__STDC_WANT_LIB_EXT1__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 763 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#undef __EXT1_VISIBLE
#if 0 /* disabled by -frewrite-includes */
#if __STDC_WANT_LIB_EXT1__
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 765 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __EXT1_VISIBLE 1
#else
# 767 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __EXT1_VISIBLE 0
#endif
# 769 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#endif /* __STDC_WANT_LIB_EXT1__ */
# 770 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if defined(__mips) || defined(__riscv) || \
(defined(__powerpc64__) && (!defined(_CALL_ELF) || _CALL_ELF == 1))
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 773 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __NO_TLS 1
#endif
# 775 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
/*
* Old versions of GCC use non-standard ARM arch symbols; acle-compat.h
* translates them to __ARM_ARCH and the modern feature symbols defined by ARM.
*/
#if 0 /* disabled by -frewrite-includes */
#if defined(__arm__) && !defined(__ARM_ARCH)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 781 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#if 0 /* expanded by -frewrite-includes */
#include <machine/acle-compat.h>
#endif /* expanded by -frewrite-includes */
# 781 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
# 782 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#endif
# 783 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
/*
* Nullability qualifiers: currently only supported by Clang.
*/
#if 0 /* disabled by -frewrite-includes */
#if !(defined(__clang__) && __has_feature(nullability))
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 788 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define _Nonnull
#define _Nullable
#define _Null_unspecified
#define __NULLABILITY_PRAGMA_PUSH
#define __NULLABILITY_PRAGMA_POP
#else
# 794 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __NULLABILITY_PRAGMA_PUSH _Pragma("clang diagnostic push") \
_Pragma("clang diagnostic ignored \"-Wnullability-completeness\"")
#define __NULLABILITY_PRAGMA_POP _Pragma("clang diagnostic pop")
#endif
# 798 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
/*
* Type Safety Checking
*
* Clang provides additional attributes to enable checking type safety
* properties that cannot be enforced by the C type system.
*/
#if 0 /* disabled by -frewrite-includes */
#if __has_attribute(__argument_with_type_tag__) && \
__has_attribute(__type_tag_for_datatype__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 808 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __arg_type_tag(arg_kind, arg_idx, type_tag_idx) \
__attribute__((__argument_with_type_tag__(arg_kind, arg_idx, type_tag_idx)))
#define __datatype_type_tag(kind, type) \
__attribute__((__type_tag_for_datatype__(kind, type)))
#else
# 813 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __arg_type_tag(arg_kind, arg_idx, type_tag_idx)
#define __datatype_type_tag(kind, type)
#endif
# 816 "/usr/obj/usr/src/arm64.aarch64/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 0 /* disabled by -frewrite-includes */
#if __has_extension(c_thread_safety_attributes)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 830 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __lock_annotate(x) __attribute__((x))
#else
# 832 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __lock_annotate(x)
#endif
# 834 "/usr/obj/usr/src/arm64.aarch64/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)
/*
* Function or variable should not be sanitized, i.e. by AddressSanitizer.
* GCC has the nosanitize attribute, but as a function attribute only, and
* warns on use as a variable attribute.
*/
#if 0 /* disabled by -frewrite-includes */
#if __has_attribute(no_sanitize) && defined(__clang__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 876 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __nosanitizeaddress __attribute__((no_sanitize("address")))
#define __nosanitizethread __attribute__((no_sanitize("thread")))
#else
# 879 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
#define __nosanitizeaddress
#define __nosanitizethread
#endif
# 882 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
/* 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_ */
# 888 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/cdefs.h" 3 4
# 35 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/endian.h" 2 3 4
#if 0 /* expanded by -frewrite-includes */
#include <sys/_types.h>
#endif /* expanded by -frewrite-includes */
# 35 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/endian.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_types.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-2-Clause-FreeBSD
*
* 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$
*/
#ifndef _SYS__TYPES_H_
#define _SYS__TYPES_H_
#if 0 /* expanded by -frewrite-includes */
#include <sys/cdefs.h>
#endif /* expanded by -frewrite-includes */
# 34 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_types.h" 3 4
# 35 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_types.h" 3 4
#if 0 /* expanded by -frewrite-includes */
#include <machine/_types.h>
#endif /* expanded by -frewrite-includes */
# 35 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_types.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/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. 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
* $FreeBSD$
*/
#ifndef _MACHINE__TYPES_H_
#define _MACHINE__TYPES_H_
#ifndef _SYS_CDEFS_H_
#error this file needs sys/cdefs.h as a prerequisite
#endif
# 41 "/usr/obj/usr/src/arm64.aarch64/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;
typedef long __int64_t;
typedef unsigned long __uint64_t;
/*
* Standard type definitions.
*/
typedef __int32_t __clock_t; /* clock()... */
typedef __int64_t __critical_t;
#ifndef _STANDALONE
typedef double __double_t;
typedef float __float_t;
#endif
# 63 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/_types.h" 3 4
typedef __int64_t __intfptr_t;
typedef __int64_t __intmax_t;
typedef __int64_t __intptr_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;
typedef __int64_t __ptrdiff_t; /* ptr1 - ptr2 */
typedef __int64_t __register_t;
typedef __int64_t __segsz_t; /* segment size (in pages) */
typedef __uint64_t __size_t; /* sizeof() */
typedef __int64_t __ssize_t; /* byte count or error */
typedef __int64_t __time_t; /* time()... */
typedef __uint64_t __uintfptr_t;
typedef __uint64_t __uintmax_t;
typedef __uint64_t __uintptr_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;
typedef __uint64_t __u_register_t;
typedef __uint64_t __vm_offset_t;
typedef __uint64_t __vm_paddr_t;
typedef __uint64_t __vm_size_t;
typedef unsigned int ___wchar_t;
#define __WCHAR_MIN 0 /* min value for a wchar_t */
#define __WCHAR_MAX __UINT_MAX /* max value for a wchar_t */
#endif /* !_MACHINE__TYPES_H_ */
# 101 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/_types.h" 3 4
# 36 "/usr/obj/usr/src/arm64.aarch64/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 __uint64_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 __uint64_t __nlink_t; /* link count */
typedef __int64_t __off_t; /* file offset */
typedef __int64_t __off64_t; /* file offset (alias) */
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. */
typedef __int64_t __daddr_t; /* bwrite(3), FIOBMAP2, etc */
/*
* 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 0 /* disabled by -frewrite-includes */
#if !defined(__clang__) || !defined(__cplusplus)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 97 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_types.h" 3 4
typedef __uint_least16_t __char16_t;
typedef __uint_least32_t __char32_t;
#endif
# 100 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_types.h" 3 4
/* In C++11, char16_t and char32_t are built-in types. */
#if 0 /* disabled by -frewrite-includes */
#if defined(__cplusplus) && __cplusplus >= 201103L
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 102 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_types.h" 3 4
#define _CHAR16_T_DECLARED
#define _CHAR32_T_DECLARED
#endif
# 105 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_types.h" 3 4
typedef struct {
long long __max_align1 __aligned(_Alignof(long long));
#ifndef _STANDALONE
long double __max_align2 __aligned(_Alignof(long double));
#endif
# 111 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_types.h" 3 4
} __max_align_t;
typedef __uint64_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;
typedef __uintmax_t __rman_res_t;
/*
* Types for varargs. These are all provided by builtin types these
* days, so centralize their definition.
*/
#ifdef __GNUCLIKE_BUILTIN_VARARGS
typedef __builtin_va_list __va_list; /* internally known to gcc */
#else
# 135 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_types.h" 3 4
#error "No support for your compiler for stdargs"
#endif
# 137 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_types.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if defined(__GNUC_VA_LIST_COMPATIBILITY) && !defined(__GNUC_VA_LIST) \
&& !defined(__NO_GNUC_VA_LIST)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 139 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_types.h" 3 4
#define __GNUC_VA_LIST
typedef __va_list __gnuc_va_list; /* compatibility w/GNU headers*/
#endif
# 142 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_types.h" 3 4
/*
* When the following macro is defined, the system uses 64-bit inode numbers.
* Programs can use this to avoid including <sys/param.h>, with its associated
* namespace pollution.
*/
#define __INO64
#endif /* !_SYS__TYPES_H_ */
# 151 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_types.h" 3 4
# 36 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/endian.h" 2 3 4
#if 0 /* expanded by -frewrite-includes */
#include <machine/endian.h>
#endif /* expanded by -frewrite-includes */
# 36 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/endian.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/endian.h" 1 3 4
/*-
* Copyright (c) 2001 David E. O'Brien
*
* 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.
*
* @(#)endian.h 8.1 (Berkeley) 6/10/93
* $NetBSD: endian.h,v 1.7 1999/08/21 05:53:51 simonb Exp $
* $FreeBSD$
*/
#ifndef _MACHINE_ENDIAN_H_
#define _MACHINE_ENDIAN_H_
#if 0 /* expanded by -frewrite-includes */
#include <sys/_types.h>
#endif /* expanded by -frewrite-includes */
# 36 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/endian.h" 3 4
# 37 "/usr/obj/usr/src/arm64.aarch64/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 */
#define _BYTE_ORDER _LITTLE_ENDIAN
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 49 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/endian.h" 3 4
#define LITTLE_ENDIAN _LITTLE_ENDIAN
#define BIG_ENDIAN _BIG_ENDIAN
#define PDP_ENDIAN _PDP_ENDIAN
#define BYTE_ORDER _BYTE_ORDER
#endif
# 54 "/usr/obj/usr/src/arm64.aarch64/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))
static __inline __uint64_t
__bswap64(__uint64_t x)
{
__uint64_t ret;
__asm __volatile("rev %0, %1\n"
: "=&r" (ret), "+r" (x));
return (ret);
}
static __inline __uint32_t
__bswap32_var(__uint32_t v)
{
__uint32_t ret;
__asm __volatile("rev32 %x0, %x1\n"
: "=&r" (ret), "+r" (v));
return (ret);
}
static __inline __uint16_t
__bswap16_var(__uint16_t v)
{
__uint32_t ret;
__asm __volatile("rev16 %w0, %w1\n"
: "=&r" (ret), "+r" (v));
return ((__uint16_t)ret);
}
#ifdef __OPTIMIZE__
#define __bswap32_constant(x) \
((((x) & 0xff000000U) >> 24) | \
(((x) & 0x00ff0000U) >> 8) | \
(((x) & 0x0000ff00U) << 8) | \
(((x) & 0x000000ffU) << 24))
#define __bswap16_constant(x) \
((((x) & 0xff00) >> 8) | \
(((x) & 0x00ff) << 8))
#define __bswap16(x) \
((__uint16_t)(__builtin_constant_p(x) ? \
__bswap16_constant((__uint16_t)(x)) : \
__bswap16_var(x)))
#define __bswap32(x) \
((__uint32_t)(__builtin_constant_p(x) ? \
__bswap32_constant((__uint32_t)(x)) : \
__bswap32_var(x)))
#else
# 118 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/endian.h" 3 4
#define __bswap16(x) __bswap16_var(x)
#define __bswap32(x) __bswap32_var(x)
#endif /* __OPTIMIZE__ */
# 122 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/endian.h" 3 4
#endif /* !_MACHINE_ENDIAN_H_ */
# 123 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/endian.h" 3 4
# 37 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/endian.h" 2 3 4
#ifndef _UINT8_T_DECLARED
typedef __uint8_t uint8_t;
#define _UINT8_T_DECLARED
#endif
# 42 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/endian.h" 3 4
#ifndef _UINT16_T_DECLARED
typedef __uint16_t uint16_t;
#define _UINT16_T_DECLARED
#endif
# 47 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/endian.h" 3 4
#ifndef _UINT32_T_DECLARED
typedef __uint32_t uint32_t;
#define _UINT32_T_DECLARED
#endif
# 52 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/endian.h" 3 4
#ifndef _UINT64_T_DECLARED
typedef __uint64_t uint64_t;
#define _UINT64_T_DECLARED
#endif
# 57 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/endian.h" 3 4
/*
* General byte order swapping functions.
*/
#define bswap16(x) __bswap16(x)
#define bswap32(x) __bswap32(x)
#define bswap64(x) __bswap64(x)
/*
* Host to big endian, host to little endian, big endian to host, and little
* endian to host byte order functions as detailed in byteorder(9).
*/
#if 0 /* disabled by -frewrite-includes */
#if _BYTE_ORDER == _LITTLE_ENDIAN
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 70 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/endian.h" 3 4
#define htobe16(x) bswap16((x))
#define htobe32(x) bswap32((x))
#define htobe64(x) bswap64((x))
#define htole16(x) ((uint16_t)(x))
#define htole32(x) ((uint32_t)(x))
#define htole64(x) ((uint64_t)(x))
#define be16toh(x) bswap16((x))
#define be32toh(x) bswap32((x))
#define be64toh(x) bswap64((x))
#define le16toh(x) ((uint16_t)(x))
#define le32toh(x) ((uint32_t)(x))
#define le64toh(x) ((uint64_t)(x))
#else /* _BYTE_ORDER != _LITTLE_ENDIAN */
# 84 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/endian.h" 3 4
#define htobe16(x) ((uint16_t)(x))
#define htobe32(x) ((uint32_t)(x))
#define htobe64(x) ((uint64_t)(x))
#define htole16(x) bswap16((x))
#define htole32(x) bswap32((x))
#define htole64(x) bswap64((x))
#define be16toh(x) ((uint16_t)(x))
#define be32toh(x) ((uint32_t)(x))
#define be64toh(x) ((uint64_t)(x))
#define le16toh(x) bswap16((x))
#define le32toh(x) bswap32((x))
#define le64toh(x) bswap64((x))
#endif /* _BYTE_ORDER == _LITTLE_ENDIAN */
# 98 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/endian.h" 3 4
/* Alignment-agnostic encode/decode bytestream to/from little/big endian. */
static __inline uint16_t
be16dec(const void *pp)
{
uint8_t const *p = (uint8_t const *)pp;
return ((p[0] << 8) | p[1]);
}
static __inline uint32_t
be32dec(const void *pp)
{
uint8_t const *p = (uint8_t const *)pp;
return (((unsigned)p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]);
}
static __inline uint64_t
be64dec(const void *pp)
{
uint8_t const *p = (uint8_t const *)pp;
return (((uint64_t)be32dec(p) << 32) | be32dec(p + 4));
}
static __inline uint16_t
le16dec(const void *pp)
{
uint8_t const *p = (uint8_t const *)pp;
return ((p[1] << 8) | p[0]);
}
static __inline uint32_t
le32dec(const void *pp)
{
uint8_t const *p = (uint8_t const *)pp;
return (((unsigned)p[3] << 24) | (p[2] << 16) | (p[1] << 8) | p[0]);
}
static __inline uint64_t
le64dec(const void *pp)
{
uint8_t const *p = (uint8_t const *)pp;
return (((uint64_t)le32dec(p + 4) << 32) | le32dec(p));
}
static __inline void
be16enc(void *pp, uint16_t u)
{
uint8_t *p = (uint8_t *)pp;
p[0] = (u >> 8) & 0xff;
p[1] = u & 0xff;
}
static __inline void
be32enc(void *pp, uint32_t u)
{
uint8_t *p = (uint8_t *)pp;
p[0] = (u >> 24) & 0xff;
p[1] = (u >> 16) & 0xff;
p[2] = (u >> 8) & 0xff;
p[3] = u & 0xff;
}
static __inline void
be64enc(void *pp, uint64_t u)
{
uint8_t *p = (uint8_t *)pp;
be32enc(p, (uint32_t)(u >> 32));
be32enc(p + 4, (uint32_t)(u & 0xffffffffU));
}
static __inline void
le16enc(void *pp, uint16_t u)
{
uint8_t *p = (uint8_t *)pp;
p[0] = u & 0xff;
p[1] = (u >> 8) & 0xff;
}
static __inline void
le32enc(void *pp, uint32_t u)
{
uint8_t *p = (uint8_t *)pp;
p[0] = u & 0xff;
p[1] = (u >> 8) & 0xff;
p[2] = (u >> 16) & 0xff;
p[3] = (u >> 24) & 0xff;
}
static __inline void
le64enc(void *pp, uint64_t u)
{
uint8_t *p = (uint8_t *)pp;
le32enc(p, (uint32_t)(u & 0xffffffffU));
le32enc(p + 4, (uint32_t)(u >> 32));
}
#endif /* _SYS_ENDIAN_H_ */
# 208 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/endian.h" 3 4
# 248 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 2 3
#if 0 /* expanded by -frewrite-includes */
# include <osreldate.h>
#endif /* expanded by -frewrite-includes */
# 248 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/osreldate.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-2-Clause
*
* Copyright (c) 1992-2020 The FreeBSD Project.
*
* 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.
*
*/
#ifdef _KERNEL
#error "<osreldate.h> cannot be used in the kernel, use <sys/param.h>"
#else
# 31 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/osreldate.h" 3 4
#undef __FreeBSD_version
#define __FreeBSD_version 1300130
#endif
# 34 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/osreldate.h" 3 4
# 249 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 2 3
#if 0 /* disabled by -frewrite-includes */
# if _BYTE_ORDER == _LITTLE_ENDIAN
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 250 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_LITTLE_ENDIAN
# else // _BYTE_ORDER == _LITTLE_ENDIAN
# 252 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_BIG_ENDIAN
# endif // _BYTE_ORDER == _LITTLE_ENDIAN
# 254 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# ifndef __LONG_LONG_SUPPORTED
# define _LIBCPP_HAS_NO_LONG_LONG
# endif // __LONG_LONG_SUPPORTED
# 257 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif // __FreeBSD__
# 258 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifdef __NetBSD__
#if 0 /* expanded by -frewrite-includes */
# include <sys/endian.h>
#endif /* expanded by -frewrite-includes */
# 260 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# 261 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
# if _BYTE_ORDER == _LITTLE_ENDIAN
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 262 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_LITTLE_ENDIAN
# else // _BYTE_ORDER == _LITTLE_ENDIAN
# 264 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_BIG_ENDIAN
# endif // _BYTE_ORDER == _LITTLE_ENDIAN
# 266 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif // __NetBSD__
# 267 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(_WIN32)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 269 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_WIN32API
# define _LIBCPP_LITTLE_ENDIAN
# define _LIBCPP_SHORT_WCHAR 1
// Both MinGW and native MSVC provide a "MSVC"-like environment
# define _LIBCPP_MSVCRT_LIKE
// If mingw not explicitly detected, assume using MS C runtime only if
// a MS compatibility version is specified.
#if 0 /* disabled by -frewrite-includes */
# if defined(_MSC_VER) && !defined(__MINGW32__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 277 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_MSVCRT // Using Microsoft's C Runtime library
# endif
# 279 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
# if (defined(_M_AMD64) || defined(__x86_64__)) || (defined(_M_ARM) || defined(__arm__))
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 280 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_BITSCAN64
# endif
# 282 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_OPEN_WITH_WCHAR
#if 0 /* disabled by -frewrite-includes */
# if defined(_LIBCPP_MSVCRT)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 284 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_QUICK_EXIT
# endif
# 286 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Some CRT APIs are unavailable to store apps
#if 0 /* disabled by -frewrite-includes */
# if defined(WINAPI_FAMILY)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 289 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* expanded by -frewrite-includes */
# include <winapifamily.h>
#endif /* expanded by -frewrite-includes */
# 289 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# 290 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
# if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && \
(!defined(WINAPI_PARTITION_SYSTEM) || \
!WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_SYSTEM))
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 293 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_WINDOWS_STORE_APP
# endif
# 295 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# endif
# 296 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif // defined(_WIN32)
# 297 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifdef __sun__
#if 0 /* expanded by -frewrite-includes */
# include <sys/isa_defs.h>
#endif /* expanded by -frewrite-includes */
# 299 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# 300 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# ifdef _LITTLE_ENDIAN
# define _LIBCPP_LITTLE_ENDIAN
# else
# 303 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_BIG_ENDIAN
# endif
# 305 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif // __sun__
# 306 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(__CloudABI__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 308 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Certain architectures provide arc4random(). Prefer using
// arc4random() over /dev/{u,}random to make it possible to obtain
// random data even when using sandboxing mechanisms such as chroots,
// Capsicum, etc.
# define _LIBCPP_USING_ARC4_RANDOM
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(__Fuchsia__) || defined(__wasi__)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 314 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_USING_GETENTROPY
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(__native_client__)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 316 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// NaCl's sandbox (which PNaCl also runs in) doesn't allow filesystem access,
// including accesses to the special files under /dev. C++11's
// std::random_device is instead exposed through a NaCl syscall.
# define _LIBCPP_USING_NACL_RANDOM
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBCPP_WIN32API)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 321 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_USING_WIN32_RANDOM
#else
# 323 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_USING_DEV_RANDOM
#endif
# 325 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_LITTLE_ENDIAN) && !defined(_LIBCPP_BIG_ENDIAN)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 327 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* expanded by -frewrite-includes */
# include <endian.h>
#endif /* expanded by -frewrite-includes */
# 327 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# 328 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
# if __BYTE_ORDER == __LITTLE_ENDIAN
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 329 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_LITTLE_ENDIAN
#if 0 /* disabled by -frewrite-includes */
#if 0
# elif __BYTE_ORDER == __BIG_ENDIAN
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 331 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_BIG_ENDIAN
# else // __BYTE_ORDER == __BIG_ENDIAN
# 333 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# error unable to determine endian
# endif
# 335 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif // !defined(_LIBCPP_LITTLE_ENDIAN) && !defined(_LIBCPP_BIG_ENDIAN)
# 336 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if __has_attribute(__no_sanitize__) && !defined(_LIBCPP_COMPILER_GCC)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 338 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_NO_CFI __attribute__((__no_sanitize__("cfi")))
#else
# 340 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_NO_CFI
#endif
# 342 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if __ISO_C_VISIBLE >= 2011 || __cplusplus >= 201103L
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 344 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
# if defined(__FreeBSD__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 345 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_ALIGNED_ALLOC
# define _LIBCPP_HAS_QUICK_EXIT
# define _LIBCPP_HAS_C11_FEATURES
#if 0 /* disabled by -frewrite-includes */
# if __FreeBSD_version >= 1300064 || \
(__FreeBSD_version >= 1201504 && __FreeBSD_version < 1300000)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 350 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_TIMESPEC_GET
# endif
# 352 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if 0
# elif defined(__BIONIC__)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 353 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_C11_FEATURES
#if 0 /* disabled by -frewrite-includes */
# if __ANDROID_API__ >= 21
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 355 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_QUICK_EXIT
# endif
# 357 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
# if __ANDROID_API__ >= 28
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 358 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_ALIGNED_ALLOC
# endif
# 360 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
# if __ANDROID_API__ >= 29
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 361 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_TIMESPEC_GET
# endif
# 363 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if 0
# elif defined(__Fuchsia__) || defined(__wasi__) || defined(__NetBSD__)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 364 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_ALIGNED_ALLOC
# define _LIBCPP_HAS_QUICK_EXIT
# define _LIBCPP_HAS_TIMESPEC_GET
# define _LIBCPP_HAS_C11_FEATURES
#if 0 /* disabled by -frewrite-includes */
#if 0
# elif defined(__linux__)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 369 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
# if !defined(_LIBCPP_HAS_MUSL_LIBC)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 370 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
# if _LIBCPP_GLIBC_PREREQ(2, 15) || defined(__BIONIC__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 371 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_QUICK_EXIT
# endif
# 373 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
# if _LIBCPP_GLIBC_PREREQ(2, 17)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 374 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_ALIGNED_ALLOC
# define _LIBCPP_HAS_C11_FEATURES
# define _LIBCPP_HAS_TIMESPEC_GET
# endif
# 378 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# else // defined(_LIBCPP_HAS_MUSL_LIBC)
# 379 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_ALIGNED_ALLOC
# define _LIBCPP_HAS_QUICK_EXIT
# define _LIBCPP_HAS_TIMESPEC_GET
# define _LIBCPP_HAS_C11_FEATURES
# endif
# 384 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# endif // __linux__
# 385 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 386 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_CXX03_LANG
# define _LIBCPP_ALIGNOF(_Tp) alignof(_Tp)
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBCPP_COMPILER_CLANG)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 390 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_ALIGNOF(_Tp) _Alignof(_Tp)
#else
# 392 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// This definition is potentially buggy, but it's only taken with GCC in C++03,
// which we barely support anyway. See llvm.org/PR39713
# define _LIBCPP_ALIGNOF(_Tp) __alignof(_Tp)
#endif
# 396 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_PREFERRED_ALIGNOF(_Tp) __alignof(_Tp)
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBCPP_COMPILER_CLANG)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 400 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBCPP_ALTERNATE_STRING_LAYOUT)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 402 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# error _LIBCPP_ALTERNATE_STRING_LAYOUT is deprecated, please use _LIBCPP_ABI_ALTERNATE_STRING_LAYOUT instead
#endif
# 404 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(__APPLE__) && !defined(__i386__) && !defined(__x86_64__) && \
(!defined(__arm__) || __ARM_ARCH_7K__ >= 2)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 406 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_ABI_ALTERNATE_STRING_LAYOUT
#endif
# 408 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if __has_feature(cxx_alignas)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 410 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _ALIGNAS_TYPE(x) alignas(x)
# define _ALIGNAS(x) alignas(x)
#else
# 413 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _ALIGNAS_TYPE(x) __attribute__((__aligned__(_LIBCPP_ALIGNOF(x))))
# define _ALIGNAS(x) __attribute__((__aligned__(x)))
#endif
# 416 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if __cplusplus < 201103L
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 418 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
typedef __char16_t char16_t;
typedef __char32_t char32_t;
#endif
# 421 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !__has_feature(cxx_exceptions)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 423 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_NO_EXCEPTIONS
#endif
# 425 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !(__has_feature(cxx_strong_enums))
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 427 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_NO_STRONG_ENUMS
#endif
# 429 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if __has_feature(cxx_attributes)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 431 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_NORETURN [[noreturn]]
#else
# 433 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_NORETURN __attribute__ ((noreturn))
#endif
# 435 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !(__has_feature(cxx_lambdas))
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 437 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_NO_LAMBDAS
#endif
# 439 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !(__has_feature(cxx_nullptr))
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 441 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
# if (__has_extension(cxx_nullptr) || __has_keyword(__nullptr)) && defined(_LIBCPP_ABI_ALWAYS_USE_CXX11_NULLPTR)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 442 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define nullptr __nullptr
# else
# 444 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_NO_NULLPTR
# endif
# 446 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 447 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !(__has_feature(cxx_rvalue_references))
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 449 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_NO_RVALUE_REFERENCES
#endif
# 451 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !(__has_feature(cxx_auto_type))
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 453 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_NO_AUTO_TYPE
#endif
# 455 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !(__has_feature(cxx_variadic_templates))
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 457 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_NO_VARIADICS
#endif
# 459 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Objective-C++ features (opt-in)
#if 0 /* disabled by -frewrite-includes */
#if __has_feature(objc_arc)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 462 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_OBJC_ARC
#endif
# 464 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if __has_feature(objc_arc_weak)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 466 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_OBJC_ARC_WEAK
#endif
# 468 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if __has_extension(blocks)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 470 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_EXTENSION_BLOCKS
#endif
# 472 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBCPP_HAS_EXTENSION_BLOCKS) && defined(__APPLE__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 474 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_BLOCKS_RUNTIME
#endif
# 476 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !(__has_feature(cxx_relaxed_constexpr))
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 478 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_NO_CXX14_CONSTEXPR
#endif
# 480 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !(__has_feature(cxx_variable_templates))
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 482 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_NO_VARIABLE_TEMPLATES
#endif
# 484 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !(__has_feature(cxx_noexcept))
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 486 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_NO_NOEXCEPT
#endif
# 488 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_ASAN) && !__has_feature(address_sanitizer)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 490 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_NO_ASAN
#endif
# 492 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Allow for build-time disabling of unsigned integer sanitization
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK) && __has_attribute(no_sanitize)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 495 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK __attribute__((__no_sanitize__("unsigned-integer-overflow")))
#endif
# 497 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if __has_builtin(__builtin_launder)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 499 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_COMPILER_HAS_BUILTIN_LAUNDER
#endif
# 501 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if __has_builtin(__builtin_constant_p)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 503 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_COMPILER_HAS_BUILTIN_CONSTANT_P
#endif
# 505 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !__is_identifier(__has_unique_object_representations)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 507 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_UNIQUE_OBJECT_REPRESENTATIONS
#endif
# 509 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_ALWAYS_INLINE __attribute__ ((__always_inline__))
// Literal operators ""d and ""y are supported starting with LLVM Clang 8 and AppleClang 10.0.1
#if 0 /* disabled by -frewrite-includes */
#if (defined(_LIBCPP_CLANG_VER) && _LIBCPP_CLANG_VER < 800) || \
(defined(__apple_build_version__) && __apple_build_version__ < 10010000)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 515 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_NO_CXX20_CHRONO_LITERALS
#endif
# 517 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_DISABLE_EXTENSION_WARNING __extension__
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBCPP_COMPILER_GCC)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 521 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _ALIGNAS(x) __attribute__((__aligned__(x)))
#define _ALIGNAS_TYPE(x) __attribute__((__aligned__(_LIBCPP_ALIGNOF(x))))
#define _LIBCPP_NORETURN __attribute__((noreturn))
#if 0 /* disabled by -frewrite-includes */
#if !__EXCEPTIONS
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 528 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_NO_EXCEPTIONS
#endif
# 530 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Determine if GCC supports relaxed constexpr
#if 0 /* disabled by -frewrite-includes */
#if !defined(__cpp_constexpr) || __cpp_constexpr < 201304L
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 533 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_NO_CXX14_CONSTEXPR
#endif
# 535 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// GCC 5 supports variable templates
#if 0 /* disabled by -frewrite-includes */
#if !defined(__cpp_variable_templates) || __cpp_variable_templates < 201304L
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 538 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_NO_VARIABLE_TEMPLATES
#endif
# 540 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_ASAN) && !defined(__SANITIZE_ADDRESS__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 542 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_NO_ASAN
#endif
# 544 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if _GNUC_VER >= 700
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 546 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_COMPILER_HAS_BUILTIN_LAUNDER
#define _LIBCPP_COMPILER_HAS_BUILTIN_CONSTANT_P
#define _LIBCPP_HAS_UNIQUE_OBJECT_REPRESENTATIONS
#endif
# 550 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_ALWAYS_INLINE __attribute__ ((__always_inline__))
#define _LIBCPP_DISABLE_EXTENSION_WARNING __extension__
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBCPP_COMPILER_MSVC)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 556 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_TOSTRING2(x) #x
#define _LIBCPP_TOSTRING(x) _LIBCPP_TOSTRING2(x)
#define _LIBCPP_WARNING(x) __pragma(message(__FILE__ "(" _LIBCPP_TOSTRING(__LINE__) ") : warning note: " x))
#if 0 /* disabled by -frewrite-includes */
#if _MSC_VER < 1900
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 562 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#error "MSVC versions prior to Visual Studio 2015 are not supported"
#endif
# 564 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_NO_CXX14_CONSTEXPR
#define _LIBCPP_HAS_NO_VARIABLE_TEMPLATES
#define __alignof__ __alignof
#define _LIBCPP_NORETURN __declspec(noreturn)
#define _ALIGNAS(x) __declspec(align(x))
#define _ALIGNAS_TYPE(x) alignas(x)
#define _LIBCPP_WEAK
#define _LIBCPP_HAS_NO_ASAN
#define _LIBCPP_ALWAYS_INLINE __forceinline
#define _LIBCPP_HAS_NO_VECTOR_EXTENSION
#define _LIBCPP_DISABLE_EXTENSION_WARNING
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBCPP_COMPILER_IBM)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 583 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _ALIGNAS(x) __attribute__((__aligned__(x)))
#define _ALIGNAS_TYPE(x) __attribute__((__aligned__(_LIBCPP_ALIGNOF(x))))
#define _ATTRIBUTE(x) __attribute__((x))
#define _LIBCPP_NORETURN __attribute__((noreturn))
#define _LIBCPP_HAS_NO_UNICODE_CHARS
#define _LIBCPP_HAS_NO_VARIABLE_TEMPLATES
#if 0 /* disabled by -frewrite-includes */
#if defined(_AIX)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 593 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define __MULTILOCALE_API
#endif
# 595 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_NO_ASAN
#define _LIBCPP_ALWAYS_INLINE __attribute__ ((__always_inline__))
#define _LIBCPP_HAS_NO_VECTOR_EXTENSION
#define _LIBCPP_DISABLE_EXTENSION_WARNING
#endif // _LIBCPP_COMPILER_[CLANG|GCC|MSVC|IBM]
# 605 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBCPP_OBJECT_FORMAT_COFF)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 607 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifdef _DLL
# define _LIBCPP_CRT_FUNC __declspec(dllimport)
#else
# 611 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_CRT_FUNC
#endif
# 613 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 615 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_DLL_VIS
# define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS
# define _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS
# define _LIBCPP_OVERRIDABLE_FUNC_VIS
# define _LIBCPP_EXPORTED_FROM_ABI
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBCPP_BUILDING_LIBRARY)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 621 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_DLL_VIS __declspec(dllexport)
#if 0 /* disabled by -frewrite-includes */
# if defined(__MINGW32__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 623 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS _LIBCPP_DLL_VIS
# define _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS
# else
# 626 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS
# define _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS _LIBCPP_DLL_VIS
# endif
# 629 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_OVERRIDABLE_FUNC_VIS _LIBCPP_DLL_VIS
# define _LIBCPP_EXPORTED_FROM_ABI __declspec(dllexport)
#else
# 632 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_DLL_VIS __declspec(dllimport)
# define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS _LIBCPP_DLL_VIS
# define _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS
# define _LIBCPP_OVERRIDABLE_FUNC_VIS
# define _LIBCPP_EXPORTED_FROM_ABI __declspec(dllimport)
#endif
# 638 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_TYPE_VIS _LIBCPP_DLL_VIS
#define _LIBCPP_FUNC_VIS _LIBCPP_DLL_VIS
#define _LIBCPP_EXCEPTION_ABI _LIBCPP_DLL_VIS
#define _LIBCPP_HIDDEN
#define _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
#define _LIBCPP_TEMPLATE_VIS
#define _LIBCPP_ENUM_VIS
#endif // defined(_LIBCPP_OBJECT_FORMAT_COFF)
# 648 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_HIDDEN
#if 0 /* disabled by -frewrite-includes */
# if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 651 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HIDDEN __attribute__ ((__visibility__("hidden")))
# else
# 653 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HIDDEN
# endif
# 655 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 656 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
#if 0 /* disabled by -frewrite-includes */
# if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 659 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// The inline should be removed once PR32114 is resolved
# define _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS inline _LIBCPP_HIDDEN
# else
# 662 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
# endif
# 664 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 665 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_FUNC_VIS
#if 0 /* disabled by -frewrite-includes */
# if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 668 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_FUNC_VIS __attribute__ ((__visibility__("default")))
# else
# 670 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_FUNC_VIS
# endif
# 672 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 673 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_TYPE_VIS
#if 0 /* disabled by -frewrite-includes */
# if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 676 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_TYPE_VIS __attribute__ ((__visibility__("default")))
# else
# 678 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_TYPE_VIS
# endif
# 680 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 681 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_TEMPLATE_VIS
#if 0 /* disabled by -frewrite-includes */
# if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 684 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
# if __has_attribute(__type_visibility__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 685 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_TEMPLATE_VIS __attribute__ ((__type_visibility__("default")))
# else
# 687 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_TEMPLATE_VIS __attribute__ ((__visibility__("default")))
# endif
# 689 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# else
# 690 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_TEMPLATE_VIS
# endif
# 692 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 693 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_EXPORTED_FROM_ABI
#if 0 /* disabled by -frewrite-includes */
# if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 696 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_EXPORTED_FROM_ABI __attribute__((__visibility__("default")))
# else
# 698 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_EXPORTED_FROM_ABI
# endif
# 700 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 701 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_OVERRIDABLE_FUNC_VIS
#define _LIBCPP_OVERRIDABLE_FUNC_VIS _LIBCPP_FUNC_VIS
#endif
# 705 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_EXCEPTION_ABI
#if 0 /* disabled by -frewrite-includes */
# if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 708 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_EXCEPTION_ABI __attribute__ ((__visibility__("default")))
# else
# 710 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_EXCEPTION_ABI
# endif
# 712 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 713 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_ENUM_VIS
#if 0 /* disabled by -frewrite-includes */
# if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS) && __has_attribute(__type_visibility__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 716 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_ENUM_VIS __attribute__ ((__type_visibility__("default")))
# else
# 718 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_ENUM_VIS
# endif
# 720 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 721 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS
#if 0 /* disabled by -frewrite-includes */
# if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS) && __has_attribute(__type_visibility__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 724 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __attribute__ ((__visibility__("default")))
# else
# 726 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS
# endif
# 728 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 729 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS
#define _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS
#endif
# 733 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if __has_attribute(internal_linkage)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 735 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_INTERNAL_LINKAGE __attribute__ ((internal_linkage))
#else
# 737 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_INTERNAL_LINKAGE _LIBCPP_ALWAYS_INLINE
#endif
# 739 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if __has_attribute(exclude_from_explicit_instantiation)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 741 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION __attribute__ ((__exclude_from_explicit_instantiation__))
#else
# 743 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Try to approximate the effect of exclude_from_explicit_instantiation
// (which is that entities are not assumed to be provided by explicit
// template instantiations in the dylib) by always inlining those entities.
# define _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION _LIBCPP_ALWAYS_INLINE
#endif
# 748 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_HIDE_FROM_ABI_PER_TU
# ifndef _LIBCPP_HIDE_FROM_ABI_PER_TU_BY_DEFAULT
# define _LIBCPP_HIDE_FROM_ABI_PER_TU 0
# else
# 753 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HIDE_FROM_ABI_PER_TU 1
# endif
# 755 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 756 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION
# ifdef _LIBCPP_OBJECT_FORMAT_COFF // Windows binaries can't merge typeinfos.
# define _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION 2
# else
# 761 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// TODO: This isn't strictly correct on ELF platforms due to llvm.org/PR37398
// And we should consider defaulting to OFF.
# define _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION 1
# endif
# 765 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 766 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_HIDE_FROM_ABI
#if 0 /* disabled by -frewrite-includes */
# if _LIBCPP_HIDE_FROM_ABI_PER_TU
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 769 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HIDE_FROM_ABI _LIBCPP_HIDDEN _LIBCPP_INTERNAL_LINKAGE
# else
# 771 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HIDE_FROM_ABI _LIBCPP_HIDDEN _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
# endif
# 773 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 774 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifdef _LIBCPP_BUILDING_LIBRARY
#if 0 /* disabled by -frewrite-includes */
# if _LIBCPP_ABI_VERSION > 1
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 777 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HIDE_FROM_ABI_AFTER_V1 _LIBCPP_HIDE_FROM_ABI
# else
# 779 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HIDE_FROM_ABI_AFTER_V1
# endif
# 781 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#else
# 782 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HIDE_FROM_ABI_AFTER_V1 _LIBCPP_HIDE_FROM_ABI
#endif
# 784 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Just so we can migrate to the new macros gradually.
#define _LIBCPP_INLINE_VISIBILITY _LIBCPP_HIDE_FROM_ABI
// Inline namespaces are available in Clang/GCC/MSVC regardless of C++ dialect.
#define _LIBCPP_BEGIN_NAMESPACE_STD namespace std { inline namespace _LIBCPP_ABI_NAMESPACE {
#define _LIBCPP_END_NAMESPACE_STD } }
#define _VSTD std::_LIBCPP_ABI_NAMESPACE
_LIBCPP_BEGIN_NAMESPACE_STD _LIBCPP_END_NAMESPACE_STD
#if 0 /* disabled by -frewrite-includes */
#if _LIBCPP_STD_VER >= 17
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 795 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_BEGIN_NAMESPACE_FILESYSTEM \
_LIBCPP_BEGIN_NAMESPACE_STD inline namespace __fs { namespace filesystem {
#else
# 798 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_BEGIN_NAMESPACE_FILESYSTEM \
_LIBCPP_BEGIN_NAMESPACE_STD namespace __fs { namespace filesystem {
#endif
# 801 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_END_NAMESPACE_FILESYSTEM \
_LIBCPP_END_NAMESPACE_STD } }
#define _VSTD_FS _VSTD::__fs::filesystem
#ifndef _LIBCPP_PREFERRED_OVERLOAD
#if 0 /* disabled by -frewrite-includes */
# if __has_attribute(__enable_if__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 809 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_PREFERRED_OVERLOAD __attribute__ ((__enable_if__(true, "")))
# endif
# 811 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 812 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_HAS_NO_NOEXCEPT
# define _NOEXCEPT noexcept
# define _NOEXCEPT_(x) noexcept(x)
#else
# 817 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _NOEXCEPT throw()
# define _NOEXCEPT_(x)
#endif
# 820 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifdef _LIBCPP_HAS_NO_UNICODE_CHARS
typedef unsigned short char16_t;
typedef unsigned int char32_t;
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
# 825 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef __SIZEOF_INT128__
#define _LIBCPP_HAS_NO_INT128
#endif
# 829 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifdef _LIBCPP_CXX03_LANG
# define static_assert(...) _Static_assert(__VA_ARGS__)
# define decltype(...) __decltype(__VA_ARGS__)
#endif // _LIBCPP_CXX03_LANG
# 834 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifdef _LIBCPP_CXX03_LANG
# define _LIBCPP_CONSTEXPR
#else
# 838 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_CONSTEXPR constexpr
#endif
# 840 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifdef _LIBCPP_CXX03_LANG
# define _LIBCPP_DEFAULT {}
#else
# 844 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_DEFAULT = default;
#endif
# 846 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifdef _LIBCPP_CXX03_LANG
# define _LIBCPP_EQUAL_DELETE
#else
# 850 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_EQUAL_DELETE = delete
#endif
# 852 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifdef __GNUC__
# define _LIBCPP_NOALIAS __attribute__((__malloc__))
#else
# 856 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_NOALIAS
#endif
# 858 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if __has_feature(cxx_explicit_conversions) || defined(__IBMCPP__) || \
(!defined(_LIBCPP_CXX03_LANG) && defined(__GNUC__)) // All supported GCC versions
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 861 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_EXPLICIT explicit
#else
# 863 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_EXPLICIT
#endif
# 865 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !__has_builtin(__builtin_operator_new) || !__has_builtin(__builtin_operator_delete)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 867 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_NO_BUILTIN_OPERATOR_NEW_DELETE
#endif
# 869 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifdef _LIBCPP_HAS_NO_STRONG_ENUMS
# define _LIBCPP_DECLARE_STRONG_ENUM(x) struct _LIBCPP_TYPE_VIS x { enum __lx
# define _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(x) \
__lx __v_; \
_LIBCPP_INLINE_VISIBILITY x(__lx __v) : __v_(__v) {} \
_LIBCPP_INLINE_VISIBILITY explicit x(int __v) : __v_(static_cast<__lx>(__v)) {} \
_LIBCPP_INLINE_VISIBILITY operator int() const {return __v_;} \
};
#else // _LIBCPP_HAS_NO_STRONG_ENUMS
# 879 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_DECLARE_STRONG_ENUM(x) enum class _LIBCPP_ENUM_VIS x
# define _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(x)
#endif // _LIBCPP_HAS_NO_STRONG_ENUMS
# 882 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifdef _LIBCPP_DEBUG
#if 0 /* disabled by -frewrite-includes */
# if _LIBCPP_DEBUG == 0
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 885 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_DEBUG_LEVEL 1
#if 0 /* disabled by -frewrite-includes */
#if 0
# elif _LIBCPP_DEBUG == 1
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 887 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_DEBUG_LEVEL 2
# else
# 889 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# error Supported values for _LIBCPP_DEBUG are 0 and 1
# endif
# 891 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
# if !defined(_LIBCPP_BUILDING_LIBRARY)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 892 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_EXTERN_TEMPLATE(...)
# endif
# 894 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 895 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_DEBUG_LEVEL
# define _LIBCPP_DEBUG_LEVEL 0
#endif
# 899 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifdef _LIBCPP_DISABLE_EXTERN_TEMPLATE
#define _LIBCPP_EXTERN_TEMPLATE(...)
#define _LIBCPP_EXTERN_TEMPLATE2(...)
#endif
# 904 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_EXTERN_TEMPLATE
#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;
#endif
# 908 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_EXTERN_TEMPLATE2
#define _LIBCPP_EXTERN_TEMPLATE2(...) extern template __VA_ARGS__;
#endif
# 912 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_EXTERN_TEMPLATE_DEFINE
#define _LIBCPP_EXTERN_TEMPLATE_DEFINE(...) template __VA_ARGS__;
#endif
# 916 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(__APPLE__) || defined(__FreeBSD__) || defined(_LIBCPP_MSVCRT_LIKE) || \
defined(__sun__) || defined(__NetBSD__) || defined(__CloudABI__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 919 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_LOCALE__L_EXTENSIONS 1
#endif
# 921 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 923 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Most unix variants have catopen. These are the specific ones that don't.
#if 0 /* disabled by -frewrite-includes */
# if !defined(__BIONIC__) && !defined(_NEWLIB_VERSION)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 925 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_CATOPEN 1
# endif
# 927 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 928 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifdef __FreeBSD__
#define _DECLARE_C99_LDBL_MATH 1
#endif
# 932 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// If we are getting operator new from the MSVC CRT, then allocation overloads
// for align_val_t were added in 19.12, aka VS 2017 version 15.3.
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBCPP_MSVCRT) && defined(_MSC_VER) && _MSC_VER < 1912
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 936 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBCPP_ABI_VCRUNTIME) && !defined(__cpp_aligned_new)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 938 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// We're deferring to Microsoft's STL to provide aligned new et al. We don't
// have it unless the language feature test macro is defined.
# define _LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION
#endif
# 942 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(__APPLE__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 944 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
# if !defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && \
defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 946 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
# endif
# 948 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif // defined(__APPLE__)
# 949 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_ALIGNED_ALLOCATION) && \
(defined(_LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION) || \
(!defined(__cpp_aligned_new) || __cpp_aligned_new < 201606))
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 953 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_NO_ALIGNED_ALLOCATION
#endif
# 955 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(__APPLE__) || defined(__FreeBSD__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 957 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_DEFAULTRUNELOCALE
#endif
# 959 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__sun__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 961 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_WCTYPE_IS_MASK
#endif
# 963 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if _LIBCPP_STD_VER <= 17 || !defined(__cpp_char8_t)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 965 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_NO_HAS_CHAR8_T
#endif
# 967 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Deprecation macros.
//
// Deprecations warnings are always enabled, except when users explicitly opt-out
// by defining _LIBCPP_DISABLE_DEPRECATION_WARNINGS.
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_DISABLE_DEPRECATION_WARNINGS)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 973 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
# if __has_attribute(deprecated)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 974 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_DEPRECATED __attribute__ ((deprecated))
#if 0 /* disabled by -frewrite-includes */
#if 0
# elif _LIBCPP_STD_VER > 11
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 976 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_DEPRECATED [[deprecated]]
# else
# 978 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_DEPRECATED
# endif
# 980 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#else
# 981 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_DEPRECATED
#endif
# 983 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_CXX03_LANG)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 985 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED
#else
# 987 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_DEPRECATED_IN_CXX11
#endif
# 989 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if _LIBCPP_STD_VER >= 14
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 991 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_DEPRECATED_IN_CXX14 _LIBCPP_DEPRECATED
#else
# 993 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_DEPRECATED_IN_CXX14
#endif
# 995 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if _LIBCPP_STD_VER >= 17
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 997 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED
#else
# 999 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_DEPRECATED_IN_CXX17
#endif
# 1001 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Macros to enter and leave a state where deprecation warnings are suppressed.
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_SUPPRESS_DEPRECATED_PUSH) && \
(defined(_LIBCPP_COMPILER_CLANG) || defined(_LIBCPP_COMPILER_GCC))
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 1005 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_SUPPRESS_DEPRECATED_PUSH \
_Pragma("GCC diagnostic push") \
_Pragma("GCC diagnostic ignored \"-Wdeprecated\"")
# define _LIBCPP_SUPPRESS_DEPRECATED_POP \
_Pragma("GCC diagnostic pop")
#endif
# 1011 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_SUPPRESS_DEPRECATED_PUSH)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1012 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_SUPPRESS_DEPRECATED_PUSH
# define _LIBCPP_SUPPRESS_DEPRECATED_POP
#endif
# 1015 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if _LIBCPP_STD_VER <= 11
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 1017 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_EXPLICIT_AFTER_CXX11
#else
# 1019 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_EXPLICIT_AFTER_CXX11 explicit
#endif
# 1021 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if _LIBCPP_STD_VER > 11 && !defined(_LIBCPP_HAS_NO_CXX14_CONSTEXPR)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1023 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_CONSTEXPR_AFTER_CXX11 constexpr
#else
# 1025 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_CONSTEXPR_AFTER_CXX11
#endif
# 1027 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_CXX14_CONSTEXPR)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1029 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_CONSTEXPR_AFTER_CXX14 constexpr
#else
# 1031 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_CONSTEXPR_AFTER_CXX14
#endif
# 1033 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if _LIBCPP_STD_VER > 17 && !defined(_LIBCPP_HAS_NO_CXX14_CONSTEXPR)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1035 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_CONSTEXPR_AFTER_CXX17 constexpr
#else
# 1037 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_CONSTEXPR_AFTER_CXX17
#endif
# 1039 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if _LIBCPP_STD_VER > 17 && \
!defined(_LIBCPP_HAS_NO_CXX14_CONSTEXPR) && \
!defined(_LIBCPP_HAS_NO_BUILTIN_IS_CONSTANT_EVALUATED)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1043 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_CONSTEXPR_AFTER_CXX17_WITH_IS_CONSTANT_EVALUATED constexpr
#else
# 1045 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_CONSTEXPR_AFTER_CXX17_WITH_IS_CONSTANT_EVALUATED
#endif
# 1047 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// The _LIBCPP_NODISCARD_ATTRIBUTE should only be used to define other
// NODISCARD macros to the correct attribute.
#if 0 /* disabled by -frewrite-includes */
#if __has_cpp_attribute(nodiscard) || defined(_LIBCPP_COMPILER_MSVC)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 1051 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_NODISCARD_ATTRIBUTE [[nodiscard]]
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBCPP_COMPILER_CLANG) && !defined(_LIBCPP_CXX03_LANG)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 1053 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_NODISCARD_ATTRIBUTE [[clang::warn_unused_result]]
#else
# 1055 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// We can't use GCC's [[gnu::warn_unused_result]] and
// __attribute__((warn_unused_result)), because GCC does not silence them via
// (void) cast.
# define _LIBCPP_NODISCARD_ATTRIBUTE
#endif
# 1060 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// _LIBCPP_NODISCARD_EXT may be used to apply [[nodiscard]] to entities not
// specified as such as an extension.
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBCPP_ENABLE_NODISCARD) && !defined(_LIBCPP_DISABLE_NODISCARD_EXT)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1064 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_NODISCARD_EXT _LIBCPP_NODISCARD_ATTRIBUTE
#else
# 1066 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_NODISCARD_EXT
#endif
# 1068 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_DISABLE_NODISCARD_AFTER_CXX17) && \
(_LIBCPP_STD_VER > 17 || defined(_LIBCPP_ENABLE_NODISCARD))
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1071 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_NODISCARD_ATTRIBUTE
#else
# 1073 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_NODISCARD_AFTER_CXX17
#endif
# 1075 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if _LIBCPP_STD_VER > 14 && defined(__cpp_inline_variables) && (__cpp_inline_variables >= 201606L)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1077 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_INLINE_VAR inline
#else
# 1079 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_INLINE_VAR
#endif
# 1081 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifdef _LIBCPP_HAS_NO_RVALUE_REFERENCES
# define _LIBCPP_EXPLICIT_MOVE(x) _VSTD::move(x)
#else
# 1085 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_EXPLICIT_MOVE(x) (x)
#endif
# 1087 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_CONSTEXPR_IF_NODEBUG
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBCPP_DEBUG) || defined(_LIBCPP_HAS_NO_CXX14_CONSTEXPR)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 1090 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_CONSTEXPR_IF_NODEBUG
#else
# 1092 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_CONSTEXPR_IF_NODEBUG constexpr
#endif
# 1094 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 1095 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if __has_attribute(no_destroy)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 1097 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_NO_DESTROY __attribute__((__no_destroy__))
#else
# 1099 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_NO_DESTROY
#endif
# 1101 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_HAS_NO_ASAN
_LIBCPP_FUNC_VIS extern "C" void __sanitizer_annotate_contiguous_container(
const void *, const void *, const void *, const void *);
#endif
# 1106 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Try to find out if RTTI is disabled.
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBCPP_COMPILER_CLANG) && !__has_feature(cxx_rtti)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 1109 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_NO_RTTI
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(__GNUC__) && !defined(__GXX_RTTI)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 1111 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_NO_RTTI
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBCPP_COMPILER_MSVC) && !defined(_CPPRTTI)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 1113 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_NO_RTTI
#endif
# 1115 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_WEAK
#define _LIBCPP_WEAK __attribute__((__weak__))
#endif
# 1119 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Thread API
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_THREADS) && \
!defined(_LIBCPP_HAS_THREAD_API_PTHREAD) && \
!defined(_LIBCPP_HAS_THREAD_API_WIN32) && \
!defined(_LIBCPP_HAS_THREAD_API_EXTERNAL)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 1125 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
# if defined(__FreeBSD__) || \
defined(__wasi__) || \
defined(__NetBSD__) || \
defined(__linux__) || \
defined(__GNU__) || \
defined(__APPLE__) || \
defined(__CloudABI__) || \
defined(__sun__) || \
(defined(__MINGW32__) && __has_include(<pthread.h>))
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 1134 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_THREAD_API_PTHREAD
#if 0 /* disabled by -frewrite-includes */
#if 0
# elif defined(__Fuchsia__)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 1136 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// TODO(44575): Switch to C11 thread API when possible.
# define _LIBCPP_HAS_THREAD_API_PTHREAD
#if 0 /* disabled by -frewrite-includes */
#if 0
# elif defined(_LIBCPP_WIN32API)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 1139 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_THREAD_API_WIN32
# else
# 1141 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# error "No thread API"
# endif // _LIBCPP_HAS_THREAD_API
# 1143 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif // _LIBCPP_HAS_NO_THREADS
# 1144 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBCPP_HAS_THREAD_API_PTHREAD)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 1146 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(__ANDROID__) && __ANDROID_API__ >= 30
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1147 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_COND_CLOCKWAIT
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBCPP_GLIBC_PREREQ)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 1149 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if _LIBCPP_GLIBC_PREREQ(2, 30)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1150 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_COND_CLOCKWAIT
#endif
# 1152 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 1153 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 1154 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBCPP_HAS_NO_THREADS) && defined(_LIBCPP_HAS_THREAD_API_PTHREAD)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1156 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#error _LIBCPP_HAS_THREAD_API_PTHREAD may only be defined when \
_LIBCPP_HAS_NO_THREADS is not defined.
#endif
# 1159 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBCPP_HAS_NO_THREADS) && defined(_LIBCPP_HAS_THREAD_API_EXTERNAL)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1161 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#error _LIBCPP_HAS_THREAD_API_EXTERNAL may not be defined when \
_LIBCPP_HAS_NO_THREADS is defined.
#endif
# 1164 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBCPP_HAS_NO_MONOTONIC_CLOCK) && !defined(_LIBCPP_HAS_NO_THREADS)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1166 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#error _LIBCPP_HAS_NO_MONOTONIC_CLOCK may only be defined when \
_LIBCPP_HAS_NO_THREADS is defined.
#endif
# 1169 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(__STDCPP_THREADS__) && defined(_LIBCPP_HAS_NO_THREADS)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1171 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#error _LIBCPP_HAS_NO_THREADS cannot be set when __STDCPP_THREADS__ is set.
#endif
# 1173 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(__STDCPP_THREADS__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 1175 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define __STDCPP_THREADS__ 1
#endif
# 1177 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// The glibc and Bionic implementation of pthreads implements
// pthread_mutex_destroy as nop for regular mutexes. Additionally, Win32
// mutexes have no destroy mechanism.
//
// This optimization can't be performed on Apple platforms, where
// pthread_mutex_destroy can allow the kernel to release resources.
// See https://llvm.org/D64298 for details.
//
// TODO(EricWF): Enable this optimization on Bionic after speaking to their
// respective stakeholders.
#if 0 /* disabled by -frewrite-includes */
#if (defined(_LIBCPP_HAS_THREAD_API_PTHREAD) && defined(__GLIBC__)) \
|| (defined(_LIBCPP_HAS_THREAD_API_C11) && defined(__Fuchsia__)) \
|| defined(_LIBCPP_HAS_THREAD_API_WIN32)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1191 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_TRIVIAL_MUTEX_DESTRUCTION
#endif
# 1193 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Destroying a condvar is a nop on Windows.
//
// This optimization can't be performed on Apple platforms, where
// pthread_cond_destroy can allow the kernel to release resources.
// See https://llvm.org/D64298 for details.
//
// TODO(EricWF): This is potentially true for some pthread implementations
// as well.
#if 0 /* disabled by -frewrite-includes */
#if (defined(_LIBCPP_HAS_THREAD_API_C11) && defined(__Fuchsia__)) || \
defined(_LIBCPP_HAS_THREAD_API_WIN32)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1204 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_TRIVIAL_CONDVAR_DESTRUCTION
#endif
# 1206 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Systems that use capability-based security (FreeBSD with Capsicum,
// Nuxi CloudABI) may only provide local filesystem access (using *at()).
// Functions like open(), rename(), unlink() and stat() should not be
// used, as they attempt to access the global filesystem namespace.
#ifdef __CloudABI__
#define _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
#endif
# 1214 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// CloudABI is intended for running networked services. Processes do not
// have standard input and output channels.
#ifdef __CloudABI__
#define _LIBCPP_HAS_NO_STDIN
#define _LIBCPP_HAS_NO_STDOUT
#endif
# 1221 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Some systems do not provide gets() in their C library, for security reasons.
#ifndef _LIBCPP_C_HAS_NO_GETS
#if 0 /* disabled by -frewrite-includes */
# if defined(_LIBCPP_MSVCRT) || \
(defined(__FreeBSD_version) && __FreeBSD_version >= 1300043)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 1226 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_C_HAS_NO_GETS
# endif
# 1228 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 1229 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(__BIONIC__) || defined(__CloudABI__) || \
defined(__Fuchsia__) || defined(__wasi__) || defined(_LIBCPP_HAS_MUSL_LIBC)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1232 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_PROVIDES_DEFAULT_RUNE_TABLE
#endif
# 1234 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Thread-unsafe functions such as strtok() and localtime()
// are not available.
#ifdef __CloudABI__
#define _LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS
#endif
# 1240 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if __has_feature(cxx_atomic) || __has_extension(c_atomic) || __has_keyword(_Atomic)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 1242 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_C_ATOMIC_IMP
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBCPP_COMPILER_GCC)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 1244 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_GCC_ATOMIC_IMP
#endif
# 1246 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if (!defined(_LIBCPP_HAS_C_ATOMIC_IMP) && \
!defined(_LIBCPP_HAS_GCC_ATOMIC_IMP) && \
!defined(_LIBCPP_HAS_EXTERNAL_ATOMIC_IMP)) \
|| defined(_LIBCPP_HAS_NO_THREADS)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1251 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_NO_ATOMIC_HEADER
#else
# 1253 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# ifndef _LIBCPP_ATOMIC_FLAG_TYPE
# define _LIBCPP_ATOMIC_FLAG_TYPE bool
# endif
# 1256 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# ifdef _LIBCPP_FREESTANDING
# define _LIBCPP_ATOMIC_ONLY_USE_BUILTINS
# endif
# 1259 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 1260 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK
#define _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK
#endif
# 1264 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1266 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
# if defined(__clang__) && __has_attribute(acquire_capability)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1267 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Work around the attribute handling in clang. When both __declspec and
// __attribute__ are present, the processing goes awry preventing the definition
// of the types.
#if 0 /* disabled by -frewrite-includes */
# if !defined(_LIBCPP_OBJECT_FORMAT_COFF)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1271 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_THREAD_SAFETY_ANNOTATIONS
# endif
# 1273 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# endif
# 1274 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 1275 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_THREAD_SAFETY_ANNOTATION
# ifdef _LIBCPP_HAS_THREAD_SAFETY_ANNOTATIONS
# define _LIBCPP_THREAD_SAFETY_ANNOTATION(x) __attribute__((x))
# else
# 1280 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_THREAD_SAFETY_ANNOTATION(x)
# endif
# 1282 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif // _LIBCPP_THREAD_SAFETY_ANNOTATION
# 1283 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if __has_attribute(require_constant_initialization)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 1285 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_SAFE_STATIC __attribute__((__require_constant_initialization__))
#else
# 1287 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_SAFE_STATIC
#endif
# 1289 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !__has_builtin(__builtin_addressof) && _GNUC_VER < 700
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1291 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_NO_BUILTIN_ADDRESSOF
#endif
# 1293 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !__has_builtin(__builtin_is_constant_evaluated) && _GNUC_VER < 900
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1295 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_NO_BUILTIN_IS_CONSTANT_EVALUATED
#endif
# 1297 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_OFF_T_FUNCTIONS)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 1299 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
# if defined(_LIBCPP_MSVCRT) || defined(_NEWLIB_VERSION)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1300 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_HAS_NO_OFF_T_FUNCTIONS
# endif
# 1302 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 1303 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if __has_attribute(diagnose_if) && !defined(_LIBCPP_DISABLE_ADDITIONAL_DIAGNOSTICS)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 1305 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_DIAGNOSE_WARNING(...) \
__attribute__((diagnose_if(__VA_ARGS__, "warning")))
# define _LIBCPP_DIAGNOSE_ERROR(...) \
__attribute__((diagnose_if(__VA_ARGS__, "error")))
#else
# 1310 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_DIAGNOSE_WARNING(...)
# define _LIBCPP_DIAGNOSE_ERROR(...)
#endif
# 1313 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Use a function like macro to imply that it must be followed by a semicolon
#if 0 /* disabled by -frewrite-includes */
#if __cplusplus > 201402L && __has_cpp_attribute(fallthrough)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1316 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_FALLTHROUGH() [[fallthrough]]
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif __has_cpp_attribute(clang::fallthrough)
#endif
#endif /* disabled by -frewrite-includes */
#elif 1 /* evaluated by -frewrite-includes */
# 1318 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_FALLTHROUGH() [[clang::fallthrough]]
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif __has_attribute(fallthrough) || _GNUC_VER >= 700
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 1320 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_FALLTHROUGH() __attribute__((__fallthrough__))
#else
# 1322 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_FALLTHROUGH() ((void)0)
#endif
# 1324 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if __has_attribute(__nodebug__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 1326 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_NODEBUG __attribute__((__nodebug__))
#else
# 1328 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_NODEBUG
#endif
# 1330 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_NODEBUG_TYPE
#if 0 /* disabled by -frewrite-includes */
#if __has_attribute(__nodebug__) && \
(defined(_LIBCPP_CLANG_VER) && _LIBCPP_CLANG_VER >= 900)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 1334 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_NODEBUG_TYPE __attribute__((nodebug))
#else
# 1336 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_NODEBUG_TYPE
#endif
# 1338 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif // !defined(_LIBCPP_NODEBUG_TYPE)
# 1339 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBCPP_ABI_MICROSOFT) && \
(defined(_LIBCPP_COMPILER_MSVC) || __has_declspec_attribute(empty_bases))
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1342 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_DECLSPEC_EMPTY_BASES __declspec(empty_bases)
#else
# 1344 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_DECLSPEC_EMPTY_BASES
#endif
# 1346 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBCPP_ENABLE_CXX17_REMOVED_FEATURES)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1348 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR
#define _LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS
#define _LIBCPP_ENABLE_CXX17_REMOVED_RANDOM_SHUFFLE
#define _LIBCPP_ENABLE_CXX17_REMOVED_BINDERS
#endif // _LIBCPP_ENABLE_CXX17_REMOVED_FEATURES
# 1353 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(__cpp_deduction_guides) || __cpp_deduction_guides < 201611
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 1355 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_NO_DEDUCTION_GUIDES
#endif
# 1357 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !__has_keyword(__is_aggregate) && (_GNUC_VER_NEW < 7001)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1359 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_NO_IS_AGGREGATE
#endif
# 1361 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(__cpp_coroutines) || __cpp_coroutines < 201703L
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 1363 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_NO_COROUTINES
#endif
# 1365 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(__cpp_impl_three_way_comparison) || __cpp_impl_three_way_comparison < 201907L
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 1367 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_NO_SPACESHIP_OPERATOR
#endif
# 1369 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Decide whether to use availability macros.
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_BUILDING_LIBRARY) && \
!defined(_LIBCXXABI_BUILDING_LIBRARY) && \
!defined(_LIBCPP_DISABLE_AVAILABILITY) && \
__has_feature(attribute_availability_with_strict) && \
__has_feature(attribute_availability_in_templates) && \
__has_extension(pragma_clang_attribute_external_declaration)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 1377 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# ifdef __APPLE__
# define _LIBCPP_USE_AVAILABILITY_APPLE
# endif
# 1380 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif
# 1381 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Define availability macros.
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBCPP_USE_AVAILABILITY_APPLE)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1384 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_AVAILABILITY_SHARED_MUTEX \
__attribute__((availability(macosx,strict,introduced=10.12))) \
__attribute__((availability(ios,strict,introduced=10.0))) \
__attribute__((availability(tvos,strict,introduced=10.0))) \
__attribute__((availability(watchos,strict,introduced=3.0)))
# define _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS \
__attribute__((availability(macosx,strict,introduced=10.13))) \
__attribute__((availability(ios,strict,introduced=11.0))) \
__attribute__((availability(tvos,strict,introduced=11.0))) \
__attribute__((availability(watchos,strict,introduced=4.0)))
# define _LIBCPP_AVAILABILITY_BAD_VARIANT_ACCESS \
_LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS
# define _LIBCPP_AVAILABILITY_BAD_ANY_CAST \
_LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS
# define _LIBCPP_AVAILABILITY_UNCAUGHT_EXCEPTIONS \
__attribute__((availability(macosx,strict,introduced=10.12))) \
__attribute__((availability(ios,strict,introduced=10.0))) \
__attribute__((availability(tvos,strict,introduced=10.0))) \
__attribute__((availability(watchos,strict,introduced=3.0)))
# define _LIBCPP_AVAILABILITY_SIZED_NEW_DELETE \
__attribute__((availability(macosx,strict,introduced=10.12))) \
__attribute__((availability(ios,strict,introduced=10.0))) \
__attribute__((availability(tvos,strict,introduced=10.0))) \
__attribute__((availability(watchos,strict,introduced=3.0)))
# define _LIBCPP_AVAILABILITY_FUTURE_ERROR \
__attribute__((availability(ios,strict,introduced=6.0)))
# define _LIBCPP_AVAILABILITY_TYPEINFO_VTABLE \
__attribute__((availability(macosx,strict,introduced=10.9))) \
__attribute__((availability(ios,strict,introduced=7.0)))
# define _LIBCPP_AVAILABILITY_LOCALE_CATEGORY \
__attribute__((availability(macosx,strict,introduced=10.9))) \
__attribute__((availability(ios,strict,introduced=7.0)))
# define _LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR \
__attribute__((availability(macosx,strict,introduced=10.9))) \
__attribute__((availability(ios,strict,introduced=7.0)))
# define _LIBCPP_AVAILABILITY_FILESYSTEM \
__attribute__((availability(macosx,strict,introduced=10.15))) \
__attribute__((availability(ios,strict,introduced=13.0))) \
__attribute__((availability(tvos,strict,introduced=13.0))) \
__attribute__((availability(watchos,strict,introduced=6.0)))
# define _LIBCPP_AVAILABILITY_FILESYSTEM_PUSH \
_Pragma("clang attribute push(__attribute__((availability(macosx,strict,introduced=10.15))), apply_to=any(function,record))") \
_Pragma("clang attribute push(__attribute__((availability(ios,strict,introduced=13.0))), apply_to=any(function,record))") \
_Pragma("clang attribute push(__attribute__((availability(tvos,strict,introduced=13.0))), apply_to=any(function,record))") \
_Pragma("clang attribute push(__attribute__((availability(watchos,strict,introduced=6.0))), apply_to=any(function,record))")
# define _LIBCPP_AVAILABILITY_FILESYSTEM_POP \
_Pragma("clang attribute pop") \
_Pragma("clang attribute pop") \
_Pragma("clang attribute pop") \
_Pragma("clang attribute pop")
# define _LIBCPP_AVAILABILITY_TO_CHARS \
_LIBCPP_AVAILABILITY_FILESYSTEM
# define _LIBCPP_AVAILABILITY_SYNC \
__attribute__((unavailable))
#else
# 1439 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_AVAILABILITY_SHARED_MUTEX
# define _LIBCPP_AVAILABILITY_BAD_VARIANT_ACCESS
# define _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS
# define _LIBCPP_AVAILABILITY_BAD_ANY_CAST
# define _LIBCPP_AVAILABILITY_UNCAUGHT_EXCEPTIONS
# define _LIBCPP_AVAILABILITY_SIZED_NEW_DELETE
# define _LIBCPP_AVAILABILITY_FUTURE_ERROR
# define _LIBCPP_AVAILABILITY_TYPEINFO_VTABLE
# define _LIBCPP_AVAILABILITY_LOCALE_CATEGORY
# define _LIBCPP_AVAILABILITY_ATOMIC_SHARED_PTR
# define _LIBCPP_AVAILABILITY_FILESYSTEM
# define _LIBCPP_AVAILABILITY_FILESYSTEM_PUSH
# define _LIBCPP_AVAILABILITY_FILESYSTEM_POP
# define _LIBCPP_AVAILABILITY_TO_CHARS
# define _LIBCPP_AVAILABILITY_SYNC
#endif
# 1455 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Define availability that depends on _LIBCPP_NO_EXCEPTIONS.
#ifdef _LIBCPP_NO_EXCEPTIONS
# define _LIBCPP_AVAILABILITY_FUTURE
# define _LIBCPP_AVAILABILITY_THROW_BAD_ANY_CAST
# define _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS
# define _LIBCPP_AVAILABILITY_THROW_BAD_VARIANT_ACCESS
#else
# 1463 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_AVAILABILITY_FUTURE _LIBCPP_AVAILABILITY_FUTURE_ERROR
# define _LIBCPP_AVAILABILITY_THROW_BAD_ANY_CAST _LIBCPP_AVAILABILITY_BAD_ANY_CAST
# define _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS
# define _LIBCPP_AVAILABILITY_THROW_BAD_VARIANT_ACCESS _LIBCPP_AVAILABILITY_BAD_VARIANT_ACCESS
#endif
# 1468 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// The stream API was dropped and re-added in the dylib shipped on macOS
// and iOS. We can only assume the dylib to provide these definitions for
// macosx >= 10.9 and ios >= 7.0. Otherwise, the definitions are available
// from the headers, but not from the dylib. Explicit instantiation
// declarations for streams exist conditionally to this; if we provide
// an explicit instantiation declaration and we try to deploy to a dylib
// that does not provide those symbols, we'll get a load-time error.
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_BUILDING_LIBRARY) && \
((defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && \
__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1090) || \
(defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && \
__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ < 70000))
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1481 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_DO_NOT_ASSUME_STREAMS_EXPLICIT_INSTANTIATION_IN_DYLIB
#endif
# 1483 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBCPP_COMPILER_IBM)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1485 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_NO_PRAGMA_PUSH_POP_MACRO
#endif
# 1487 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBCPP_HAS_NO_PRAGMA_PUSH_POP_MACRO)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1489 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_PUSH_MACROS
# define _LIBCPP_POP_MACROS
#else
# 1492 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Don't warn about macro conflicts when we can restore them at the
// end of the header.
# ifndef _LIBCPP_DISABLE_MACRO_CONFLICT_WARNINGS
# define _LIBCPP_DISABLE_MACRO_CONFLICT_WARNINGS
# endif
# 1497 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
# if defined(_LIBCPP_COMPILER_MSVC)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1498 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_PUSH_MACROS \
__pragma(push_macro("min")) \
__pragma(push_macro("max"))
# define _LIBCPP_POP_MACROS \
__pragma(pop_macro("min")) \
__pragma(pop_macro("max"))
# else
# 1505 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_PUSH_MACROS \
_Pragma("push_macro(\"min\")") \
_Pragma("push_macro(\"max\")")
# define _LIBCPP_POP_MACROS \
_Pragma("pop_macro(\"min\")") \
_Pragma("pop_macro(\"max\")")
# endif
# 1512 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif // defined(_LIBCPP_HAS_NO_PRAGMA_PUSH_POP_MACRO)
# 1513 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifndef _LIBCPP_NO_AUTO_LINK
#if 0 /* disabled by -frewrite-includes */
# if defined(_LIBCPP_ABI_MICROSOFT) && !defined(_LIBCPP_BUILDING_LIBRARY)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1516 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#if 0 /* disabled by -frewrite-includes */
# if defined(_DLL)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1517 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# pragma comment(lib, "c++.lib")
# else
# 1519 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# pragma comment(lib, "libc++.lib")
# endif
# 1521 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# endif // defined(_LIBCPP_ABI_MICROSOFT) && !defined(_LIBCPP_BUILDING_LIBRARY)
# 1522 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif // _LIBCPP_NO_AUTO_LINK
# 1523 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_UNUSED_VAR(x) ((void)(x))
// Configures the fopen close-on-exec mode character, if any. This string will
// be appended to any mode string used by fstream for fopen/fdopen.
//
// Not all platforms support this, but it helps avoid fd-leaks on platforms that
// do.
#if 0 /* disabled by -frewrite-includes */
#if defined(__BIONIC__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1532 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_FOPEN_CLOEXEC_MODE "e"
#else
# 1534 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# define _LIBCPP_FOPEN_CLOEXEC_MODE
#endif
# 1536 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#ifdef _LIBCPP_COMPILER_HAS_BUILTIN_CONSTANT_P
#define _LIBCPP_BUILTIN_CONSTANT_P(x) __builtin_constant_p(x)
#else
# 1540 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_BUILTIN_CONSTANT_P(x) false
#endif
# 1542 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
// Support for _FILE_OFFSET_BITS=64 landed gradually in Android, so the full set
// of functions used in cstdio may not be available for low API levels when
// using 64-bit file offsets on LP32.
#if 0 /* disabled by -frewrite-includes */
#if defined(__BIONIC__) && defined(__USE_FILE_OFFSET64) && __ANDROID_API__ < 24
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1547 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#define _LIBCPP_HAS_NO_FGETPOS_FSETPOS
#endif
# 1549 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif // __cplusplus
# 1551 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
#endif // _LIBCPP_CONFIG
# 1553 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__config" 3
# 107 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdint.h" 2 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 109 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdint.h" 3
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 110 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdint.h" 3
#endif
# 111 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdint.h" 3
/* C99 stdlib (e.g. glibc < 2.18) does not provide macros needed
for C++11 unless __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS
are defined
*/
#if 0 /* disabled by -frewrite-includes */
#if defined(__cplusplus) && !defined(__STDC_LIMIT_MACROS)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 117 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdint.h" 3
# define __STDC_LIMIT_MACROS
#endif
# 119 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdint.h" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(__cplusplus) && !defined(__STDC_CONSTANT_MACROS)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 120 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdint.h" 3
# define __STDC_CONSTANT_MACROS
#endif
# 122 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdint.h" 3
#if 0 /* expanded by -frewrite-includes */
#include_next <stdint.h>
#endif /* expanded by -frewrite-includes */
# 123 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdint.h" 3
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-2-Clause-FreeBSD
*
* 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$
*/
#ifndef _SYS_STDINT_H_
#define _SYS_STDINT_H_
#if 0 /* expanded by -frewrite-includes */
#include <sys/cdefs.h>
#endif /* expanded by -frewrite-includes */
# 34 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 3 4
# 35 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 3 4
#if 0 /* expanded by -frewrite-includes */
#include <sys/_types.h>
#endif /* expanded by -frewrite-includes */
# 35 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 3 4
# 36 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 3 4
#if 0 /* expanded by -frewrite-includes */
#include <machine/_stdint.h>
#endif /* expanded by -frewrite-includes */
# 37 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/_stdint.h" 1 3 4
/*-
* Copyright (c) 2001, 2002 Mike Barcroft <mike@FreeBSD.org>
* Copyright (c) 2001 The NetBSD Foundation, Inc.
* All rights reserved.
*
* This code is derived from software contributed to The NetBSD Foundation
* by Klaus Klein.
*
* 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.
*
* $FreeBSD$
*/
#ifndef _MACHINE__STDINT_H_
#define _MACHINE__STDINT_H_
#if 0 /* disabled by -frewrite-includes */
#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 37 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/_stdint.h" 3 4
#define INT8_C(c) (c)
#define INT16_C(c) (c)
#define INT32_C(c) (c)
#define INT64_C(c) (c ## L)
#define UINT8_C(c) (c)
#define UINT16_C(c) (c)
#define UINT32_C(c) (c ## U)
#define UINT64_C(c) (c ## UL)
#define INTMAX_C(c) INT64_C(c)
#define UINTMAX_C(c) UINT64_C(c)
#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */
# 52 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/_stdint.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 54 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/_stdint.h" 3 4
/*
* ISO/IEC 9899:1999
* 7.18.2.1 Limits of exact-width integer types
*/
/* Minimum values of exact-width signed integer types. */
#define INT8_MIN (-0x7f-1)
#define INT16_MIN (-0x7fff-1)
#define INT32_MIN (-0x7fffffff-1)
#define INT64_MIN (-0x7fffffffffffffffL-1)
/* Maximum values of exact-width signed integer types. */
#define INT8_MAX 0x7f
#define INT16_MAX 0x7fff
#define INT32_MAX 0x7fffffff
#define INT64_MAX 0x7fffffffffffffffL
/* Maximum values of exact-width unsigned integer types. */
#define UINT8_MAX 0xff
#define UINT16_MAX 0xffff
#define UINT32_MAX 0xffffffffU
#define UINT64_MAX 0xffffffffffffffffUL
/*
* ISO/IEC 9899:1999
* 7.18.2.2 Limits of minimum-width integer types
*/
/* Minimum values of minimum-width signed integer types. */
#define INT_LEAST8_MIN INT8_MIN
#define INT_LEAST16_MIN INT16_MIN
#define INT_LEAST32_MIN INT32_MIN
#define INT_LEAST64_MIN INT64_MIN
/* Maximum values of minimum-width signed integer types. */
#define INT_LEAST8_MAX INT8_MAX
#define INT_LEAST16_MAX INT16_MAX
#define INT_LEAST32_MAX INT32_MAX
#define INT_LEAST64_MAX INT64_MAX
/* Maximum values of minimum-width unsigned integer types. */
#define UINT_LEAST8_MAX UINT8_MAX
#define UINT_LEAST16_MAX UINT16_MAX
#define UINT_LEAST32_MAX UINT32_MAX
#define UINT_LEAST64_MAX UINT64_MAX
/*
* ISO/IEC 9899:1999
* 7.18.2.3 Limits of fastest minimum-width integer types
*/
/* Minimum values of fastest minimum-width signed integer types. */
#define INT_FAST8_MIN INT32_MIN
#define INT_FAST16_MIN INT32_MIN
#define INT_FAST32_MIN INT32_MIN
#define INT_FAST64_MIN INT64_MIN
/* Maximum values of fastest minimum-width signed integer types. */
#define INT_FAST8_MAX INT32_MAX
#define INT_FAST16_MAX INT32_MAX
#define INT_FAST32_MAX INT32_MAX
#define INT_FAST64_MAX INT64_MAX
/* Maximum values of fastest minimum-width unsigned integer types. */
#define UINT_FAST8_MAX UINT32_MAX
#define UINT_FAST16_MAX UINT32_MAX
#define UINT_FAST32_MAX UINT32_MAX
#define UINT_FAST64_MAX UINT64_MAX
/*
* ISO/IEC 9899:1999
* 7.18.2.4 Limits of integer types capable of holding object pointers
*/
#define INTPTR_MIN INT64_MIN
#define INTPTR_MAX INT64_MAX
#define UINTPTR_MAX UINT64_MAX
/*
* ISO/IEC 9899:1999
* 7.18.2.5 Limits of greatest-width integer types
*/
#define INTMAX_MIN INT64_MIN
#define INTMAX_MAX INT64_MAX
#define UINTMAX_MAX UINT64_MAX
/*
* ISO/IEC 9899:1999
* 7.18.3 Limits of other integer types
*/
/* Limits of ptrdiff_t. */
#define PTRDIFF_MIN INT64_MIN
#define PTRDIFF_MAX INT64_MAX
/* Limits of sig_atomic_t. */
#define SIG_ATOMIC_MIN INT32_MIN
#define SIG_ATOMIC_MAX INT32_MAX
/* Limit of size_t. */
#define SIZE_MAX UINT64_MAX
/* Limits of wint_t. */
#define WINT_MIN INT32_MIN
#define WINT_MAX INT32_MAX
#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */
# 157 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/_stdint.h" 3 4
#endif /* !_MACHINE__STDINT_H_ */
# 159 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/_stdint.h" 3 4
# 38 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 2 3 4
#if 0 /* expanded by -frewrite-includes */
#include <sys/_stdint.h>
#endif /* expanded by -frewrite-includes */
# 38 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-2-Clause-FreeBSD
*
* 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$
*/
#ifndef _SYS__STDINT_H_
#define _SYS__STDINT_H_
#ifndef _INT8_T_DECLARED
typedef __int8_t int8_t;
#define _INT8_T_DECLARED
#endif
# 39 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 3 4
#ifndef _INT16_T_DECLARED
typedef __int16_t int16_t;
#define _INT16_T_DECLARED
#endif
# 44 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 3 4
#ifndef _INT32_T_DECLARED
typedef __int32_t int32_t;
#define _INT32_T_DECLARED
#endif
# 49 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 3 4
#ifndef _INT64_T_DECLARED
typedef __int64_t int64_t;
#define _INT64_T_DECLARED
#endif
# 54 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 3 4
#ifndef _UINT8_T_DECLARED
typedef __uint8_t uint8_t;
#define _UINT8_T_DECLARED
#endif
# 59 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 3 4
#ifndef _UINT16_T_DECLARED
typedef __uint16_t uint16_t;
#define _UINT16_T_DECLARED
#endif
# 64 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 3 4
#ifndef _UINT32_T_DECLARED
typedef __uint32_t uint32_t;
#define _UINT32_T_DECLARED
#endif
# 69 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 3 4
#ifndef _UINT64_T_DECLARED
typedef __uint64_t uint64_t;
#define _UINT64_T_DECLARED
#endif
# 74 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 3 4
#ifndef _INTPTR_T_DECLARED
typedef __intptr_t intptr_t;
#define _INTPTR_T_DECLARED
#endif
# 79 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 3 4
#ifndef _UINTPTR_T_DECLARED
typedef __uintptr_t uintptr_t;
#define _UINTPTR_T_DECLARED
#endif
# 83 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 3 4
#ifndef _INTMAX_T_DECLARED
typedef __intmax_t intmax_t;
#define _INTMAX_T_DECLARED
#endif
# 87 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 3 4
#ifndef _UINTMAX_T_DECLARED
typedef __uintmax_t uintmax_t;
#define _UINTMAX_T_DECLARED
#endif
# 91 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 3 4
#endif /* !_SYS__STDINT_H_ */
# 93 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_stdint.h" 3 4
# 39 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 2 3 4
typedef __int_least8_t int_least8_t;
typedef __int_least16_t int_least16_t;
typedef __int_least32_t int_least32_t;
typedef __int_least64_t int_least64_t;
typedef __uint_least8_t uint_least8_t;
typedef __uint_least16_t uint_least16_t;
typedef __uint_least32_t uint_least32_t;
typedef __uint_least64_t uint_least64_t;
typedef __int_fast8_t int_fast8_t;
typedef __int_fast16_t int_fast16_t;
typedef __int_fast32_t int_fast32_t;
typedef __int_fast64_t int_fast64_t;
typedef __uint_fast8_t uint_fast8_t;
typedef __uint_fast16_t uint_fast16_t;
typedef __uint_fast32_t uint_fast32_t;
typedef __uint_fast64_t uint_fast64_t;
/* GNU and Darwin define this and people seem to think it's portable */
#if 0 /* disabled by -frewrite-includes */
#if defined(UINTPTR_MAX) && defined(UINT64_MAX) && (UINTPTR_MAX == UINT64_MAX)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 62 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 3 4
#define __WORDSIZE 64
#else
# 64 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 3 4
#define __WORDSIZE 32
#endif
# 66 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 3 4
/* Limits of wchar_t. */
#define WCHAR_MIN __WCHAR_MIN
#define WCHAR_MAX __WCHAR_MAX
#if 0 /* disabled by -frewrite-includes */
#if __EXT1_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 72 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 3 4
/* ISO/IEC 9899:2011 K.3.4.4 */
#ifndef RSIZE_MAX
#define RSIZE_MAX (SIZE_MAX >> 1)
#endif
# 76 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 3 4
#endif /* __EXT1_VISIBLE */
# 77 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 3 4
#endif /* !_SYS_STDINT_H_ */
# 79 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h" 3 4
# 124 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdint.h" 2 3
#endif // _LIBCPP_STDINT_H
# 126 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdint.h" 3
# 19 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h" 2
#if 0 /* expanded by -frewrite-includes */
#include <stddef.h>
#endif /* expanded by -frewrite-includes */
# 19 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 1 3
// -*- C++ -*-
//===--------------------------- stddef.h ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#if 0 /* disabled by -frewrite-includes */
#if defined(__need_ptrdiff_t) || defined(__need_size_t) || \
defined(__need_wchar_t) || defined(__need_NULL) || defined(__need_wint_t)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 12 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 14 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 15 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
#endif
# 16 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
#if 0 /* expanded by -frewrite-includes */
#include_next <stddef.h>
#endif /* expanded by -frewrite-includes */
# 17 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
# 18 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif !defined(_LIBCPP_STDDEF_H)
#endif
#endif /* disabled by -frewrite-includes */
#elif 1 /* evaluated by -frewrite-includes */
# 20 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
#define _LIBCPP_STDDEF_H
/*
stddef.h synopsis
Macros:
offsetof(type,member-designator)
NULL
Types:
ptrdiff_t
size_t
max_align_t // C++11
nullptr_t
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 39 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
# 40 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 42 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 43 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
#endif
# 44 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
#if 0 /* expanded by -frewrite-includes */
#include_next <stddef.h>
#endif /* expanded by -frewrite-includes */
# 45 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stddef.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-3-Clause
*
* 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$
*/
#ifndef _STDDEF_H_
#define _STDDEF_H_
#if 0 /* expanded by -frewrite-includes */
#include <sys/cdefs.h>
#endif /* expanded by -frewrite-includes */
# 39 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stddef.h" 3 4
# 40 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stddef.h" 3 4
#if 0 /* expanded by -frewrite-includes */
#include <sys/_null.h>
#endif /* expanded by -frewrite-includes */
# 40 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stddef.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_null.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-2-Clause-FreeBSD
*
* 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$
*/
#ifndef NULL
#if 0 /* disabled by -frewrite-includes */
#if !defined(__cplusplus)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 34 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_null.h" 3 4
#define NULL ((void *)0)
#else
# 36 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_null.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __cplusplus >= 201103L
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 37 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_null.h" 3 4
#define NULL nullptr
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(__GNUG__) && defined(__GNUC__) && __GNUC__ >= 4
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 39 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_null.h" 3 4
#define NULL __null
#else
# 41 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_null.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if defined(__LP64__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 42 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_null.h" 3 4
#define NULL (0L)
#else
# 44 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_null.h" 3 4
#define NULL 0
#endif /* __LP64__ */
# 46 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_null.h" 3 4
#endif /* __GNUG__ */
# 47 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_null.h" 3 4
#endif /* !__cplusplus */
# 48 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_null.h" 3 4
#endif
# 50 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_null.h" 3 4
# 41 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stddef.h" 2 3 4
#if 0 /* expanded by -frewrite-includes */
#include <sys/_types.h>
#endif /* expanded by -frewrite-includes */
# 41 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stddef.h" 3 4
# 42 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stddef.h" 3 4
#ifndef _PTRDIFF_T_DECLARED
typedef __ptrdiff_t ptrdiff_t;
#define _PTRDIFF_T_DECLARED
#endif
# 47 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stddef.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 49 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stddef.h" 3 4
#ifndef _RUNE_T_DECLARED
typedef __rune_t rune_t;
#define _RUNE_T_DECLARED
#endif
# 53 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stddef.h" 3 4
#endif
# 54 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stddef.h" 3 4
#ifndef _SIZE_T_DECLARED
typedef __size_t size_t;
#define _SIZE_T_DECLARED
#endif
# 59 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stddef.h" 3 4
#ifndef __cplusplus
#ifndef _WCHAR_T_DECLARED
typedef ___wchar_t wchar_t;
#define _WCHAR_T_DECLARED
#endif
# 65 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stddef.h" 3 4
#endif
# 66 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stddef.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __ISO_C_VISIBLE >= 2011 || __cplusplus >= 201103L
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 68 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stddef.h" 3 4
#ifndef __CLANG_MAX_ALIGN_T_DEFINED
typedef __max_align_t max_align_t;
#define __CLANG_MAX_ALIGN_T_DEFINED
#define _GCC_MAX_ALIGN_T
#endif
# 73 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stddef.h" 3 4
#endif
# 74 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stddef.h" 3 4
#define offsetof(type, field) __offsetof(type, field)
#if 0 /* disabled by -frewrite-includes */
#if __EXT1_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 78 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stddef.h" 3 4
/* ISO/IEC 9899:2011 K.3.3.2 */
#ifndef _RSIZE_T_DEFINED
#define _RSIZE_T_DEFINED
typedef size_t rsize_t;
#endif
# 83 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stddef.h" 3 4
#endif /* __EXT1_VISIBLE */
# 84 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stddef.h" 3 4
#endif /* _STDDEF_H_ */
# 86 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stddef.h" 3 4
# 46 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 2 3
#ifdef __cplusplus
extern "C++" {
#if 0 /* expanded by -frewrite-includes */
#include <__nullptr>
#endif /* expanded by -frewrite-includes */
# 50 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__nullptr" 1 3
// -*- C++ -*-
//===--------------------------- __nullptr --------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP_NULLPTR
#define _LIBCPP_NULLPTR
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 13 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__nullptr" 3
# 14 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__nullptr" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 16 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__nullptr" 3
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 17 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__nullptr" 3
#endif
# 18 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__nullptr" 3
#ifdef _LIBCPP_HAS_NO_NULLPTR
_LIBCPP_BEGIN_NAMESPACE_STD
struct _LIBCPP_TEMPLATE_VIS nullptr_t
{
void* __lx;
struct __nat {int __for_bool_;};
_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR nullptr_t() : __lx(0) {}
_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR nullptr_t(int __nat::*) : __lx(0) {}
_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR operator int __nat::*() const {return 0;}
template <class _Tp>
_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
operator _Tp* () const {return 0;}
template <class _Tp, class _Up>
_LIBCPP_INLINE_VISIBILITY
operator _Tp _Up::* () const {return 0;}
friend _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR bool operator==(nullptr_t, nullptr_t) {return true;}
friend _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR bool operator!=(nullptr_t, nullptr_t) {return false;}
};
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR nullptr_t __get_nullptr_t() {return nullptr_t(0);}
#define nullptr _VSTD::__get_nullptr_t()
_LIBCPP_END_NAMESPACE_STD
#else // _LIBCPP_HAS_NO_NULLPTR
# 53 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__nullptr" 3
namespace std
{
typedef decltype(nullptr) nullptr_t;
}
#endif // _LIBCPP_HAS_NO_NULLPTR
# 60 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__nullptr" 3
#endif // _LIBCPP_NULLPTR
# 62 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__nullptr" 3
# 51 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 2 3
using std::nullptr_t;
}
#endif
# 55 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
#endif // _LIBCPP_STDDEF_H
# 57 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
# 20 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h" 2
#ifdef __APPLE__
#if 0 /* disabled by -frewrite-includes */
#if __clang__
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 23 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
#if 0 /* disabled by -frewrite-includes */
#if __has_include(<Availability.h>)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 24 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
#if 0 /* expanded by -frewrite-includes */
#include <Availability.h>
#endif /* expanded by -frewrite-includes */
# 24 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
# 25 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
#endif
# 26 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1050
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 27 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
#if 0 /* expanded by -frewrite-includes */
#include <Availability.h>
#endif /* expanded by -frewrite-includes */
# 27 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
# 28 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
#endif
# 29 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
#ifdef __arm__
#define LIBUNWIND_AVAIL __attribute__((unavailable))
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(__OSX_AVAILABLE_STARTING)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 33 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
#define LIBUNWIND_AVAIL __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_5_0)
#else
# 35 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
#if 0 /* expanded by -frewrite-includes */
#include <AvailabilityMacros.h>
#endif /* expanded by -frewrite-includes */
# 35 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
# 36 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
#ifdef AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER
#define LIBUNWIND_AVAIL AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER
#else
# 39 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
#define LIBUNWIND_AVAIL __attribute__((unavailable))
#endif
# 41 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
#endif
# 42 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
#else
# 43 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
#define LIBUNWIND_AVAIL
#endif
# 45 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
/* error codes */
enum {
UNW_ESUCCESS = 0, /* no error */
UNW_EUNSPEC = -6540, /* unspecified (general) error */
UNW_ENOMEM = -6541, /* out of memory */
UNW_EBADREG = -6542, /* bad register number */
UNW_EREADONLYREG = -6543, /* attempt to write read-only register */
UNW_ESTOPUNWIND = -6544, /* stop unwinding */
UNW_EINVALIDIP = -6545, /* invalid IP */
UNW_EBADFRAME = -6546, /* bad frame */
UNW_EINVAL = -6547, /* unsupported operation or bad value */
UNW_EBADVERSION = -6548, /* unwind info has unsupported version */
UNW_ENOINFO = -6549 /* no unwind info found */
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_TARGET_AARCH64) && !defined(_LIBUNWIND_IS_NATIVE_ONLY)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 60 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
, UNW_ECROSSRASIGNING = -6550 /* cross unwind with return address signing */
#endif
# 62 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
};
struct unw_context_t {
uint64_t data[_LIBUNWIND_CONTEXT_SIZE];
};
typedef struct unw_context_t unw_context_t;
struct unw_cursor_t {
uint64_t data[_LIBUNWIND_CURSOR_SIZE];
};
typedef struct unw_cursor_t unw_cursor_t;
typedef struct unw_addr_space *unw_addr_space_t;
typedef int unw_regnum_t;
typedef uintptr_t unw_word_t;
#if 0 /* disabled by -frewrite-includes */
#if defined(__arm__) && !defined(__ARM_DWARF_EH__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 79 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
typedef uint64_t unw_fpreg_t;
#else
# 81 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
typedef double unw_fpreg_t;
#endif
# 83 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
struct unw_proc_info_t {
unw_word_t start_ip; /* start address of function */
unw_word_t end_ip; /* address after end of function */
unw_word_t lsda; /* address of language specific data area, */
/* or zero if not used */
unw_word_t handler; /* personality routine, or zero if not used */
unw_word_t gp; /* not used */
unw_word_t flags; /* not used */
uint32_t format; /* compact unwind encoding, or zero if none */
uint32_t unwind_info_size; /* size of DWARF unwind info, or zero if none */
unw_word_t unwind_info; /* address of DWARF unwind info, or zero */
unw_word_t extra; /* mach_header of mach-o image containing func */
};
typedef struct unw_proc_info_t unw_proc_info_t;
#ifdef __cplusplus
extern "C" {
#endif
# 102 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
extern int unw_getcontext(unw_context_t *) LIBUNWIND_AVAIL;
extern int unw_init_local(unw_cursor_t *, unw_context_t *) LIBUNWIND_AVAIL;
extern int unw_step(unw_cursor_t *) LIBUNWIND_AVAIL;
extern int unw_get_reg(unw_cursor_t *, unw_regnum_t, unw_word_t *) LIBUNWIND_AVAIL;
extern int unw_get_fpreg(unw_cursor_t *, unw_regnum_t, unw_fpreg_t *) LIBUNWIND_AVAIL;
extern int unw_set_reg(unw_cursor_t *, unw_regnum_t, unw_word_t) LIBUNWIND_AVAIL;
extern int unw_set_fpreg(unw_cursor_t *, unw_regnum_t, unw_fpreg_t) LIBUNWIND_AVAIL;
extern int unw_resume(unw_cursor_t *) LIBUNWIND_AVAIL;
#ifdef __arm__
/* Save VFP registers in FSTMX format (instead of FSTMD). */
extern void unw_save_vfp_as_X(unw_cursor_t *) LIBUNWIND_AVAIL;
#endif
# 116 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
extern const char *unw_regname(unw_cursor_t *, unw_regnum_t) LIBUNWIND_AVAIL;
extern int unw_get_proc_info(unw_cursor_t *, unw_proc_info_t *) LIBUNWIND_AVAIL;
extern int unw_is_fpreg(unw_cursor_t *, unw_regnum_t) LIBUNWIND_AVAIL;
extern int unw_is_signal_frame(unw_cursor_t *) LIBUNWIND_AVAIL;
extern int unw_get_proc_name(unw_cursor_t *, char *, size_t, unw_word_t *) LIBUNWIND_AVAIL;
//extern int unw_get_save_loc(unw_cursor_t*, int, unw_save_loc_t*);
extern unw_addr_space_t unw_local_addr_space;
#ifdef __cplusplus
}
#endif
# 130 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
// architecture independent register numbers
enum {
UNW_REG_IP = -1, // instruction pointer
UNW_REG_SP = -2, // stack pointer
};
// 32-bit x86 registers
enum {
UNW_X86_EAX = 0,
UNW_X86_ECX = 1,
UNW_X86_EDX = 2,
UNW_X86_EBX = 3,
UNW_X86_EBP = 4,
UNW_X86_ESP = 5,
UNW_X86_ESI = 6,
UNW_X86_EDI = 7
};
// 64-bit x86_64 registers
enum {
UNW_X86_64_RAX = 0,
UNW_X86_64_RDX = 1,
UNW_X86_64_RCX = 2,
UNW_X86_64_RBX = 3,
UNW_X86_64_RSI = 4,
UNW_X86_64_RDI = 5,
UNW_X86_64_RBP = 6,
UNW_X86_64_RSP = 7,
UNW_X86_64_R8 = 8,
UNW_X86_64_R9 = 9,
UNW_X86_64_R10 = 10,
UNW_X86_64_R11 = 11,
UNW_X86_64_R12 = 12,
UNW_X86_64_R13 = 13,
UNW_X86_64_R14 = 14,
UNW_X86_64_R15 = 15,
UNW_X86_64_RIP = 16,
UNW_X86_64_XMM0 = 17,
UNW_X86_64_XMM1 = 18,
UNW_X86_64_XMM2 = 19,
UNW_X86_64_XMM3 = 20,
UNW_X86_64_XMM4 = 21,
UNW_X86_64_XMM5 = 22,
UNW_X86_64_XMM6 = 23,
UNW_X86_64_XMM7 = 24,
UNW_X86_64_XMM8 = 25,
UNW_X86_64_XMM9 = 26,
UNW_X86_64_XMM10 = 27,
UNW_X86_64_XMM11 = 28,
UNW_X86_64_XMM12 = 29,
UNW_X86_64_XMM13 = 30,
UNW_X86_64_XMM14 = 31,
UNW_X86_64_XMM15 = 32,
};
// 32-bit ppc register numbers
enum {
UNW_PPC_R0 = 0,
UNW_PPC_R1 = 1,
UNW_PPC_R2 = 2,
UNW_PPC_R3 = 3,
UNW_PPC_R4 = 4,
UNW_PPC_R5 = 5,
UNW_PPC_R6 = 6,
UNW_PPC_R7 = 7,
UNW_PPC_R8 = 8,
UNW_PPC_R9 = 9,
UNW_PPC_R10 = 10,
UNW_PPC_R11 = 11,
UNW_PPC_R12 = 12,
UNW_PPC_R13 = 13,
UNW_PPC_R14 = 14,
UNW_PPC_R15 = 15,
UNW_PPC_R16 = 16,
UNW_PPC_R17 = 17,
UNW_PPC_R18 = 18,
UNW_PPC_R19 = 19,
UNW_PPC_R20 = 20,
UNW_PPC_R21 = 21,
UNW_PPC_R22 = 22,
UNW_PPC_R23 = 23,
UNW_PPC_R24 = 24,
UNW_PPC_R25 = 25,
UNW_PPC_R26 = 26,
UNW_PPC_R27 = 27,
UNW_PPC_R28 = 28,
UNW_PPC_R29 = 29,
UNW_PPC_R30 = 30,
UNW_PPC_R31 = 31,
UNW_PPC_F0 = 32,
UNW_PPC_F1 = 33,
UNW_PPC_F2 = 34,
UNW_PPC_F3 = 35,
UNW_PPC_F4 = 36,
UNW_PPC_F5 = 37,
UNW_PPC_F6 = 38,
UNW_PPC_F7 = 39,
UNW_PPC_F8 = 40,
UNW_PPC_F9 = 41,
UNW_PPC_F10 = 42,
UNW_PPC_F11 = 43,
UNW_PPC_F12 = 44,
UNW_PPC_F13 = 45,
UNW_PPC_F14 = 46,
UNW_PPC_F15 = 47,
UNW_PPC_F16 = 48,
UNW_PPC_F17 = 49,
UNW_PPC_F18 = 50,
UNW_PPC_F19 = 51,
UNW_PPC_F20 = 52,
UNW_PPC_F21 = 53,
UNW_PPC_F22 = 54,
UNW_PPC_F23 = 55,
UNW_PPC_F24 = 56,
UNW_PPC_F25 = 57,
UNW_PPC_F26 = 58,
UNW_PPC_F27 = 59,
UNW_PPC_F28 = 60,
UNW_PPC_F29 = 61,
UNW_PPC_F30 = 62,
UNW_PPC_F31 = 63,
UNW_PPC_MQ = 64,
UNW_PPC_LR = 65,
UNW_PPC_CTR = 66,
UNW_PPC_AP = 67,
UNW_PPC_CR0 = 68,
UNW_PPC_CR1 = 69,
UNW_PPC_CR2 = 70,
UNW_PPC_CR3 = 71,
UNW_PPC_CR4 = 72,
UNW_PPC_CR5 = 73,
UNW_PPC_CR6 = 74,
UNW_PPC_CR7 = 75,
UNW_PPC_XER = 76,
UNW_PPC_V0 = 77,
UNW_PPC_V1 = 78,
UNW_PPC_V2 = 79,
UNW_PPC_V3 = 80,
UNW_PPC_V4 = 81,
UNW_PPC_V5 = 82,
UNW_PPC_V6 = 83,
UNW_PPC_V7 = 84,
UNW_PPC_V8 = 85,
UNW_PPC_V9 = 86,
UNW_PPC_V10 = 87,
UNW_PPC_V11 = 88,
UNW_PPC_V12 = 89,
UNW_PPC_V13 = 90,
UNW_PPC_V14 = 91,
UNW_PPC_V15 = 92,
UNW_PPC_V16 = 93,
UNW_PPC_V17 = 94,
UNW_PPC_V18 = 95,
UNW_PPC_V19 = 96,
UNW_PPC_V20 = 97,
UNW_PPC_V21 = 98,
UNW_PPC_V22 = 99,
UNW_PPC_V23 = 100,
UNW_PPC_V24 = 101,
UNW_PPC_V25 = 102,
UNW_PPC_V26 = 103,
UNW_PPC_V27 = 104,
UNW_PPC_V28 = 105,
UNW_PPC_V29 = 106,
UNW_PPC_V30 = 107,
UNW_PPC_V31 = 108,
UNW_PPC_VRSAVE = 109,
UNW_PPC_VSCR = 110,
UNW_PPC_SPE_ACC = 111,
UNW_PPC_SPEFSCR = 112
};
// 64-bit ppc register numbers
enum {
UNW_PPC64_R0 = 0,
UNW_PPC64_R1 = 1,
UNW_PPC64_R2 = 2,
UNW_PPC64_R3 = 3,
UNW_PPC64_R4 = 4,
UNW_PPC64_R5 = 5,
UNW_PPC64_R6 = 6,
UNW_PPC64_R7 = 7,
UNW_PPC64_R8 = 8,
UNW_PPC64_R9 = 9,
UNW_PPC64_R10 = 10,
UNW_PPC64_R11 = 11,
UNW_PPC64_R12 = 12,
UNW_PPC64_R13 = 13,
UNW_PPC64_R14 = 14,
UNW_PPC64_R15 = 15,
UNW_PPC64_R16 = 16,
UNW_PPC64_R17 = 17,
UNW_PPC64_R18 = 18,
UNW_PPC64_R19 = 19,
UNW_PPC64_R20 = 20,
UNW_PPC64_R21 = 21,
UNW_PPC64_R22 = 22,
UNW_PPC64_R23 = 23,
UNW_PPC64_R24 = 24,
UNW_PPC64_R25 = 25,
UNW_PPC64_R26 = 26,
UNW_PPC64_R27 = 27,
UNW_PPC64_R28 = 28,
UNW_PPC64_R29 = 29,
UNW_PPC64_R30 = 30,
UNW_PPC64_R31 = 31,
UNW_PPC64_F0 = 32,
UNW_PPC64_F1 = 33,
UNW_PPC64_F2 = 34,
UNW_PPC64_F3 = 35,
UNW_PPC64_F4 = 36,
UNW_PPC64_F5 = 37,
UNW_PPC64_F6 = 38,
UNW_PPC64_F7 = 39,
UNW_PPC64_F8 = 40,
UNW_PPC64_F9 = 41,
UNW_PPC64_F10 = 42,
UNW_PPC64_F11 = 43,
UNW_PPC64_F12 = 44,
UNW_PPC64_F13 = 45,
UNW_PPC64_F14 = 46,
UNW_PPC64_F15 = 47,
UNW_PPC64_F16 = 48,
UNW_PPC64_F17 = 49,
UNW_PPC64_F18 = 50,
UNW_PPC64_F19 = 51,
UNW_PPC64_F20 = 52,
UNW_PPC64_F21 = 53,
UNW_PPC64_F22 = 54,
UNW_PPC64_F23 = 55,
UNW_PPC64_F24 = 56,
UNW_PPC64_F25 = 57,
UNW_PPC64_F26 = 58,
UNW_PPC64_F27 = 59,
UNW_PPC64_F28 = 60,
UNW_PPC64_F29 = 61,
UNW_PPC64_F30 = 62,
UNW_PPC64_F31 = 63,
// 64: reserved
UNW_PPC64_LR = 65,
UNW_PPC64_CTR = 66,
// 67: reserved
UNW_PPC64_CR0 = 68,
UNW_PPC64_CR1 = 69,
UNW_PPC64_CR2 = 70,
UNW_PPC64_CR3 = 71,
UNW_PPC64_CR4 = 72,
UNW_PPC64_CR5 = 73,
UNW_PPC64_CR6 = 74,
UNW_PPC64_CR7 = 75,
UNW_PPC64_XER = 76,
UNW_PPC64_V0 = 77,
UNW_PPC64_V1 = 78,
UNW_PPC64_V2 = 79,
UNW_PPC64_V3 = 80,
UNW_PPC64_V4 = 81,
UNW_PPC64_V5 = 82,
UNW_PPC64_V6 = 83,
UNW_PPC64_V7 = 84,
UNW_PPC64_V8 = 85,
UNW_PPC64_V9 = 86,
UNW_PPC64_V10 = 87,
UNW_PPC64_V11 = 88,
UNW_PPC64_V12 = 89,
UNW_PPC64_V13 = 90,
UNW_PPC64_V14 = 91,
UNW_PPC64_V15 = 92,
UNW_PPC64_V16 = 93,
UNW_PPC64_V17 = 94,
UNW_PPC64_V18 = 95,
UNW_PPC64_V19 = 96,
UNW_PPC64_V20 = 97,
UNW_PPC64_V21 = 98,
UNW_PPC64_V22 = 99,
UNW_PPC64_V23 = 100,
UNW_PPC64_V24 = 101,
UNW_PPC64_V25 = 102,
UNW_PPC64_V26 = 103,
UNW_PPC64_V27 = 104,
UNW_PPC64_V28 = 105,
UNW_PPC64_V29 = 106,
UNW_PPC64_V30 = 107,
UNW_PPC64_V31 = 108,
// 109, 111-113: OpenPOWER ELF V2 ABI: reserved
// Borrowing VRSAVE number from PPC32.
UNW_PPC64_VRSAVE = 109,
UNW_PPC64_VSCR = 110,
UNW_PPC64_TFHAR = 114,
UNW_PPC64_TFIAR = 115,
UNW_PPC64_TEXASR = 116,
UNW_PPC64_VS0 = UNW_PPC64_F0,
UNW_PPC64_VS1 = UNW_PPC64_F1,
UNW_PPC64_VS2 = UNW_PPC64_F2,
UNW_PPC64_VS3 = UNW_PPC64_F3,
UNW_PPC64_VS4 = UNW_PPC64_F4,
UNW_PPC64_VS5 = UNW_PPC64_F5,
UNW_PPC64_VS6 = UNW_PPC64_F6,
UNW_PPC64_VS7 = UNW_PPC64_F7,
UNW_PPC64_VS8 = UNW_PPC64_F8,
UNW_PPC64_VS9 = UNW_PPC64_F9,
UNW_PPC64_VS10 = UNW_PPC64_F10,
UNW_PPC64_VS11 = UNW_PPC64_F11,
UNW_PPC64_VS12 = UNW_PPC64_F12,
UNW_PPC64_VS13 = UNW_PPC64_F13,
UNW_PPC64_VS14 = UNW_PPC64_F14,
UNW_PPC64_VS15 = UNW_PPC64_F15,
UNW_PPC64_VS16 = UNW_PPC64_F16,
UNW_PPC64_VS17 = UNW_PPC64_F17,
UNW_PPC64_VS18 = UNW_PPC64_F18,
UNW_PPC64_VS19 = UNW_PPC64_F19,
UNW_PPC64_VS20 = UNW_PPC64_F20,
UNW_PPC64_VS21 = UNW_PPC64_F21,
UNW_PPC64_VS22 = UNW_PPC64_F22,
UNW_PPC64_VS23 = UNW_PPC64_F23,
UNW_PPC64_VS24 = UNW_PPC64_F24,
UNW_PPC64_VS25 = UNW_PPC64_F25,
UNW_PPC64_VS26 = UNW_PPC64_F26,
UNW_PPC64_VS27 = UNW_PPC64_F27,
UNW_PPC64_VS28 = UNW_PPC64_F28,
UNW_PPC64_VS29 = UNW_PPC64_F29,
UNW_PPC64_VS30 = UNW_PPC64_F30,
UNW_PPC64_VS31 = UNW_PPC64_F31,
UNW_PPC64_VS32 = UNW_PPC64_V0,
UNW_PPC64_VS33 = UNW_PPC64_V1,
UNW_PPC64_VS34 = UNW_PPC64_V2,
UNW_PPC64_VS35 = UNW_PPC64_V3,
UNW_PPC64_VS36 = UNW_PPC64_V4,
UNW_PPC64_VS37 = UNW_PPC64_V5,
UNW_PPC64_VS38 = UNW_PPC64_V6,
UNW_PPC64_VS39 = UNW_PPC64_V7,
UNW_PPC64_VS40 = UNW_PPC64_V8,
UNW_PPC64_VS41 = UNW_PPC64_V9,
UNW_PPC64_VS42 = UNW_PPC64_V10,
UNW_PPC64_VS43 = UNW_PPC64_V11,
UNW_PPC64_VS44 = UNW_PPC64_V12,
UNW_PPC64_VS45 = UNW_PPC64_V13,
UNW_PPC64_VS46 = UNW_PPC64_V14,
UNW_PPC64_VS47 = UNW_PPC64_V15,
UNW_PPC64_VS48 = UNW_PPC64_V16,
UNW_PPC64_VS49 = UNW_PPC64_V17,
UNW_PPC64_VS50 = UNW_PPC64_V18,
UNW_PPC64_VS51 = UNW_PPC64_V19,
UNW_PPC64_VS52 = UNW_PPC64_V20,
UNW_PPC64_VS53 = UNW_PPC64_V21,
UNW_PPC64_VS54 = UNW_PPC64_V22,
UNW_PPC64_VS55 = UNW_PPC64_V23,
UNW_PPC64_VS56 = UNW_PPC64_V24,
UNW_PPC64_VS57 = UNW_PPC64_V25,
UNW_PPC64_VS58 = UNW_PPC64_V26,
UNW_PPC64_VS59 = UNW_PPC64_V27,
UNW_PPC64_VS60 = UNW_PPC64_V28,
UNW_PPC64_VS61 = UNW_PPC64_V29,
UNW_PPC64_VS62 = UNW_PPC64_V30,
UNW_PPC64_VS63 = UNW_PPC64_V31
};
// 64-bit ARM64 registers
enum {
UNW_ARM64_X0 = 0,
UNW_ARM64_X1 = 1,
UNW_ARM64_X2 = 2,
UNW_ARM64_X3 = 3,
UNW_ARM64_X4 = 4,
UNW_ARM64_X5 = 5,
UNW_ARM64_X6 = 6,
UNW_ARM64_X7 = 7,
UNW_ARM64_X8 = 8,
UNW_ARM64_X9 = 9,
UNW_ARM64_X10 = 10,
UNW_ARM64_X11 = 11,
UNW_ARM64_X12 = 12,
UNW_ARM64_X13 = 13,
UNW_ARM64_X14 = 14,
UNW_ARM64_X15 = 15,
UNW_ARM64_X16 = 16,
UNW_ARM64_X17 = 17,
UNW_ARM64_X18 = 18,
UNW_ARM64_X19 = 19,
UNW_ARM64_X20 = 20,
UNW_ARM64_X21 = 21,
UNW_ARM64_X22 = 22,
UNW_ARM64_X23 = 23,
UNW_ARM64_X24 = 24,
UNW_ARM64_X25 = 25,
UNW_ARM64_X26 = 26,
UNW_ARM64_X27 = 27,
UNW_ARM64_X28 = 28,
UNW_ARM64_X29 = 29,
UNW_ARM64_FP = 29,
UNW_ARM64_X30 = 30,
UNW_ARM64_LR = 30,
UNW_ARM64_X31 = 31,
UNW_ARM64_SP = 31,
// reserved block
UNW_ARM64_RA_SIGN_STATE = 34,
// reserved block
UNW_ARM64_D0 = 64,
UNW_ARM64_D1 = 65,
UNW_ARM64_D2 = 66,
UNW_ARM64_D3 = 67,
UNW_ARM64_D4 = 68,
UNW_ARM64_D5 = 69,
UNW_ARM64_D6 = 70,
UNW_ARM64_D7 = 71,
UNW_ARM64_D8 = 72,
UNW_ARM64_D9 = 73,
UNW_ARM64_D10 = 74,
UNW_ARM64_D11 = 75,
UNW_ARM64_D12 = 76,
UNW_ARM64_D13 = 77,
UNW_ARM64_D14 = 78,
UNW_ARM64_D15 = 79,
UNW_ARM64_D16 = 80,
UNW_ARM64_D17 = 81,
UNW_ARM64_D18 = 82,
UNW_ARM64_D19 = 83,
UNW_ARM64_D20 = 84,
UNW_ARM64_D21 = 85,
UNW_ARM64_D22 = 86,
UNW_ARM64_D23 = 87,
UNW_ARM64_D24 = 88,
UNW_ARM64_D25 = 89,
UNW_ARM64_D26 = 90,
UNW_ARM64_D27 = 91,
UNW_ARM64_D28 = 92,
UNW_ARM64_D29 = 93,
UNW_ARM64_D30 = 94,
UNW_ARM64_D31 = 95,
};
// 32-bit ARM registers. Numbers match DWARF for ARM spec #3.1 Table 1.
// Naming scheme uses recommendations given in Note 4 for VFP-v2 and VFP-v3.
// In this scheme, even though the 64-bit floating point registers D0-D31
// overlap physically with the 32-bit floating pointer registers S0-S31,
// they are given a non-overlapping range of register numbers.
//
// Commented out ranges are not preserved during unwinding.
enum {
UNW_ARM_R0 = 0,
UNW_ARM_R1 = 1,
UNW_ARM_R2 = 2,
UNW_ARM_R3 = 3,
UNW_ARM_R4 = 4,
UNW_ARM_R5 = 5,
UNW_ARM_R6 = 6,
UNW_ARM_R7 = 7,
UNW_ARM_R8 = 8,
UNW_ARM_R9 = 9,
UNW_ARM_R10 = 10,
UNW_ARM_R11 = 11,
UNW_ARM_R12 = 12,
UNW_ARM_SP = 13, // Logical alias for UNW_REG_SP
UNW_ARM_R13 = 13,
UNW_ARM_LR = 14,
UNW_ARM_R14 = 14,
UNW_ARM_IP = 15, // Logical alias for UNW_REG_IP
UNW_ARM_R15 = 15,
// 16-63 -- OBSOLETE. Used in VFP1 to represent both S0-S31 and D0-D31.
UNW_ARM_S0 = 64,
UNW_ARM_S1 = 65,
UNW_ARM_S2 = 66,
UNW_ARM_S3 = 67,
UNW_ARM_S4 = 68,
UNW_ARM_S5 = 69,
UNW_ARM_S6 = 70,
UNW_ARM_S7 = 71,
UNW_ARM_S8 = 72,
UNW_ARM_S9 = 73,
UNW_ARM_S10 = 74,
UNW_ARM_S11 = 75,
UNW_ARM_S12 = 76,
UNW_ARM_S13 = 77,
UNW_ARM_S14 = 78,
UNW_ARM_S15 = 79,
UNW_ARM_S16 = 80,
UNW_ARM_S17 = 81,
UNW_ARM_S18 = 82,
UNW_ARM_S19 = 83,
UNW_ARM_S20 = 84,
UNW_ARM_S21 = 85,
UNW_ARM_S22 = 86,
UNW_ARM_S23 = 87,
UNW_ARM_S24 = 88,
UNW_ARM_S25 = 89,
UNW_ARM_S26 = 90,
UNW_ARM_S27 = 91,
UNW_ARM_S28 = 92,
UNW_ARM_S29 = 93,
UNW_ARM_S30 = 94,
UNW_ARM_S31 = 95,
// 96-103 -- OBSOLETE. F0-F7. Used by the FPA system. Superseded by VFP.
// 104-111 -- wCGR0-wCGR7, ACC0-ACC7 (Intel wireless MMX)
UNW_ARM_WR0 = 112,
UNW_ARM_WR1 = 113,
UNW_ARM_WR2 = 114,
UNW_ARM_WR3 = 115,
UNW_ARM_WR4 = 116,
UNW_ARM_WR5 = 117,
UNW_ARM_WR6 = 118,
UNW_ARM_WR7 = 119,
UNW_ARM_WR8 = 120,
UNW_ARM_WR9 = 121,
UNW_ARM_WR10 = 122,
UNW_ARM_WR11 = 123,
UNW_ARM_WR12 = 124,
UNW_ARM_WR13 = 125,
UNW_ARM_WR14 = 126,
UNW_ARM_WR15 = 127,
// 128-133 -- SPSR, SPSR_{FIQ|IRQ|ABT|UND|SVC}
// 134-143 -- Reserved
// 144-150 -- R8_USR-R14_USR
// 151-157 -- R8_FIQ-R14_FIQ
// 158-159 -- R13_IRQ-R14_IRQ
// 160-161 -- R13_ABT-R14_ABT
// 162-163 -- R13_UND-R14_UND
// 164-165 -- R13_SVC-R14_SVC
// 166-191 -- Reserved
UNW_ARM_WC0 = 192,
UNW_ARM_WC1 = 193,
UNW_ARM_WC2 = 194,
UNW_ARM_WC3 = 195,
// 196-199 -- wC4-wC7 (Intel wireless MMX control)
// 200-255 -- Reserved
UNW_ARM_D0 = 256,
UNW_ARM_D1 = 257,
UNW_ARM_D2 = 258,
UNW_ARM_D3 = 259,
UNW_ARM_D4 = 260,
UNW_ARM_D5 = 261,
UNW_ARM_D6 = 262,
UNW_ARM_D7 = 263,
UNW_ARM_D8 = 264,
UNW_ARM_D9 = 265,
UNW_ARM_D10 = 266,
UNW_ARM_D11 = 267,
UNW_ARM_D12 = 268,
UNW_ARM_D13 = 269,
UNW_ARM_D14 = 270,
UNW_ARM_D15 = 271,
UNW_ARM_D16 = 272,
UNW_ARM_D17 = 273,
UNW_ARM_D18 = 274,
UNW_ARM_D19 = 275,
UNW_ARM_D20 = 276,
UNW_ARM_D21 = 277,
UNW_ARM_D22 = 278,
UNW_ARM_D23 = 279,
UNW_ARM_D24 = 280,
UNW_ARM_D25 = 281,
UNW_ARM_D26 = 282,
UNW_ARM_D27 = 283,
UNW_ARM_D28 = 284,
UNW_ARM_D29 = 285,
UNW_ARM_D30 = 286,
UNW_ARM_D31 = 287,
// 288-319 -- Reserved for VFP/Neon
// 320-8191 -- Reserved
// 8192-16383 -- Unspecified vendor co-processor register.
};
// OpenRISC1000 register numbers
enum {
UNW_OR1K_R0 = 0,
UNW_OR1K_R1 = 1,
UNW_OR1K_R2 = 2,
UNW_OR1K_R3 = 3,
UNW_OR1K_R4 = 4,
UNW_OR1K_R5 = 5,
UNW_OR1K_R6 = 6,
UNW_OR1K_R7 = 7,
UNW_OR1K_R8 = 8,
UNW_OR1K_R9 = 9,
UNW_OR1K_R10 = 10,
UNW_OR1K_R11 = 11,
UNW_OR1K_R12 = 12,
UNW_OR1K_R13 = 13,
UNW_OR1K_R14 = 14,
UNW_OR1K_R15 = 15,
UNW_OR1K_R16 = 16,
UNW_OR1K_R17 = 17,
UNW_OR1K_R18 = 18,
UNW_OR1K_R19 = 19,
UNW_OR1K_R20 = 20,
UNW_OR1K_R21 = 21,
UNW_OR1K_R22 = 22,
UNW_OR1K_R23 = 23,
UNW_OR1K_R24 = 24,
UNW_OR1K_R25 = 25,
UNW_OR1K_R26 = 26,
UNW_OR1K_R27 = 27,
UNW_OR1K_R28 = 28,
UNW_OR1K_R29 = 29,
UNW_OR1K_R30 = 30,
UNW_OR1K_R31 = 31,
UNW_OR1K_EPCR = 32,
};
// MIPS registers
enum {
UNW_MIPS_R0 = 0,
UNW_MIPS_R1 = 1,
UNW_MIPS_R2 = 2,
UNW_MIPS_R3 = 3,
UNW_MIPS_R4 = 4,
UNW_MIPS_R5 = 5,
UNW_MIPS_R6 = 6,
UNW_MIPS_R7 = 7,
UNW_MIPS_R8 = 8,
UNW_MIPS_R9 = 9,
UNW_MIPS_R10 = 10,
UNW_MIPS_R11 = 11,
UNW_MIPS_R12 = 12,
UNW_MIPS_R13 = 13,
UNW_MIPS_R14 = 14,
UNW_MIPS_R15 = 15,
UNW_MIPS_R16 = 16,
UNW_MIPS_R17 = 17,
UNW_MIPS_R18 = 18,
UNW_MIPS_R19 = 19,
UNW_MIPS_R20 = 20,
UNW_MIPS_R21 = 21,
UNW_MIPS_R22 = 22,
UNW_MIPS_R23 = 23,
UNW_MIPS_R24 = 24,
UNW_MIPS_R25 = 25,
UNW_MIPS_R26 = 26,
UNW_MIPS_R27 = 27,
UNW_MIPS_R28 = 28,
UNW_MIPS_R29 = 29,
UNW_MIPS_R30 = 30,
UNW_MIPS_R31 = 31,
UNW_MIPS_F0 = 32,
UNW_MIPS_F1 = 33,
UNW_MIPS_F2 = 34,
UNW_MIPS_F3 = 35,
UNW_MIPS_F4 = 36,
UNW_MIPS_F5 = 37,
UNW_MIPS_F6 = 38,
UNW_MIPS_F7 = 39,
UNW_MIPS_F8 = 40,
UNW_MIPS_F9 = 41,
UNW_MIPS_F10 = 42,
UNW_MIPS_F11 = 43,
UNW_MIPS_F12 = 44,
UNW_MIPS_F13 = 45,
UNW_MIPS_F14 = 46,
UNW_MIPS_F15 = 47,
UNW_MIPS_F16 = 48,
UNW_MIPS_F17 = 49,
UNW_MIPS_F18 = 50,
UNW_MIPS_F19 = 51,
UNW_MIPS_F20 = 52,
UNW_MIPS_F21 = 53,
UNW_MIPS_F22 = 54,
UNW_MIPS_F23 = 55,
UNW_MIPS_F24 = 56,
UNW_MIPS_F25 = 57,
UNW_MIPS_F26 = 58,
UNW_MIPS_F27 = 59,
UNW_MIPS_F28 = 60,
UNW_MIPS_F29 = 61,
UNW_MIPS_F30 = 62,
UNW_MIPS_F31 = 63,
UNW_MIPS_HI = 64,
UNW_MIPS_LO = 65,
};
// SPARC registers
enum {
UNW_SPARC_G0 = 0,
UNW_SPARC_G1 = 1,
UNW_SPARC_G2 = 2,
UNW_SPARC_G3 = 3,
UNW_SPARC_G4 = 4,
UNW_SPARC_G5 = 5,
UNW_SPARC_G6 = 6,
UNW_SPARC_G7 = 7,
UNW_SPARC_O0 = 8,
UNW_SPARC_O1 = 9,
UNW_SPARC_O2 = 10,
UNW_SPARC_O3 = 11,
UNW_SPARC_O4 = 12,
UNW_SPARC_O5 = 13,
UNW_SPARC_O6 = 14,
UNW_SPARC_O7 = 15,
UNW_SPARC_L0 = 16,
UNW_SPARC_L1 = 17,
UNW_SPARC_L2 = 18,
UNW_SPARC_L3 = 19,
UNW_SPARC_L4 = 20,
UNW_SPARC_L5 = 21,
UNW_SPARC_L6 = 22,
UNW_SPARC_L7 = 23,
UNW_SPARC_I0 = 24,
UNW_SPARC_I1 = 25,
UNW_SPARC_I2 = 26,
UNW_SPARC_I3 = 27,
UNW_SPARC_I4 = 28,
UNW_SPARC_I5 = 29,
UNW_SPARC_I6 = 30,
UNW_SPARC_I7 = 31,
};
// Hexagon register numbers
enum {
UNW_HEXAGON_R0,
UNW_HEXAGON_R1,
UNW_HEXAGON_R2,
UNW_HEXAGON_R3,
UNW_HEXAGON_R4,
UNW_HEXAGON_R5,
UNW_HEXAGON_R6,
UNW_HEXAGON_R7,
UNW_HEXAGON_R8,
UNW_HEXAGON_R9,
UNW_HEXAGON_R10,
UNW_HEXAGON_R11,
UNW_HEXAGON_R12,
UNW_HEXAGON_R13,
UNW_HEXAGON_R14,
UNW_HEXAGON_R15,
UNW_HEXAGON_R16,
UNW_HEXAGON_R17,
UNW_HEXAGON_R18,
UNW_HEXAGON_R19,
UNW_HEXAGON_R20,
UNW_HEXAGON_R21,
UNW_HEXAGON_R22,
UNW_HEXAGON_R23,
UNW_HEXAGON_R24,
UNW_HEXAGON_R25,
UNW_HEXAGON_R26,
UNW_HEXAGON_R27,
UNW_HEXAGON_R28,
UNW_HEXAGON_R29,
UNW_HEXAGON_R30,
UNW_HEXAGON_R31,
UNW_HEXAGON_P3_0,
UNW_HEXAGON_PC,
};
// RISC-V registers. These match the DWARF register numbers defined by section
// 4 of the RISC-V ELF psABI specification, which can be found at:
//
// https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md
enum {
UNW_RISCV_X0 = 0,
UNW_RISCV_X1 = 1,
UNW_RISCV_X2 = 2,
UNW_RISCV_X3 = 3,
UNW_RISCV_X4 = 4,
UNW_RISCV_X5 = 5,
UNW_RISCV_X6 = 6,
UNW_RISCV_X7 = 7,
UNW_RISCV_X8 = 8,
UNW_RISCV_X9 = 9,
UNW_RISCV_X10 = 10,
UNW_RISCV_X11 = 11,
UNW_RISCV_X12 = 12,
UNW_RISCV_X13 = 13,
UNW_RISCV_X14 = 14,
UNW_RISCV_X15 = 15,
UNW_RISCV_X16 = 16,
UNW_RISCV_X17 = 17,
UNW_RISCV_X18 = 18,
UNW_RISCV_X19 = 19,
UNW_RISCV_X20 = 20,
UNW_RISCV_X21 = 21,
UNW_RISCV_X22 = 22,
UNW_RISCV_X23 = 23,
UNW_RISCV_X24 = 24,
UNW_RISCV_X25 = 25,
UNW_RISCV_X26 = 26,
UNW_RISCV_X27 = 27,
UNW_RISCV_X28 = 28,
UNW_RISCV_X29 = 29,
UNW_RISCV_X30 = 30,
UNW_RISCV_X31 = 31,
UNW_RISCV_F0 = 32,
UNW_RISCV_F1 = 33,
UNW_RISCV_F2 = 34,
UNW_RISCV_F3 = 35,
UNW_RISCV_F4 = 36,
UNW_RISCV_F5 = 37,
UNW_RISCV_F6 = 38,
UNW_RISCV_F7 = 39,
UNW_RISCV_F8 = 40,
UNW_RISCV_F9 = 41,
UNW_RISCV_F10 = 42,
UNW_RISCV_F11 = 43,
UNW_RISCV_F12 = 44,
UNW_RISCV_F13 = 45,
UNW_RISCV_F14 = 46,
UNW_RISCV_F15 = 47,
UNW_RISCV_F16 = 48,
UNW_RISCV_F17 = 49,
UNW_RISCV_F18 = 50,
UNW_RISCV_F19 = 51,
UNW_RISCV_F20 = 52,
UNW_RISCV_F21 = 53,
UNW_RISCV_F22 = 54,
UNW_RISCV_F23 = 55,
UNW_RISCV_F24 = 56,
UNW_RISCV_F25 = 57,
UNW_RISCV_F26 = 58,
UNW_RISCV_F27 = 59,
UNW_RISCV_F28 = 60,
UNW_RISCV_F29 = 61,
UNW_RISCV_F30 = 62,
UNW_RISCV_F31 = 63,
};
#endif
# 945 "/usr/src/contrib/llvm-project/libunwind/include/libunwind.h"
# 13 "/usr/src/contrib/llvm-project/libunwind/src/libunwind.cpp" 2
#if 0 /* expanded by -frewrite-includes */
#include "libunwind_ext.h"
#endif /* expanded by -frewrite-includes */
# 14 "/usr/src/contrib/llvm-project/libunwind/src/libunwind.cpp"
# 1 "/usr/src/contrib/llvm-project/libunwind/src/libunwind_ext.h" 1
//===------------------------ libunwind_ext.h -----------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//
// Extensions to libunwind API.
//
//===----------------------------------------------------------------------===//
#ifndef __LIBUNWIND_EXT__
#define __LIBUNWIND_EXT__
#if 0 /* expanded by -frewrite-includes */
#include "config.h"
#endif /* expanded by -frewrite-includes */
# 15 "/usr/src/contrib/llvm-project/libunwind/src/libunwind_ext.h"
# 1 "/usr/src/contrib/llvm-project/libunwind/src/config.h" 1
//===----------------------------- config.h -------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//
// Defines macros used within libunwind project.
//
//===----------------------------------------------------------------------===//
#ifndef LIBUNWIND_CONFIG_H
#define LIBUNWIND_CONFIG_H
#if 0 /* expanded by -frewrite-includes */
#include <assert.h>
#endif /* expanded by -frewrite-includes */
# 16 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/assert.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-3-Clause
*
* Copyright (c) 1992, 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.
*
* @(#)assert.h 8.2 (Berkeley) 1/21/94
* $FreeBSD$
*/
#if 0 /* expanded by -frewrite-includes */
#include <sys/cdefs.h>
#endif /* expanded by -frewrite-includes */
# 40 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/assert.h" 3 4
# 41 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/assert.h" 3 4
/*
* Unlike other ANSI header files, <assert.h> may usefully be included
* multiple times, with and without NDEBUG defined.
*/
#undef assert
#undef _assert
#ifdef NDEBUG
#define assert(e) ((void)0)
#define _assert(e) ((void)0)
#else
# 54 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/assert.h" 3 4
#define _assert(e) assert(e)
#define assert(e) ((e) ? (void)0 : __assert(__func__, __FILE__, \
__LINE__, #e))
#endif /* NDEBUG */
# 59 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/assert.h" 3 4
#ifndef _ASSERT_H_
#define _ASSERT_H_
/*
* Static assertions. In principle we could define static_assert for
* C++ older than C++11, but this breaks if _Static_assert is
* implemented as a macro.
*
* C++ template parameters may contain commas, even if not enclosed in
* parentheses, causing the _Static_assert macro to be invoked with more
* than two parameters.
*/
#if 0 /* disabled by -frewrite-includes */
#if __ISO_C_VISIBLE >= 2011 && !defined(__cplusplus)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 73 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/assert.h" 3 4
#define static_assert _Static_assert
#endif
# 75 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/assert.h" 3 4
__BEGIN_DECLS
void __assert(const char *, const char *, int, const char *) __dead2;
__END_DECLS
#endif /* !_ASSERT_H_ */
# 81 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/assert.h" 3 4
# 17 "/usr/src/contrib/llvm-project/libunwind/src/config.h" 2
#if 0 /* expanded by -frewrite-includes */
#include <stdio.h>
#endif /* expanded by -frewrite-includes */
# 17 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 1 3
// -*- C++ -*-
//===---------------------------- stdio.h ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#if 0 /* disabled by -frewrite-includes */
#if defined(__need_FILE) || defined(__need___FILE)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 11 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 13 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 14 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#endif
# 15 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#if 0 /* expanded by -frewrite-includes */
#include_next <stdio.h>
#endif /* expanded by -frewrite-includes */
# 16 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
# 17 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif !defined(_LIBCPP_STDIO_H)
#endif
#endif /* disabled by -frewrite-includes */
#elif 1 /* evaluated by -frewrite-includes */
# 19 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#define _LIBCPP_STDIO_H
/*
stdio.h synopsis
Macros:
BUFSIZ
EOF
FILENAME_MAX
FOPEN_MAX
L_tmpnam
NULL
SEEK_CUR
SEEK_END
SEEK_SET
TMP_MAX
_IOFBF
_IOLBF
_IONBF
stderr
stdin
stdout
Types:
FILE
fpos_t
size_t
int remove(const char* filename);
int rename(const char* old, const char* new);
FILE* tmpfile(void);
char* tmpnam(char* s);
int fclose(FILE* stream);
int fflush(FILE* stream);
FILE* fopen(const char* restrict filename, const char* restrict mode);
FILE* freopen(const char* restrict filename, const char * restrict mode,
FILE * restrict stream);
void setbuf(FILE* restrict stream, char* restrict buf);
int setvbuf(FILE* restrict stream, char* restrict buf, int mode, size_t size);
int fprintf(FILE* restrict stream, const char* restrict format, ...);
int fscanf(FILE* restrict stream, const char * restrict format, ...);
int printf(const char* restrict format, ...);
int scanf(const char* restrict format, ...);
int snprintf(char* restrict s, size_t n, const char* restrict format, ...); // C99
int sprintf(char* restrict s, const char* restrict format, ...);
int sscanf(const char* restrict s, const char* restrict format, ...);
int vfprintf(FILE* restrict stream, const char* restrict format, va_list arg);
int vfscanf(FILE* restrict stream, const char* restrict format, va_list arg); // C99
int vprintf(const char* restrict format, va_list arg);
int vscanf(const char* restrict format, va_list arg); // C99
int vsnprintf(char* restrict s, size_t n, const char* restrict format, // C99
va_list arg);
int vsprintf(char* restrict s, const char* restrict format, va_list arg);
int vsscanf(const char* restrict s, const char* restrict format, va_list arg); // C99
int fgetc(FILE* stream);
char* fgets(char* restrict s, int n, FILE* restrict stream);
int fputc(int c, FILE* stream);
int fputs(const char* restrict s, FILE* restrict stream);
int getc(FILE* stream);
int getchar(void);
char* gets(char* s); // removed in C++14
int putc(int c, FILE* stream);
int putchar(int c);
int puts(const char* s);
int ungetc(int c, FILE* stream);
size_t fread(void* restrict ptr, size_t size, size_t nmemb,
FILE* restrict stream);
size_t fwrite(const void* restrict ptr, size_t size, size_t nmemb,
FILE* restrict stream);
int fgetpos(FILE* restrict stream, fpos_t* restrict pos);
int fseek(FILE* stream, long offset, int whence);
int fsetpos(FILE*stream, const fpos_t* pos);
long ftell(FILE* stream);
void rewind(FILE* stream);
void clearerr(FILE* stream);
int feof(FILE* stream);
int ferror(FILE* stream);
void perror(const char* s);
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 101 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
# 102 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 104 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 105 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#endif
# 106 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#if 0 /* expanded by -frewrite-includes */
#include_next <stdio.h>
#endif /* expanded by -frewrite-includes */
# 107 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-3-Clause
*
* 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$
*/
#ifndef _STDIO_H_
#define _STDIO_H_
#if 0 /* expanded by -frewrite-includes */
#include <sys/cdefs.h>
#endif /* expanded by -frewrite-includes */
# 41 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
# 42 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#if 0 /* expanded by -frewrite-includes */
#include <sys/_null.h>
#endif /* expanded by -frewrite-includes */
# 42 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
# 43 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#if 0 /* expanded by -frewrite-includes */
#include <sys/_types.h>
#endif /* expanded by -frewrite-includes */
# 43 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
# 44 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
__NULLABILITY_PRAGMA_PUSH
typedef __off_t fpos_t;
#ifndef _SIZE_T_DECLARED
typedef __size_t size_t;
#define _SIZE_T_DECLARED
#endif
# 53 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#ifndef _RSIZE_T_DEFINED
#define _RSIZE_T_DEFINED
typedef size_t rsize_t;
#endif
# 58 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE >= 200809
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 60 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#ifndef _OFF_T_DECLARED
#define _OFF_T_DECLARED
typedef __off_t off_t;
#endif
# 64 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#ifndef _SSIZE_T_DECLARED
#define _SSIZE_T_DECLARED
typedef __ssize_t ssize_t;
#endif
# 68 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#endif
# 69 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#ifndef _OFF64_T_DECLARED
#define _OFF64_T_DECLARED
typedef __off64_t off64_t;
#endif
# 74 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 76 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#ifndef _VA_LIST_DECLARED
typedef __va_list va_list;
#define _VA_LIST_DECLARED
#endif
# 80 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#endif
# 81 "/usr/obj/usr/src/arm64.aarch64/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 (* _Nullable _close)(void *);
int (* _Nullable _read)(void *, char *, int);
fpos_t (* _Nullable _seek)(void *, fpos_t, int);
int (* _Nullable _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 */
int _flags2; /* additional flags */
};
#ifndef _STDFILE_DECLARED
#define _STDFILE_DECLARED
typedef struct __sFILE FILE;
#endif
# 167 "/usr/obj/usr/src/arm64.aarch64/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
# 175 "/usr/obj/usr/src/arm64.aarch64/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 /* _bf._base 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 */
#define __S2OAP 0x0001 /* O_APPEND mode is set */
/*
* 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
# 221 "/usr/obj/usr/src/arm64.aarch64/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 0 /* disabled by -frewrite-includes */
#if __XSI_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 225 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#define P_tmpdir "/tmp/"
#endif
# 227 "/usr/obj/usr/src/arm64.aarch64/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
# 233 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#ifndef SEEK_CUR
#define SEEK_CUR 1 /* set file offset to current plus offset */
#endif
# 236 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#ifndef SEEK_END
#define SEEK_END 2 /* set file offset to EOF plus offset */
#endif
# 239 "/usr/obj/usr/src/arm64.aarch64/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 */
# 246 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
# 247 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#endif
# 248 "/usr/obj/usr/src/arm64.aarch64/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);
#if 0 /* disabled by -frewrite-includes */
#if __EXT1_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 273 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
char *gets_s(char *, rsize_t);
#endif
# 275 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
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 0 /* disabled by -frewrite-includes */
#if __ISO_C_VISIBLE >= 1999 || __POSIX_VISIBLE >= 199506
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 298 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
int snprintf(char * __restrict, size_t, const char * __restrict,
...) __printflike(3, 4);
int vsnprintf(char * __restrict, size_t, const char * __restrict,
__va_list) __printflike(3, 0);
#endif
# 303 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __ISO_C_VISIBLE >= 1999
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 304 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 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 vsscanf(const char * __restrict, const char * __restrict, __va_list)
__scanflike(2, 0);
#endif
# 310 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
/*
* Functions defined in all versions of POSIX 1003.1.
*/
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE || (__POSIX_VISIBLE && __POSIX_VISIBLE <= 199506)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 315 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#define L_cuserid 17 /* size for cuserid(3); MAXLOGNAME, legacy */
#endif
# 317 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 319 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#define L_ctermid 1024 /* size for ctermid(3); PATH_MAX */
char *ctermid(char *);
FILE *fdopen(int, const char *);
int fileno(FILE *);
#endif /* __POSIX_VISIBLE */
# 325 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE >= 199209
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 327 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
int pclose(FILE *);
FILE *popen(const char *, const char *);
#endif
# 330 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE >= 199506
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 332 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
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
# 345 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 346 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
void clearerr_unlocked(FILE *);
int feof_unlocked(FILE *);
int ferror_unlocked(FILE *);
int fflush_unlocked(FILE *);
int fileno_unlocked(FILE *);
int fputc_unlocked(int, FILE *);
int fputs_unlocked(const char * __restrict, FILE * __restrict);
size_t fread_unlocked(void * __restrict, size_t, size_t, FILE * __restrict);
size_t fwrite_unlocked(const void * __restrict, size_t, size_t,
FILE * __restrict);
#endif
# 357 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE >= 500
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 359 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
int fseeko(FILE *, __off_t, int);
__off_t ftello(FILE *);
#endif
# 362 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE || __XSI_VISIBLE > 0 && __XSI_VISIBLE < 600
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 364 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
int getw(FILE *);
int putw(int, FILE *);
#endif /* BSD or X/Open before issue 6 */
# 367 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __XSI_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 369 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
char *tempnam(const char *, const char *);
#endif
# 371 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE >= 200809
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 373 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
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) __printflike(2, 0);
/* _WITH_GETLINE to allow pre 11 sources to build on 11+ systems */
ssize_t getline(char ** __restrict, size_t * __restrict, FILE * __restrict);
int dprintf(int, const char * __restrict, ...) __printflike(2, 3);
#endif /* __POSIX_VISIBLE >= 200809 */
# 383 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
/*
* Routines that are purely local.
*/
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 388 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
int asprintf(char **, const char *, ...) __printflike(2, 3);
char *ctermid_r(char *);
void fcloseall(void);
int fdclose(FILE *, int *);
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 (* _Nullable)(void *, char *, int),
int (* _Nullable)(void *, const char *, int),
fpos_t (* _Nullable)(void *, fpos_t, int),
int (* _Nullable)(void *));
#define fropen(cookie, fn) funopen(cookie, fn, 0, 0, 0)
#define fwopen(cookie, fn) funopen(cookie, 0, fn, 0, 0)
typedef __ssize_t cookie_read_function_t(void *, char *, size_t);
typedef __ssize_t cookie_write_function_t(void *, const char *, size_t);
typedef int cookie_seek_function_t(void *, off64_t *, int);
typedef int cookie_close_function_t(void *);
typedef struct {
cookie_read_function_t *read;
cookie_write_function_t *write;
cookie_seek_function_t *seek;
cookie_close_function_t *close;
} cookie_io_functions_t;
FILE *fopencookie(void *, const char *, cookie_io_functions_t);
/*
* Portability hacks. See <sys/types.h>.
*/
#ifndef _FTRUNCATE_DECLARED
#define _FTRUNCATE_DECLARED
int ftruncate(int, __off_t);
#endif
# 438 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#ifndef _LSEEK_DECLARED
#define _LSEEK_DECLARED
__off_t lseek(int, __off_t, int);
#endif
# 442 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#ifndef _MMAP_DECLARED
#define _MMAP_DECLARED
void *mmap(void *, size_t, int, int, int, __off_t);
#endif
# 446 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#ifndef _TRUNCATE_DECLARED
#define _TRUNCATE_DECLARED
int truncate(const char *, __off_t);
#endif
# 450 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#endif /* __BSD_VISIBLE */
# 451 "/usr/obj/usr/src/arm64.aarch64/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 0 /* disabled by -frewrite-includes */
#if defined(__GNUC__) && defined(__STDC__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 464 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
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
# 471 "/usr/obj/usr/src/arm64.aarch64/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
# 483 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#ifndef __LIBC_ISTHREADED_DECLARED
#define __LIBC_ISTHREADED_DECLARED
extern int __isthreaded;
#endif
# 488 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#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 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 502 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#define fileno(p) (!__isthreaded ? __sfileno(p) : (fileno)(p))
#endif
# 504 "/usr/obj/usr/src/arm64.aarch64/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 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 512 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
/*
* 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 clearerr_unlocked(p) __sclearerr(p)
#define feof_unlocked(p) __sfeof(p)
#define ferror_unlocked(p) __sferror(p)
#define fileno_unlocked(p) __sfileno(p)
#define fputc_unlocked(s, p) __sputc(s, p)
#endif
# 522 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE >= 199506
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 523 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#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
# 529 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
#endif /* __cplusplus */
# 530 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
__END_DECLS
__NULLABILITY_PRAGMA_POP
#endif /* !_STDIO_H_ */
# 535 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdio.h" 3 4
# 108 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 2 3
#ifdef __cplusplus
#undef getc
#undef putc
#undef clearerr
#undef feof
#undef ferror
#endif
# 118 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#endif // _LIBCPP_STDIO_H
# 120 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
# 18 "/usr/src/contrib/llvm-project/libunwind/src/config.h" 2
#if 0 /* expanded by -frewrite-includes */
#include <stdint.h>
#endif /* expanded by -frewrite-includes */
# 18 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
# 19 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#if 0 /* expanded by -frewrite-includes */
#include <stdlib.h>
#endif /* expanded by -frewrite-includes */
# 19 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 1 3
// -*- C++ -*-
//===--------------------------- stdlib.h ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#if 0 /* disabled by -frewrite-includes */
#if defined(__need_malloc_and_calloc)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 11 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 13 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 14 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#endif
# 15 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* expanded by -frewrite-includes */
#include_next <stdlib.h>
#endif /* expanded by -frewrite-includes */
# 16 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
# 17 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif !defined(_LIBCPP_STDLIB_H)
#endif
#endif /* disabled by -frewrite-includes */
#elif 1 /* evaluated by -frewrite-includes */
# 19 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#define _LIBCPP_STDLIB_H
/*
stdlib.h synopsis
Macros:
EXIT_FAILURE
EXIT_SUCCESS
MB_CUR_MAX
NULL
RAND_MAX
Types:
size_t
div_t
ldiv_t
lldiv_t // C99
double atof (const char* nptr);
int atoi (const char* nptr);
long atol (const char* nptr);
long long atoll(const char* nptr); // C99
double strtod (const char* restrict nptr, char** restrict endptr);
float strtof (const char* restrict nptr, char** restrict endptr); // C99
long double strtold (const char* restrict nptr, char** restrict endptr); // C99
long strtol (const char* restrict nptr, char** restrict endptr, int base);
long long strtoll (const char* restrict nptr, char** restrict endptr, int base); // C99
unsigned long strtoul (const char* restrict nptr, char** restrict endptr, int base);
unsigned long long strtoull(const char* restrict nptr, char** restrict endptr, int base); // C99
int rand(void);
void srand(unsigned int seed);
void* calloc(size_t nmemb, size_t size);
void free(void* ptr);
void* malloc(size_t size);
void* realloc(void* ptr, size_t size);
void abort(void);
int atexit(void (*func)(void));
void exit(int status);
void _Exit(int status);
char* getenv(const char* name);
int system(const char* string);
void* bsearch(const void* key, const void* base, size_t nmemb, size_t size,
int (*compar)(const void *, const void *));
void qsort(void* base, size_t nmemb, size_t size,
int (*compar)(const void *, const void *));
int abs( int j);
long abs( long j);
long long abs(long long j); // C++0X
long labs( long j);
long long llabs(long long j); // C99
div_t div( int numer, int denom);
ldiv_t div( long numer, long denom);
lldiv_t div(long long numer, long long denom); // C++0X
ldiv_t ldiv( long numer, long denom);
lldiv_t lldiv(long long numer, long long denom); // C99
int mblen(const char* s, size_t n);
int mbtowc(wchar_t* restrict pwc, const char* restrict s, size_t n);
int wctomb(char* s, wchar_t wchar);
size_t mbstowcs(wchar_t* restrict pwcs, const char* restrict s, size_t n);
size_t wcstombs(char* restrict s, const wchar_t* restrict pwcs, size_t n);
int at_quick_exit(void (*func)(void)) // C++11
void quick_exit(int status); // C++11
void *aligned_alloc(size_t alignment, size_t size); // C11
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 87 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
# 88 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 90 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 91 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#endif
# 92 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* expanded by -frewrite-includes */
#include_next <stdlib.h>
#endif /* expanded by -frewrite-includes */
# 93 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-3-Clause
*
* 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$
*/
#ifndef _STDLIB_H_
#define _STDLIB_H_
#if 0 /* expanded by -frewrite-includes */
#include <sys/cdefs.h>
#endif /* expanded by -frewrite-includes */
# 38 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
# 39 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
#if 0 /* expanded by -frewrite-includes */
#include <sys/_null.h>
#endif /* expanded by -frewrite-includes */
# 39 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
# 40 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
#if 0 /* expanded by -frewrite-includes */
#include <sys/_types.h>
#endif /* expanded by -frewrite-includes */
# 40 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
# 41 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
__NULLABILITY_PRAGMA_PUSH
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 45 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
#ifndef _RUNE_T_DECLARED
typedef __rune_t rune_t;
#define _RUNE_T_DECLARED
#endif
# 49 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
#endif
# 50 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
#ifndef _SIZE_T_DECLARED
typedef __size_t size_t;
#define _SIZE_T_DECLARED
#endif
# 55 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
#ifndef __cplusplus
#ifndef _WCHAR_T_DECLARED
typedef ___wchar_t wchar_t;
#define _WCHAR_T_DECLARED
#endif
# 61 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
#endif
# 62 "/usr/obj/usr/src/arm64.aarch64/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
/*
* I.e., INT_MAX; rand(3) returns a signed integer but must produce output in
* the range [0, RAND_MAX], so half of the possible output range is unused.
*/
#define RAND_MAX 0x7fffffff
__BEGIN_DECLS
#ifdef _XLOCALE_H_
#if 0 /* expanded by -frewrite-includes */
#include <xlocale/_stdlib.h>
#endif /* expanded by -frewrite-includes */
# 84 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
# 85 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
#endif
# 86 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
extern int __mb_cur_max;
extern int ___mb_cur_max(void);
#define MB_CUR_MAX ((size_t)___mb_cur_max())
_Noreturn void abort(void);
int abs(int) __pure2;
int atexit(void (* _Nonnull)(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 * _Nonnull, const void *));
void *calloc(size_t, size_t) __malloc_like __result_use_check
__alloc_size2(1, 2);
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 __result_use_check __alloc_size(1);
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 (* _Nonnull)(const void *, const void *));
int rand(void);
void *realloc(void *, size_t) __result_use_check __alloc_size(2);
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 0 /* disabled by -frewrite-includes */
#if __ISO_C_VISIBLE >= 1999 || defined(__cplusplus)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 137 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
#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 */
# 159 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
_Noreturn void _Exit(int);
#endif /* __ISO_C_VISIBLE >= 1999 */
# 162 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
/*
* If we're in a mode greater than C99, expose C11 functions.
*/
#if 0 /* disabled by -frewrite-includes */
#if __ISO_C_VISIBLE >= 2011 || __cplusplus >= 201103L
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 167 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
void * aligned_alloc(size_t, size_t) __malloc_like __alloc_align(1)
__alloc_size(2);
int at_quick_exit(void (*)(void));
_Noreturn void
quick_exit(int);
#endif /* __ISO_C_VISIBLE >= 2011 */
# 173 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
/*
* Extensions made by POSIX relative to C.
*/
#if 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE >= 199506 || __XSI_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 177 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
char *realpath(const char * __restrict, char * __restrict);
#endif
# 179 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE >= 199506
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 180 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
int rand_r(unsigned *); /* (TSF) */
#endif
# 182 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE >= 200112
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 183 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
int posix_memalign(void **, size_t, size_t); /* (ADV) */
int setenv(const char *, const char *, int);
int unsetenv(const char *);
#endif
# 187 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE >= 200809 || __XSI_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 189 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
int getsubopt(char **, char *const *, char **);
#ifndef _MKDTEMP_DECLARED
char *mkdtemp(char *);
#define _MKDTEMP_DECLARED
#endif
# 194 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
#ifndef _MKSTEMP_DECLARED
int mkstemp(char *);
#define _MKSTEMP_DECLARED
#endif
# 198 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
#endif /* __POSIX_VISIBLE >= 200809 || __XSI_VISIBLE */
# 199 "/usr/obj/usr/src/arm64.aarch64/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 0 /* disabled by -frewrite-includes */
#if __XSI_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 207 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
/* 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); */
char *initstate(unsigned int, char *, size_t);
long jrand48(unsigned short[3]);
char *l64a(long);
void lcong48(unsigned short[7]);
long lrand48(void);
#if 0 /* disabled by -frewrite-includes */
#if !defined(_MKTEMP_DECLARED) && (__BSD_VISIBLE || __XSI_VISIBLE <= 600)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 220 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
char *mktemp(char *);
#define _MKTEMP_DECLARED
#endif
# 223 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
long mrand48(void);
long nrand48(unsigned short[3]);
int putenv(char *);
long random(void);
unsigned short
*seed48(unsigned short[3]);
char *setstate(/* const */ char *);
void srand48(long);
void srandom(unsigned int);
#endif /* __XSI_VISIBLE */
# 233 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __XSI_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 235 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
int grantpt(int);
int posix_openpt(int);
char *ptsname(int);
int unlockpt(int);
#endif /* __XSI_VISIBLE */
# 240 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 241 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
/* ptsname_r will be included in POSIX issue 8 */
int ptsname_r(int, char *, size_t);
#endif
# 244 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 246 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
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.
* On platforms where alloca() is not in libc, programs which use it
* will fail to link when compiled with non-GNU compilers.
*/
#if 0 /* disabled by -frewrite-includes */
#if __GNUC__ >= 2
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 257 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
#undef alloca /* some GNU bits try to get cute and define this on their own */
#define alloca(sz) __builtin_alloca(sz)
#endif
# 260 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
void abort2(const char *, int, void **) __dead2;
__uint32_t
arc4random(void);
void arc4random_buf(void *, size_t);
__uint32_t
arc4random_uniform(__uint32_t);
#ifdef __BLOCKS__
int atexit_b(void (^ _Nonnull)(void));
void *bsearch_b(const void *, const void *, size_t,
size_t, int (^ _Nonnull)(const void *, const void *));
#endif
# 273 "/usr/obj/usr/src/arm64.aarch64/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);
int daemonfd(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 (* _Nonnull)(const void *, const void *));
#ifdef __BLOCKS__
int heapsort_b(void *, size_t, size_t,
int (^ _Nonnull)(const void *, const void *));
void qsort_b(void *, size_t, size_t,
int (^ _Nonnull)(const void *, const void *));
#endif
# 304 "/usr/obj/usr/src/arm64.aarch64/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
# 309 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
int mkostemp(char *, int);
int mkostemps(char *, int, int);
int mkostempsat(int, 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 *reallocarray(void *, size_t, size_t) __result_use_check
__alloc_size2(2, 3);
void *reallocf(void *, size_t) __result_use_check __alloc_size(2);
int rpmatch(const char *);
void setprogname(const char *);
int sradixsort(const unsigned char **, int, const unsigned char *,
unsigned);
void srandomdev(void);
long long
strtonum(const char *, long long, long long, const char **);
/* Deprecated interfaces, to be removed. */
__int64_t
strtoq(const char *, char **, int);
__uint64_t
strtouq(const char *, char **, int);
extern char *suboptarg; /* getsubopt(3) external variable */
#endif /* __BSD_VISIBLE */
# 335 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __EXT1_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 337 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
#ifndef _RSIZE_T_DEFINED
#define _RSIZE_T_DEFINED
typedef size_t rsize_t;
#endif
# 342 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
#ifndef _ERRNO_T_DEFINED
#define _ERRNO_T_DEFINED
typedef int errno_t;
#endif
# 347 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
/* K.3.6 */
typedef void (*constraint_handler_t)(const char * __restrict,
void * __restrict, errno_t);
/* K.3.6.1.1 */
constraint_handler_t set_constraint_handler_s(constraint_handler_t handler);
/* K.3.6.1.2 */
_Noreturn void abort_handler_s(const char * __restrict, void * __restrict,
errno_t);
/* K3.6.1.3 */
void ignore_handler_s(const char * __restrict, void * __restrict, errno_t);
/* K.3.6.3.2 */
errno_t qsort_s(void *, rsize_t, rsize_t,
int (*)(const void *, const void *, void *), void *);
#endif /* __EXT1_VISIBLE */
# 362 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
__END_DECLS
__NULLABILITY_PRAGMA_POP
#endif /* !_STDLIB_H_ */
# 367 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdlib.h" 3 4
# 94 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 2 3
#ifdef __cplusplus
extern "C++" {
// abs
#undef abs
#undef labs
#ifndef _LIBCPP_HAS_NO_LONG_LONG
#undef llabs
#endif
# 104 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
// MSVCRT already has the correct prototype in <stdlib.h> if __cplusplus is defined
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_MSVCRT) && !defined(__sun__) && !defined(_AIX)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 107 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
inline _LIBCPP_INLINE_VISIBILITY long abs(long __x) _NOEXCEPT {
return __builtin_labs(__x);
}
#ifndef _LIBCPP_HAS_NO_LONG_LONG
inline _LIBCPP_INLINE_VISIBILITY long long abs(long long __x) _NOEXCEPT {
return __builtin_llabs(__x);
}
#endif // _LIBCPP_HAS_NO_LONG_LONG
# 115 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#endif // !defined(_LIBCPP_MSVCRT) && !defined(__sun__) && !defined(_AIX)
# 116 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* disabled by -frewrite-includes */
#if !(defined(_AIX) || defined(__sun__))
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 118 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
inline _LIBCPP_INLINE_VISIBILITY float abs(float __lcpp_x) _NOEXCEPT {
return __builtin_fabsf(__lcpp_x); // Use builtins to prevent needing math.h
}
inline _LIBCPP_INLINE_VISIBILITY double abs(double __lcpp_x) _NOEXCEPT {
return __builtin_fabs(__lcpp_x);
}
inline _LIBCPP_INLINE_VISIBILITY long double
abs(long double __lcpp_x) _NOEXCEPT {
return __builtin_fabsl(__lcpp_x);
}
#endif // !(defined(_AIX) || defined(__sun__))
# 131 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
// div
#undef div
#undef ldiv
#ifndef _LIBCPP_HAS_NO_LONG_LONG
#undef lldiv
#endif
# 139 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
// MSVCRT already has the correct prototype in <stdlib.h> if __cplusplus is defined
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_MSVCRT) && !defined(__sun__) && !defined(_AIX)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 142 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
inline _LIBCPP_INLINE_VISIBILITY ldiv_t div(long __x, long __y) _NOEXCEPT {
return ::ldiv(__x, __y);
}
#ifndef _LIBCPP_HAS_NO_LONG_LONG
inline _LIBCPP_INLINE_VISIBILITY lldiv_t div(long long __x,
long long __y) _NOEXCEPT {
return ::lldiv(__x, __y);
}
#endif // _LIBCPP_HAS_NO_LONG_LONG
# 151 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#endif // _LIBCPP_MSVCRT / __sun__ / _AIX
# 152 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
} // extern "C++"
#endif // __cplusplus
# 154 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#endif // _LIBCPP_STDLIB_H
# 156 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
# 20 "/usr/src/contrib/llvm-project/libunwind/src/config.h" 2
// Define static_assert() unless already defined by compiler.
#ifndef __has_feature
#define __has_feature(__x) 0
#endif
# 25 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#if 0 /* disabled by -frewrite-includes */
#if !(__has_feature(cxx_static_assert)) && !defined(static_assert)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 26 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#define static_assert(__b, __m) \
extern int compile_time_assert_failed[ ( __b ) ? 1 : -1 ] \
__attribute__( ( unused ) );
#endif
# 30 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
// Platform specific configuration defines.
#ifdef __APPLE__
#if 0 /* disabled by -frewrite-includes */
#if defined(FOR_DYLD)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 34 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#define _LIBUNWIND_SUPPORT_COMPACT_UNWIND
#else
# 36 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#define _LIBUNWIND_SUPPORT_COMPACT_UNWIND
#define _LIBUNWIND_SUPPORT_DWARF_UNWIND 1
#endif
# 39 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_WIN32)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 40 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#ifdef __SEH__
#define _LIBUNWIND_SUPPORT_SEH_UNWIND 1
#else
# 43 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#define _LIBUNWIND_SUPPORT_DWARF_UNWIND 1
#endif
# 45 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#else
# 46 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#if 0 /* disabled by -frewrite-includes */
#if defined(__ARM_DWARF_EH__) || !defined(__arm__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 47 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#define _LIBUNWIND_SUPPORT_DWARF_UNWIND 1
#define _LIBUNWIND_SUPPORT_DWARF_INDEX 1
#endif
# 50 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#endif
# 51 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_DISABLE_VISIBILITY_ANNOTATIONS)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 53 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#define _LIBUNWIND_EXPORT
#define _LIBUNWIND_HIDDEN
#else
# 56 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#if 0 /* disabled by -frewrite-includes */
#if !defined(__ELF__) && !defined(__MACH__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 57 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#define _LIBUNWIND_EXPORT __declspec(dllexport)
#define _LIBUNWIND_HIDDEN
#else
# 60 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#define _LIBUNWIND_EXPORT __attribute__((visibility("default")))
#define _LIBUNWIND_HIDDEN __attribute__((visibility("hidden")))
#endif
# 63 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#endif
# 64 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#define STR(a) #a
#define XSTR(a) STR(a)
#define SYMBOL_NAME(name) XSTR(__USER_LABEL_PREFIX__) #name
#if 0 /* disabled by -frewrite-includes */
#if defined(__APPLE__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 70 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#define _LIBUNWIND_WEAK_ALIAS(name, aliasname) \
__asm__(".globl " SYMBOL_NAME(aliasname)); \
__asm__(SYMBOL_NAME(aliasname) " = " SYMBOL_NAME(name)); \
extern "C" _LIBUNWIND_EXPORT __typeof(name) aliasname \
__attribute__((weak_import));
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(__ELF__)
#endif
#endif /* disabled by -frewrite-includes */
#elif 1 /* evaluated by -frewrite-includes */
# 76 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#define _LIBUNWIND_WEAK_ALIAS(name, aliasname) \
extern "C" _LIBUNWIND_EXPORT __typeof(name) aliasname \
__attribute__((weak, alias(#name)));
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_WIN32)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 80 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#if 0 /* disabled by -frewrite-includes */
#if defined(__MINGW32__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 81 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#define _LIBUNWIND_WEAK_ALIAS(name, aliasname) \
extern "C" _LIBUNWIND_EXPORT __typeof(name) aliasname \
__attribute__((alias(#name)));
#else
# 85 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#define _LIBUNWIND_WEAK_ALIAS(name, aliasname) \
__pragma(comment(linker, "/alternatename:" SYMBOL_NAME(aliasname) "=" \
SYMBOL_NAME(name))) \
extern "C" _LIBUNWIND_EXPORT __typeof(name) aliasname;
#endif
# 90 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#else
# 91 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#error Unsupported target
#endif
# 93 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#if 0 /* disabled by -frewrite-includes */
#if (defined(__APPLE__) && defined(__arm__)) || defined(__USING_SJLJ_EXCEPTIONS__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 95 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#define _LIBUNWIND_BUILD_SJLJ_APIS
#endif
# 97 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#if 0 /* disabled by -frewrite-includes */
#if defined(__i386__) || defined(__x86_64__) || defined(__ppc__) || defined(__ppc64__) || defined(__powerpc64__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 99 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#define _LIBUNWIND_SUPPORT_FRAME_APIS
#endif
# 101 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#if 0 /* disabled by -frewrite-includes */
#if defined(__i386__) || defined(__x86_64__) || \
defined(__ppc__) || defined(__ppc64__) || defined(__powerpc64__) || \
(!defined(__APPLE__) && defined(__arm__)) || \
defined(__aarch64__) || \
defined(__mips__) || \
defined(__riscv) || \
defined(__hexagon__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 109 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBUNWIND_BUILD_SJLJ_APIS)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 110 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#define _LIBUNWIND_BUILD_ZERO_COST_APIS
#endif
# 112 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#endif
# 113 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#if 0 /* disabled by -frewrite-includes */
#if defined(__powerpc64__) && defined(_ARCH_PWR8)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 115 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#define PPC64_HAS_VMX
#endif
# 117 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#if 0 /* disabled by -frewrite-includes */
#if defined(NDEBUG) && defined(_LIBUNWIND_IS_BAREMETAL)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 119 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#define _LIBUNWIND_ABORT(msg) \
do { \
abort(); \
} while (0)
#else
# 124 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#define _LIBUNWIND_ABORT(msg) \
do { \
fprintf(stderr, "libunwind: %s - %s\n", __func__, msg); \
fflush(stderr); \
abort(); \
} while (0)
#endif
# 131 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#if 0 /* disabled by -frewrite-includes */
#if defined(NDEBUG) && defined(_LIBUNWIND_IS_BAREMETAL)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 133 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#define _LIBUNWIND_LOG0(msg)
#define _LIBUNWIND_LOG(msg, ...)
#else
# 136 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#define _LIBUNWIND_LOG0(msg) \
fprintf(stderr, "libunwind: " msg "\n")
#define _LIBUNWIND_LOG(msg, ...) \
fprintf(stderr, "libunwind: " msg "\n", __VA_ARGS__)
#endif
# 141 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#if 0 /* disabled by -frewrite-includes */
#if defined(NDEBUG)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 143 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#define _LIBUNWIND_LOG_IF_FALSE(x) x
#else
# 145 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#define _LIBUNWIND_LOG_IF_FALSE(x) \
do { \
bool _ret = x; \
if (!_ret) \
_LIBUNWIND_LOG("" #x " failed in %s", __FUNCTION__); \
} while (0)
#endif
# 152 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
// Macros that define away in non-Debug builds
#ifdef NDEBUG
#define _LIBUNWIND_DEBUG_LOG(msg, ...)
#define _LIBUNWIND_TRACE_API(msg, ...)
#define _LIBUNWIND_TRACING_UNWINDING (0)
#define _LIBUNWIND_TRACING_DWARF (0)
#define _LIBUNWIND_TRACE_UNWINDING(msg, ...)
#define _LIBUNWIND_TRACE_DWARF(...)
#else
# 162 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#ifdef __cplusplus
extern "C" {
#endif
# 165 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
extern bool logAPIs();
extern bool logUnwinding();
extern bool logDWARF();
#ifdef __cplusplus
}
#endif
# 171 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#define _LIBUNWIND_DEBUG_LOG(msg, ...) _LIBUNWIND_LOG(msg, __VA_ARGS__)
#define _LIBUNWIND_TRACE_API(msg, ...) \
do { \
if (logAPIs()) \
_LIBUNWIND_LOG(msg, __VA_ARGS__); \
} while (0)
#define _LIBUNWIND_TRACING_UNWINDING logUnwinding()
#define _LIBUNWIND_TRACING_DWARF logDWARF()
#define _LIBUNWIND_TRACE_UNWINDING(msg, ...) \
do { \
if (logUnwinding()) \
_LIBUNWIND_LOG(msg, __VA_ARGS__); \
} while (0)
#define _LIBUNWIND_TRACE_DWARF(...) \
do { \
if (logDWARF()) \
fprintf(stderr, __VA_ARGS__); \
} while (0)
#endif
# 190 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#ifdef __cplusplus
// Used to fit UnwindCursor and Registers_xxx types against unw_context_t /
// unw_cursor_t sized memory blocks.
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_IS_NATIVE_ONLY)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 195 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
# define COMP_OP ==
#else
# 197 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
# define COMP_OP <=
#endif
# 199 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
template <typename _Type, typename _Mem>
struct check_fit {
template <typename T>
struct blk_count {
static const size_t count =
(sizeof(T) + sizeof(uint64_t) - 1) / sizeof(uint64_t);
};
static const bool does_fit =
(blk_count<_Type>::count COMP_OP blk_count<_Mem>::count);
};
#undef COMP_OP
#endif // __cplusplus
# 211 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
#endif // LIBUNWIND_CONFIG_H
# 213 "/usr/src/contrib/llvm-project/libunwind/src/config.h"
# 16 "/usr/src/contrib/llvm-project/libunwind/src/libunwind_ext.h" 2
#if 0 /* expanded by -frewrite-includes */
#include <libunwind.h>
#endif /* expanded by -frewrite-includes */
# 16 "/usr/src/contrib/llvm-project/libunwind/src/libunwind_ext.h"
# 17 "/usr/src/contrib/llvm-project/libunwind/src/libunwind_ext.h"
#if 0 /* expanded by -frewrite-includes */
#include <unwind.h>
#endif /* expanded by -frewrite-includes */
# 17 "/usr/src/contrib/llvm-project/libunwind/src/libunwind_ext.h"
# 1 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h" 1
//===------------------------------- unwind.h -----------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//
// C++ ABI Level 1 ABI documented at:
// https://itanium-cxx-abi.github.io/cxx-abi/abi-eh.html
//
//===----------------------------------------------------------------------===//
#ifndef __UNWIND_H__
#define __UNWIND_H__
#if 0 /* expanded by -frewrite-includes */
#include <__libunwind_config.h>
#endif /* expanded by -frewrite-includes */
# 16 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
# 17 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
#if 0 /* expanded by -frewrite-includes */
#include <stdint.h>
#endif /* expanded by -frewrite-includes */
# 18 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
# 19 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
#if 0 /* expanded by -frewrite-includes */
#include <stddef.h>
#endif /* expanded by -frewrite-includes */
# 19 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 1 3
// -*- C++ -*-
//===--------------------------- stddef.h ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#if 0 /* disabled by -frewrite-includes */
#if defined(__need_ptrdiff_t) || defined(__need_size_t) || \
defined(__need_wchar_t) || defined(__need_NULL) || defined(__need_wint_t)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 12 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 14 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 15 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
#endif
# 16 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
#if 0 /* expanded by -frewrite-includes */
#include_next <stddef.h>
#endif /* expanded by -frewrite-includes */
# 17 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
# 18 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif !defined(_LIBCPP_STDDEF_H)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 20 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
#define _LIBCPP_STDDEF_H
/*
stddef.h synopsis
Macros:
offsetof(type,member-designator)
NULL
Types:
ptrdiff_t
size_t
max_align_t // C++11
nullptr_t
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 39 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
# 40 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 42 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 43 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
#endif
# 44 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
#if 0 /* expanded by -frewrite-includes */
#include_next <stddef.h>
#endif /* expanded by -frewrite-includes */
# 45 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
# 46 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
#ifdef __cplusplus
extern "C++" {
#if 0 /* expanded by -frewrite-includes */
#include <__nullptr>
#endif /* expanded by -frewrite-includes */
# 50 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
# 51 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
using std::nullptr_t;
}
#endif
# 55 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
#endif // _LIBCPP_STDDEF_H
# 57 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stddef.h" 3
# 20 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h" 2
#if 0 /* disabled by -frewrite-includes */
#if defined(__SEH__) && !defined(__USING_SJLJ_EXCEPTIONS__) && defined(_WIN32)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 22 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
#if 0 /* expanded by -frewrite-includes */
#include <windows.h>
#endif /* expanded by -frewrite-includes */
# 22 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
# 23 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
#if 0 /* expanded by -frewrite-includes */
#include <ntverp.h>
#endif /* expanded by -frewrite-includes */
# 23 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
# 24 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
#endif
# 25 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
#if 0 /* disabled by -frewrite-includes */
#if defined(__APPLE__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 27 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
#define LIBUNWIND_UNAVAIL __attribute__ (( unavailable ))
#else
# 29 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
#define LIBUNWIND_UNAVAIL
#endif
# 31 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
typedef enum {
_URC_NO_REASON = 0,
_URC_OK = 0,
_URC_FOREIGN_EXCEPTION_CAUGHT = 1,
_URC_FATAL_PHASE2_ERROR = 2,
_URC_FATAL_PHASE1_ERROR = 3,
_URC_NORMAL_STOP = 4,
_URC_END_OF_STACK = 5,
_URC_HANDLER_FOUND = 6,
_URC_INSTALL_CONTEXT = 7,
_URC_CONTINUE_UNWIND = 8,
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_ARM_EHABI)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 44 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
_URC_FAILURE = 9
#endif
# 46 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
} _Unwind_Reason_Code;
typedef enum {
_UA_SEARCH_PHASE = 1,
_UA_CLEANUP_PHASE = 2,
_UA_HANDLER_FRAME = 4,
_UA_FORCE_UNWIND = 8,
_UA_END_OF_STACK = 16 // gcc extension to C++ ABI
} _Unwind_Action;
typedef struct _Unwind_Context _Unwind_Context; // opaque
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_ARM_EHABI)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 59 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
typedef uint32_t _Unwind_State;
static const _Unwind_State _US_VIRTUAL_UNWIND_FRAME = 0;
static const _Unwind_State _US_UNWIND_FRAME_STARTING = 1;
static const _Unwind_State _US_UNWIND_FRAME_RESUME = 2;
static const _Unwind_State _US_ACTION_MASK = 3;
/* Undocumented flag for force unwinding. */
static const _Unwind_State _US_FORCE_UNWIND = 8;
typedef uint32_t _Unwind_EHT_Header;
/*
* gcc_personality_v0 references 'struct _Unwind_Exception' all over the place.
* Nothing in libunwind cares about 'struct _Unwind_Control_Block,' so make it
* the alias of struct _Unwind_Exception, instead of the other way around.
*/
struct _Unwind_Exception;
typedef struct _Unwind_Exception _Unwind_Exception;
typedef struct _Unwind_Exception _Unwind_Control_Block; /* Alias */
struct _Unwind_Exception {
uint64_t exception_class;
void (*exception_cleanup)(_Unwind_Reason_Code, _Unwind_Control_Block*);
/* Unwinder cache, private fields for the unwinder's use */
struct {
uint32_t reserved1; /* init reserved1 to 0, then don't touch */
uint32_t reserved2;
uint32_t reserved3;
uint32_t reserved4;
uint32_t reserved5;
} unwinder_cache;
/* Propagation barrier cache (valid after phase 1): */
struct {
uint32_t sp;
uint32_t bitpattern[5];
} barrier_cache;
/* Cleanup cache (preserved over cleanup): */
struct {
uint32_t bitpattern[4];
} cleanup_cache;
/* Pr cache (for pr's benefit): */
struct {
uint32_t fnstart; /* function start address */
_Unwind_EHT_Header* ehtp; /* pointer to EHT entry header word */
uint32_t additional;
uint32_t reserved1;
} pr_cache;
long long int :0; /* Enforce the 8-byte alignment */
} __attribute__((__aligned__(8)));
typedef _Unwind_Reason_Code (*_Unwind_Stop_Fn)
(_Unwind_State state,
_Unwind_Exception* exceptionObject,
struct _Unwind_Context* context);
typedef _Unwind_Reason_Code (*_Unwind_Personality_Fn)(
_Unwind_State state, _Unwind_Exception *exceptionObject,
struct _Unwind_Context *context);
#else
# 122 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
struct _Unwind_Context; // opaque
struct _Unwind_Exception; // forward declaration
typedef struct _Unwind_Exception _Unwind_Exception;
struct _Unwind_Exception {
uint64_t exception_class;
void (*exception_cleanup)(_Unwind_Reason_Code reason,
_Unwind_Exception *exc);
#if 0 /* disabled by -frewrite-includes */
#if defined(__SEH__) && !defined(__USING_SJLJ_EXCEPTIONS__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 131 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
uintptr_t private_[6];
#else
# 133 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
uintptr_t private_1; // non-zero means forced unwind
uintptr_t private_2; // holds sp that phase1 found for phase2 to use
#endif
# 136 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
#if 0 /* disabled by -frewrite-includes */
#if __SIZEOF_POINTER__ == 4
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 137 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
// The implementation of _Unwind_Exception uses an attribute mode on the
// above fields which has the side effect of causing this whole struct to
// round up to 32 bytes in size (48 with SEH). To be more explicit, we add
// pad fields added for binary compatibility.
uint32_t reserved[3];
#endif
# 143 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
// The Itanium ABI requires that _Unwind_Exception objects are "double-word
// aligned". GCC has interpreted this to mean "use the maximum useful
// alignment for the target"; so do we.
} __attribute__((__aligned__));
typedef _Unwind_Reason_Code (*_Unwind_Stop_Fn)
(int version,
_Unwind_Action actions,
uint64_t exceptionClass,
_Unwind_Exception* exceptionObject,
struct _Unwind_Context* context,
void* stop_parameter );
typedef _Unwind_Reason_Code (*_Unwind_Personality_Fn)(
int version, _Unwind_Action actions, uint64_t exceptionClass,
_Unwind_Exception *exceptionObject, struct _Unwind_Context *context);
#endif
# 160 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
#ifdef __cplusplus
extern "C" {
#endif
# 164 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
//
// The following are the base functions documented by the C++ ABI
//
#ifdef __USING_SJLJ_EXCEPTIONS__
extern _Unwind_Reason_Code
_Unwind_SjLj_RaiseException(_Unwind_Exception *exception_object);
extern void _Unwind_SjLj_Resume(_Unwind_Exception *exception_object);
#else
# 173 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
extern _Unwind_Reason_Code
_Unwind_RaiseException(_Unwind_Exception *exception_object);
extern void _Unwind_Resume(_Unwind_Exception *exception_object);
#endif
# 177 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
extern void _Unwind_DeleteException(_Unwind_Exception *exception_object);
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_ARM_EHABI)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 180 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
typedef enum {
_UVRSC_CORE = 0, /* integer register */
_UVRSC_VFP = 1, /* vfp */
_UVRSC_WMMXD = 3, /* Intel WMMX data register */
_UVRSC_WMMXC = 4 /* Intel WMMX control register */
} _Unwind_VRS_RegClass;
typedef enum {
_UVRSD_UINT32 = 0,
_UVRSD_VFPX = 1,
_UVRSD_UINT64 = 3,
_UVRSD_FLOAT = 4,
_UVRSD_DOUBLE = 5
} _Unwind_VRS_DataRepresentation;
typedef enum {
_UVRSR_OK = 0,
_UVRSR_NOT_IMPLEMENTED = 1,
_UVRSR_FAILED = 2
} _Unwind_VRS_Result;
extern void _Unwind_Complete(_Unwind_Exception* exception_object);
extern _Unwind_VRS_Result
_Unwind_VRS_Get(_Unwind_Context *context, _Unwind_VRS_RegClass regclass,
uint32_t regno, _Unwind_VRS_DataRepresentation representation,
void *valuep);
extern _Unwind_VRS_Result
_Unwind_VRS_Set(_Unwind_Context *context, _Unwind_VRS_RegClass regclass,
uint32_t regno, _Unwind_VRS_DataRepresentation representation,
void *valuep);
extern _Unwind_VRS_Result
_Unwind_VRS_Pop(_Unwind_Context *context, _Unwind_VRS_RegClass regclass,
uint32_t discriminator,
_Unwind_VRS_DataRepresentation representation);
#endif
# 218 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBUNWIND_ARM_EHABI)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 220 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
extern uintptr_t _Unwind_GetGR(struct _Unwind_Context *context, int index);
extern void _Unwind_SetGR(struct _Unwind_Context *context, int index,
uintptr_t new_value);
extern uintptr_t _Unwind_GetIP(struct _Unwind_Context *context);
extern void _Unwind_SetIP(struct _Unwind_Context *, uintptr_t new_value);
#else // defined(_LIBUNWIND_ARM_EHABI)
# 228 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_UNWIND_LEVEL1_EXTERNAL_LINKAGE)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 230 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
#define _LIBUNWIND_EXPORT_UNWIND_LEVEL1 extern
#else
# 232 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
#define _LIBUNWIND_EXPORT_UNWIND_LEVEL1 static __inline__
#endif
# 234 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
// These are de facto helper functions for ARM, which delegate the function
// calls to _Unwind_VRS_Get/Set(). These are not a part of ARM EHABI
// specification, thus these function MUST be inlined. Please don't replace
// these with the "extern" function declaration; otherwise, the program
// including this <unwind.h> header won't be ABI compatible and will result in
// link error when we are linking the program with libgcc.
_LIBUNWIND_EXPORT_UNWIND_LEVEL1
uintptr_t _Unwind_GetGR(struct _Unwind_Context *context, int index) {
uintptr_t value = 0;
_Unwind_VRS_Get(context, _UVRSC_CORE, (uint32_t)index, _UVRSD_UINT32, &value);
return value;
}
_LIBUNWIND_EXPORT_UNWIND_LEVEL1
void _Unwind_SetGR(struct _Unwind_Context *context, int index,
uintptr_t value) {
_Unwind_VRS_Set(context, _UVRSC_CORE, (uint32_t)index, _UVRSD_UINT32, &value);
}
_LIBUNWIND_EXPORT_UNWIND_LEVEL1
uintptr_t _Unwind_GetIP(struct _Unwind_Context *context) {
// remove the thumb-bit before returning
return _Unwind_GetGR(context, 15) & (~(uintptr_t)0x1);
}
_LIBUNWIND_EXPORT_UNWIND_LEVEL1
void _Unwind_SetIP(struct _Unwind_Context *context, uintptr_t value) {
uintptr_t thumb_bit = _Unwind_GetGR(context, 15) & ((uintptr_t)0x1);
_Unwind_SetGR(context, 15, value | thumb_bit);
}
#endif // defined(_LIBUNWIND_ARM_EHABI)
# 267 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
extern uintptr_t _Unwind_GetRegionStart(struct _Unwind_Context *context);
extern uintptr_t
_Unwind_GetLanguageSpecificData(struct _Unwind_Context *context);
#ifdef __USING_SJLJ_EXCEPTIONS__
extern _Unwind_Reason_Code
_Unwind_SjLj_ForcedUnwind(_Unwind_Exception *exception_object,
_Unwind_Stop_Fn stop, void *stop_parameter);
#else
# 276 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
extern _Unwind_Reason_Code
_Unwind_ForcedUnwind(_Unwind_Exception *exception_object,
_Unwind_Stop_Fn stop, void *stop_parameter);
#endif
# 280 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
#ifdef __USING_SJLJ_EXCEPTIONS__
typedef struct _Unwind_FunctionContext *_Unwind_FunctionContext_t;
extern void _Unwind_SjLj_Register(_Unwind_FunctionContext_t fc);
extern void _Unwind_SjLj_Unregister(_Unwind_FunctionContext_t fc);
#endif
# 286 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
//
// The following are semi-suppoted extensions to the C++ ABI
//
//
// called by __cxa_rethrow().
//
#ifdef __USING_SJLJ_EXCEPTIONS__
extern _Unwind_Reason_Code
_Unwind_SjLj_Resume_or_Rethrow(_Unwind_Exception *exception_object);
#else
# 298 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
extern _Unwind_Reason_Code
_Unwind_Resume_or_Rethrow(_Unwind_Exception *exception_object);
#endif
# 301 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
// _Unwind_Backtrace() is a gcc extension that walks the stack and calls the
// _Unwind_Trace_Fn once per frame until it reaches the bottom of the stack
// or the _Unwind_Trace_Fn function returns something other than _URC_NO_REASON.
typedef _Unwind_Reason_Code (*_Unwind_Trace_Fn)(struct _Unwind_Context *,
void *);
extern _Unwind_Reason_Code _Unwind_Backtrace(_Unwind_Trace_Fn, void *);
// _Unwind_GetCFA is a gcc extension that can be called from within a
// personality handler to get the CFA (stack pointer before call) of
// current frame.
extern uintptr_t _Unwind_GetCFA(struct _Unwind_Context *);
// _Unwind_GetIPInfo is a gcc extension that can be called from within a
// personality handler. Similar to _Unwind_GetIP() but also returns in
// *ipBefore a non-zero value if the instruction pointer is at or before the
// instruction causing the unwind. Normally, in a function call, the IP returned
// is the return address which is after the call instruction and may be past the
// end of the function containing the call instruction.
extern uintptr_t _Unwind_GetIPInfo(struct _Unwind_Context *context,
int *ipBefore);
// __register_frame() is used with dynamically generated code to register the
// FDE for a generated (JIT) code. The FDE must use pc-rel addressing to point
// to its function and optional LSDA.
// __register_frame() has existed in all versions of Mac OS X, but in 10.4 and
// 10.5 it was buggy and did not actually register the FDE with the unwinder.
// In 10.6 and later it does register properly.
extern void __register_frame(const void *fde);
extern void __deregister_frame(const void *fde);
// _Unwind_Find_FDE() will locate the FDE if the pc is in some function that has
// an associated FDE. Note, Mac OS X 10.6 and later, introduces "compact unwind
// info" which the runtime uses in preference to DWARF unwind info. This
// function will only work if the target function has an FDE but no compact
// unwind info.
struct dwarf_eh_bases {
uintptr_t tbase;
uintptr_t dbase;
uintptr_t func;
};
extern const void *_Unwind_Find_FDE(const void *pc, struct dwarf_eh_bases *);
// This function attempts to find the start (address of first instruction) of
// a function given an address inside the function. It only works if the
// function has an FDE (DWARF unwind info).
// This function is unimplemented on Mac OS X 10.6 and later. Instead, use
// _Unwind_Find_FDE() and look at the dwarf_eh_bases.func result.
extern void *_Unwind_FindEnclosingFunction(void *pc);
// Mac OS X does not support text-rel and data-rel addressing so these functions
// are unimplemented
extern uintptr_t _Unwind_GetDataRelBase(struct _Unwind_Context *context)
LIBUNWIND_UNAVAIL;
extern uintptr_t _Unwind_GetTextRelBase(struct _Unwind_Context *context)
LIBUNWIND_UNAVAIL;
// Mac OS X 10.4 and 10.5 had implementations of these functions in
// libgcc_s.dylib, but they never worked.
/// These functions are no longer available on Mac OS X.
extern void __register_frame_info_bases(const void *fde, void *ob, void *tb,
void *db) LIBUNWIND_UNAVAIL;
extern void __register_frame_info(const void *fde, void *ob)
LIBUNWIND_UNAVAIL;
extern void __register_frame_info_table_bases(const void *fde, void *ob,
void *tb, void *db)
LIBUNWIND_UNAVAIL;
extern void __register_frame_info_table(const void *fde, void *ob)
LIBUNWIND_UNAVAIL;
extern void __register_frame_table(const void *fde)
LIBUNWIND_UNAVAIL;
extern void *__deregister_frame_info(const void *fde)
LIBUNWIND_UNAVAIL;
extern void *__deregister_frame_info_bases(const void *fde)
LIBUNWIND_UNAVAIL;
#if 0 /* disabled by -frewrite-includes */
#if defined(__SEH__) && !defined(__USING_SJLJ_EXCEPTIONS__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 381 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
#ifndef _WIN32
typedef struct _EXCEPTION_RECORD EXCEPTION_RECORD;
typedef struct _CONTEXT CONTEXT;
typedef struct _DISPATCHER_CONTEXT DISPATCHER_CONTEXT;
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif !defined(__MINGW32__) && VER_PRODUCTBUILD < 8000
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 386 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
typedef struct _DISPATCHER_CONTEXT DISPATCHER_CONTEXT;
#endif
# 388 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
// This is the common wrapper for GCC-style personality functions with SEH.
extern EXCEPTION_DISPOSITION _GCC_specific_handler(EXCEPTION_RECORD *exc,
void *frame, CONTEXT *ctx,
DISPATCHER_CONTEXT *disp,
_Unwind_Personality_Fn pers);
#endif
# 394 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
#ifdef __cplusplus
}
#endif
# 398 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
#endif // __UNWIND_H__
# 400 "/usr/src/contrib/llvm-project/libunwind/include/unwind.h"
# 18 "/usr/src/contrib/llvm-project/libunwind/src/libunwind_ext.h" 2
#define UNW_STEP_SUCCESS 1
#define UNW_STEP_END 0
#ifdef __cplusplus
extern "C" {
#endif
# 25 "/usr/src/contrib/llvm-project/libunwind/src/libunwind_ext.h"
extern int __unw_getcontext(unw_context_t *);
extern int __unw_init_local(unw_cursor_t *, unw_context_t *);
extern int __unw_step(unw_cursor_t *);
extern int __unw_get_reg(unw_cursor_t *, unw_regnum_t, unw_word_t *);
extern int __unw_get_fpreg(unw_cursor_t *, unw_regnum_t, unw_fpreg_t *);
extern int __unw_set_reg(unw_cursor_t *, unw_regnum_t, unw_word_t);
extern int __unw_set_fpreg(unw_cursor_t *, unw_regnum_t, unw_fpreg_t);
extern int __unw_resume(unw_cursor_t *);
#ifdef __arm__
/* Save VFP registers in FSTMX format (instead of FSTMD). */
extern void __unw_save_vfp_as_X(unw_cursor_t *);
#endif
# 39 "/usr/src/contrib/llvm-project/libunwind/src/libunwind_ext.h"
extern const char *__unw_regname(unw_cursor_t *, unw_regnum_t);
extern int __unw_get_proc_info(unw_cursor_t *, unw_proc_info_t *);
extern int __unw_is_fpreg(unw_cursor_t *, unw_regnum_t);
extern int __unw_is_signal_frame(unw_cursor_t *);
extern int __unw_get_proc_name(unw_cursor_t *, char *, size_t, unw_word_t *);
// SPI
extern void __unw_iterate_dwarf_unwind_cache(void (*func)(
unw_word_t ip_start, unw_word_t ip_end, unw_word_t fde, unw_word_t mh));
// IPI
extern void __unw_add_dynamic_fde(unw_word_t fde);
extern void __unw_remove_dynamic_fde(unw_word_t fde);
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_ARM_EHABI)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 55 "/usr/src/contrib/llvm-project/libunwind/src/libunwind_ext.h"
extern const uint32_t* decode_eht_entry(const uint32_t*, size_t*, size_t*);
extern _Unwind_Reason_Code _Unwind_VRS_Interpret(_Unwind_Context *context,
const uint32_t *data,
size_t offset, size_t len);
#endif
# 60 "/usr/src/contrib/llvm-project/libunwind/src/libunwind_ext.h"
#ifdef __cplusplus
}
#endif
# 64 "/usr/src/contrib/llvm-project/libunwind/src/libunwind_ext.h"
#endif // __LIBUNWIND_EXT__
# 66 "/usr/src/contrib/llvm-project/libunwind/src/libunwind_ext.h"
# 15 "/usr/src/contrib/llvm-project/libunwind/src/libunwind.cpp" 2
#if 0 /* expanded by -frewrite-includes */
#include "config.h"
#endif /* expanded by -frewrite-includes */
# 15 "/usr/src/contrib/llvm-project/libunwind/src/libunwind.cpp"
# 16 "/usr/src/contrib/llvm-project/libunwind/src/libunwind.cpp"
#if 0 /* expanded by -frewrite-includes */
#include <stdlib.h>
#endif /* expanded by -frewrite-includes */
# 17 "/usr/src/contrib/llvm-project/libunwind/src/libunwind.cpp"
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 1 3
// -*- C++ -*-
//===--------------------------- stdlib.h ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#if 0 /* disabled by -frewrite-includes */
#if defined(__need_malloc_and_calloc)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 11 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 13 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 14 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#endif
# 15 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* expanded by -frewrite-includes */
#include_next <stdlib.h>
#endif /* expanded by -frewrite-includes */
# 16 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
# 17 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif !defined(_LIBCPP_STDLIB_H)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 19 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#define _LIBCPP_STDLIB_H
/*
stdlib.h synopsis
Macros:
EXIT_FAILURE
EXIT_SUCCESS
MB_CUR_MAX
NULL
RAND_MAX
Types:
size_t
div_t
ldiv_t
lldiv_t // C99
double atof (const char* nptr);
int atoi (const char* nptr);
long atol (const char* nptr);
long long atoll(const char* nptr); // C99
double strtod (const char* restrict nptr, char** restrict endptr);
float strtof (const char* restrict nptr, char** restrict endptr); // C99
long double strtold (const char* restrict nptr, char** restrict endptr); // C99
long strtol (const char* restrict nptr, char** restrict endptr, int base);
long long strtoll (const char* restrict nptr, char** restrict endptr, int base); // C99
unsigned long strtoul (const char* restrict nptr, char** restrict endptr, int base);
unsigned long long strtoull(const char* restrict nptr, char** restrict endptr, int base); // C99
int rand(void);
void srand(unsigned int seed);
void* calloc(size_t nmemb, size_t size);
void free(void* ptr);
void* malloc(size_t size);
void* realloc(void* ptr, size_t size);
void abort(void);
int atexit(void (*func)(void));
void exit(int status);
void _Exit(int status);
char* getenv(const char* name);
int system(const char* string);
void* bsearch(const void* key, const void* base, size_t nmemb, size_t size,
int (*compar)(const void *, const void *));
void qsort(void* base, size_t nmemb, size_t size,
int (*compar)(const void *, const void *));
int abs( int j);
long abs( long j);
long long abs(long long j); // C++0X
long labs( long j);
long long llabs(long long j); // C99
div_t div( int numer, int denom);
ldiv_t div( long numer, long denom);
lldiv_t div(long long numer, long long denom); // C++0X
ldiv_t ldiv( long numer, long denom);
lldiv_t lldiv(long long numer, long long denom); // C99
int mblen(const char* s, size_t n);
int mbtowc(wchar_t* restrict pwc, const char* restrict s, size_t n);
int wctomb(char* s, wchar_t wchar);
size_t mbstowcs(wchar_t* restrict pwcs, const char* restrict s, size_t n);
size_t wcstombs(char* restrict s, const wchar_t* restrict pwcs, size_t n);
int at_quick_exit(void (*func)(void)) // C++11
void quick_exit(int status); // C++11
void *aligned_alloc(size_t alignment, size_t size); // C11
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 87 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
# 88 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 90 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 91 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#endif
# 92 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* expanded by -frewrite-includes */
#include_next <stdlib.h>
#endif /* expanded by -frewrite-includes */
# 93 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
# 94 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#ifdef __cplusplus
extern "C++" {
// abs
#undef abs
#undef labs
#ifndef _LIBCPP_HAS_NO_LONG_LONG
#undef llabs
#endif
# 104 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
// MSVCRT already has the correct prototype in <stdlib.h> if __cplusplus is defined
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_MSVCRT) && !defined(__sun__) && !defined(_AIX)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 107 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
inline _LIBCPP_INLINE_VISIBILITY long abs(long __x) _NOEXCEPT {
return __builtin_labs(__x);
}
#ifndef _LIBCPP_HAS_NO_LONG_LONG
inline _LIBCPP_INLINE_VISIBILITY long long abs(long long __x) _NOEXCEPT {
return __builtin_llabs(__x);
}
#endif // _LIBCPP_HAS_NO_LONG_LONG
# 115 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#endif // !defined(_LIBCPP_MSVCRT) && !defined(__sun__) && !defined(_AIX)
# 116 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* disabled by -frewrite-includes */
#if !(defined(_AIX) || defined(__sun__))
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 118 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
inline _LIBCPP_INLINE_VISIBILITY float abs(float __lcpp_x) _NOEXCEPT {
return __builtin_fabsf(__lcpp_x); // Use builtins to prevent needing math.h
}
inline _LIBCPP_INLINE_VISIBILITY double abs(double __lcpp_x) _NOEXCEPT {
return __builtin_fabs(__lcpp_x);
}
inline _LIBCPP_INLINE_VISIBILITY long double
abs(long double __lcpp_x) _NOEXCEPT {
return __builtin_fabsl(__lcpp_x);
}
#endif // !(defined(_AIX) || defined(__sun__))
# 131 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
// div
#undef div
#undef ldiv
#ifndef _LIBCPP_HAS_NO_LONG_LONG
#undef lldiv
#endif
# 139 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
// MSVCRT already has the correct prototype in <stdlib.h> if __cplusplus is defined
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_MSVCRT) && !defined(__sun__) && !defined(_AIX)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 142 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
inline _LIBCPP_INLINE_VISIBILITY ldiv_t div(long __x, long __y) _NOEXCEPT {
return ::ldiv(__x, __y);
}
#ifndef _LIBCPP_HAS_NO_LONG_LONG
inline _LIBCPP_INLINE_VISIBILITY lldiv_t div(long long __x,
long long __y) _NOEXCEPT {
return ::lldiv(__x, __y);
}
#endif // _LIBCPP_HAS_NO_LONG_LONG
# 151 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#endif // _LIBCPP_MSVCRT / __sun__ / _AIX
# 152 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
} // extern "C++"
#endif // __cplusplus
# 154 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#endif // _LIBCPP_STDLIB_H
# 156 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
# 18 "/usr/src/contrib/llvm-project/libunwind/src/libunwind.cpp" 2
#if 0 /* disabled by -frewrite-includes */
#if !defined(__USING_SJLJ_EXCEPTIONS__)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 21 "/usr/src/contrib/llvm-project/libunwind/src/libunwind.cpp"
#if 0 /* expanded by -frewrite-includes */
#include "AddressSpace.hpp"
#endif /* expanded by -frewrite-includes */
# 21 "/usr/src/contrib/llvm-project/libunwind/src/libunwind.cpp"
# 1 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp" 1
//===------------------------- AddressSpace.hpp ---------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//
// Abstracts accessing local vs remote address spaces.
//
//===----------------------------------------------------------------------===//
#ifndef __ADDRESSSPACE_HPP__
#define __ADDRESSSPACE_HPP__
#if 0 /* expanded by -frewrite-includes */
#include <stdint.h>
#endif /* expanded by -frewrite-includes */
# 15 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
# 16 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#if 0 /* expanded by -frewrite-includes */
#include <stdio.h>
#endif /* expanded by -frewrite-includes */
# 16 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 1 3
// -*- C++ -*-
//===---------------------------- stdio.h ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#if 0 /* disabled by -frewrite-includes */
#if defined(__need_FILE) || defined(__need___FILE)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 11 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 13 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 14 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#endif
# 15 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#if 0 /* expanded by -frewrite-includes */
#include_next <stdio.h>
#endif /* expanded by -frewrite-includes */
# 16 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
# 17 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif !defined(_LIBCPP_STDIO_H)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 19 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#define _LIBCPP_STDIO_H
/*
stdio.h synopsis
Macros:
BUFSIZ
EOF
FILENAME_MAX
FOPEN_MAX
L_tmpnam
NULL
SEEK_CUR
SEEK_END
SEEK_SET
TMP_MAX
_IOFBF
_IOLBF
_IONBF
stderr
stdin
stdout
Types:
FILE
fpos_t
size_t
int remove(const char* filename);
int rename(const char* old, const char* new);
FILE* tmpfile(void);
char* tmpnam(char* s);
int fclose(FILE* stream);
int fflush(FILE* stream);
FILE* fopen(const char* restrict filename, const char* restrict mode);
FILE* freopen(const char* restrict filename, const char * restrict mode,
FILE * restrict stream);
void setbuf(FILE* restrict stream, char* restrict buf);
int setvbuf(FILE* restrict stream, char* restrict buf, int mode, size_t size);
int fprintf(FILE* restrict stream, const char* restrict format, ...);
int fscanf(FILE* restrict stream, const char * restrict format, ...);
int printf(const char* restrict format, ...);
int scanf(const char* restrict format, ...);
int snprintf(char* restrict s, size_t n, const char* restrict format, ...); // C99
int sprintf(char* restrict s, const char* restrict format, ...);
int sscanf(const char* restrict s, const char* restrict format, ...);
int vfprintf(FILE* restrict stream, const char* restrict format, va_list arg);
int vfscanf(FILE* restrict stream, const char* restrict format, va_list arg); // C99
int vprintf(const char* restrict format, va_list arg);
int vscanf(const char* restrict format, va_list arg); // C99
int vsnprintf(char* restrict s, size_t n, const char* restrict format, // C99
va_list arg);
int vsprintf(char* restrict s, const char* restrict format, va_list arg);
int vsscanf(const char* restrict s, const char* restrict format, va_list arg); // C99
int fgetc(FILE* stream);
char* fgets(char* restrict s, int n, FILE* restrict stream);
int fputc(int c, FILE* stream);
int fputs(const char* restrict s, FILE* restrict stream);
int getc(FILE* stream);
int getchar(void);
char* gets(char* s); // removed in C++14
int putc(int c, FILE* stream);
int putchar(int c);
int puts(const char* s);
int ungetc(int c, FILE* stream);
size_t fread(void* restrict ptr, size_t size, size_t nmemb,
FILE* restrict stream);
size_t fwrite(const void* restrict ptr, size_t size, size_t nmemb,
FILE* restrict stream);
int fgetpos(FILE* restrict stream, fpos_t* restrict pos);
int fseek(FILE* stream, long offset, int whence);
int fsetpos(FILE*stream, const fpos_t* pos);
long ftell(FILE* stream);
void rewind(FILE* stream);
void clearerr(FILE* stream);
int feof(FILE* stream);
int ferror(FILE* stream);
void perror(const char* s);
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 101 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
# 102 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 104 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 105 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#endif
# 106 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#if 0 /* expanded by -frewrite-includes */
#include_next <stdio.h>
#endif /* expanded by -frewrite-includes */
# 107 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
# 108 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#ifdef __cplusplus
#undef getc
#undef putc
#undef clearerr
#undef feof
#undef ferror
#endif
# 118 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#endif // _LIBCPP_STDIO_H
# 120 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
# 17 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp" 2
#if 0 /* expanded by -frewrite-includes */
#include <stdlib.h>
#endif /* expanded by -frewrite-includes */
# 17 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 1 3
// -*- C++ -*-
//===--------------------------- stdlib.h ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#if 0 /* disabled by -frewrite-includes */
#if defined(__need_malloc_and_calloc)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 11 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 13 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 14 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#endif
# 15 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* expanded by -frewrite-includes */
#include_next <stdlib.h>
#endif /* expanded by -frewrite-includes */
# 16 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
# 17 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif !defined(_LIBCPP_STDLIB_H)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 19 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#define _LIBCPP_STDLIB_H
/*
stdlib.h synopsis
Macros:
EXIT_FAILURE
EXIT_SUCCESS
MB_CUR_MAX
NULL
RAND_MAX
Types:
size_t
div_t
ldiv_t
lldiv_t // C99
double atof (const char* nptr);
int atoi (const char* nptr);
long atol (const char* nptr);
long long atoll(const char* nptr); // C99
double strtod (const char* restrict nptr, char** restrict endptr);
float strtof (const char* restrict nptr, char** restrict endptr); // C99
long double strtold (const char* restrict nptr, char** restrict endptr); // C99
long strtol (const char* restrict nptr, char** restrict endptr, int base);
long long strtoll (const char* restrict nptr, char** restrict endptr, int base); // C99
unsigned long strtoul (const char* restrict nptr, char** restrict endptr, int base);
unsigned long long strtoull(const char* restrict nptr, char** restrict endptr, int base); // C99
int rand(void);
void srand(unsigned int seed);
void* calloc(size_t nmemb, size_t size);
void free(void* ptr);
void* malloc(size_t size);
void* realloc(void* ptr, size_t size);
void abort(void);
int atexit(void (*func)(void));
void exit(int status);
void _Exit(int status);
char* getenv(const char* name);
int system(const char* string);
void* bsearch(const void* key, const void* base, size_t nmemb, size_t size,
int (*compar)(const void *, const void *));
void qsort(void* base, size_t nmemb, size_t size,
int (*compar)(const void *, const void *));
int abs( int j);
long abs( long j);
long long abs(long long j); // C++0X
long labs( long j);
long long llabs(long long j); // C99
div_t div( int numer, int denom);
ldiv_t div( long numer, long denom);
lldiv_t div(long long numer, long long denom); // C++0X
ldiv_t ldiv( long numer, long denom);
lldiv_t lldiv(long long numer, long long denom); // C99
int mblen(const char* s, size_t n);
int mbtowc(wchar_t* restrict pwc, const char* restrict s, size_t n);
int wctomb(char* s, wchar_t wchar);
size_t mbstowcs(wchar_t* restrict pwcs, const char* restrict s, size_t n);
size_t wcstombs(char* restrict s, const wchar_t* restrict pwcs, size_t n);
int at_quick_exit(void (*func)(void)) // C++11
void quick_exit(int status); // C++11
void *aligned_alloc(size_t alignment, size_t size); // C11
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 87 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
# 88 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 90 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 91 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#endif
# 92 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* expanded by -frewrite-includes */
#include_next <stdlib.h>
#endif /* expanded by -frewrite-includes */
# 93 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
# 94 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#ifdef __cplusplus
extern "C++" {
// abs
#undef abs
#undef labs
#ifndef _LIBCPP_HAS_NO_LONG_LONG
#undef llabs
#endif
# 104 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
// MSVCRT already has the correct prototype in <stdlib.h> if __cplusplus is defined
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_MSVCRT) && !defined(__sun__) && !defined(_AIX)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 107 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
inline _LIBCPP_INLINE_VISIBILITY long abs(long __x) _NOEXCEPT {
return __builtin_labs(__x);
}
#ifndef _LIBCPP_HAS_NO_LONG_LONG
inline _LIBCPP_INLINE_VISIBILITY long long abs(long long __x) _NOEXCEPT {
return __builtin_llabs(__x);
}
#endif // _LIBCPP_HAS_NO_LONG_LONG
# 115 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#endif // !defined(_LIBCPP_MSVCRT) && !defined(__sun__) && !defined(_AIX)
# 116 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* disabled by -frewrite-includes */
#if !(defined(_AIX) || defined(__sun__))
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 118 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
inline _LIBCPP_INLINE_VISIBILITY float abs(float __lcpp_x) _NOEXCEPT {
return __builtin_fabsf(__lcpp_x); // Use builtins to prevent needing math.h
}
inline _LIBCPP_INLINE_VISIBILITY double abs(double __lcpp_x) _NOEXCEPT {
return __builtin_fabs(__lcpp_x);
}
inline _LIBCPP_INLINE_VISIBILITY long double
abs(long double __lcpp_x) _NOEXCEPT {
return __builtin_fabsl(__lcpp_x);
}
#endif // !(defined(_AIX) || defined(__sun__))
# 131 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
// div
#undef div
#undef ldiv
#ifndef _LIBCPP_HAS_NO_LONG_LONG
#undef lldiv
#endif
# 139 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
// MSVCRT already has the correct prototype in <stdlib.h> if __cplusplus is defined
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_MSVCRT) && !defined(__sun__) && !defined(_AIX)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 142 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
inline _LIBCPP_INLINE_VISIBILITY ldiv_t div(long __x, long __y) _NOEXCEPT {
return ::ldiv(__x, __y);
}
#ifndef _LIBCPP_HAS_NO_LONG_LONG
inline _LIBCPP_INLINE_VISIBILITY lldiv_t div(long long __x,
long long __y) _NOEXCEPT {
return ::lldiv(__x, __y);
}
#endif // _LIBCPP_HAS_NO_LONG_LONG
# 151 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#endif // _LIBCPP_MSVCRT / __sun__ / _AIX
# 152 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
} // extern "C++"
#endif // __cplusplus
# 154 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#endif // _LIBCPP_STDLIB_H
# 156 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
# 18 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp" 2
#if 0 /* expanded by -frewrite-includes */
#include <string.h>
#endif /* expanded by -frewrite-includes */
# 18 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/string.h" 1 3
// -*- C++ -*-
//===--------------------------- string.h ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP_STRING_H
#define _LIBCPP_STRING_H
/*
string.h synopsis
Macros:
NULL
Types:
size_t
void* memcpy(void* restrict s1, const void* restrict s2, size_t n);
void* memmove(void* s1, const void* s2, size_t n);
char* strcpy (char* restrict s1, const char* restrict s2);
char* strncpy(char* restrict s1, const char* restrict s2, size_t n);
char* strcat (char* restrict s1, const char* restrict s2);
char* strncat(char* restrict s1, const char* restrict s2, size_t n);
int memcmp(const void* s1, const void* s2, size_t n);
int strcmp (const char* s1, const char* s2);
int strncmp(const char* s1, const char* s2, size_t n);
int strcoll(const char* s1, const char* s2);
size_t strxfrm(char* restrict s1, const char* restrict s2, size_t n);
const void* memchr(const void* s, int c, size_t n);
void* memchr( void* s, int c, size_t n);
const char* strchr(const char* s, int c);
char* strchr( char* s, int c);
size_t strcspn(const char* s1, const char* s2);
const char* strpbrk(const char* s1, const char* s2);
char* strpbrk( char* s1, const char* s2);
const char* strrchr(const char* s, int c);
char* strrchr( char* s, int c);
size_t strspn(const char* s1, const char* s2);
const char* strstr(const char* s1, const char* s2);
char* strstr( char* s1, const char* s2);
char* strtok(char* restrict s1, const char* restrict s2);
void* memset(void* s, int c, size_t n);
char* strerror(int errnum);
size_t strlen(const char* s);
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 54 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/string.h" 3
# 55 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/string.h" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 57 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/string.h" 3
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 58 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/string.h" 3
#endif
# 59 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/string.h" 3
#if 0 /* expanded by -frewrite-includes */
#include_next <string.h>
#endif /* expanded by -frewrite-includes */
# 60 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/string.h" 3
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-3-Clause
*
* 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$
*/
#ifndef _STRING_H_
#define _STRING_H_
#if 0 /* expanded by -frewrite-includes */
#include <sys/cdefs.h>
#endif /* expanded by -frewrite-includes */
# 38 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
# 39 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
#if 0 /* expanded by -frewrite-includes */
#include <sys/_null.h>
#endif /* expanded by -frewrite-includes */
# 39 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
# 40 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
#if 0 /* expanded by -frewrite-includes */
#include <sys/_types.h>
#endif /* expanded by -frewrite-includes */
# 40 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
# 41 "/usr/obj/usr/src/arm64.aarch64/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 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 47 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
#if 0 /* expanded by -frewrite-includes */
#include <strings.h>
#endif /* expanded by -frewrite-includes */
# 47 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/strings.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-2-Clause-FreeBSD
*
* 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$
*/
#ifndef _STRINGS_H_
#define _STRINGS_H_
#if 0 /* expanded by -frewrite-includes */
#include <sys/cdefs.h>
#endif /* expanded by -frewrite-includes */
# 34 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/strings.h" 3 4
# 35 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/strings.h" 3 4
#if 0 /* expanded by -frewrite-includes */
#include <sys/_types.h>
#endif /* expanded by -frewrite-includes */
# 35 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/strings.h" 3 4
# 36 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/strings.h" 3 4
#ifndef _SIZE_T_DECLARED
typedef __size_t size_t;
#define _SIZE_T_DECLARED
#endif
# 41 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/strings.h" 3 4
__BEGIN_DECLS
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE || __POSIX_VISIBLE <= 200112
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 44 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/strings.h" 3 4
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
# 48 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/strings.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 49 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/strings.h" 3 4
void explicit_bzero(void *, size_t);
#endif
# 51 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/strings.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __XSI_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 52 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/strings.h" 3 4
int ffs(int) __pure2;
#endif
# 54 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/strings.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 55 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/strings.h" 3 4
int ffsl(long) __pure2;
int ffsll(long long) __pure2;
int fls(int) __pure2;
int flsl(long) __pure2;
int flsll(long long) __pure2;
#endif
# 61 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/strings.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE || __POSIX_VISIBLE <= 200112
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 62 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/strings.h" 3 4
char *index(const char *, int) __pure; /* LEGACY */
char *rindex(const char *, int) __pure; /* LEGACY */
#endif
# 65 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/strings.h" 3 4
int strcasecmp(const char *, const char *) __pure;
int strncasecmp(const char *, const char *, size_t) __pure;
#if 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE >= 200809 || defined(_XLOCALE_H_)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 69 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/strings.h" 3 4
#if 0 /* expanded by -frewrite-includes */
#include <xlocale/_strings.h>
#endif /* expanded by -frewrite-includes */
# 69 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/strings.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/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$
*/
#ifndef _LOCALE_T_DEFINED
#define _LOCALE_T_DEFINED
typedef struct _xlocale *locale_t;
#endif
# 33 "/usr/obj/usr/src/arm64.aarch64/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 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/xlocale/_strings.h" 3 4
# 70 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/strings.h" 2 3 4
#endif
# 71 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/strings.h" 3 4
__END_DECLS
#endif /* _STRINGS_H_ */
# 74 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/strings.h" 3 4
# 48 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 2 3 4
#endif
# 49 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
#ifndef _SIZE_T_DECLARED
typedef __size_t size_t;
#define _SIZE_T_DECLARED
#endif
# 54 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
__BEGIN_DECLS
#if 0 /* disabled by -frewrite-includes */
#if __XSI_VISIBLE >= 600
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 57 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
void *memccpy(void * __restrict, const void * __restrict, int, size_t);
#endif
# 59 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
void *memchr(const void *, int, size_t) __pure;
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 61 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
void *memrchr(const void *, int, size_t) __pure;
#endif
# 63 "/usr/obj/usr/src/arm64.aarch64/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 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 66 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
void *memmem(const void *, size_t, const void *, size_t) __pure;
#endif
# 68 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
void *memmove(void *, const void *, size_t);
void *memset(void *, int, size_t);
#if 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE >= 200809
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 71 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
char *stpcpy(char * __restrict, const char * __restrict);
char *stpncpy(char * __restrict, const char * __restrict, size_t);
#endif
# 74 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 75 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
char *strcasestr(const char *, const char *) __pure;
#endif
# 77 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
char *strcat(char * __restrict, const char * __restrict);
char *strchr(const char *, int) __pure;
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 80 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
char *strchrnul(const char*, int) __pure;
#endif
# 82 "/usr/obj/usr/src/arm64.aarch64/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 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 87 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
char *strdup(const char *) __malloc_like;
#endif
# 89 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
char *strerror(int);
#if 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE >= 200112
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 91 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
int strerror_r(int, char *, size_t);
#endif
# 93 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 94 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
size_t strlcat(char * __restrict, const char * __restrict, size_t);
size_t strlcpy(char * __restrict, const char * __restrict, size_t);
#endif
# 97 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
size_t strlen(const char *) __pure;
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 99 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
void strmode(int, char *);
#endif
# 101 "/usr/obj/usr/src/arm64.aarch64/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 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE >= 200809
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 105 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
char *strndup(const char *, size_t) __malloc_like;
size_t strnlen(const char *, size_t) __pure;
#endif
# 108 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 109 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
char *strnstr(const char *, const char *, size_t) __pure;
#endif
# 111 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
char *strpbrk(const char *, const char *) __pure;
char *strrchr(const char *, int) __pure;
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 114 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
char *strsep(char **, const char *);
#endif
# 116 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE >= 200809
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 117 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
char *strsignal(int);
#endif
# 119 "/usr/obj/usr/src/arm64.aarch64/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 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE >= 199506 || __XSI_VISIBLE >= 500
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 123 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
char *strtok_r(char *, const char *, char **);
#endif
# 125 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
size_t strxfrm(char * __restrict, const char * __restrict, size_t);
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 127 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
#ifndef _SWAB_DECLARED
#define _SWAB_DECLARED
#ifndef _SSIZE_T_DECLARED
typedef __ssize_t ssize_t;
#define _SSIZE_T_DECLARED
#endif /* _SIZE_T_DECLARED */
# 135 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
void swab(const void * __restrict, void * __restrict, ssize_t);
#endif /* _SWAB_DECLARED */
# 138 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
int timingsafe_bcmp(const void *, const void *, size_t);
int timingsafe_memcmp(const void *, const void *, size_t);
#endif /* __BSD_VISIBLE */
# 142 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE >= 200809 || defined(_XLOCALE_H_)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 144 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
#if 0 /* expanded by -frewrite-includes */
#include <xlocale/_string.h>
#endif /* expanded by -frewrite-includes */
# 144 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/xlocale/_string.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-2-Clause-FreeBSD
*
* 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$
*/
#ifndef _LOCALE_T_DEFINED
#define _LOCALE_T_DEFINED
typedef struct _xlocale *locale_t;
#endif
# 35 "/usr/obj/usr/src/arm64.aarch64/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 */
# 51 "/usr/obj/usr/src/arm64.aarch64/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 */
# 61 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/xlocale/_string.h" 3 4
#endif /* _XLOCALE_H_ */
# 62 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/xlocale/_string.h" 3 4
# 145 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 2 3 4
#endif
# 146 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __EXT1_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 148 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
#ifndef _RSIZE_T_DEFINED
#define _RSIZE_T_DEFINED
typedef size_t rsize_t;
#endif
# 153 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
#ifndef _ERRNO_T_DEFINED
#define _ERRNO_T_DEFINED
typedef int errno_t;
#endif
# 158 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
/* ISO/IEC 9899:2011 K.3.7.4.1.1 */
errno_t memset_s(void *, rsize_t, int, rsize_t);
#endif /* __EXT1_VISIBLE */
# 162 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
__END_DECLS
#endif /* _STRING_H_ */
# 165 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/string.h" 3 4
# 61 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/string.h" 2 3
// MSVCRT, GNU libc and its derivates may already have the correct prototype in
// <string.h>. This macro can be defined by users if their C library provides
// the right signature.
#if 0 /* disabled by -frewrite-includes */
#if defined(__CORRECT_ISO_CPP_STRING_H_PROTO) || defined(_LIBCPP_MSVCRT) || \
defined(__sun__) || defined(_STRING_H_CPLUSPLUS_98_CONFORMANCE_)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 67 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/string.h" 3
#define _LIBCPP_STRING_H_HAS_CONST_OVERLOADS
#endif
# 69 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/string.h" 3
#if 0 /* disabled by -frewrite-includes */
#if defined(__cplusplus) && !defined(_LIBCPP_STRING_H_HAS_CONST_OVERLOADS) && defined(_LIBCPP_PREFERRED_OVERLOAD)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 71 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/string.h" 3
extern "C++" {
inline _LIBCPP_INLINE_VISIBILITY
char* __libcpp_strchr(const char* __s, int __c) {return (char*)strchr(__s, __c);}
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
const char* strchr(const char* __s, int __c) {return __libcpp_strchr(__s, __c);}
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
char* strchr( char* __s, int __c) {return __libcpp_strchr(__s, __c);}
inline _LIBCPP_INLINE_VISIBILITY
char* __libcpp_strpbrk(const char* __s1, const char* __s2) {return (char*)strpbrk(__s1, __s2);}
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
const char* strpbrk(const char* __s1, const char* __s2) {return __libcpp_strpbrk(__s1, __s2);}
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
char* strpbrk( char* __s1, const char* __s2) {return __libcpp_strpbrk(__s1, __s2);}
inline _LIBCPP_INLINE_VISIBILITY
char* __libcpp_strrchr(const char* __s, int __c) {return (char*)strrchr(__s, __c);}
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
const char* strrchr(const char* __s, int __c) {return __libcpp_strrchr(__s, __c);}
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
char* strrchr( char* __s, int __c) {return __libcpp_strrchr(__s, __c);}
inline _LIBCPP_INLINE_VISIBILITY
void* __libcpp_memchr(const void* __s, int __c, size_t __n) {return (void*)memchr(__s, __c, __n);}
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
const void* memchr(const void* __s, int __c, size_t __n) {return __libcpp_memchr(__s, __c, __n);}
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
void* memchr( void* __s, int __c, size_t __n) {return __libcpp_memchr(__s, __c, __n);}
inline _LIBCPP_INLINE_VISIBILITY
char* __libcpp_strstr(const char* __s1, const char* __s2) {return (char*)strstr(__s1, __s2);}
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
const char* strstr(const char* __s1, const char* __s2) {return __libcpp_strstr(__s1, __s2);}
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_PREFERRED_OVERLOAD
char* strstr( char* __s1, const char* __s2) {return __libcpp_strstr(__s1, __s2);}
}
#endif
# 108 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/string.h" 3
#endif // _LIBCPP_STRING_H
# 110 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/string.h" 3
# 19 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp" 2
#ifndef _LIBUNWIND_USE_DLADDR
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBUNWIND_IS_BAREMETAL) && !defined(_WIN32)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 22 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#define _LIBUNWIND_USE_DLADDR 1
#else
# 24 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#define _LIBUNWIND_USE_DLADDR 0
#endif
# 26 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#endif
# 27 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#if 0 /* disabled by -frewrite-includes */
#if _LIBUNWIND_USE_DLADDR
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 29 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#if 0 /* expanded by -frewrite-includes */
#include <dlfcn.h>
#endif /* expanded by -frewrite-includes */
# 29 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/dlfcn.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-3-Clause
*
* Copyright (c) 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.
*
* $FreeBSD$
*/
#ifndef _DLFCN_H_
#define _DLFCN_H_
#if 0 /* expanded by -frewrite-includes */
#include <sys/_types.h>
#endif /* expanded by -frewrite-includes */
# 37 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/dlfcn.h" 3 4
# 38 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/dlfcn.h" 3 4
/*
* Modes and flags for dlopen().
*/
#define RTLD_LAZY 1 /* Bind function calls lazily. */
#define RTLD_NOW 2 /* Bind function calls immediately. */
#define RTLD_MODEMASK 0x3
#define RTLD_GLOBAL 0x100 /* Make symbols globally available. */
#define RTLD_LOCAL 0 /* Opposite of RTLD_GLOBAL, and the default. */
#define RTLD_TRACE 0x200 /* Trace loaded objects and exit. */
#define RTLD_NODELETE 0x01000 /* Do not remove members. */
#define RTLD_NOLOAD 0x02000 /* Do not load if not already loaded. */
#define RTLD_DEEPBIND 0x04000 /* Put symbols from the dso ahead of
the global list */
/*
* Request arguments for dlinfo().
*/
#define RTLD_DI_LINKMAP 2 /* Obtain link map. */
#define RTLD_DI_SERINFO 4 /* Obtain search path info. */
#define RTLD_DI_SERINFOSIZE 5 /* ... query for required space. */
#define RTLD_DI_ORIGIN 6 /* Obtain object origin */
#define RTLD_DI_MAX RTLD_DI_ORIGIN
/*
* Special handle arguments for dlsym()/dlinfo().
*/
#define RTLD_NEXT ((void *) -1) /* Search subsequent objects. */
#define RTLD_DEFAULT ((void *) -2) /* Use default search algorithm. */
#define RTLD_SELF ((void *) -3) /* Search the caller itself. */
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 70 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/dlfcn.h" 3 4
#ifndef _SIZE_T_DECLARED
typedef __size_t size_t;
#define _SIZE_T_DECLARED
#endif
# 75 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/dlfcn.h" 3 4
/*
* Structure filled in by dladdr().
*/
typedef struct dl_info {
const char *dli_fname; /* Pathname of shared object. */
void *dli_fbase; /* Base address of shared object. */
const char *dli_sname; /* Name of nearest symbol. */
void *dli_saddr; /* Address of nearest symbol. */
} Dl_info;
/*-
* The actual type declared by this typedef is immaterial, provided that
* it is a function pointer. Its purpose is to provide a return type for
* dlfunc() which can be cast to a function pointer type without depending
* on behavior undefined by the C standard, which might trigger a compiler
* diagnostic. We intentionally declare a unique type signature to force
* a diagnostic should the application not cast the return value of dlfunc()
* appropriately.
*/
struct __dlfunc_arg {
int __dlfunc_dummy;
};
typedef void (*dlfunc_t)(struct __dlfunc_arg);
/*
* Structures, returned by the RTLD_DI_SERINFO dlinfo() request.
*/
typedef struct dl_serpath {
char * dls_name; /* single search path entry */
unsigned int dls_flags; /* path information */
} Dl_serpath;
typedef struct dl_serinfo {
size_t dls_size; /* total buffer size */
unsigned int dls_cnt; /* number of path entries */
Dl_serpath dls_serpath[1]; /* there may be more than one */
} Dl_serinfo;
#endif /* __BSD_VISIBLE */
# 116 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/dlfcn.h" 3 4
__BEGIN_DECLS
/* XSI functions first. */
int dlclose(void *);
char *dlerror(void);
void *dlopen(const char *, int);
void *dlsym(void * __restrict, const char * __restrict);
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 125 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/dlfcn.h" 3 4
void *fdlopen(int, int);
int dladdr(const void * __restrict, Dl_info * __restrict);
dlfunc_t dlfunc(void * __restrict, const char * __restrict);
int dlinfo(void * __restrict, int, void * __restrict);
void dllockinit(void *_context,
void *(*_lock_create)(void *_context),
void (*_rlock_acquire)(void *_lock),
void (*_wlock_acquire)(void *_lock),
void (*_lock_release)(void *_lock),
void (*_lock_destroy)(void *_lock),
void (*_context_destroy)(void *_context));
void *dlvsym(void * __restrict, const char * __restrict,
const char * __restrict);
#endif /* __BSD_VISIBLE */
# 139 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/dlfcn.h" 3 4
__END_DECLS
#endif /* !_DLFCN_H_ */
# 142 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/dlfcn.h" 3 4
# 30 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp" 2
#if 0 /* disabled by -frewrite-includes */
#if defined(__ELF__) && defined(_LIBUNWIND_LINK_DL_LIB)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 31 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#pragma comment(lib, "dl")
#endif
# 33 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#endif
# 34 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_ARM_EHABI)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 36 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
struct EHABIIndexEntry {
uint32_t functionOffset;
uint32_t data;
};
#endif
# 41 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#ifdef __APPLE__
#if 0 /* expanded by -frewrite-includes */
#include <mach-o/getsect.h>
#endif /* expanded by -frewrite-includes */
# 43 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
# 44 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
namespace libunwind {
bool checkKeyMgrRegisteredFDEs(uintptr_t targetAddr, void *&fde);
}
#endif
# 48 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#if 0 /* expanded by -frewrite-includes */
#include "libunwind.h"
#endif /* expanded by -frewrite-includes */
# 49 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
# 50 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#if 0 /* expanded by -frewrite-includes */
#include "config.h"
#endif /* expanded by -frewrite-includes */
# 50 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
# 51 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#if 0 /* expanded by -frewrite-includes */
#include "dwarf2.h"
#endif /* expanded by -frewrite-includes */
# 51 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
# 1 "/usr/src/contrib/llvm-project/libunwind/src/dwarf2.h" 1
//===------------------------------- dwarf2.h -----------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
/*
These constants were taken from version 3 of the DWARF standard,
which is Copyright (c) 2005 Free Standards Group, and
Copyright (c) 1992, 1993 UNIX International, Inc.
*/
#ifndef __DWARF2__
#define __DWARF2__
// DWARF unwind instructions
enum {
DW_CFA_nop = 0x0,
DW_CFA_set_loc = 0x1,
DW_CFA_advance_loc1 = 0x2,
DW_CFA_advance_loc2 = 0x3,
DW_CFA_advance_loc4 = 0x4,
DW_CFA_offset_extended = 0x5,
DW_CFA_restore_extended = 0x6,
DW_CFA_undefined = 0x7,
DW_CFA_same_value = 0x8,
DW_CFA_register = 0x9,
DW_CFA_remember_state = 0xA,
DW_CFA_restore_state = 0xB,
DW_CFA_def_cfa = 0xC,
DW_CFA_def_cfa_register = 0xD,
DW_CFA_def_cfa_offset = 0xE,
DW_CFA_def_cfa_expression = 0xF,
DW_CFA_expression = 0x10,
DW_CFA_offset_extended_sf = 0x11,
DW_CFA_def_cfa_sf = 0x12,
DW_CFA_def_cfa_offset_sf = 0x13,
DW_CFA_val_offset = 0x14,
DW_CFA_val_offset_sf = 0x15,
DW_CFA_val_expression = 0x16,
DW_CFA_advance_loc = 0x40, // high 2 bits are 0x1, lower 6 bits are delta
DW_CFA_offset = 0x80, // high 2 bits are 0x2, lower 6 bits are register
DW_CFA_restore = 0xC0, // high 2 bits are 0x3, lower 6 bits are register
// GNU extensions
DW_CFA_GNU_window_save = 0x2D,
DW_CFA_GNU_args_size = 0x2E,
DW_CFA_GNU_negative_offset_extended = 0x2F,
// AARCH64 extensions
DW_CFA_AARCH64_negate_ra_state = 0x2D
};
// FSF exception handling Pointer-Encoding constants
// Used in CFI augmentation by GCC
enum {
DW_EH_PE_ptr = 0x00,
DW_EH_PE_uleb128 = 0x01,
DW_EH_PE_udata2 = 0x02,
DW_EH_PE_udata4 = 0x03,
DW_EH_PE_udata8 = 0x04,
DW_EH_PE_signed = 0x08,
DW_EH_PE_sleb128 = 0x09,
DW_EH_PE_sdata2 = 0x0A,
DW_EH_PE_sdata4 = 0x0B,
DW_EH_PE_sdata8 = 0x0C,
DW_EH_PE_absptr = 0x00,
DW_EH_PE_pcrel = 0x10,
DW_EH_PE_textrel = 0x20,
DW_EH_PE_datarel = 0x30,
DW_EH_PE_funcrel = 0x40,
DW_EH_PE_aligned = 0x50,
DW_EH_PE_indirect = 0x80,
DW_EH_PE_omit = 0xFF
};
// DWARF expressions
enum {
DW_OP_addr = 0x03, // constant address (size target specific)
DW_OP_deref = 0x06,
DW_OP_const1u = 0x08, // 1-byte constant
DW_OP_const1s = 0x09, // 1-byte constant
DW_OP_const2u = 0x0A, // 2-byte constant
DW_OP_const2s = 0x0B, // 2-byte constant
DW_OP_const4u = 0x0C, // 4-byte constant
DW_OP_const4s = 0x0D, // 4-byte constant
DW_OP_const8u = 0x0E, // 8-byte constant
DW_OP_const8s = 0x0F, // 8-byte constant
DW_OP_constu = 0x10, // ULEB128 constant
DW_OP_consts = 0x11, // SLEB128 constant
DW_OP_dup = 0x12,
DW_OP_drop = 0x13,
DW_OP_over = 0x14,
DW_OP_pick = 0x15, // 1-byte stack index
DW_OP_swap = 0x16,
DW_OP_rot = 0x17,
DW_OP_xderef = 0x18,
DW_OP_abs = 0x19,
DW_OP_and = 0x1A,
DW_OP_div = 0x1B,
DW_OP_minus = 0x1C,
DW_OP_mod = 0x1D,
DW_OP_mul = 0x1E,
DW_OP_neg = 0x1F,
DW_OP_not = 0x20,
DW_OP_or = 0x21,
DW_OP_plus = 0x22,
DW_OP_plus_uconst = 0x23, // ULEB128 addend
DW_OP_shl = 0x24,
DW_OP_shr = 0x25,
DW_OP_shra = 0x26,
DW_OP_xor = 0x27,
DW_OP_skip = 0x2F, // signed 2-byte constant
DW_OP_bra = 0x28, // signed 2-byte constant
DW_OP_eq = 0x29,
DW_OP_ge = 0x2A,
DW_OP_gt = 0x2B,
DW_OP_le = 0x2C,
DW_OP_lt = 0x2D,
DW_OP_ne = 0x2E,
DW_OP_lit0 = 0x30, // Literal 0
DW_OP_lit1 = 0x31, // Literal 1
DW_OP_lit2 = 0x32, // Literal 2
DW_OP_lit3 = 0x33, // Literal 3
DW_OP_lit4 = 0x34, // Literal 4
DW_OP_lit5 = 0x35, // Literal 5
DW_OP_lit6 = 0x36, // Literal 6
DW_OP_lit7 = 0x37, // Literal 7
DW_OP_lit8 = 0x38, // Literal 8
DW_OP_lit9 = 0x39, // Literal 9
DW_OP_lit10 = 0x3A, // Literal 10
DW_OP_lit11 = 0x3B, // Literal 11
DW_OP_lit12 = 0x3C, // Literal 12
DW_OP_lit13 = 0x3D, // Literal 13
DW_OP_lit14 = 0x3E, // Literal 14
DW_OP_lit15 = 0x3F, // Literal 15
DW_OP_lit16 = 0x40, // Literal 16
DW_OP_lit17 = 0x41, // Literal 17
DW_OP_lit18 = 0x42, // Literal 18
DW_OP_lit19 = 0x43, // Literal 19
DW_OP_lit20 = 0x44, // Literal 20
DW_OP_lit21 = 0x45, // Literal 21
DW_OP_lit22 = 0x46, // Literal 22
DW_OP_lit23 = 0x47, // Literal 23
DW_OP_lit24 = 0x48, // Literal 24
DW_OP_lit25 = 0x49, // Literal 25
DW_OP_lit26 = 0x4A, // Literal 26
DW_OP_lit27 = 0x4B, // Literal 27
DW_OP_lit28 = 0x4C, // Literal 28
DW_OP_lit29 = 0x4D, // Literal 29
DW_OP_lit30 = 0x4E, // Literal 30
DW_OP_lit31 = 0x4F, // Literal 31
DW_OP_reg0 = 0x50, // Contents of reg0
DW_OP_reg1 = 0x51, // Contents of reg1
DW_OP_reg2 = 0x52, // Contents of reg2
DW_OP_reg3 = 0x53, // Contents of reg3
DW_OP_reg4 = 0x54, // Contents of reg4
DW_OP_reg5 = 0x55, // Contents of reg5
DW_OP_reg6 = 0x56, // Contents of reg6
DW_OP_reg7 = 0x57, // Contents of reg7
DW_OP_reg8 = 0x58, // Contents of reg8
DW_OP_reg9 = 0x59, // Contents of reg9
DW_OP_reg10 = 0x5A, // Contents of reg10
DW_OP_reg11 = 0x5B, // Contents of reg11
DW_OP_reg12 = 0x5C, // Contents of reg12
DW_OP_reg13 = 0x5D, // Contents of reg13
DW_OP_reg14 = 0x5E, // Contents of reg14
DW_OP_reg15 = 0x5F, // Contents of reg15
DW_OP_reg16 = 0x60, // Contents of reg16
DW_OP_reg17 = 0x61, // Contents of reg17
DW_OP_reg18 = 0x62, // Contents of reg18
DW_OP_reg19 = 0x63, // Contents of reg19
DW_OP_reg20 = 0x64, // Contents of reg20
DW_OP_reg21 = 0x65, // Contents of reg21
DW_OP_reg22 = 0x66, // Contents of reg22
DW_OP_reg23 = 0x67, // Contents of reg23
DW_OP_reg24 = 0x68, // Contents of reg24
DW_OP_reg25 = 0x69, // Contents of reg25
DW_OP_reg26 = 0x6A, // Contents of reg26
DW_OP_reg27 = 0x6B, // Contents of reg27
DW_OP_reg28 = 0x6C, // Contents of reg28
DW_OP_reg29 = 0x6D, // Contents of reg29
DW_OP_reg30 = 0x6E, // Contents of reg30
DW_OP_reg31 = 0x6F, // Contents of reg31
DW_OP_breg0 = 0x70, // base register 0 + SLEB128 offset
DW_OP_breg1 = 0x71, // base register 1 + SLEB128 offset
DW_OP_breg2 = 0x72, // base register 2 + SLEB128 offset
DW_OP_breg3 = 0x73, // base register 3 + SLEB128 offset
DW_OP_breg4 = 0x74, // base register 4 + SLEB128 offset
DW_OP_breg5 = 0x75, // base register 5 + SLEB128 offset
DW_OP_breg6 = 0x76, // base register 6 + SLEB128 offset
DW_OP_breg7 = 0x77, // base register 7 + SLEB128 offset
DW_OP_breg8 = 0x78, // base register 8 + SLEB128 offset
DW_OP_breg9 = 0x79, // base register 9 + SLEB128 offset
DW_OP_breg10 = 0x7A, // base register 10 + SLEB128 offset
DW_OP_breg11 = 0x7B, // base register 11 + SLEB128 offset
DW_OP_breg12 = 0x7C, // base register 12 + SLEB128 offset
DW_OP_breg13 = 0x7D, // base register 13 + SLEB128 offset
DW_OP_breg14 = 0x7E, // base register 14 + SLEB128 offset
DW_OP_breg15 = 0x7F, // base register 15 + SLEB128 offset
DW_OP_breg16 = 0x80, // base register 16 + SLEB128 offset
DW_OP_breg17 = 0x81, // base register 17 + SLEB128 offset
DW_OP_breg18 = 0x82, // base register 18 + SLEB128 offset
DW_OP_breg19 = 0x83, // base register 19 + SLEB128 offset
DW_OP_breg20 = 0x84, // base register 20 + SLEB128 offset
DW_OP_breg21 = 0x85, // base register 21 + SLEB128 offset
DW_OP_breg22 = 0x86, // base register 22 + SLEB128 offset
DW_OP_breg23 = 0x87, // base register 23 + SLEB128 offset
DW_OP_breg24 = 0x88, // base register 24 + SLEB128 offset
DW_OP_breg25 = 0x89, // base register 25 + SLEB128 offset
DW_OP_breg26 = 0x8A, // base register 26 + SLEB128 offset
DW_OP_breg27 = 0x8B, // base register 27 + SLEB128 offset
DW_OP_breg28 = 0x8C, // base register 28 + SLEB128 offset
DW_OP_breg29 = 0x8D, // base register 29 + SLEB128 offset
DW_OP_breg30 = 0x8E, // base register 30 + SLEB128 offset
DW_OP_breg31 = 0x8F, // base register 31 + SLEB128 offset
DW_OP_regx = 0x90, // ULEB128 register
DW_OP_fbreg = 0x91, // SLEB128 offset
DW_OP_bregx = 0x92, // ULEB128 register followed by SLEB128 offset
DW_OP_piece = 0x93, // ULEB128 size of piece addressed
DW_OP_deref_size = 0x94, // 1-byte size of data retrieved
DW_OP_xderef_size = 0x95, // 1-byte size of data retrieved
DW_OP_nop = 0x96,
DW_OP_push_object_addres = 0x97,
DW_OP_call2 = 0x98, // 2-byte offset of DIE
DW_OP_call4 = 0x99, // 4-byte offset of DIE
DW_OP_call_ref = 0x9A, // 4- or 8-byte offset of DIE
DW_OP_lo_user = 0xE0,
DW_OP_APPLE_uninit = 0xF0,
DW_OP_hi_user = 0xFF
};
#endif
# 240 "/usr/src/contrib/llvm-project/libunwind/src/dwarf2.h"
# 52 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp" 2
#if 0 /* expanded by -frewrite-includes */
#include "EHHeaderParser.hpp"
#endif /* expanded by -frewrite-includes */
# 52 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
# 1 "/usr/src/contrib/llvm-project/libunwind/src/EHHeaderParser.hpp" 1
//===------------------------- EHHeaderParser.hpp -------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//
// Parses ELF .eh_frame_hdr sections.
//
//===----------------------------------------------------------------------===//
#ifndef __EHHEADERPARSER_HPP__
#define __EHHEADERPARSER_HPP__
#if 0 /* expanded by -frewrite-includes */
#include "libunwind.h"
#endif /* expanded by -frewrite-includes */
# 15 "/usr/src/contrib/llvm-project/libunwind/src/EHHeaderParser.hpp"
# 16 "/usr/src/contrib/llvm-project/libunwind/src/EHHeaderParser.hpp"
#if 0 /* expanded by -frewrite-includes */
#include "DwarfParser.hpp"
#endif /* expanded by -frewrite-includes */
# 17 "/usr/src/contrib/llvm-project/libunwind/src/EHHeaderParser.hpp"
# 1 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp" 1
//===--------------------------- DwarfParser.hpp --------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//
// Parses DWARF CFIs (FDEs and CIEs).
//
//===----------------------------------------------------------------------===//
#ifndef __DWARF_PARSER_HPP__
#define __DWARF_PARSER_HPP__
#if 0 /* expanded by -frewrite-includes */
#include <inttypes.h>
#endif /* expanded by -frewrite-includes */
# 15 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/inttypes.h" 1 3
// -*- C++ -*-
//===--------------------------- inttypes.h -------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP_INTTYPES_H
// AIX system headers need inttypes.h to be re-enterable while _STD_TYPES_T
// is defined until an inclusion of it without _STD_TYPES_T occurs, in which
// case the header guard macro is defined.
#if 0 /* disabled by -frewrite-includes */
#if !defined(_AIX) || !defined(_STD_TYPES_T)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 15 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/inttypes.h" 3
#define _LIBCPP_INTTYPES_H
#endif // _STD_TYPES_T
# 17 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/inttypes.h" 3
/*
inttypes.h synopsis
This entire header is C99 / C++0X
#include <stdint.h> // <cinttypes> includes <cstdint>
Macros:
PRId8
PRId16
PRId32
PRId64
PRIdLEAST8
PRIdLEAST16
PRIdLEAST32
PRIdLEAST64
PRIdFAST8
PRIdFAST16
PRIdFAST32
PRIdFAST64
PRIdMAX
PRIdPTR
PRIi8
PRIi16
PRIi32
PRIi64
PRIiLEAST8
PRIiLEAST16
PRIiLEAST32
PRIiLEAST64
PRIiFAST8
PRIiFAST16
PRIiFAST32
PRIiFAST64
PRIiMAX
PRIiPTR
PRIo8
PRIo16
PRIo32
PRIo64
PRIoLEAST8
PRIoLEAST16
PRIoLEAST32
PRIoLEAST64
PRIoFAST8
PRIoFAST16
PRIoFAST32
PRIoFAST64
PRIoMAX
PRIoPTR
PRIu8
PRIu16
PRIu32
PRIu64
PRIuLEAST8
PRIuLEAST16
PRIuLEAST32
PRIuLEAST64
PRIuFAST8
PRIuFAST16
PRIuFAST32
PRIuFAST64
PRIuMAX
PRIuPTR
PRIx8
PRIx16
PRIx32
PRIx64
PRIxLEAST8
PRIxLEAST16
PRIxLEAST32
PRIxLEAST64
PRIxFAST8
PRIxFAST16
PRIxFAST32
PRIxFAST64
PRIxMAX
PRIxPTR
PRIX8
PRIX16
PRIX32
PRIX64
PRIXLEAST8
PRIXLEAST16
PRIXLEAST32
PRIXLEAST64
PRIXFAST8
PRIXFAST16
PRIXFAST32
PRIXFAST64
PRIXMAX
PRIXPTR
SCNd8
SCNd16
SCNd32
SCNd64
SCNdLEAST8
SCNdLEAST16
SCNdLEAST32
SCNdLEAST64
SCNdFAST8
SCNdFAST16
SCNdFAST32
SCNdFAST64
SCNdMAX
SCNdPTR
SCNi8
SCNi16
SCNi32
SCNi64
SCNiLEAST8
SCNiLEAST16
SCNiLEAST32
SCNiLEAST64
SCNiFAST8
SCNiFAST16
SCNiFAST32
SCNiFAST64
SCNiMAX
SCNiPTR
SCNo8
SCNo16
SCNo32
SCNo64
SCNoLEAST8
SCNoLEAST16
SCNoLEAST32
SCNoLEAST64
SCNoFAST8
SCNoFAST16
SCNoFAST32
SCNoFAST64
SCNoMAX
SCNoPTR
SCNu8
SCNu16
SCNu32
SCNu64
SCNuLEAST8
SCNuLEAST16
SCNuLEAST32
SCNuLEAST64
SCNuFAST8
SCNuFAST16
SCNuFAST32
SCNuFAST64
SCNuMAX
SCNuPTR
SCNx8
SCNx16
SCNx32
SCNx64
SCNxLEAST8
SCNxLEAST16
SCNxLEAST32
SCNxLEAST64
SCNxFAST8
SCNxFAST16
SCNxFAST32
SCNxFAST64
SCNxMAX
SCNxPTR
Types:
imaxdiv_t
intmax_t imaxabs(intmax_t j);
imaxdiv_t imaxdiv(intmax_t numer, intmax_t denom);
intmax_t strtoimax(const char* restrict nptr, char** restrict endptr, int base);
uintmax_t strtoumax(const char* restrict nptr, char** restrict endptr, int base);
intmax_t wcstoimax(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base);
uintmax_t wcstoumax(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base);
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 238 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/inttypes.h" 3
# 239 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/inttypes.h" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 241 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/inttypes.h" 3
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 242 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/inttypes.h" 3
#endif
# 243 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/inttypes.h" 3
/* C99 stdlib (e.g. glibc < 2.18) does not provide format macros needed
for C++11 unless __STDC_FORMAT_MACROS is defined
*/
#if 0 /* disabled by -frewrite-includes */
#if defined(__cplusplus) && !defined(__STDC_FORMAT_MACROS)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 248 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/inttypes.h" 3
# define __STDC_FORMAT_MACROS
#endif
# 250 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/inttypes.h" 3
#if 0 /* expanded by -frewrite-includes */
#include_next <inttypes.h>
#endif /* expanded by -frewrite-includes */
# 251 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/inttypes.h" 3
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/inttypes.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-2-Clause-FreeBSD
*
* 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$
*/
#ifndef _INTTYPES_H_
#define _INTTYPES_H_
#if 0 /* expanded by -frewrite-includes */
#include <machine/_inttypes.h>
#endif /* expanded by -frewrite-includes */
# 34 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/inttypes.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/_inttypes.h" 1 3 4
/*-
* Copyright (c) 2001 The NetBSD Foundation, Inc.
* All rights reserved.
*
* This code is derived from software contributed to The NetBSD Foundation
* by Klaus Klein.
*
* 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.
*
* From: $NetBSD: int_fmtio.h,v 1.4 2008/04/28 20:23:36 martin Exp $
* $FreeBSD$
*/
#ifndef _MACHINE__INTTYPES_H_
#define _MACHINE__INTTYPES_H_
/*
* Macros for format specifiers.
*/
/* fprintf(3) macros for signed integers. */
#define PRId8 "d" /* int8_t */
#define PRId16 "d" /* int16_t */
#define PRId32 "d" /* int32_t */
#define PRId64 "ld" /* int64_t */
#define PRIdLEAST8 "d" /* int_least8_t */
#define PRIdLEAST16 "d" /* int_least16_t */
#define PRIdLEAST32 "d" /* int_least32_t */
#define PRIdLEAST64 "ld" /* int_least64_t */
#define PRIdFAST8 "d" /* int_fast8_t */
#define PRIdFAST16 "d" /* int_fast16_t */
#define PRIdFAST32 "d" /* int_fast32_t */
#define PRIdFAST64 "ld" /* int_fast64_t */
#define PRIdMAX "jd" /* intmax_t */
#define PRIdPTR "ld" /* intptr_t */
#define PRIi8 "i" /* int8_t */
#define PRIi16 "i" /* int16_t */
#define PRIi32 "i" /* int32_t */
#define PRIi64 "li" /* int64_t */
#define PRIiLEAST8 "i" /* int_least8_t */
#define PRIiLEAST16 "i" /* int_least16_t */
#define PRIiLEAST32 "i" /* int_least32_t */
#define PRIiLEAST64 "li" /* int_least64_t */
#define PRIiFAST8 "i" /* int_fast8_t */
#define PRIiFAST16 "i" /* int_fast16_t */
#define PRIiFAST32 "i" /* int_fast32_t */
#define PRIiFAST64 "li" /* int_fast64_t */
#define PRIiMAX "ji" /* intmax_t */
#define PRIiPTR "li" /* intptr_t */
/* fprintf(3) macros for unsigned integers. */
#define PRIo8 "o" /* uint8_t */
#define PRIo16 "o" /* uint16_t */
#define PRIo32 "o" /* uint32_t */
#define PRIo64 "lo" /* uint64_t */
#define PRIoLEAST8 "o" /* uint_least8_t */
#define PRIoLEAST16 "o" /* uint_least16_t */
#define PRIoLEAST32 "o" /* uint_least32_t */
#define PRIoLEAST64 "lo" /* uint_least64_t */
#define PRIoFAST8 "o" /* uint_fast8_t */
#define PRIoFAST16 "o" /* uint_fast16_t */
#define PRIoFAST32 "o" /* uint_fast32_t */
#define PRIoFAST64 "lo" /* uint_fast64_t */
#define PRIoMAX "jo" /* uintmax_t */
#define PRIoPTR "lo" /* uintptr_t */
#define PRIu8 "u" /* uint8_t */
#define PRIu16 "u" /* uint16_t */
#define PRIu32 "u" /* uint32_t */
#define PRIu64 "lu" /* uint64_t */
#define PRIuLEAST8 "u" /* uint_least8_t */
#define PRIuLEAST16 "u" /* uint_least16_t */
#define PRIuLEAST32 "u" /* uint_least32_t */
#define PRIuLEAST64 "lu" /* uint_least64_t */
#define PRIuFAST8 "u" /* uint_fast8_t */
#define PRIuFAST16 "u" /* uint_fast16_t */
#define PRIuFAST32 "u" /* uint_fast32_t */
#define PRIuFAST64 "lu" /* uint_fast64_t */
#define PRIuMAX "ju" /* uintmax_t */
#define PRIuPTR "lu" /* uintptr_t */
#define PRIx8 "x" /* uint8_t */
#define PRIx16 "x" /* uint16_t */
#define PRIx32 "x" /* uint32_t */
#define PRIx64 "lx" /* uint64_t */
#define PRIxLEAST8 "x" /* uint_least8_t */
#define PRIxLEAST16 "x" /* uint_least16_t */
#define PRIxLEAST32 "x" /* uint_least32_t */
#define PRIxLEAST64 "lx" /* uint_least64_t */
#define PRIxFAST8 "x" /* uint_fast8_t */
#define PRIxFAST16 "x" /* uint_fast16_t */
#define PRIxFAST32 "x" /* uint_fast32_t */
#define PRIxFAST64 "lx" /* uint_fast64_t */
#define PRIxMAX "jx" /* uintmax_t */
#define PRIxPTR "lx" /* uintptr_t */
#define PRIX8 "X" /* uint8_t */
#define PRIX16 "X" /* uint16_t */
#define PRIX32 "X" /* uint32_t */
#define PRIX64 "lX" /* uint64_t */
#define PRIXLEAST8 "X" /* uint_least8_t */
#define PRIXLEAST16 "X" /* uint_least16_t */
#define PRIXLEAST32 "X" /* uint_least32_t */
#define PRIXLEAST64 "lX" /* uint_least64_t */
#define PRIXFAST8 "X" /* uint_fast8_t */
#define PRIXFAST16 "X" /* uint_fast16_t */
#define PRIXFAST32 "X" /* uint_fast32_t */
#define PRIXFAST64 "lX" /* uint_fast64_t */
#define PRIXMAX "jX" /* uintmax_t */
#define PRIXPTR "lX" /* uintptr_t */
/* fscanf(3) macros for signed integers. */
#define SCNd8 "hhd" /* int8_t */
#define SCNd16 "hd" /* int16_t */
#define SCNd32 "d" /* int32_t */
#define SCNd64 "ld" /* int64_t */
#define SCNdLEAST8 "hhd" /* int_least8_t */
#define SCNdLEAST16 "hd" /* int_least16_t */
#define SCNdLEAST32 "d" /* int_least32_t */
#define SCNdLEAST64 "ld" /* int_least64_t */
#define SCNdFAST8 "d" /* int_fast8_t */
#define SCNdFAST16 "d" /* int_fast16_t */
#define SCNdFAST32 "d" /* int_fast32_t */
#define SCNdFAST64 "ld" /* int_fast64_t */
#define SCNdMAX "jd" /* intmax_t */
#define SCNdPTR "ld" /* intptr_t */
#define SCNi8 "hhi" /* int8_t */
#define SCNi16 "hi" /* int16_t */
#define SCNi32 "i" /* int32_t */
#define SCNi64 "li" /* int64_t */
#define SCNiLEAST8 "hhi" /* int_least8_t */
#define SCNiLEAST16 "hi" /* int_least16_t */
#define SCNiLEAST32 "i" /* int_least32_t */
#define SCNiLEAST64 "li" /* int_least64_t */
#define SCNiFAST8 "i" /* int_fast8_t */
#define SCNiFAST16 "i" /* int_fast16_t */
#define SCNiFAST32 "i" /* int_fast32_t */
#define SCNiFAST64 "li" /* int_fast64_t */
#define SCNiMAX "ji" /* intmax_t */
#define SCNiPTR "li" /* intptr_t */
/* fscanf(3) macros for unsigned integers. */
#define SCNo8 "hho" /* uint8_t */
#define SCNo16 "ho" /* uint16_t */
#define SCNo32 "o" /* uint32_t */
#define SCNo64 "lo" /* uint64_t */
#define SCNoLEAST8 "hho" /* uint_least8_t */
#define SCNoLEAST16 "ho" /* uint_least16_t */
#define SCNoLEAST32 "o" /* uint_least32_t */
#define SCNoLEAST64 "lo" /* uint_least64_t */
#define SCNoFAST8 "o" /* uint_fast8_t */
#define SCNoFAST16 "o" /* uint_fast16_t */
#define SCNoFAST32 "o" /* uint_fast32_t */
#define SCNoFAST64 "lo" /* uint_fast64_t */
#define SCNoMAX "jo" /* uintmax_t */
#define SCNoPTR "lo" /* uintptr_t */
#define SCNu8 "hhu" /* uint8_t */
#define SCNu16 "hu" /* uint16_t */
#define SCNu32 "u" /* uint32_t */
#define SCNu64 "lu" /* uint64_t */
#define SCNuLEAST8 "hhu" /* uint_least8_t */
#define SCNuLEAST16 "hu" /* uint_least16_t */
#define SCNuLEAST32 "u" /* uint_least32_t */
#define SCNuLEAST64 "lu" /* uint_least64_t */
#define SCNuFAST8 "u" /* uint_fast8_t */
#define SCNuFAST16 "u" /* uint_fast16_t */
#define SCNuFAST32 "u" /* uint_fast32_t */
#define SCNuFAST64 "lu" /* uint_fast64_t */
#define SCNuMAX "ju" /* uintmax_t */
#define SCNuPTR "lu" /* uintptr_t */
#define SCNx8 "hhx" /* uint8_t */
#define SCNx16 "hx" /* uint16_t */
#define SCNx32 "x" /* uint32_t */
#define SCNx64 "lx" /* uint64_t */
#define SCNxLEAST8 "hhx" /* uint_least8_t */
#define SCNxLEAST16 "hx" /* uint_least16_t */
#define SCNxLEAST32 "x" /* uint_least32_t */
#define SCNxLEAST64 "lx" /* uint_least64_t */
#define SCNxFAST8 "x" /* uint_fast8_t */
#define SCNxFAST16 "x" /* uint_fast16_t */
#define SCNxFAST32 "x" /* uint_fast32_t */
#define SCNxFAST64 "lx" /* uint_fast64_t */
#define SCNxMAX "jx" /* uintmax_t */
#define SCNxPTR "lx" /* uintptr_t */
#endif /* !_MACHINE__INTTYPES_H_ */
# 214 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/_inttypes.h" 3 4
# 35 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/inttypes.h" 2 3 4
#if 0 /* expanded by -frewrite-includes */
#include <sys/stdint.h>
#endif /* expanded by -frewrite-includes */
# 35 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/inttypes.h" 3 4
# 36 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/inttypes.h" 3 4
#ifndef __cplusplus
#ifndef _WCHAR_T_DECLARED
typedef ___wchar_t wchar_t;
#define _WCHAR_T_DECLARED
#endif
# 42 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/inttypes.h" 3 4
#endif
# 43 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/inttypes.h" 3 4
typedef struct {
intmax_t quot; /* Quotient. */
intmax_t rem; /* Remainder. */
} imaxdiv_t;
__BEGIN_DECLS
#ifdef _XLOCALE_H_
#if 0 /* expanded by -frewrite-includes */
#include <xlocale/_inttypes.h>
#endif /* expanded by -frewrite-includes */
# 51 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/inttypes.h" 3 4
# 52 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/inttypes.h" 3 4
#endif
# 53 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/inttypes.h" 3 4
intmax_t imaxabs(intmax_t) __pure2;
imaxdiv_t imaxdiv(intmax_t, intmax_t) __pure2;
intmax_t strtoimax(const char * __restrict, char ** __restrict, int);
uintmax_t strtoumax(const char * __restrict, char ** __restrict, int);
intmax_t wcstoimax(const wchar_t * __restrict,
wchar_t ** __restrict, int);
uintmax_t wcstoumax(const wchar_t * __restrict,
wchar_t ** __restrict, int);
__END_DECLS
#endif /* !_INTTYPES_H_ */
# 65 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/inttypes.h" 3 4
# 252 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/inttypes.h" 2 3
#ifdef __cplusplus
#if 0 /* expanded by -frewrite-includes */
#include <stdint.h>
#endif /* expanded by -frewrite-includes */
# 255 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/inttypes.h" 3
# 256 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/inttypes.h" 3
#undef imaxabs
#undef imaxdiv
#endif // __cplusplus
# 261 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/inttypes.h" 3
#endif // _LIBCPP_INTTYPES_H
# 263 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/inttypes.h" 3
# 16 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp" 2
#if 0 /* expanded by -frewrite-includes */
#include <stdint.h>
#endif /* expanded by -frewrite-includes */
# 16 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
# 17 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
#if 0 /* expanded by -frewrite-includes */
#include <stdio.h>
#endif /* expanded by -frewrite-includes */
# 17 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 1 3
// -*- C++ -*-
//===---------------------------- stdio.h ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#if 0 /* disabled by -frewrite-includes */
#if defined(__need_FILE) || defined(__need___FILE)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 11 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 13 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 14 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#endif
# 15 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#if 0 /* expanded by -frewrite-includes */
#include_next <stdio.h>
#endif /* expanded by -frewrite-includes */
# 16 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
# 17 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif !defined(_LIBCPP_STDIO_H)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 19 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#define _LIBCPP_STDIO_H
/*
stdio.h synopsis
Macros:
BUFSIZ
EOF
FILENAME_MAX
FOPEN_MAX
L_tmpnam
NULL
SEEK_CUR
SEEK_END
SEEK_SET
TMP_MAX
_IOFBF
_IOLBF
_IONBF
stderr
stdin
stdout
Types:
FILE
fpos_t
size_t
int remove(const char* filename);
int rename(const char* old, const char* new);
FILE* tmpfile(void);
char* tmpnam(char* s);
int fclose(FILE* stream);
int fflush(FILE* stream);
FILE* fopen(const char* restrict filename, const char* restrict mode);
FILE* freopen(const char* restrict filename, const char * restrict mode,
FILE * restrict stream);
void setbuf(FILE* restrict stream, char* restrict buf);
int setvbuf(FILE* restrict stream, char* restrict buf, int mode, size_t size);
int fprintf(FILE* restrict stream, const char* restrict format, ...);
int fscanf(FILE* restrict stream, const char * restrict format, ...);
int printf(const char* restrict format, ...);
int scanf(const char* restrict format, ...);
int snprintf(char* restrict s, size_t n, const char* restrict format, ...); // C99
int sprintf(char* restrict s, const char* restrict format, ...);
int sscanf(const char* restrict s, const char* restrict format, ...);
int vfprintf(FILE* restrict stream, const char* restrict format, va_list arg);
int vfscanf(FILE* restrict stream, const char* restrict format, va_list arg); // C99
int vprintf(const char* restrict format, va_list arg);
int vscanf(const char* restrict format, va_list arg); // C99
int vsnprintf(char* restrict s, size_t n, const char* restrict format, // C99
va_list arg);
int vsprintf(char* restrict s, const char* restrict format, va_list arg);
int vsscanf(const char* restrict s, const char* restrict format, va_list arg); // C99
int fgetc(FILE* stream);
char* fgets(char* restrict s, int n, FILE* restrict stream);
int fputc(int c, FILE* stream);
int fputs(const char* restrict s, FILE* restrict stream);
int getc(FILE* stream);
int getchar(void);
char* gets(char* s); // removed in C++14
int putc(int c, FILE* stream);
int putchar(int c);
int puts(const char* s);
int ungetc(int c, FILE* stream);
size_t fread(void* restrict ptr, size_t size, size_t nmemb,
FILE* restrict stream);
size_t fwrite(const void* restrict ptr, size_t size, size_t nmemb,
FILE* restrict stream);
int fgetpos(FILE* restrict stream, fpos_t* restrict pos);
int fseek(FILE* stream, long offset, int whence);
int fsetpos(FILE*stream, const fpos_t* pos);
long ftell(FILE* stream);
void rewind(FILE* stream);
void clearerr(FILE* stream);
int feof(FILE* stream);
int ferror(FILE* stream);
void perror(const char* s);
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 101 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
# 102 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 104 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 105 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#endif
# 106 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#if 0 /* expanded by -frewrite-includes */
#include_next <stdio.h>
#endif /* expanded by -frewrite-includes */
# 107 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
# 108 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#ifdef __cplusplus
#undef getc
#undef putc
#undef clearerr
#undef feof
#undef ferror
#endif
# 118 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#endif // _LIBCPP_STDIO_H
# 120 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
# 18 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp" 2
#if 0 /* expanded by -frewrite-includes */
#include <stdlib.h>
#endif /* expanded by -frewrite-includes */
# 18 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 1 3
// -*- C++ -*-
//===--------------------------- stdlib.h ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#if 0 /* disabled by -frewrite-includes */
#if defined(__need_malloc_and_calloc)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 11 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 13 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 14 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#endif
# 15 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* expanded by -frewrite-includes */
#include_next <stdlib.h>
#endif /* expanded by -frewrite-includes */
# 16 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
# 17 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif !defined(_LIBCPP_STDLIB_H)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 19 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#define _LIBCPP_STDLIB_H
/*
stdlib.h synopsis
Macros:
EXIT_FAILURE
EXIT_SUCCESS
MB_CUR_MAX
NULL
RAND_MAX
Types:
size_t
div_t
ldiv_t
lldiv_t // C99
double atof (const char* nptr);
int atoi (const char* nptr);
long atol (const char* nptr);
long long atoll(const char* nptr); // C99
double strtod (const char* restrict nptr, char** restrict endptr);
float strtof (const char* restrict nptr, char** restrict endptr); // C99
long double strtold (const char* restrict nptr, char** restrict endptr); // C99
long strtol (const char* restrict nptr, char** restrict endptr, int base);
long long strtoll (const char* restrict nptr, char** restrict endptr, int base); // C99
unsigned long strtoul (const char* restrict nptr, char** restrict endptr, int base);
unsigned long long strtoull(const char* restrict nptr, char** restrict endptr, int base); // C99
int rand(void);
void srand(unsigned int seed);
void* calloc(size_t nmemb, size_t size);
void free(void* ptr);
void* malloc(size_t size);
void* realloc(void* ptr, size_t size);
void abort(void);
int atexit(void (*func)(void));
void exit(int status);
void _Exit(int status);
char* getenv(const char* name);
int system(const char* string);
void* bsearch(const void* key, const void* base, size_t nmemb, size_t size,
int (*compar)(const void *, const void *));
void qsort(void* base, size_t nmemb, size_t size,
int (*compar)(const void *, const void *));
int abs( int j);
long abs( long j);
long long abs(long long j); // C++0X
long labs( long j);
long long llabs(long long j); // C99
div_t div( int numer, int denom);
ldiv_t div( long numer, long denom);
lldiv_t div(long long numer, long long denom); // C++0X
ldiv_t ldiv( long numer, long denom);
lldiv_t lldiv(long long numer, long long denom); // C99
int mblen(const char* s, size_t n);
int mbtowc(wchar_t* restrict pwc, const char* restrict s, size_t n);
int wctomb(char* s, wchar_t wchar);
size_t mbstowcs(wchar_t* restrict pwcs, const char* restrict s, size_t n);
size_t wcstombs(char* restrict s, const wchar_t* restrict pwcs, size_t n);
int at_quick_exit(void (*func)(void)) // C++11
void quick_exit(int status); // C++11
void *aligned_alloc(size_t alignment, size_t size); // C11
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 87 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
# 88 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 90 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 91 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#endif
# 92 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* expanded by -frewrite-includes */
#include_next <stdlib.h>
#endif /* expanded by -frewrite-includes */
# 93 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
# 94 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#ifdef __cplusplus
extern "C++" {
// abs
#undef abs
#undef labs
#ifndef _LIBCPP_HAS_NO_LONG_LONG
#undef llabs
#endif
# 104 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
// MSVCRT already has the correct prototype in <stdlib.h> if __cplusplus is defined
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_MSVCRT) && !defined(__sun__) && !defined(_AIX)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 107 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
inline _LIBCPP_INLINE_VISIBILITY long abs(long __x) _NOEXCEPT {
return __builtin_labs(__x);
}
#ifndef _LIBCPP_HAS_NO_LONG_LONG
inline _LIBCPP_INLINE_VISIBILITY long long abs(long long __x) _NOEXCEPT {
return __builtin_llabs(__x);
}
#endif // _LIBCPP_HAS_NO_LONG_LONG
# 115 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#endif // !defined(_LIBCPP_MSVCRT) && !defined(__sun__) && !defined(_AIX)
# 116 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#if 0 /* disabled by -frewrite-includes */
#if !(defined(_AIX) || defined(__sun__))
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 118 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
inline _LIBCPP_INLINE_VISIBILITY float abs(float __lcpp_x) _NOEXCEPT {
return __builtin_fabsf(__lcpp_x); // Use builtins to prevent needing math.h
}
inline _LIBCPP_INLINE_VISIBILITY double abs(double __lcpp_x) _NOEXCEPT {
return __builtin_fabs(__lcpp_x);
}
inline _LIBCPP_INLINE_VISIBILITY long double
abs(long double __lcpp_x) _NOEXCEPT {
return __builtin_fabsl(__lcpp_x);
}
#endif // !(defined(_AIX) || defined(__sun__))
# 131 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
// div
#undef div
#undef ldiv
#ifndef _LIBCPP_HAS_NO_LONG_LONG
#undef lldiv
#endif
# 139 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
// MSVCRT already has the correct prototype in <stdlib.h> if __cplusplus is defined
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_MSVCRT) && !defined(__sun__) && !defined(_AIX)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 142 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
inline _LIBCPP_INLINE_VISIBILITY ldiv_t div(long __x, long __y) _NOEXCEPT {
return ::ldiv(__x, __y);
}
#ifndef _LIBCPP_HAS_NO_LONG_LONG
inline _LIBCPP_INLINE_VISIBILITY lldiv_t div(long long __x,
long long __y) _NOEXCEPT {
return ::lldiv(__x, __y);
}
#endif // _LIBCPP_HAS_NO_LONG_LONG
# 151 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#endif // _LIBCPP_MSVCRT / __sun__ / _AIX
# 152 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
} // extern "C++"
#endif // __cplusplus
# 154 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
#endif // _LIBCPP_STDLIB_H
# 156 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdlib.h" 3
# 19 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp" 2
#if 0 /* expanded by -frewrite-includes */
#include "libunwind.h"
#endif /* expanded by -frewrite-includes */
# 20 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
# 21 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
#if 0 /* expanded by -frewrite-includes */
#include "dwarf2.h"
#endif /* expanded by -frewrite-includes */
# 21 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
# 22 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
#if 0 /* expanded by -frewrite-includes */
#include "Registers.hpp"
#endif /* expanded by -frewrite-includes */
# 22 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
# 1 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp" 1
//===----------------------------- Registers.hpp --------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//
// Models register sets for supported processors.
//
//===----------------------------------------------------------------------===//
#ifndef __REGISTERS_HPP__
#define __REGISTERS_HPP__
#if 0 /* expanded by -frewrite-includes */
#include <stdint.h>
#endif /* expanded by -frewrite-includes */
# 15 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
# 16 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
#if 0 /* expanded by -frewrite-includes */
#include <string.h>
#endif /* expanded by -frewrite-includes */
# 16 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
# 17 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
#if 0 /* expanded by -frewrite-includes */
#include "libunwind.h"
#endif /* expanded by -frewrite-includes */
# 18 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
# 19 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
#if 0 /* expanded by -frewrite-includes */
#include "config.h"
#endif /* expanded by -frewrite-includes */
# 19 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
# 20 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
namespace libunwind {
// For emulating 128-bit registers
struct v128 { uint32_t vec[4]; };
enum {
REGISTERS_X86,
REGISTERS_X86_64,
REGISTERS_PPC,
REGISTERS_PPC64,
REGISTERS_ARM64,
REGISTERS_ARM,
REGISTERS_OR1K,
REGISTERS_MIPS_O32,
REGISTERS_MIPS_NEWABI,
REGISTERS_SPARC,
REGISTERS_HEXAGON,
REGISTERS_RISCV,
};
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_TARGET_I386)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 42 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
/// Registers_x86 holds the register state of a thread in a 32-bit intel
/// process.
class _LIBUNWIND_HIDDEN Registers_x86 {
public:
Registers_x86();
Registers_x86(const void *registers);
bool validRegister(int num) const;
uint32_t getRegister(int num) const;
void setRegister(int num, uint32_t value);
bool validFloatRegister(int) const { return false; }
double getFloatRegister(int num) const;
void setFloatRegister(int num, double value);
bool validVectorRegister(int) const { return false; }
v128 getVectorRegister(int num) const;
void setVectorRegister(int num, v128 value);
static const char *getRegisterName(int num);
void jumpto();
static int lastDwarfRegNum() { return _LIBUNWIND_HIGHEST_DWARF_REGISTER_X86; }
static int getArch() { return REGISTERS_X86; }
uint32_t getSP() const { return _registers.__esp; }
void setSP(uint32_t value) { _registers.__esp = value; }
uint32_t getIP() const { return _registers.__eip; }
void setIP(uint32_t value) { _registers.__eip = value; }
uint32_t getEBP() const { return _registers.__ebp; }
void setEBP(uint32_t value) { _registers.__ebp = value; }
uint32_t getEBX() const { return _registers.__ebx; }
void setEBX(uint32_t value) { _registers.__ebx = value; }
uint32_t getECX() const { return _registers.__ecx; }
void setECX(uint32_t value) { _registers.__ecx = value; }
uint32_t getEDX() const { return _registers.__edx; }
void setEDX(uint32_t value) { _registers.__edx = value; }
uint32_t getESI() const { return _registers.__esi; }
void setESI(uint32_t value) { _registers.__esi = value; }
uint32_t getEDI() const { return _registers.__edi; }
void setEDI(uint32_t value) { _registers.__edi = value; }
private:
struct GPRs {
unsigned int __eax;
unsigned int __ebx;
unsigned int __ecx;
unsigned int __edx;
unsigned int __edi;
unsigned int __esi;
unsigned int __ebp;
unsigned int __esp;
unsigned int __ss;
unsigned int __eflags;
unsigned int __eip;
unsigned int __cs;
unsigned int __ds;
unsigned int __es;
unsigned int __fs;
unsigned int __gs;
};
GPRs _registers;
};
inline Registers_x86::Registers_x86(const void *registers) {
static_assert((check_fit<Registers_x86, unw_context_t>::does_fit),
"x86 registers do not fit into unw_context_t");
memcpy(&_registers, registers, sizeof(_registers));
}
inline Registers_x86::Registers_x86() {
memset(&_registers, 0, sizeof(_registers));
}
inline bool Registers_x86::validRegister(int regNum) const {
if (regNum == UNW_REG_IP)
return true;
if (regNum == UNW_REG_SP)
return true;
if (regNum < 0)
return false;
if (regNum > 7)
return false;
return true;
}
inline uint32_t Registers_x86::getRegister(int regNum) const {
switch (regNum) {
case UNW_REG_IP:
return _registers.__eip;
case UNW_REG_SP:
return _registers.__esp;
case UNW_X86_EAX:
return _registers.__eax;
case UNW_X86_ECX:
return _registers.__ecx;
case UNW_X86_EDX:
return _registers.__edx;
case UNW_X86_EBX:
return _registers.__ebx;
#if 0 /* disabled by -frewrite-includes */
#if !defined(__APPLE__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 140 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
case UNW_X86_ESP:
#else
# 142 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
case UNW_X86_EBP:
#endif
# 144 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
return _registers.__ebp;
#if 0 /* disabled by -frewrite-includes */
#if !defined(__APPLE__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 146 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
case UNW_X86_EBP:
#else
# 148 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
case UNW_X86_ESP:
#endif
# 150 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
return _registers.__esp;
case UNW_X86_ESI:
return _registers.__esi;
case UNW_X86_EDI:
return _registers.__edi;
}
_LIBUNWIND_ABORT("unsupported x86 register");
}
inline void Registers_x86::setRegister(int regNum, uint32_t value) {
switch (regNum) {
case UNW_REG_IP:
_registers.__eip = value;
return;
case UNW_REG_SP:
_registers.__esp = value;
return;
case UNW_X86_EAX:
_registers.__eax = value;
return;
case UNW_X86_ECX:
_registers.__ecx = value;
return;
case UNW_X86_EDX:
_registers.__edx = value;
return;
case UNW_X86_EBX:
_registers.__ebx = value;
return;
#if 0 /* disabled by -frewrite-includes */
#if !defined(__APPLE__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 180 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
case UNW_X86_ESP:
#else
# 182 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
case UNW_X86_EBP:
#endif
# 184 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
_registers.__ebp = value;
return;
#if 0 /* disabled by -frewrite-includes */
#if !defined(__APPLE__)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 187 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
case UNW_X86_EBP:
#else
# 189 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
case UNW_X86_ESP:
#endif
# 191 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
_registers.__esp = value;
return;
case UNW_X86_ESI:
_registers.__esi = value;
return;
case UNW_X86_EDI:
_registers.__edi = value;
return;
}
_LIBUNWIND_ABORT("unsupported x86 register");
}
inline const char *Registers_x86::getRegisterName(int regNum) {
switch (regNum) {
case UNW_REG_IP:
return "ip";
case UNW_REG_SP:
return "esp";
case UNW_X86_EAX:
return "eax";
case UNW_X86_ECX:
return "ecx";
case UNW_X86_EDX:
return "edx";
case UNW_X86_EBX:
return "ebx";
case UNW_X86_EBP:
return "ebp";
case UNW_X86_ESP:
return "esp";
case UNW_X86_ESI:
return "esi";
case UNW_X86_EDI:
return "edi";
default:
return "unknown register";
}
}
inline double Registers_x86::getFloatRegister(int) const {
_LIBUNWIND_ABORT("no x86 float registers");
}
inline void Registers_x86::setFloatRegister(int, double) {
_LIBUNWIND_ABORT("no x86 float registers");
}
inline v128 Registers_x86::getVectorRegister(int) const {
_LIBUNWIND_ABORT("no x86 vector registers");
}
inline void Registers_x86::setVectorRegister(int, v128) {
_LIBUNWIND_ABORT("no x86 vector registers");
}
#endif // _LIBUNWIND_TARGET_I386
# 246 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_TARGET_X86_64)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 249 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
/// Registers_x86_64 holds the register state of a thread in a 64-bit intel
/// process.
class _LIBUNWIND_HIDDEN Registers_x86_64 {
public:
Registers_x86_64();
Registers_x86_64(const void *registers);
bool validRegister(int num) const;
uint64_t getRegister(int num) const;
void setRegister(int num, uint64_t value);
bool validFloatRegister(int) const { return false; }
double getFloatRegister(int num) const;
void setFloatRegister(int num, double value);
bool validVectorRegister(int) const;
v128 getVectorRegister(int num) const;
void setVectorRegister(int num, v128 value);
static const char *getRegisterName(int num);
void jumpto();
static int lastDwarfRegNum() { return _LIBUNWIND_HIGHEST_DWARF_REGISTER_X86_64; }
static int getArch() { return REGISTERS_X86_64; }
uint64_t getSP() const { return _registers.__rsp; }
void setSP(uint64_t value) { _registers.__rsp = value; }
uint64_t getIP() const { return _registers.__rip; }
void setIP(uint64_t value) { _registers.__rip = value; }
uint64_t getRBP() const { return _registers.__rbp; }
void setRBP(uint64_t value) { _registers.__rbp = value; }
uint64_t getRBX() const { return _registers.__rbx; }
void setRBX(uint64_t value) { _registers.__rbx = value; }
uint64_t getR12() const { return _registers.__r12; }
void setR12(uint64_t value) { _registers.__r12 = value; }
uint64_t getR13() const { return _registers.__r13; }
void setR13(uint64_t value) { _registers.__r13 = value; }
uint64_t getR14() const { return _registers.__r14; }
void setR14(uint64_t value) { _registers.__r14 = value; }
uint64_t getR15() const { return _registers.__r15; }
void setR15(uint64_t value) { _registers.__r15 = value; }
private:
struct GPRs {
uint64_t __rax;
uint64_t __rbx;
uint64_t __rcx;
uint64_t __rdx;
uint64_t __rdi;
uint64_t __rsi;
uint64_t __rbp;
uint64_t __rsp;
uint64_t __r8;
uint64_t __r9;
uint64_t __r10;
uint64_t __r11;
uint64_t __r12;
uint64_t __r13;
uint64_t __r14;
uint64_t __r15;
uint64_t __rip;
uint64_t __rflags;
uint64_t __cs;
uint64_t __fs;
uint64_t __gs;
#if 0 /* disabled by -frewrite-includes */
#if defined(_WIN64)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 311 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
uint64_t __padding; // 16-byte align
#endif
# 313 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
};
GPRs _registers;
#if 0 /* disabled by -frewrite-includes */
#if defined(_WIN64)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 316 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
v128 _xmm[16];
#endif
# 318 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
};
inline Registers_x86_64::Registers_x86_64(const void *registers) {
static_assert((check_fit<Registers_x86_64, unw_context_t>::does_fit),
"x86_64 registers do not fit into unw_context_t");
memcpy(&_registers, registers, sizeof(_registers));
}
inline Registers_x86_64::Registers_x86_64() {
memset(&_registers, 0, sizeof(_registers));
}
inline bool Registers_x86_64::validRegister(int regNum) const {
if (regNum == UNW_REG_IP)
return true;
if (regNum == UNW_REG_SP)
return true;
if (regNum < 0)
return false;
if (regNum > 15)
return false;
return true;
}
inline uint64_t Registers_x86_64::getRegister(int regNum) const {
switch (regNum) {
case UNW_REG_IP:
return _registers.__rip;
case UNW_REG_SP:
return _registers.__rsp;
case UNW_X86_64_RAX:
return _registers.__rax;
case UNW_X86_64_RDX:
return _registers.__rdx;
case UNW_X86_64_RCX:
return _registers.__rcx;
case UNW_X86_64_RBX:
return _registers.__rbx;
case UNW_X86_64_RSI:
return _registers.__rsi;
case UNW_X86_64_RDI:
return _registers.__rdi;
case UNW_X86_64_RBP:
return _registers.__rbp;
case UNW_X86_64_RSP:
return _registers.__rsp;
case UNW_X86_64_R8:
return _registers.__r8;
case UNW_X86_64_R9:
return _registers.__r9;
case UNW_X86_64_R10:
return _registers.__r10;
case UNW_X86_64_R11:
return _registers.__r11;
case UNW_X86_64_R12:
return _registers.__r12;
case UNW_X86_64_R13:
return _registers.__r13;
case UNW_X86_64_R14:
return _registers.__r14;
case UNW_X86_64_R15:
return _registers.__r15;
}
_LIBUNWIND_ABORT("unsupported x86_64 register");
}
inline void Registers_x86_64::setRegister(int regNum, uint64_t value) {
switch (regNum) {
case UNW_REG_IP:
_registers.__rip = value;
return;
case UNW_REG_SP:
_registers.__rsp = value;
return;
case UNW_X86_64_RAX:
_registers.__rax = value;
return;
case UNW_X86_64_RDX:
_registers.__rdx = value;
return;
case UNW_X86_64_RCX:
_registers.__rcx = value;
return;
case UNW_X86_64_RBX:
_registers.__rbx = value;
return;
case UNW_X86_64_RSI:
_registers.__rsi = value;
return;
case UNW_X86_64_RDI:
_registers.__rdi = value;
return;
case UNW_X86_64_RBP:
_registers.__rbp = value;
return;
case UNW_X86_64_RSP:
_registers.__rsp = value;
return;
case UNW_X86_64_R8:
_registers.__r8 = value;
return;
case UNW_X86_64_R9:
_registers.__r9 = value;
return;
case UNW_X86_64_R10:
_registers.__r10 = value;
return;
case UNW_X86_64_R11:
_registers.__r11 = value;
return;
case UNW_X86_64_R12:
_registers.__r12 = value;
return;
case UNW_X86_64_R13:
_registers.__r13 = value;
return;
case UNW_X86_64_R14:
_registers.__r14 = value;
return;
case UNW_X86_64_R15:
_registers.__r15 = value;
return;
}
_LIBUNWIND_ABORT("unsupported x86_64 register");
}
inline const char *Registers_x86_64::getRegisterName(int regNum) {
switch (regNum) {
case UNW_REG_IP:
return "rip";
case UNW_REG_SP:
return "rsp";
case UNW_X86_64_RAX:
return "rax";
case UNW_X86_64_RDX:
return "rdx";
case UNW_X86_64_RCX:
return "rcx";
case UNW_X86_64_RBX:
return "rbx";
case UNW_X86_64_RSI:
return "rsi";
case UNW_X86_64_RDI:
return "rdi";
case UNW_X86_64_RBP:
return "rbp";
case UNW_X86_64_RSP:
return "rsp";
case UNW_X86_64_R8:
return "r8";
case UNW_X86_64_R9:
return "r9";
case UNW_X86_64_R10:
return "r10";
case UNW_X86_64_R11:
return "r11";
case UNW_X86_64_R12:
return "r12";
case UNW_X86_64_R13:
return "r13";
case UNW_X86_64_R14:
return "r14";
case UNW_X86_64_R15:
return "r15";
case UNW_X86_64_XMM0:
return "xmm0";
case UNW_X86_64_XMM1:
return "xmm1";
case UNW_X86_64_XMM2:
return "xmm2";
case UNW_X86_64_XMM3:
return "xmm3";
case UNW_X86_64_XMM4:
return "xmm4";
case UNW_X86_64_XMM5:
return "xmm5";
case UNW_X86_64_XMM6:
return "xmm6";
case UNW_X86_64_XMM7:
return "xmm7";
case UNW_X86_64_XMM8:
return "xmm8";
case UNW_X86_64_XMM9:
return "xmm9";
case UNW_X86_64_XMM10:
return "xmm10";
case UNW_X86_64_XMM11:
return "xmm11";
case UNW_X86_64_XMM12:
return "xmm12";
case UNW_X86_64_XMM13:
return "xmm13";
case UNW_X86_64_XMM14:
return "xmm14";
case UNW_X86_64_XMM15:
return "xmm15";
default:
return "unknown register";
}
}
inline double Registers_x86_64::getFloatRegister(int) const {
_LIBUNWIND_ABORT("no x86_64 float registers");
}
inline void Registers_x86_64::setFloatRegister(int, double) {
_LIBUNWIND_ABORT("no x86_64 float registers");
}
inline bool Registers_x86_64::validVectorRegister(int regNum) const {
#if 0 /* disabled by -frewrite-includes */
#if defined(_WIN64)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 529 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
if (regNum < UNW_X86_64_XMM0)
return false;
if (regNum > UNW_X86_64_XMM15)
return false;
return true;
#else
# 535 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
(void)regNum; // suppress unused parameter warning
return false;
#endif
# 538 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
}
inline v128 Registers_x86_64::getVectorRegister(int regNum) const {
#if 0 /* disabled by -frewrite-includes */
#if defined(_WIN64)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 542 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
assert(validVectorRegister(regNum));
return _xmm[regNum - UNW_X86_64_XMM0];
#else
# 545 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
(void)regNum; // suppress unused parameter warning
_LIBUNWIND_ABORT("no x86_64 vector registers");
#endif
# 548 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
}
inline void Registers_x86_64::setVectorRegister(int regNum, v128 value) {
#if 0 /* disabled by -frewrite-includes */
#if defined(_WIN64)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 552 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
assert(validVectorRegister(regNum));
_xmm[regNum - UNW_X86_64_XMM0] = value;
#else
# 555 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
(void)regNum; (void)value; // suppress unused parameter warnings
_LIBUNWIND_ABORT("no x86_64 vector registers");
#endif
# 558 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
}
#endif // _LIBUNWIND_TARGET_X86_64
# 560 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_TARGET_PPC)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 563 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
/// Registers_ppc holds the register state of a thread in a 32-bit PowerPC
/// process.
class _LIBUNWIND_HIDDEN Registers_ppc {
public:
Registers_ppc();
Registers_ppc(const void *registers);
bool validRegister(int num) const;
uint32_t getRegister(int num) const;
void setRegister(int num, uint32_t value);
bool validFloatRegister(int num) const;
double getFloatRegister(int num) const;
void setFloatRegister(int num, double value);
bool validVectorRegister(int num) const;
v128 getVectorRegister(int num) const;
void setVectorRegister(int num, v128 value);
static const char *getRegisterName(int num);
void jumpto();
static int lastDwarfRegNum() { return _LIBUNWIND_HIGHEST_DWARF_REGISTER_PPC; }
static int getArch() { return REGISTERS_PPC; }
uint64_t getSP() const { return _registers.__r1; }
void setSP(uint32_t value) { _registers.__r1 = value; }
uint64_t getIP() const { return _registers.__srr0; }
void setIP(uint32_t value) { _registers.__srr0 = value; }
private:
struct ppc_thread_state_t {
unsigned int __srr0; /* Instruction address register (PC) */
unsigned int __srr1; /* Machine state register (supervisor) */
unsigned int __r0;
unsigned int __r1;
unsigned int __r2;
unsigned int __r3;
unsigned int __r4;
unsigned int __r5;
unsigned int __r6;
unsigned int __r7;
unsigned int __r8;
unsigned int __r9;
unsigned int __r10;
unsigned int __r11;
unsigned int __r12;
unsigned int __r13;
unsigned int __r14;
unsigned int __r15;
unsigned int __r16;
unsigned int __r17;
unsigned int __r18;
unsigned int __r19;
unsigned int __r20;
unsigned int __r21;
unsigned int __r22;
unsigned int __r23;
unsigned int __r24;
unsigned int __r25;
unsigned int __r26;
unsigned int __r27;
unsigned int __r28;
unsigned int __r29;
unsigned int __r30;
unsigned int __r31;
unsigned int __cr; /* Condition register */
unsigned int __xer; /* User's integer exception register */
unsigned int __lr; /* Link register */
unsigned int __ctr; /* Count register */
unsigned int __mq; /* MQ register (601 only) */
unsigned int __vrsave; /* Vector Save Register */
};
struct ppc_float_state_t {
double __fpregs[32];
unsigned int __fpscr_pad; /* fpscr is 64 bits, 32 bits of rubbish */
unsigned int __fpscr; /* floating point status register */
};
ppc_thread_state_t _registers;
ppc_float_state_t _floatRegisters;
v128 _vectorRegisters[32]; // offset 424
};
inline Registers_ppc::Registers_ppc(const void *registers) {
static_assert((check_fit<Registers_ppc, unw_context_t>::does_fit),
"ppc registers do not fit into unw_context_t");
memcpy(&_registers, static_cast<const uint8_t *>(registers),
sizeof(_registers));
static_assert(sizeof(ppc_thread_state_t) == 160,
"expected float register offset to be 160");
memcpy(&_floatRegisters,
static_cast<const uint8_t *>(registers) + sizeof(ppc_thread_state_t),
sizeof(_floatRegisters));
static_assert(sizeof(ppc_thread_state_t) + sizeof(ppc_float_state_t) == 424,
"expected vector register offset to be 424 bytes");
memcpy(_vectorRegisters,
static_cast<const uint8_t *>(registers) + sizeof(ppc_thread_state_t) +
sizeof(ppc_float_state_t),
sizeof(_vectorRegisters));
}
inline Registers_ppc::Registers_ppc() {
memset(&_registers, 0, sizeof(_registers));
memset(&_floatRegisters, 0, sizeof(_floatRegisters));
memset(&_vectorRegisters, 0, sizeof(_vectorRegisters));
}
inline bool Registers_ppc::validRegister(int regNum) const {
if (regNum == UNW_REG_IP)
return true;
if (regNum == UNW_REG_SP)
return true;
if (regNum == UNW_PPC_VRSAVE)
return true;
if (regNum < 0)
return false;
if (regNum <= UNW_PPC_R31)
return true;
if (regNum == UNW_PPC_MQ)
return true;
if (regNum == UNW_PPC_LR)
return true;
if (regNum == UNW_PPC_CTR)
return true;
if ((UNW_PPC_CR0 <= regNum) && (regNum <= UNW_PPC_CR7))
return true;
return false;
}
inline uint32_t Registers_ppc::getRegister(int regNum) const {
switch (regNum) {
case UNW_REG_IP:
return _registers.__srr0;
case UNW_REG_SP:
return _registers.__r1;
case UNW_PPC_R0:
return _registers.__r0;
case UNW_PPC_R1:
return _registers.__r1;
case UNW_PPC_R2:
return _registers.__r2;
case UNW_PPC_R3:
return _registers.__r3;
case UNW_PPC_R4:
return _registers.__r4;
case UNW_PPC_R5:
return _registers.__r5;
case UNW_PPC_R6:
return _registers.__r6;
case UNW_PPC_R7:
return _registers.__r7;
case UNW_PPC_R8:
return _registers.__r8;
case UNW_PPC_R9:
return _registers.__r9;
case UNW_PPC_R10:
return _registers.__r10;
case UNW_PPC_R11:
return _registers.__r11;
case UNW_PPC_R12:
return _registers.__r12;
case UNW_PPC_R13:
return _registers.__r13;
case UNW_PPC_R14:
return _registers.__r14;
case UNW_PPC_R15:
return _registers.__r15;
case UNW_PPC_R16:
return _registers.__r16;
case UNW_PPC_R17:
return _registers.__r17;
case UNW_PPC_R18:
return _registers.__r18;
case UNW_PPC_R19:
return _registers.__r19;
case UNW_PPC_R20:
return _registers.__r20;
case UNW_PPC_R21:
return _registers.__r21;
case UNW_PPC_R22:
return _registers.__r22;
case UNW_PPC_R23:
return _registers.__r23;
case UNW_PPC_R24:
return _registers.__r24;
case UNW_PPC_R25:
return _registers.__r25;
case UNW_PPC_R26:
return _registers.__r26;
case UNW_PPC_R27:
return _registers.__r27;
case UNW_PPC_R28:
return _registers.__r28;
case UNW_PPC_R29:
return _registers.__r29;
case UNW_PPC_R30:
return _registers.__r30;
case UNW_PPC_R31:
return _registers.__r31;
case UNW_PPC_LR:
return _registers.__lr;
case UNW_PPC_CR0:
return (_registers.__cr & 0xF0000000);
case UNW_PPC_CR1:
return (_registers.__cr & 0x0F000000);
case UNW_PPC_CR2:
return (_registers.__cr & 0x00F00000);
case UNW_PPC_CR3:
return (_registers.__cr & 0x000F0000);
case UNW_PPC_CR4:
return (_registers.__cr & 0x0000F000);
case UNW_PPC_CR5:
return (_registers.__cr & 0x00000F00);
case UNW_PPC_CR6:
return (_registers.__cr & 0x000000F0);
case UNW_PPC_CR7:
return (_registers.__cr & 0x0000000F);
case UNW_PPC_VRSAVE:
return _registers.__vrsave;
}
_LIBUNWIND_ABORT("unsupported ppc register");
}
inline void Registers_ppc::setRegister(int regNum, uint32_t value) {
//fprintf(stderr, "Registers_ppc::setRegister(%d, 0x%08X)\n", regNum, value);
switch (regNum) {
case UNW_REG_IP:
_registers.__srr0 = value;
return;
case UNW_REG_SP:
_registers.__r1 = value;
return;
case UNW_PPC_R0:
_registers.__r0 = value;
return;
case UNW_PPC_R1:
_registers.__r1 = value;
return;
case UNW_PPC_R2:
_registers.__r2 = value;
return;
case UNW_PPC_R3:
_registers.__r3 = value;
return;
case UNW_PPC_R4:
_registers.__r4 = value;
return;
case UNW_PPC_R5:
_registers.__r5 = value;
return;
case UNW_PPC_R6:
_registers.__r6 = value;
return;
case UNW_PPC_R7:
_registers.__r7 = value;
return;
case UNW_PPC_R8:
_registers.__r8 = value;
return;
case UNW_PPC_R9:
_registers.__r9 = value;
return;
case UNW_PPC_R10:
_registers.__r10 = value;
return;
case UNW_PPC_R11:
_registers.__r11 = value;
return;
case UNW_PPC_R12:
_registers.__r12 = value;
return;
case UNW_PPC_R13:
_registers.__r13 = value;
return;
case UNW_PPC_R14:
_registers.__r14 = value;
return;
case UNW_PPC_R15:
_registers.__r15 = value;
return;
case UNW_PPC_R16:
_registers.__r16 = value;
return;
case UNW_PPC_R17:
_registers.__r17 = value;
return;
case UNW_PPC_R18:
_registers.__r18 = value;
return;
case UNW_PPC_R19:
_registers.__r19 = value;
return;
case UNW_PPC_R20:
_registers.__r20 = value;
return;
case UNW_PPC_R21:
_registers.__r21 = value;
return;
case UNW_PPC_R22:
_registers.__r22 = value;
return;
case UNW_PPC_R23:
_registers.__r23 = value;
return;
case UNW_PPC_R24:
_registers.__r24 = value;
return;
case UNW_PPC_R25:
_registers.__r25 = value;
return;
case UNW_PPC_R26:
_registers.__r26 = value;
return;
case UNW_PPC_R27:
_registers.__r27 = value;
return;
case UNW_PPC_R28:
_registers.__r28 = value;
return;
case UNW_PPC_R29:
_registers.__r29 = value;
return;
case UNW_PPC_R30:
_registers.__r30 = value;
return;
case UNW_PPC_R31:
_registers.__r31 = value;
return;
case UNW_PPC_MQ:
_registers.__mq = value;
return;
case UNW_PPC_LR:
_registers.__lr = value;
return;
case UNW_PPC_CTR:
_registers.__ctr = value;
return;
case UNW_PPC_CR0:
_registers.__cr &= 0x0FFFFFFF;
_registers.__cr |= (value & 0xF0000000);
return;
case UNW_PPC_CR1:
_registers.__cr &= 0xF0FFFFFF;
_registers.__cr |= (value & 0x0F000000);
return;
case UNW_PPC_CR2:
_registers.__cr &= 0xFF0FFFFF;
_registers.__cr |= (value & 0x00F00000);
return;
case UNW_PPC_CR3:
_registers.__cr &= 0xFFF0FFFF;
_registers.__cr |= (value & 0x000F0000);
return;
case UNW_PPC_CR4:
_registers.__cr &= 0xFFFF0FFF;
_registers.__cr |= (value & 0x0000F000);
return;
case UNW_PPC_CR5:
_registers.__cr &= 0xFFFFF0FF;
_registers.__cr |= (value & 0x00000F00);
return;
case UNW_PPC_CR6:
_registers.__cr &= 0xFFFFFF0F;
_registers.__cr |= (value & 0x000000F0);
return;
case UNW_PPC_CR7:
_registers.__cr &= 0xFFFFFFF0;
_registers.__cr |= (value & 0x0000000F);
return;
case UNW_PPC_VRSAVE:
_registers.__vrsave = value;
return;
// not saved
return;
case UNW_PPC_XER:
_registers.__xer = value;
return;
case UNW_PPC_AP:
case UNW_PPC_VSCR:
case UNW_PPC_SPEFSCR:
// not saved
return;
}
_LIBUNWIND_ABORT("unsupported ppc register");
}
inline bool Registers_ppc::validFloatRegister(int regNum) const {
if (regNum < UNW_PPC_F0)
return false;
if (regNum > UNW_PPC_F31)
return false;
return true;
}
inline double Registers_ppc::getFloatRegister(int regNum) const {
assert(validFloatRegister(regNum));
return _floatRegisters.__fpregs[regNum - UNW_PPC_F0];
}
inline void Registers_ppc::setFloatRegister(int regNum, double value) {
assert(validFloatRegister(regNum));
_floatRegisters.__fpregs[regNum - UNW_PPC_F0] = value;
}
inline bool Registers_ppc::validVectorRegister(int regNum) const {
if (regNum < UNW_PPC_V0)
return false;
if (regNum > UNW_PPC_V31)
return false;
return true;
}
inline v128 Registers_ppc::getVectorRegister(int regNum) const {
assert(validVectorRegister(regNum));
v128 result = _vectorRegisters[regNum - UNW_PPC_V0];
return result;
}
inline void Registers_ppc::setVectorRegister(int regNum, v128 value) {
assert(validVectorRegister(regNum));
_vectorRegisters[regNum - UNW_PPC_V0] = value;
}
inline const char *Registers_ppc::getRegisterName(int regNum) {
switch (regNum) {
case UNW_REG_IP:
return "ip";
case UNW_REG_SP:
return "sp";
case UNW_PPC_R0:
return "r0";
case UNW_PPC_R1:
return "r1";
case UNW_PPC_R2:
return "r2";
case UNW_PPC_R3:
return "r3";
case UNW_PPC_R4:
return "r4";
case UNW_PPC_R5:
return "r5";
case UNW_PPC_R6:
return "r6";
case UNW_PPC_R7:
return "r7";
case UNW_PPC_R8:
return "r8";
case UNW_PPC_R9:
return "r9";
case UNW_PPC_R10:
return "r10";
case UNW_PPC_R11:
return "r11";
case UNW_PPC_R12:
return "r12";
case UNW_PPC_R13:
return "r13";
case UNW_PPC_R14:
return "r14";
case UNW_PPC_R15:
return "r15";
case UNW_PPC_R16:
return "r16";
case UNW_PPC_R17:
return "r17";
case UNW_PPC_R18:
return "r18";
case UNW_PPC_R19:
return "r19";
case UNW_PPC_R20:
return "r20";
case UNW_PPC_R21:
return "r21";
case UNW_PPC_R22:
return "r22";
case UNW_PPC_R23:
return "r23";
case UNW_PPC_R24:
return "r24";
case UNW_PPC_R25:
return "r25";
case UNW_PPC_R26:
return "r26";
case UNW_PPC_R27:
return "r27";
case UNW_PPC_R28:
return "r28";
case UNW_PPC_R29:
return "r29";
case UNW_PPC_R30:
return "r30";
case UNW_PPC_R31:
return "r31";
case UNW_PPC_F0:
return "fp0";
case UNW_PPC_F1:
return "fp1";
case UNW_PPC_F2:
return "fp2";
case UNW_PPC_F3:
return "fp3";
case UNW_PPC_F4:
return "fp4";
case UNW_PPC_F5:
return "fp5";
case UNW_PPC_F6:
return "fp6";
case UNW_PPC_F7:
return "fp7";
case UNW_PPC_F8:
return "fp8";
case UNW_PPC_F9:
return "fp9";
case UNW_PPC_F10:
return "fp10";
case UNW_PPC_F11:
return "fp11";
case UNW_PPC_F12:
return "fp12";
case UNW_PPC_F13:
return "fp13";
case UNW_PPC_F14:
return "fp14";
case UNW_PPC_F15:
return "fp15";
case UNW_PPC_F16:
return "fp16";
case UNW_PPC_F17:
return "fp17";
case UNW_PPC_F18:
return "fp18";
case UNW_PPC_F19:
return "fp19";
case UNW_PPC_F20:
return "fp20";
case UNW_PPC_F21:
return "fp21";
case UNW_PPC_F22:
return "fp22";
case UNW_PPC_F23:
return "fp23";
case UNW_PPC_F24:
return "fp24";
case UNW_PPC_F25:
return "fp25";
case UNW_PPC_F26:
return "fp26";
case UNW_PPC_F27:
return "fp27";
case UNW_PPC_F28:
return "fp28";
case UNW_PPC_F29:
return "fp29";
case UNW_PPC_F30:
return "fp30";
case UNW_PPC_F31:
return "fp31";
case UNW_PPC_LR:
return "lr";
default:
return "unknown register";
}
}
#endif // _LIBUNWIND_TARGET_PPC
# 1127 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_TARGET_PPC64)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 1129 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
/// Registers_ppc64 holds the register state of a thread in a 64-bit PowerPC
/// process.
class _LIBUNWIND_HIDDEN Registers_ppc64 {
public:
Registers_ppc64();
Registers_ppc64(const void *registers);
bool validRegister(int num) const;
uint64_t getRegister(int num) const;
void setRegister(int num, uint64_t value);
bool validFloatRegister(int num) const;
double getFloatRegister(int num) const;
void setFloatRegister(int num, double value);
bool validVectorRegister(int num) const;
v128 getVectorRegister(int num) const;
void setVectorRegister(int num, v128 value);
static const char *getRegisterName(int num);
void jumpto();
static int lastDwarfRegNum() { return _LIBUNWIND_HIGHEST_DWARF_REGISTER_PPC64; }
static int getArch() { return REGISTERS_PPC64; }
uint64_t getSP() const { return _registers.__r1; }
void setSP(uint64_t value) { _registers.__r1 = value; }
uint64_t getIP() const { return _registers.__srr0; }
void setIP(uint64_t value) { _registers.__srr0 = value; }
private:
struct ppc64_thread_state_t {
uint64_t __srr0; // Instruction address register (PC)
uint64_t __srr1; // Machine state register (supervisor)
uint64_t __r0;
uint64_t __r1;
uint64_t __r2;
uint64_t __r3;
uint64_t __r4;
uint64_t __r5;
uint64_t __r6;
uint64_t __r7;
uint64_t __r8;
uint64_t __r9;
uint64_t __r10;
uint64_t __r11;
uint64_t __r12;
uint64_t __r13;
uint64_t __r14;
uint64_t __r15;
uint64_t __r16;
uint64_t __r17;
uint64_t __r18;
uint64_t __r19;
uint64_t __r20;
uint64_t __r21;
uint64_t __r22;
uint64_t __r23;
uint64_t __r24;
uint64_t __r25;
uint64_t __r26;
uint64_t __r27;
uint64_t __r28;
uint64_t __r29;
uint64_t __r30;
uint64_t __r31;
uint64_t __cr; // Condition register
uint64_t __xer; // User's integer exception register
uint64_t __lr; // Link register
uint64_t __ctr; // Count register
uint64_t __vrsave; // Vector Save Register
};
union ppc64_vsr_t {
struct asfloat_s {
double f;
uint64_t v2;
} asfloat;
v128 v;
};
ppc64_thread_state_t _registers;
ppc64_vsr_t _vectorScalarRegisters[64];
static int getVectorRegNum(int num);
};
inline Registers_ppc64::Registers_ppc64(const void *registers) {
static_assert((check_fit<Registers_ppc64, unw_context_t>::does_fit),
"ppc64 registers do not fit into unw_context_t");
memcpy(&_registers, static_cast<const uint8_t *>(registers),
sizeof(_registers));
static_assert(sizeof(_registers) == 312,
"expected vector scalar register offset to be 312");
memcpy(&_vectorScalarRegisters,
static_cast<const uint8_t *>(registers) + sizeof(_registers),
sizeof(_vectorScalarRegisters));
static_assert(sizeof(_registers) +
sizeof(_vectorScalarRegisters) == 1336,
"expected vector register offset to be 1336 bytes");
}
inline Registers_ppc64::Registers_ppc64() {
memset(&_registers, 0, sizeof(_registers));
memset(&_vectorScalarRegisters, 0, sizeof(_vectorScalarRegisters));
}
inline bool Registers_ppc64::validRegister(int regNum) const {
switch (regNum) {
case UNW_REG_IP:
case UNW_REG_SP:
case UNW_PPC64_XER:
case UNW_PPC64_LR:
case UNW_PPC64_CTR:
case UNW_PPC64_VRSAVE:
return true;
}
if (regNum >= UNW_PPC64_R0 && regNum <= UNW_PPC64_R31)
return true;
if (regNum >= UNW_PPC64_CR0 && regNum <= UNW_PPC64_CR7)
return true;
return false;
}
inline uint64_t Registers_ppc64::getRegister(int regNum) const {
switch (regNum) {
case UNW_REG_IP:
return _registers.__srr0;
case UNW_PPC64_R0:
return _registers.__r0;
case UNW_PPC64_R1:
case UNW_REG_SP:
return _registers.__r1;
case UNW_PPC64_R2:
return _registers.__r2;
case UNW_PPC64_R3:
return _registers.__r3;
case UNW_PPC64_R4:
return _registers.__r4;
case UNW_PPC64_R5:
return _registers.__r5;
case UNW_PPC64_R6:
return _registers.__r6;
case UNW_PPC64_R7:
return _registers.__r7;
case UNW_PPC64_R8:
return _registers.__r8;
case UNW_PPC64_R9:
return _registers.__r9;
case UNW_PPC64_R10:
return _registers.__r10;
case UNW_PPC64_R11:
return _registers.__r11;
case UNW_PPC64_R12:
return _registers.__r12;
case UNW_PPC64_R13:
return _registers.__r13;
case UNW_PPC64_R14:
return _registers.__r14;
case UNW_PPC64_R15:
return _registers.__r15;
case UNW_PPC64_R16:
return _registers.__r16;
case UNW_PPC64_R17:
return _registers.__r17;
case UNW_PPC64_R18:
return _registers.__r18;
case UNW_PPC64_R19:
return _registers.__r19;
case UNW_PPC64_R20:
return _registers.__r20;
case UNW_PPC64_R21:
return _registers.__r21;
case UNW_PPC64_R22:
return _registers.__r22;
case UNW_PPC64_R23:
return _registers.__r23;
case UNW_PPC64_R24:
return _registers.__r24;
case UNW_PPC64_R25:
return _registers.__r25;
case UNW_PPC64_R26:
return _registers.__r26;
case UNW_PPC64_R27:
return _registers.__r27;
case UNW_PPC64_R28:
return _registers.__r28;
case UNW_PPC64_R29:
return _registers.__r29;
case UNW_PPC64_R30:
return _registers.__r30;
case UNW_PPC64_R31:
return _registers.__r31;
case UNW_PPC64_CR0:
return (_registers.__cr & 0xF0000000);
case UNW_PPC64_CR1:
return (_registers.__cr & 0x0F000000);
case UNW_PPC64_CR2:
return (_registers.__cr & 0x00F00000);
case UNW_PPC64_CR3:
return (_registers.__cr & 0x000F0000);
case UNW_PPC64_CR4:
return (_registers.__cr & 0x0000F000);
case UNW_PPC64_CR5:
return (_registers.__cr & 0x00000F00);
case UNW_PPC64_CR6:
return (_registers.__cr & 0x000000F0);
case UNW_PPC64_CR7:
return (_registers.__cr & 0x0000000F);
case UNW_PPC64_XER:
return _registers.__xer;
case UNW_PPC64_LR:
return _registers.__lr;
case UNW_PPC64_CTR:
return _registers.__ctr;
case UNW_PPC64_VRSAVE:
return _registers.__vrsave;
}
_LIBUNWIND_ABORT("unsupported ppc64 register");
}
inline void Registers_ppc64::setRegister(int regNum, uint64_t value) {
switch (regNum) {
case UNW_REG_IP:
_registers.__srr0 = value;
return;
case UNW_PPC64_R0:
_registers.__r0 = value;
return;
case UNW_PPC64_R1:
case UNW_REG_SP:
_registers.__r1 = value;
return;
case UNW_PPC64_R2:
_registers.__r2 = value;
return;
case UNW_PPC64_R3:
_registers.__r3 = value;
return;
case UNW_PPC64_R4:
_registers.__r4 = value;
return;
case UNW_PPC64_R5:
_registers.__r5 = value;
return;
case UNW_PPC64_R6:
_registers.__r6 = value;
return;
case UNW_PPC64_R7:
_registers.__r7 = value;
return;
case UNW_PPC64_R8:
_registers.__r8 = value;
return;
case UNW_PPC64_R9:
_registers.__r9 = value;
return;
case UNW_PPC64_R10:
_registers.__r10 = value;
return;
case UNW_PPC64_R11:
_registers.__r11 = value;
return;
case UNW_PPC64_R12:
_registers.__r12 = value;
return;
case UNW_PPC64_R13:
_registers.__r13 = value;
return;
case UNW_PPC64_R14:
_registers.__r14 = value;
return;
case UNW_PPC64_R15:
_registers.__r15 = value;
return;
case UNW_PPC64_R16:
_registers.__r16 = value;
return;
case UNW_PPC64_R17:
_registers.__r17 = value;
return;
case UNW_PPC64_R18:
_registers.__r18 = value;
return;
case UNW_PPC64_R19:
_registers.__r19 = value;
return;
case UNW_PPC64_R20:
_registers.__r20 = value;
return;
case UNW_PPC64_R21:
_registers.__r21 = value;
return;
case UNW_PPC64_R22:
_registers.__r22 = value;
return;
case UNW_PPC64_R23:
_registers.__r23 = value;
return;
case UNW_PPC64_R24:
_registers.__r24 = value;
return;
case UNW_PPC64_R25:
_registers.__r25 = value;
return;
case UNW_PPC64_R26:
_registers.__r26 = value;
return;
case UNW_PPC64_R27:
_registers.__r27 = value;
return;
case UNW_PPC64_R28:
_registers.__r28 = value;
return;
case UNW_PPC64_R29:
_registers.__r29 = value;
return;
case UNW_PPC64_R30:
_registers.__r30 = value;
return;
case UNW_PPC64_R31:
_registers.__r31 = value;
return;
case UNW_PPC64_CR0:
_registers.__cr &= 0x0FFFFFFF;
_registers.__cr |= (value & 0xF0000000);
return;
case UNW_PPC64_CR1:
_registers.__cr &= 0xF0FFFFFF;
_registers.__cr |= (value & 0x0F000000);
return;
case UNW_PPC64_CR2:
_registers.__cr &= 0xFF0FFFFF;
_registers.__cr |= (value & 0x00F00000);
return;
case UNW_PPC64_CR3:
_registers.__cr &= 0xFFF0FFFF;
_registers.__cr |= (value & 0x000F0000);
return;
case UNW_PPC64_CR4:
_registers.__cr &= 0xFFFF0FFF;
_registers.__cr |= (value & 0x0000F000);
return;
case UNW_PPC64_CR5:
_registers.__cr &= 0xFFFFF0FF;
_registers.__cr |= (value & 0x00000F00);
return;
case UNW_PPC64_CR6:
_registers.__cr &= 0xFFFFFF0F;
_registers.__cr |= (value & 0x000000F0);
return;
case UNW_PPC64_CR7:
_registers.__cr &= 0xFFFFFFF0;
_registers.__cr |= (value & 0x0000000F);
return;
case UNW_PPC64_XER:
_registers.__xer = value;
return;
case UNW_PPC64_LR:
_registers.__lr = value;
return;
case UNW_PPC64_CTR:
_registers.__ctr = value;
return;
case UNW_PPC64_VRSAVE:
_registers.__vrsave = value;
return;
}
_LIBUNWIND_ABORT("unsupported ppc64 register");
}
inline bool Registers_ppc64::validFloatRegister(int regNum) const {
return regNum >= UNW_PPC64_F0 && regNum <= UNW_PPC64_F31;
}
inline double Registers_ppc64::getFloatRegister(int regNum) const {
assert(validFloatRegister(regNum));
return _vectorScalarRegisters[regNum - UNW_PPC64_F0].asfloat.f;
}
inline void Registers_ppc64::setFloatRegister(int regNum, double value) {
assert(validFloatRegister(regNum));
_vectorScalarRegisters[regNum - UNW_PPC64_F0].asfloat.f = value;
}
inline bool Registers_ppc64::validVectorRegister(int regNum) const {
#ifdef PPC64_HAS_VMX
if (regNum >= UNW_PPC64_VS0 && regNum <= UNW_PPC64_VS31)
return true;
if (regNum >= UNW_PPC64_VS32 && regNum <= UNW_PPC64_VS63)
return true;
#else
# 1519 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
if (regNum >= UNW_PPC64_V0 && regNum <= UNW_PPC64_V31)
return true;
#endif
# 1522 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
return false;
}
inline int Registers_ppc64::getVectorRegNum(int num)
{
if (num >= UNW_PPC64_VS0 && num <= UNW_PPC64_VS31)
return num - UNW_PPC64_VS0;
else
return num - UNW_PPC64_VS32 + 32;
}
inline v128 Registers_ppc64::getVectorRegister(int regNum) const {
assert(validVectorRegister(regNum));
return _vectorScalarRegisters[getVectorRegNum(regNum)].v;
}
inline void Registers_ppc64::setVectorRegister(int regNum, v128 value) {
assert(validVectorRegister(regNum));
_vectorScalarRegisters[getVectorRegNum(regNum)].v = value;
}
inline const char *Registers_ppc64::getRegisterName(int regNum) {
switch (regNum) {
case UNW_REG_IP:
return "ip";
case UNW_REG_SP:
return "sp";
case UNW_PPC64_R0:
return "r0";
case UNW_PPC64_R1:
return "r1";
case UNW_PPC64_R2:
return "r2";
case UNW_PPC64_R3:
return "r3";
case UNW_PPC64_R4:
return "r4";
case UNW_PPC64_R5:
return "r5";
case UNW_PPC64_R6:
return "r6";
case UNW_PPC64_R7:
return "r7";
case UNW_PPC64_R8:
return "r8";
case UNW_PPC64_R9:
return "r9";
case UNW_PPC64_R10:
return "r10";
case UNW_PPC64_R11:
return "r11";
case UNW_PPC64_R12:
return "r12";
case UNW_PPC64_R13:
return "r13";
case UNW_PPC64_R14:
return "r14";
case UNW_PPC64_R15:
return "r15";
case UNW_PPC64_R16:
return "r16";
case UNW_PPC64_R17:
return "r17";
case UNW_PPC64_R18:
return "r18";
case UNW_PPC64_R19:
return "r19";
case UNW_PPC64_R20:
return "r20";
case UNW_PPC64_R21:
return "r21";
case UNW_PPC64_R22:
return "r22";
case UNW_PPC64_R23:
return "r23";
case UNW_PPC64_R24:
return "r24";
case UNW_PPC64_R25:
return "r25";
case UNW_PPC64_R26:
return "r26";
case UNW_PPC64_R27:
return "r27";
case UNW_PPC64_R28:
return "r28";
case UNW_PPC64_R29:
return "r29";
case UNW_PPC64_R30:
return "r30";
case UNW_PPC64_R31:
return "r31";
case UNW_PPC64_CR0:
return "cr0";
case UNW_PPC64_CR1:
return "cr1";
case UNW_PPC64_CR2:
return "cr2";
case UNW_PPC64_CR3:
return "cr3";
case UNW_PPC64_CR4:
return "cr4";
case UNW_PPC64_CR5:
return "cr5";
case UNW_PPC64_CR6:
return "cr6";
case UNW_PPC64_CR7:
return "cr7";
case UNW_PPC64_XER:
return "xer";
case UNW_PPC64_LR:
return "lr";
case UNW_PPC64_CTR:
return "ctr";
case UNW_PPC64_VRSAVE:
return "vrsave";
case UNW_PPC64_F0:
return "fp0";
case UNW_PPC64_F1:
return "fp1";
case UNW_PPC64_F2:
return "fp2";
case UNW_PPC64_F3:
return "fp3";
case UNW_PPC64_F4:
return "fp4";
case UNW_PPC64_F5:
return "fp5";
case UNW_PPC64_F6:
return "fp6";
case UNW_PPC64_F7:
return "fp7";
case UNW_PPC64_F8:
return "fp8";
case UNW_PPC64_F9:
return "fp9";
case UNW_PPC64_F10:
return "fp10";
case UNW_PPC64_F11:
return "fp11";
case UNW_PPC64_F12:
return "fp12";
case UNW_PPC64_F13:
return "fp13";
case UNW_PPC64_F14:
return "fp14";
case UNW_PPC64_F15:
return "fp15";
case UNW_PPC64_F16:
return "fp16";
case UNW_PPC64_F17:
return "fp17";
case UNW_PPC64_F18:
return "fp18";
case UNW_PPC64_F19:
return "fp19";
case UNW_PPC64_F20:
return "fp20";
case UNW_PPC64_F21:
return "fp21";
case UNW_PPC64_F22:
return "fp22";
case UNW_PPC64_F23:
return "fp23";
case UNW_PPC64_F24:
return "fp24";
case UNW_PPC64_F25:
return "fp25";
case UNW_PPC64_F26:
return "fp26";
case UNW_PPC64_F27:
return "fp27";
case UNW_PPC64_F28:
return "fp28";
case UNW_PPC64_F29:
return "fp29";
case UNW_PPC64_F30:
return "fp30";
case UNW_PPC64_F31:
return "fp31";
case UNW_PPC64_V0:
return "v0";
case UNW_PPC64_V1:
return "v1";
case UNW_PPC64_V2:
return "v2";
case UNW_PPC64_V3:
return "v3";
case UNW_PPC64_V4:
return "v4";
case UNW_PPC64_V5:
return "v5";
case UNW_PPC64_V6:
return "v6";
case UNW_PPC64_V7:
return "v7";
case UNW_PPC64_V8:
return "v8";
case UNW_PPC64_V9:
return "v9";
case UNW_PPC64_V10:
return "v10";
case UNW_PPC64_V11:
return "v11";
case UNW_PPC64_V12:
return "v12";
case UNW_PPC64_V13:
return "v13";
case UNW_PPC64_V14:
return "v14";
case UNW_PPC64_V15:
return "v15";
case UNW_PPC64_V16:
return "v16";
case UNW_PPC64_V17:
return "v17";
case UNW_PPC64_V18:
return "v18";
case UNW_PPC64_V19:
return "v19";
case UNW_PPC64_V20:
return "v20";
case UNW_PPC64_V21:
return "v21";
case UNW_PPC64_V22:
return "v22";
case UNW_PPC64_V23:
return "v23";
case UNW_PPC64_V24:
return "v24";
case UNW_PPC64_V25:
return "v25";
case UNW_PPC64_V26:
return "v26";
case UNW_PPC64_V27:
return "v27";
case UNW_PPC64_V28:
return "v28";
case UNW_PPC64_V29:
return "v29";
case UNW_PPC64_V30:
return "v30";
case UNW_PPC64_V31:
return "v31";
}
return "unknown register";
}
#endif // _LIBUNWIND_TARGET_PPC64
# 1769 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_TARGET_AARCH64)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 1772 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
/// Registers_arm64 holds the register state of a thread in a 64-bit arm
/// process.
class _LIBUNWIND_HIDDEN Registers_arm64 {
public:
Registers_arm64();
Registers_arm64(const void *registers);
bool validRegister(int num) const;
uint64_t getRegister(int num) const;
void setRegister(int num, uint64_t value);
bool validFloatRegister(int num) const;
double getFloatRegister(int num) const;
void setFloatRegister(int num, double value);
bool validVectorRegister(int num) const;
v128 getVectorRegister(int num) const;
void setVectorRegister(int num, v128 value);
static const char *getRegisterName(int num);
void jumpto();
static int lastDwarfRegNum() { return _LIBUNWIND_HIGHEST_DWARF_REGISTER_ARM64; }
static int getArch() { return REGISTERS_ARM64; }
uint64_t getSP() const { return _registers.__sp; }
void setSP(uint64_t value) { _registers.__sp = value; }
uint64_t getIP() const { return _registers.__pc; }
void setIP(uint64_t value) { _registers.__pc = value; }
uint64_t getFP() const { return _registers.__fp; }
void setFP(uint64_t value) { _registers.__fp = value; }
private:
struct GPRs {
uint64_t __x[29]; // x0-x28
uint64_t __fp; // Frame pointer x29
uint64_t __lr; // Link register x30
uint64_t __sp; // Stack pointer x31
uint64_t __pc; // Program counter
uint64_t __ra_sign_state; // RA sign state register
};
GPRs _registers;
double _vectorHalfRegisters[32];
// Currently only the lower double in 128-bit vectore registers
// is perserved during unwinding. We could define new register
// numbers (> 96) which mean whole vector registers, then this
// struct would need to change to contain whole vector registers.
};
inline Registers_arm64::Registers_arm64(const void *registers) {
static_assert((check_fit<Registers_arm64, unw_context_t>::does_fit),
"arm64 registers do not fit into unw_context_t");
memcpy(&_registers, registers, sizeof(_registers));
static_assert(sizeof(GPRs) == 0x110,
"expected VFP registers to be at offset 272");
memcpy(_vectorHalfRegisters,
static_cast<const uint8_t *>(registers) + sizeof(GPRs),
sizeof(_vectorHalfRegisters));
}
inline Registers_arm64::Registers_arm64() {
memset(&_registers, 0, sizeof(_registers));
memset(&_vectorHalfRegisters, 0, sizeof(_vectorHalfRegisters));
}
inline bool Registers_arm64::validRegister(int regNum) const {
if (regNum == UNW_REG_IP)
return true;
if (regNum == UNW_REG_SP)
return true;
if (regNum < 0)
return false;
if (regNum > 95)
return false;
if (regNum == UNW_ARM64_RA_SIGN_STATE)
return true;
if ((regNum > 31) && (regNum < 64))
return false;
return true;
}
inline uint64_t Registers_arm64::getRegister(int regNum) const {
if (regNum == UNW_REG_IP)
return _registers.__pc;
if (regNum == UNW_REG_SP)
return _registers.__sp;
if (regNum == UNW_ARM64_RA_SIGN_STATE)
return _registers.__ra_sign_state;
if ((regNum >= 0) && (regNum < 32))
return _registers.__x[regNum];
_LIBUNWIND_ABORT("unsupported arm64 register");
}
inline void Registers_arm64::setRegister(int regNum, uint64_t value) {
if (regNum == UNW_REG_IP)
_registers.__pc = value;
else if (regNum == UNW_REG_SP)
_registers.__sp = value;
else if (regNum == UNW_ARM64_RA_SIGN_STATE)
_registers.__ra_sign_state = value;
else if ((regNum >= 0) && (regNum < 32))
_registers.__x[regNum] = value;
else
_LIBUNWIND_ABORT("unsupported arm64 register");
}
inline const char *Registers_arm64::getRegisterName(int regNum) {
switch (regNum) {
case UNW_REG_IP:
return "pc";
case UNW_REG_SP:
return "sp";
case UNW_ARM64_X0:
return "x0";
case UNW_ARM64_X1:
return "x1";
case UNW_ARM64_X2:
return "x2";
case UNW_ARM64_X3:
return "x3";
case UNW_ARM64_X4:
return "x4";
case UNW_ARM64_X5:
return "x5";
case UNW_ARM64_X6:
return "x6";
case UNW_ARM64_X7:
return "x7";
case UNW_ARM64_X8:
return "x8";
case UNW_ARM64_X9:
return "x9";
case UNW_ARM64_X10:
return "x10";
case UNW_ARM64_X11:
return "x11";
case UNW_ARM64_X12:
return "x12";
case UNW_ARM64_X13:
return "x13";
case UNW_ARM64_X14:
return "x14";
case UNW_ARM64_X15:
return "x15";
case UNW_ARM64_X16:
return "x16";
case UNW_ARM64_X17:
return "x17";
case UNW_ARM64_X18:
return "x18";
case UNW_ARM64_X19:
return "x19";
case UNW_ARM64_X20:
return "x20";
case UNW_ARM64_X21:
return "x21";
case UNW_ARM64_X22:
return "x22";
case UNW_ARM64_X23:
return "x23";
case UNW_ARM64_X24:
return "x24";
case UNW_ARM64_X25:
return "x25";
case UNW_ARM64_X26:
return "x26";
case UNW_ARM64_X27:
return "x27";
case UNW_ARM64_X28:
return "x28";
case UNW_ARM64_X29:
return "fp";
case UNW_ARM64_X30:
return "lr";
case UNW_ARM64_X31:
return "sp";
case UNW_ARM64_D0:
return "d0";
case UNW_ARM64_D1:
return "d1";
case UNW_ARM64_D2:
return "d2";
case UNW_ARM64_D3:
return "d3";
case UNW_ARM64_D4:
return "d4";
case UNW_ARM64_D5:
return "d5";
case UNW_ARM64_D6:
return "d6";
case UNW_ARM64_D7:
return "d7";
case UNW_ARM64_D8:
return "d8";
case UNW_ARM64_D9:
return "d9";
case UNW_ARM64_D10:
return "d10";
case UNW_ARM64_D11:
return "d11";
case UNW_ARM64_D12:
return "d12";
case UNW_ARM64_D13:
return "d13";
case UNW_ARM64_D14:
return "d14";
case UNW_ARM64_D15:
return "d15";
case UNW_ARM64_D16:
return "d16";
case UNW_ARM64_D17:
return "d17";
case UNW_ARM64_D18:
return "d18";
case UNW_ARM64_D19:
return "d19";
case UNW_ARM64_D20:
return "d20";
case UNW_ARM64_D21:
return "d21";
case UNW_ARM64_D22:
return "d22";
case UNW_ARM64_D23:
return "d23";
case UNW_ARM64_D24:
return "d24";
case UNW_ARM64_D25:
return "d25";
case UNW_ARM64_D26:
return "d26";
case UNW_ARM64_D27:
return "d27";
case UNW_ARM64_D28:
return "d28";
case UNW_ARM64_D29:
return "d29";
case UNW_ARM64_D30:
return "d30";
case UNW_ARM64_D31:
return "d31";
default:
return "unknown register";
}
}
inline bool Registers_arm64::validFloatRegister(int regNum) const {
if (regNum < UNW_ARM64_D0)
return false;
if (regNum > UNW_ARM64_D31)
return false;
return true;
}
inline double Registers_arm64::getFloatRegister(int regNum) const {
assert(validFloatRegister(regNum));
return _vectorHalfRegisters[regNum - UNW_ARM64_D0];
}
inline void Registers_arm64::setFloatRegister(int regNum, double value) {
assert(validFloatRegister(regNum));
_vectorHalfRegisters[regNum - UNW_ARM64_D0] = value;
}
inline bool Registers_arm64::validVectorRegister(int) const {
return false;
}
inline v128 Registers_arm64::getVectorRegister(int) const {
_LIBUNWIND_ABORT("no arm64 vector register support yet");
}
inline void Registers_arm64::setVectorRegister(int, v128) {
_LIBUNWIND_ABORT("no arm64 vector register support yet");
}
#endif // _LIBUNWIND_TARGET_AARCH64
# 2044 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_TARGET_ARM)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 2046 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
/// Registers_arm holds the register state of a thread in a 32-bit arm
/// process.
///
/// NOTE: Assumes VFPv3. On ARM processors without a floating point unit,
/// this uses more memory than required.
class _LIBUNWIND_HIDDEN Registers_arm {
public:
Registers_arm();
Registers_arm(const void *registers);
bool validRegister(int num) const;
uint32_t getRegister(int num) const;
void setRegister(int num, uint32_t value);
bool validFloatRegister(int num) const;
unw_fpreg_t getFloatRegister(int num);
void setFloatRegister(int num, unw_fpreg_t value);
bool validVectorRegister(int num) const;
v128 getVectorRegister(int num) const;
void setVectorRegister(int num, v128 value);
static const char *getRegisterName(int num);
void jumpto() {
restoreSavedFloatRegisters();
restoreCoreAndJumpTo();
}
static int lastDwarfRegNum() { return _LIBUNWIND_HIGHEST_DWARF_REGISTER_ARM; }
static int getArch() { return REGISTERS_ARM; }
uint32_t getSP() const { return _registers.__sp; }
void setSP(uint32_t value) { _registers.__sp = value; }
uint32_t getIP() const { return _registers.__pc; }
void setIP(uint32_t value) { _registers.__pc = value; }
void saveVFPAsX() {
assert(_use_X_for_vfp_save || !_saved_vfp_d0_d15);
_use_X_for_vfp_save = true;
}
void restoreSavedFloatRegisters() {
if (_saved_vfp_d0_d15) {
if (_use_X_for_vfp_save)
restoreVFPWithFLDMX(_vfp_d0_d15_pad);
else
restoreVFPWithFLDMD(_vfp_d0_d15_pad);
}
if (_saved_vfp_d16_d31)
restoreVFPv3(_vfp_d16_d31);
#if 0 /* disabled by -frewrite-includes */
#if defined(__ARM_WMMX)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 2093 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
if (_saved_iwmmx)
restoreiWMMX(_iwmmx);
if (_saved_iwmmx_control)
restoreiWMMXControl(_iwmmx_control);
#endif
# 2098 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
}
private:
struct GPRs {
uint32_t __r[13]; // r0-r12
uint32_t __sp; // Stack pointer r13
uint32_t __lr; // Link register r14
uint32_t __pc; // Program counter r15
};
static void saveVFPWithFSTMD(void*);
static void saveVFPWithFSTMX(void*);
static void saveVFPv3(void*);
static void restoreVFPWithFLDMD(void*);
static void restoreVFPWithFLDMX(void*);
static void restoreVFPv3(void*);
#if 0 /* disabled by -frewrite-includes */
#if defined(__ARM_WMMX)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 2115 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
static void saveiWMMX(void*);
static void saveiWMMXControl(uint32_t*);
static void restoreiWMMX(void*);
static void restoreiWMMXControl(uint32_t*);
#endif
# 2120 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
void restoreCoreAndJumpTo();
// ARM registers
GPRs _registers;
// We save floating point registers lazily because we can't know ahead of
// time which ones are used. See EHABI #4.7.
// Whether D0-D15 are saved in the FTSMX instead of FSTMD format.
//
// See EHABI #7.5 that explains how matching instruction sequences for load
// and store need to be used to correctly restore the exact register bits.
bool _use_X_for_vfp_save;
// Whether VFP D0-D15 are saved.
bool _saved_vfp_d0_d15;
// Whether VFPv3 D16-D31 are saved.
bool _saved_vfp_d16_d31;
// VFP registers D0-D15, + padding if saved using FSTMX
unw_fpreg_t _vfp_d0_d15_pad[17];
// VFPv3 registers D16-D31, always saved using FSTMD
unw_fpreg_t _vfp_d16_d31[16];
#if 0 /* disabled by -frewrite-includes */
#if defined(__ARM_WMMX)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 2142 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
// Whether iWMMX data registers are saved.
bool _saved_iwmmx;
// Whether iWMMX control registers are saved.
mutable bool _saved_iwmmx_control;
// iWMMX registers
unw_fpreg_t _iwmmx[16];
// iWMMX control registers
mutable uint32_t _iwmmx_control[4];
#endif
# 2151 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
};
inline Registers_arm::Registers_arm(const void *registers)
: _use_X_for_vfp_save(false),
_saved_vfp_d0_d15(false),
_saved_vfp_d16_d31(false) {
static_assert((check_fit<Registers_arm, unw_context_t>::does_fit),
"arm registers do not fit into unw_context_t");
// See __unw_getcontext() note about data.
memcpy(&_registers, registers, sizeof(_registers));
memset(&_vfp_d0_d15_pad, 0, sizeof(_vfp_d0_d15_pad));
memset(&_vfp_d16_d31, 0, sizeof(_vfp_d16_d31));
#if 0 /* disabled by -frewrite-includes */
#if defined(__ARM_WMMX)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 2164 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
_saved_iwmmx = false;
_saved_iwmmx_control = false;
memset(&_iwmmx, 0, sizeof(_iwmmx));
memset(&_iwmmx_control, 0, sizeof(_iwmmx_control));
#endif
# 2169 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
}
inline Registers_arm::Registers_arm()
: _use_X_for_vfp_save(false),
_saved_vfp_d0_d15(false),
_saved_vfp_d16_d31(false) {
memset(&_registers, 0, sizeof(_registers));
memset(&_vfp_d0_d15_pad, 0, sizeof(_vfp_d0_d15_pad));
memset(&_vfp_d16_d31, 0, sizeof(_vfp_d16_d31));
#if 0 /* disabled by -frewrite-includes */
#if defined(__ARM_WMMX)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 2179 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
_saved_iwmmx = false;
_saved_iwmmx_control = false;
memset(&_iwmmx, 0, sizeof(_iwmmx));
memset(&_iwmmx_control, 0, sizeof(_iwmmx_control));
#endif
# 2184 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
}
inline bool Registers_arm::validRegister(int regNum) const {
// Returns true for all non-VFP registers supported by the EHABI
// virtual register set (VRS).
if (regNum == UNW_REG_IP)
return true;
if (regNum == UNW_REG_SP)
return true;
if (regNum >= UNW_ARM_R0 && regNum <= UNW_ARM_R15)
return true;
#if 0 /* disabled by -frewrite-includes */
#if defined(__ARM_WMMX)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 2199 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
if (regNum >= UNW_ARM_WC0 && regNum <= UNW_ARM_WC3)
return true;
#endif
# 2202 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
return false;
}
inline uint32_t Registers_arm::getRegister(int regNum) const {
if (regNum == UNW_REG_SP || regNum == UNW_ARM_SP)
return _registers.__sp;
if (regNum == UNW_ARM_LR)
return _registers.__lr;
if (regNum == UNW_REG_IP || regNum == UNW_ARM_IP)
return _registers.__pc;
if (regNum >= UNW_ARM_R0 && regNum <= UNW_ARM_R12)
return _registers.__r[regNum];
#if 0 /* disabled by -frewrite-includes */
#if defined(__ARM_WMMX)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 2220 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
if (regNum >= UNW_ARM_WC0 && regNum <= UNW_ARM_WC3) {
if (!_saved_iwmmx_control) {
_saved_iwmmx_control = true;
saveiWMMXControl(_iwmmx_control);
}
return _iwmmx_control[regNum - UNW_ARM_WC0];
}
#endif
# 2228 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
_LIBUNWIND_ABORT("unsupported arm register");
}
inline void Registers_arm::setRegister(int regNum, uint32_t value) {
if (regNum == UNW_REG_SP || regNum == UNW_ARM_SP) {
_registers.__sp = value;
return;
}
if (regNum == UNW_ARM_LR) {
_registers.__lr = value;
return;
}
if (regNum == UNW_REG_IP || regNum == UNW_ARM_IP) {
_registers.__pc = value;
return;
}
if (regNum >= UNW_ARM_R0 && regNum <= UNW_ARM_R12) {
_registers.__r[regNum] = value;
return;
}
#if 0 /* disabled by -frewrite-includes */
#if defined(__ARM_WMMX)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 2254 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
if (regNum >= UNW_ARM_WC0 && regNum <= UNW_ARM_WC3) {
if (!_saved_iwmmx_control) {
_saved_iwmmx_control = true;
saveiWMMXControl(_iwmmx_control);
}
_iwmmx_control[regNum - UNW_ARM_WC0] = value;
return;
}
#endif
# 2263 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
_LIBUNWIND_ABORT("unsupported arm register");
}
inline const char *Registers_arm::getRegisterName(int regNum) {
switch (regNum) {
case UNW_REG_IP:
case UNW_ARM_IP: // UNW_ARM_R15 is alias
return "pc";
case UNW_ARM_LR: // UNW_ARM_R14 is alias
return "lr";
case UNW_REG_SP:
case UNW_ARM_SP: // UNW_ARM_R13 is alias
return "sp";
case UNW_ARM_R0:
return "r0";
case UNW_ARM_R1:
return "r1";
case UNW_ARM_R2:
return "r2";
case UNW_ARM_R3:
return "r3";
case UNW_ARM_R4:
return "r4";
case UNW_ARM_R5:
return "r5";
case UNW_ARM_R6:
return "r6";
case UNW_ARM_R7:
return "r7";
case UNW_ARM_R8:
return "r8";
case UNW_ARM_R9:
return "r9";
case UNW_ARM_R10:
return "r10";
case UNW_ARM_R11:
return "r11";
case UNW_ARM_R12:
return "r12";
case UNW_ARM_S0:
return "s0";
case UNW_ARM_S1:
return "s1";
case UNW_ARM_S2:
return "s2";
case UNW_ARM_S3:
return "s3";
case UNW_ARM_S4:
return "s4";
case UNW_ARM_S5:
return "s5";
case UNW_ARM_S6:
return "s6";
case UNW_ARM_S7:
return "s7";
case UNW_ARM_S8:
return "s8";
case UNW_ARM_S9:
return "s9";
case UNW_ARM_S10:
return "s10";
case UNW_ARM_S11:
return "s11";
case UNW_ARM_S12:
return "s12";
case UNW_ARM_S13:
return "s13";
case UNW_ARM_S14:
return "s14";
case UNW_ARM_S15:
return "s15";
case UNW_ARM_S16:
return "s16";
case UNW_ARM_S17:
return "s17";
case UNW_ARM_S18:
return "s18";
case UNW_ARM_S19:
return "s19";
case UNW_ARM_S20:
return "s20";
case UNW_ARM_S21:
return "s21";
case UNW_ARM_S22:
return "s22";
case UNW_ARM_S23:
return "s23";
case UNW_ARM_S24:
return "s24";
case UNW_ARM_S25:
return "s25";
case UNW_ARM_S26:
return "s26";
case UNW_ARM_S27:
return "s27";
case UNW_ARM_S28:
return "s28";
case UNW_ARM_S29:
return "s29";
case UNW_ARM_S30:
return "s30";
case UNW_ARM_S31:
return "s31";
case UNW_ARM_D0:
return "d0";
case UNW_ARM_D1:
return "d1";
case UNW_ARM_D2:
return "d2";
case UNW_ARM_D3:
return "d3";
case UNW_ARM_D4:
return "d4";
case UNW_ARM_D5:
return "d5";
case UNW_ARM_D6:
return "d6";
case UNW_ARM_D7:
return "d7";
case UNW_ARM_D8:
return "d8";
case UNW_ARM_D9:
return "d9";
case UNW_ARM_D10:
return "d10";
case UNW_ARM_D11:
return "d11";
case UNW_ARM_D12:
return "d12";
case UNW_ARM_D13:
return "d13";
case UNW_ARM_D14:
return "d14";
case UNW_ARM_D15:
return "d15";
case UNW_ARM_D16:
return "d16";
case UNW_ARM_D17:
return "d17";
case UNW_ARM_D18:
return "d18";
case UNW_ARM_D19:
return "d19";
case UNW_ARM_D20:
return "d20";
case UNW_ARM_D21:
return "d21";
case UNW_ARM_D22:
return "d22";
case UNW_ARM_D23:
return "d23";
case UNW_ARM_D24:
return "d24";
case UNW_ARM_D25:
return "d25";
case UNW_ARM_D26:
return "d26";
case UNW_ARM_D27:
return "d27";
case UNW_ARM_D28:
return "d28";
case UNW_ARM_D29:
return "d29";
case UNW_ARM_D30:
return "d30";
case UNW_ARM_D31:
return "d31";
default:
return "unknown register";
}
}
inline bool Registers_arm::validFloatRegister(int regNum) const {
// NOTE: Consider the intel MMX registers floating points so the
// __unw_get_fpreg can be used to transmit the 64-bit data back.
return ((regNum >= UNW_ARM_D0) && (regNum <= UNW_ARM_D31))
#if 0 /* disabled by -frewrite-includes */
#if defined(__ARM_WMMX)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 2441 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
|| ((regNum >= UNW_ARM_WR0) && (regNum <= UNW_ARM_WR15))
#endif
# 2443 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
;
}
inline unw_fpreg_t Registers_arm::getFloatRegister(int regNum) {
if (regNum >= UNW_ARM_D0 && regNum <= UNW_ARM_D15) {
if (!_saved_vfp_d0_d15) {
_saved_vfp_d0_d15 = true;
if (_use_X_for_vfp_save)
saveVFPWithFSTMX(_vfp_d0_d15_pad);
else
saveVFPWithFSTMD(_vfp_d0_d15_pad);
}
return _vfp_d0_d15_pad[regNum - UNW_ARM_D0];
}
if (regNum >= UNW_ARM_D16 && regNum <= UNW_ARM_D31) {
if (!_saved_vfp_d16_d31) {
_saved_vfp_d16_d31 = true;
saveVFPv3(_vfp_d16_d31);
}
return _vfp_d16_d31[regNum - UNW_ARM_D16];
}
#if 0 /* disabled by -frewrite-includes */
#if defined(__ARM_WMMX)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 2467 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
if (regNum >= UNW_ARM_WR0 && regNum <= UNW_ARM_WR15) {
if (!_saved_iwmmx) {
_saved_iwmmx = true;
saveiWMMX(_iwmmx);
}
return _iwmmx[regNum - UNW_ARM_WR0];
}
#endif
# 2475 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
_LIBUNWIND_ABORT("Unknown ARM float register");
}
inline void Registers_arm::setFloatRegister(int regNum, unw_fpreg_t value) {
if (regNum >= UNW_ARM_D0 && regNum <= UNW_ARM_D15) {
if (!_saved_vfp_d0_d15) {
_saved_vfp_d0_d15 = true;
if (_use_X_for_vfp_save)
saveVFPWithFSTMX(_vfp_d0_d15_pad);
else
saveVFPWithFSTMD(_vfp_d0_d15_pad);
}
_vfp_d0_d15_pad[regNum - UNW_ARM_D0] = value;
return;
}
if (regNum >= UNW_ARM_D16 && regNum <= UNW_ARM_D31) {
if (!_saved_vfp_d16_d31) {
_saved_vfp_d16_d31 = true;
saveVFPv3(_vfp_d16_d31);
}
_vfp_d16_d31[regNum - UNW_ARM_D16] = value;
return;
}
#if 0 /* disabled by -frewrite-includes */
#if defined(__ARM_WMMX)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 2502 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
if (regNum >= UNW_ARM_WR0 && regNum <= UNW_ARM_WR15) {
if (!_saved_iwmmx) {
_saved_iwmmx = true;
saveiWMMX(_iwmmx);
}
_iwmmx[regNum - UNW_ARM_WR0] = value;
return;
}
#endif
# 2511 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
_LIBUNWIND_ABORT("Unknown ARM float register");
}
inline bool Registers_arm::validVectorRegister(int) const {
return false;
}
inline v128 Registers_arm::getVectorRegister(int) const {
_LIBUNWIND_ABORT("ARM vector support not implemented");
}
inline void Registers_arm::setVectorRegister(int, v128) {
_LIBUNWIND_ABORT("ARM vector support not implemented");
}
#endif // _LIBUNWIND_TARGET_ARM
# 2527 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_TARGET_OR1K)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 2530 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
/// Registers_or1k holds the register state of a thread in an OpenRISC1000
/// process.
class _LIBUNWIND_HIDDEN Registers_or1k {
public:
Registers_or1k();
Registers_or1k(const void *registers);
bool validRegister(int num) const;
uint32_t getRegister(int num) const;
void setRegister(int num, uint32_t value);
bool validFloatRegister(int num) const;
double getFloatRegister(int num) const;
void setFloatRegister(int num, double value);
bool validVectorRegister(int num) const;
v128 getVectorRegister(int num) const;
void setVectorRegister(int num, v128 value);
static const char *getRegisterName(int num);
void jumpto();
static int lastDwarfRegNum() { return _LIBUNWIND_HIGHEST_DWARF_REGISTER_OR1K; }
static int getArch() { return REGISTERS_OR1K; }
uint64_t getSP() const { return _registers.__r[1]; }
void setSP(uint32_t value) { _registers.__r[1] = value; }
uint64_t getIP() const { return _registers.__pc; }
void setIP(uint32_t value) { _registers.__pc = value; }
private:
struct or1k_thread_state_t {
unsigned int __r[32]; // r0-r31
unsigned int __pc; // Program counter
unsigned int __epcr; // Program counter at exception
};
or1k_thread_state_t _registers;
};
inline Registers_or1k::Registers_or1k(const void *registers) {
static_assert((check_fit<Registers_or1k, unw_context_t>::does_fit),
"or1k registers do not fit into unw_context_t");
memcpy(&_registers, static_cast<const uint8_t *>(registers),
sizeof(_registers));
}
inline Registers_or1k::Registers_or1k() {
memset(&_registers, 0, sizeof(_registers));
}
inline bool Registers_or1k::validRegister(int regNum) const {
if (regNum == UNW_REG_IP)
return true;
if (regNum == UNW_REG_SP)
return true;
if (regNum < 0)
return false;
if (regNum <= UNW_OR1K_R31)
return true;
if (regNum == UNW_OR1K_EPCR)
return true;
return false;
}
inline uint32_t Registers_or1k::getRegister(int regNum) const {
if (regNum >= UNW_OR1K_R0 && regNum <= UNW_OR1K_R31)
return _registers.__r[regNum - UNW_OR1K_R0];
switch (regNum) {
case UNW_REG_IP:
return _registers.__pc;
case UNW_REG_SP:
return _registers.__r[1];
case UNW_OR1K_EPCR:
return _registers.__epcr;
}
_LIBUNWIND_ABORT("unsupported or1k register");
}
inline void Registers_or1k::setRegister(int regNum, uint32_t value) {
if (regNum >= UNW_OR1K_R0 && regNum <= UNW_OR1K_R31) {
_registers.__r[regNum - UNW_OR1K_R0] = value;
return;
}
switch (regNum) {
case UNW_REG_IP:
_registers.__pc = value;
return;
case UNW_REG_SP:
_registers.__r[1] = value;
return;
case UNW_OR1K_EPCR:
_registers.__epcr = value;
return;
}
_LIBUNWIND_ABORT("unsupported or1k register");
}
inline bool Registers_or1k::validFloatRegister(int /* regNum */) const {
return false;
}
inline double Registers_or1k::getFloatRegister(int /* regNum */) const {
_LIBUNWIND_ABORT("or1k float support not implemented");
}
inline void Registers_or1k::setFloatRegister(int /* regNum */,
double /* value */) {
_LIBUNWIND_ABORT("or1k float support not implemented");
}
inline bool Registers_or1k::validVectorRegister(int /* regNum */) const {
return false;
}
inline v128 Registers_or1k::getVectorRegister(int /* regNum */) const {
_LIBUNWIND_ABORT("or1k vector support not implemented");
}
inline void Registers_or1k::setVectorRegister(int /* regNum */, v128 /* value */) {
_LIBUNWIND_ABORT("or1k vector support not implemented");
}
inline const char *Registers_or1k::getRegisterName(int regNum) {
switch (regNum) {
case UNW_OR1K_R0:
return "r0";
case UNW_OR1K_R1:
return "r1";
case UNW_OR1K_R2:
return "r2";
case UNW_OR1K_R3:
return "r3";
case UNW_OR1K_R4:
return "r4";
case UNW_OR1K_R5:
return "r5";
case UNW_OR1K_R6:
return "r6";
case UNW_OR1K_R7:
return "r7";
case UNW_OR1K_R8:
return "r8";
case UNW_OR1K_R9:
return "r9";
case UNW_OR1K_R10:
return "r10";
case UNW_OR1K_R11:
return "r11";
case UNW_OR1K_R12:
return "r12";
case UNW_OR1K_R13:
return "r13";
case UNW_OR1K_R14:
return "r14";
case UNW_OR1K_R15:
return "r15";
case UNW_OR1K_R16:
return "r16";
case UNW_OR1K_R17:
return "r17";
case UNW_OR1K_R18:
return "r18";
case UNW_OR1K_R19:
return "r19";
case UNW_OR1K_R20:
return "r20";
case UNW_OR1K_R21:
return "r21";
case UNW_OR1K_R22:
return "r22";
case UNW_OR1K_R23:
return "r23";
case UNW_OR1K_R24:
return "r24";
case UNW_OR1K_R25:
return "r25";
case UNW_OR1K_R26:
return "r26";
case UNW_OR1K_R27:
return "r27";
case UNW_OR1K_R28:
return "r28";
case UNW_OR1K_R29:
return "r29";
case UNW_OR1K_R30:
return "r30";
case UNW_OR1K_R31:
return "r31";
case UNW_OR1K_EPCR:
return "EPCR";
default:
return "unknown register";
}
}
#endif // _LIBUNWIND_TARGET_OR1K
# 2725 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_TARGET_MIPS_O32)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 2727 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
/// Registers_mips_o32 holds the register state of a thread in a 32-bit MIPS
/// process.
class _LIBUNWIND_HIDDEN Registers_mips_o32 {
public:
Registers_mips_o32();
Registers_mips_o32(const void *registers);
bool validRegister(int num) const;
uint32_t getRegister(int num) const;
void setRegister(int num, uint32_t value);
bool validFloatRegister(int num) const;
double getFloatRegister(int num) const;
void setFloatRegister(int num, double value);
bool validVectorRegister(int num) const;
v128 getVectorRegister(int num) const;
void setVectorRegister(int num, v128 value);
static const char *getRegisterName(int num);
void jumpto();
static int lastDwarfRegNum() { return _LIBUNWIND_HIGHEST_DWARF_REGISTER_MIPS; }
static int getArch() { return REGISTERS_MIPS_O32; }
uint32_t getSP() const { return _registers.__r[29]; }
void setSP(uint32_t value) { _registers.__r[29] = value; }
uint32_t getIP() const { return _registers.__pc; }
void setIP(uint32_t value) { _registers.__pc = value; }
private:
struct mips_o32_thread_state_t {
uint32_t __r[32];
uint32_t __pc;
uint32_t __hi;
uint32_t __lo;
};
mips_o32_thread_state_t _registers;
#ifdef __mips_hard_float
/// O32 with 32-bit floating point registers only uses half of this
/// space. However, using the same layout for 32-bit vs 64-bit
/// floating point registers results in a single context size for
/// O32 with hard float.
uint32_t _padding;
double _floats[32];
#endif
# 2770 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
};
inline Registers_mips_o32::Registers_mips_o32(const void *registers) {
static_assert((check_fit<Registers_mips_o32, unw_context_t>::does_fit),
"mips_o32 registers do not fit into unw_context_t");
memcpy(&_registers, static_cast<const uint8_t *>(registers),
sizeof(_registers));
}
inline Registers_mips_o32::Registers_mips_o32() {
memset(&_registers, 0, sizeof(_registers));
}
inline bool Registers_mips_o32::validRegister(int regNum) const {
if (regNum == UNW_REG_IP)
return true;
if (regNum == UNW_REG_SP)
return true;
if (regNum < 0)
return false;
if (regNum <= UNW_MIPS_R31)
return true;
#if 0 /* disabled by -frewrite-includes */
#if __mips_isa_rev != 6
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 2793 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
if (regNum == UNW_MIPS_HI)
return true;
if (regNum == UNW_MIPS_LO)
return true;
#endif
# 2798 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
#if 0 /* disabled by -frewrite-includes */
#if defined(__mips_hard_float) && __mips_fpr == 32
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 2799 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
if (regNum >= UNW_MIPS_F0 && regNum <= UNW_MIPS_F31)
return true;
#endif
# 2802 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
// FIXME: DSP accumulator registers, MSA registers
return false;
}
inline uint32_t Registers_mips_o32::getRegister(int regNum) const {
if (regNum >= UNW_MIPS_R0 && regNum <= UNW_MIPS_R31)
return _registers.__r[regNum - UNW_MIPS_R0];
#if 0 /* disabled by -frewrite-includes */
#if defined(__mips_hard_float) && __mips_fpr == 32
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 2810 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
if (regNum >= UNW_MIPS_F0 && regNum <= UNW_MIPS_F31) {
uint32_t *p;
if (regNum % 2 == 0)
p = (uint32_t *)&_floats[regNum - UNW_MIPS_F0];
else
p = (uint32_t *)&_floats[(regNum - 1) - UNW_MIPS_F0] + 1;
return *p;
}
#endif
# 2820 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
switch (regNum) {
case UNW_REG_IP:
return _registers.__pc;
case UNW_REG_SP:
return _registers.__r[29];
case UNW_MIPS_HI:
return _registers.__hi;
case UNW_MIPS_LO:
return _registers.__lo;
}
_LIBUNWIND_ABORT("unsupported mips_o32 register");
}
inline void Registers_mips_o32::setRegister(int regNum, uint32_t value) {
if (regNum >= UNW_MIPS_R0 && regNum <= UNW_MIPS_R31) {
_registers.__r[regNum - UNW_MIPS_R0] = value;
return;
}
#if 0 /* disabled by -frewrite-includes */
#if defined(__mips_hard_float) && __mips_fpr == 32
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 2840 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
if (regNum >= UNW_MIPS_F0 && regNum <= UNW_MIPS_F31) {
uint32_t *p;
if (regNum % 2 == 0)
p = (uint32_t *)&_floats[regNum - UNW_MIPS_F0];
else
p = (uint32_t *)&_floats[(regNum - 1) - UNW_MIPS_F0] + 1;
*p = value;
return;
}
#endif
# 2851 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
switch (regNum) {
case UNW_REG_IP:
_registers.__pc = value;
return;
case UNW_REG_SP:
_registers.__r[29] = value;
return;
case UNW_MIPS_HI:
_registers.__hi = value;
return;
case UNW_MIPS_LO:
_registers.__lo = value;
return;
}
_LIBUNWIND_ABORT("unsupported mips_o32 register");
}
inline bool Registers_mips_o32::validFloatRegister(int regNum) const {
#if 0 /* disabled by -frewrite-includes */
#if defined(__mips_hard_float) && __mips_fpr == 64
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 2871 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
if (regNum >= UNW_MIPS_F0 && regNum <= UNW_MIPS_F31)
return true;
#else
# 2874 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
(void)regNum;
#endif
# 2876 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
return false;
}
inline double Registers_mips_o32::getFloatRegister(int regNum) const {
#if 0 /* disabled by -frewrite-includes */
#if defined(__mips_hard_float) && __mips_fpr == 64
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 2881 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
assert(validFloatRegister(regNum));
return _floats[regNum - UNW_MIPS_F0];
#else
# 2884 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
(void)regNum;
_LIBUNWIND_ABORT("mips_o32 float support not implemented");
#endif
# 2887 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
}
inline void Registers_mips_o32::setFloatRegister(int regNum,
double value) {
#if 0 /* disabled by -frewrite-includes */
#if defined(__mips_hard_float) && __mips_fpr == 64
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 2892 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
assert(validFloatRegister(regNum));
_floats[regNum - UNW_MIPS_F0] = value;
#else
# 2895 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
(void)regNum;
(void)value;
_LIBUNWIND_ABORT("mips_o32 float support not implemented");
#endif
# 2899 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
}
inline bool Registers_mips_o32::validVectorRegister(int /* regNum */) const {
return false;
}
inline v128 Registers_mips_o32::getVectorRegister(int /* regNum */) const {
_LIBUNWIND_ABORT("mips_o32 vector support not implemented");
}
inline void Registers_mips_o32::setVectorRegister(int /* regNum */, v128 /* value */) {
_LIBUNWIND_ABORT("mips_o32 vector support not implemented");
}
inline const char *Registers_mips_o32::getRegisterName(int regNum) {
switch (regNum) {
case UNW_MIPS_R0:
return "$0";
case UNW_MIPS_R1:
return "$1";
case UNW_MIPS_R2:
return "$2";
case UNW_MIPS_R3:
return "$3";
case UNW_MIPS_R4:
return "$4";
case UNW_MIPS_R5:
return "$5";
case UNW_MIPS_R6:
return "$6";
case UNW_MIPS_R7:
return "$7";
case UNW_MIPS_R8:
return "$8";
case UNW_MIPS_R9:
return "$9";
case UNW_MIPS_R10:
return "$10";
case UNW_MIPS_R11:
return "$11";
case UNW_MIPS_R12:
return "$12";
case UNW_MIPS_R13:
return "$13";
case UNW_MIPS_R14:
return "$14";
case UNW_MIPS_R15:
return "$15";
case UNW_MIPS_R16:
return "$16";
case UNW_MIPS_R17:
return "$17";
case UNW_MIPS_R18:
return "$18";
case UNW_MIPS_R19:
return "$19";
case UNW_MIPS_R20:
return "$20";
case UNW_MIPS_R21:
return "$21";
case UNW_MIPS_R22:
return "$22";
case UNW_MIPS_R23:
return "$23";
case UNW_MIPS_R24:
return "$24";
case UNW_MIPS_R25:
return "$25";
case UNW_MIPS_R26:
return "$26";
case UNW_MIPS_R27:
return "$27";
case UNW_MIPS_R28:
return "$28";
case UNW_MIPS_R29:
return "$29";
case UNW_MIPS_R30:
return "$30";
case UNW_MIPS_R31:
return "$31";
case UNW_MIPS_F0:
return "$f0";
case UNW_MIPS_F1:
return "$f1";
case UNW_MIPS_F2:
return "$f2";
case UNW_MIPS_F3:
return "$f3";
case UNW_MIPS_F4:
return "$f4";
case UNW_MIPS_F5:
return "$f5";
case UNW_MIPS_F6:
return "$f6";
case UNW_MIPS_F7:
return "$f7";
case UNW_MIPS_F8:
return "$f8";
case UNW_MIPS_F9:
return "$f9";
case UNW_MIPS_F10:
return "$f10";
case UNW_MIPS_F11:
return "$f11";
case UNW_MIPS_F12:
return "$f12";
case UNW_MIPS_F13:
return "$f13";
case UNW_MIPS_F14:
return "$f14";
case UNW_MIPS_F15:
return "$f15";
case UNW_MIPS_F16:
return "$f16";
case UNW_MIPS_F17:
return "$f17";
case UNW_MIPS_F18:
return "$f18";
case UNW_MIPS_F19:
return "$f19";
case UNW_MIPS_F20:
return "$f20";
case UNW_MIPS_F21:
return "$f21";
case UNW_MIPS_F22:
return "$f22";
case UNW_MIPS_F23:
return "$f23";
case UNW_MIPS_F24:
return "$f24";
case UNW_MIPS_F25:
return "$f25";
case UNW_MIPS_F26:
return "$f26";
case UNW_MIPS_F27:
return "$f27";
case UNW_MIPS_F28:
return "$f28";
case UNW_MIPS_F29:
return "$f29";
case UNW_MIPS_F30:
return "$f30";
case UNW_MIPS_F31:
return "$f31";
case UNW_MIPS_HI:
return "$hi";
case UNW_MIPS_LO:
return "$lo";
default:
return "unknown register";
}
}
#endif // _LIBUNWIND_TARGET_MIPS_O32
# 3052 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_TARGET_MIPS_NEWABI)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 3054 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
/// Registers_mips_newabi holds the register state of a thread in a
/// MIPS process using NEWABI (the N32 or N64 ABIs).
class _LIBUNWIND_HIDDEN Registers_mips_newabi {
public:
Registers_mips_newabi();
Registers_mips_newabi(const void *registers);
bool validRegister(int num) const;
uint64_t getRegister(int num) const;
void setRegister(int num, uint64_t value);
bool validFloatRegister(int num) const;
double getFloatRegister(int num) const;
void setFloatRegister(int num, double value);
bool validVectorRegister(int num) const;
v128 getVectorRegister(int num) const;
void setVectorRegister(int num, v128 value);
static const char *getRegisterName(int num);
void jumpto();
static int lastDwarfRegNum() { return _LIBUNWIND_HIGHEST_DWARF_REGISTER_MIPS; }
static int getArch() { return REGISTERS_MIPS_NEWABI; }
uint64_t getSP() const { return _registers.__r[29]; }
void setSP(uint64_t value) { _registers.__r[29] = value; }
uint64_t getIP() const { return _registers.__pc; }
void setIP(uint64_t value) { _registers.__pc = value; }
private:
struct mips_newabi_thread_state_t {
uint64_t __r[32];
uint64_t __pc;
uint64_t __hi;
uint64_t __lo;
};
mips_newabi_thread_state_t _registers;
#ifdef __mips_hard_float
double _floats[32];
#endif
# 3092 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
};
inline Registers_mips_newabi::Registers_mips_newabi(const void *registers) {
static_assert((check_fit<Registers_mips_newabi, unw_context_t>::does_fit),
"mips_newabi registers do not fit into unw_context_t");
memcpy(&_registers, static_cast<const uint8_t *>(registers),
sizeof(_registers));
}
inline Registers_mips_newabi::Registers_mips_newabi() {
memset(&_registers, 0, sizeof(_registers));
}
inline bool Registers_mips_newabi::validRegister(int regNum) const {
if (regNum == UNW_REG_IP)
return true;
if (regNum == UNW_REG_SP)
return true;
if (regNum < 0)
return false;
if (regNum <= UNW_MIPS_R31)
return true;
#if 0 /* disabled by -frewrite-includes */
#if __mips_isa_rev != 6
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 3115 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
if (regNum == UNW_MIPS_HI)
return true;
if (regNum == UNW_MIPS_LO)
return true;
#endif
# 3120 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
// FIXME: Hard float, DSP accumulator registers, MSA registers
return false;
}
inline uint64_t Registers_mips_newabi::getRegister(int regNum) const {
if (regNum >= UNW_MIPS_R0 && regNum <= UNW_MIPS_R31)
return _registers.__r[regNum - UNW_MIPS_R0];
switch (regNum) {
case UNW_REG_IP:
return _registers.__pc;
case UNW_REG_SP:
return _registers.__r[29];
case UNW_MIPS_HI:
return _registers.__hi;
case UNW_MIPS_LO:
return _registers.__lo;
}
_LIBUNWIND_ABORT("unsupported mips_newabi register");
}
inline void Registers_mips_newabi::setRegister(int regNum, uint64_t value) {
if (regNum >= UNW_MIPS_R0 && regNum <= UNW_MIPS_R31) {
_registers.__r[regNum - UNW_MIPS_R0] = value;
return;
}
switch (regNum) {
case UNW_REG_IP:
_registers.__pc = value;
return;
case UNW_REG_SP:
_registers.__r[29] = value;
return;
case UNW_MIPS_HI:
_registers.__hi = value;
return;
case UNW_MIPS_LO:
_registers.__lo = value;
return;
}
_LIBUNWIND_ABORT("unsupported mips_newabi register");
}
inline bool Registers_mips_newabi::validFloatRegister(int regNum) const {
#ifdef __mips_hard_float
if (regNum >= UNW_MIPS_F0 && regNum <= UNW_MIPS_F31)
return true;
#else
# 3169 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
(void)regNum;
#endif
# 3171 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
return false;
}
inline double Registers_mips_newabi::getFloatRegister(int regNum) const {
#ifdef __mips_hard_float
assert(validFloatRegister(regNum));
return _floats[regNum - UNW_MIPS_F0];
#else
# 3179 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
(void)regNum;
_LIBUNWIND_ABORT("mips_newabi float support not implemented");
#endif
# 3182 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
}
inline void Registers_mips_newabi::setFloatRegister(int regNum,
double value) {
#ifdef __mips_hard_float
assert(validFloatRegister(regNum));
_floats[regNum - UNW_MIPS_F0] = value;
#else
# 3190 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
(void)regNum;
(void)value;
_LIBUNWIND_ABORT("mips_newabi float support not implemented");
#endif
# 3194 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
}
inline bool Registers_mips_newabi::validVectorRegister(int /* regNum */) const {
return false;
}
inline v128 Registers_mips_newabi::getVectorRegister(int /* regNum */) const {
_LIBUNWIND_ABORT("mips_newabi vector support not implemented");
}
inline void Registers_mips_newabi::setVectorRegister(int /* regNum */, v128 /* value */) {
_LIBUNWIND_ABORT("mips_newabi vector support not implemented");
}
inline const char *Registers_mips_newabi::getRegisterName(int regNum) {
switch (regNum) {
case UNW_MIPS_R0:
return "$0";
case UNW_MIPS_R1:
return "$1";
case UNW_MIPS_R2:
return "$2";
case UNW_MIPS_R3:
return "$3";
case UNW_MIPS_R4:
return "$4";
case UNW_MIPS_R5:
return "$5";
case UNW_MIPS_R6:
return "$6";
case UNW_MIPS_R7:
return "$7";
case UNW_MIPS_R8:
return "$8";
case UNW_MIPS_R9:
return "$9";
case UNW_MIPS_R10:
return "$10";
case UNW_MIPS_R11:
return "$11";
case UNW_MIPS_R12:
return "$12";
case UNW_MIPS_R13:
return "$13";
case UNW_MIPS_R14:
return "$14";
case UNW_MIPS_R15:
return "$15";
case UNW_MIPS_R16:
return "$16";
case UNW_MIPS_R17:
return "$17";
case UNW_MIPS_R18:
return "$18";
case UNW_MIPS_R19:
return "$19";
case UNW_MIPS_R20:
return "$20";
case UNW_MIPS_R21:
return "$21";
case UNW_MIPS_R22:
return "$22";
case UNW_MIPS_R23:
return "$23";
case UNW_MIPS_R24:
return "$24";
case UNW_MIPS_R25:
return "$25";
case UNW_MIPS_R26:
return "$26";
case UNW_MIPS_R27:
return "$27";
case UNW_MIPS_R28:
return "$28";
case UNW_MIPS_R29:
return "$29";
case UNW_MIPS_R30:
return "$30";
case UNW_MIPS_R31:
return "$31";
case UNW_MIPS_F0:
return "$f0";
case UNW_MIPS_F1:
return "$f1";
case UNW_MIPS_F2:
return "$f2";
case UNW_MIPS_F3:
return "$f3";
case UNW_MIPS_F4:
return "$f4";
case UNW_MIPS_F5:
return "$f5";
case UNW_MIPS_F6:
return "$f6";
case UNW_MIPS_F7:
return "$f7";
case UNW_MIPS_F8:
return "$f8";
case UNW_MIPS_F9:
return "$f9";
case UNW_MIPS_F10:
return "$f10";
case UNW_MIPS_F11:
return "$f11";
case UNW_MIPS_F12:
return "$f12";
case UNW_MIPS_F13:
return "$f13";
case UNW_MIPS_F14:
return "$f14";
case UNW_MIPS_F15:
return "$f15";
case UNW_MIPS_F16:
return "$f16";
case UNW_MIPS_F17:
return "$f17";
case UNW_MIPS_F18:
return "$f18";
case UNW_MIPS_F19:
return "$f19";
case UNW_MIPS_F20:
return "$f20";
case UNW_MIPS_F21:
return "$f21";
case UNW_MIPS_F22:
return "$f22";
case UNW_MIPS_F23:
return "$f23";
case UNW_MIPS_F24:
return "$f24";
case UNW_MIPS_F25:
return "$f25";
case UNW_MIPS_F26:
return "$f26";
case UNW_MIPS_F27:
return "$f27";
case UNW_MIPS_F28:
return "$f28";
case UNW_MIPS_F29:
return "$f29";
case UNW_MIPS_F30:
return "$f30";
case UNW_MIPS_F31:
return "$f31";
case UNW_MIPS_HI:
return "$hi";
case UNW_MIPS_LO:
return "$lo";
default:
return "unknown register";
}
}
#endif // _LIBUNWIND_TARGET_MIPS_NEWABI
# 3347 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_TARGET_SPARC)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 3349 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
/// Registers_sparc holds the register state of a thread in a 32-bit Sparc
/// process.
class _LIBUNWIND_HIDDEN Registers_sparc {
public:
Registers_sparc();
Registers_sparc(const void *registers);
bool validRegister(int num) const;
uint32_t getRegister(int num) const;
void setRegister(int num, uint32_t value);
bool validFloatRegister(int num) const;
double getFloatRegister(int num) const;
void setFloatRegister(int num, double value);
bool validVectorRegister(int num) const;
v128 getVectorRegister(int num) const;
void setVectorRegister(int num, v128 value);
static const char *getRegisterName(int num);
void jumpto();
static int lastDwarfRegNum() { return _LIBUNWIND_HIGHEST_DWARF_REGISTER_SPARC; }
static int getArch() { return REGISTERS_SPARC; }
uint64_t getSP() const { return _registers.__regs[UNW_SPARC_O6]; }
void setSP(uint32_t value) { _registers.__regs[UNW_SPARC_O6] = value; }
uint64_t getIP() const { return _registers.__regs[UNW_SPARC_O7]; }
void setIP(uint32_t value) { _registers.__regs[UNW_SPARC_O7] = value; }
private:
struct sparc_thread_state_t {
unsigned int __regs[32];
};
sparc_thread_state_t _registers;
};
inline Registers_sparc::Registers_sparc(const void *registers) {
static_assert((check_fit<Registers_sparc, unw_context_t>::does_fit),
"sparc registers do not fit into unw_context_t");
memcpy(&_registers, static_cast<const uint8_t *>(registers),
sizeof(_registers));
}
inline Registers_sparc::Registers_sparc() {
memset(&_registers, 0, sizeof(_registers));
}
inline bool Registers_sparc::validRegister(int regNum) const {
if (regNum == UNW_REG_IP)
return true;
if (regNum == UNW_REG_SP)
return true;
if (regNum < 0)
return false;
if (regNum <= UNW_SPARC_I7)
return true;
return false;
}
inline uint32_t Registers_sparc::getRegister(int regNum) const {
if ((UNW_SPARC_G0 <= regNum) && (regNum <= UNW_SPARC_I7)) {
return _registers.__regs[regNum];
}
switch (regNum) {
case UNW_REG_IP:
return _registers.__regs[UNW_SPARC_O7];
case UNW_REG_SP:
return _registers.__regs[UNW_SPARC_O6];
}
_LIBUNWIND_ABORT("unsupported sparc register");
}
inline void Registers_sparc::setRegister(int regNum, uint32_t value) {
if ((UNW_SPARC_G0 <= regNum) && (regNum <= UNW_SPARC_I7)) {
_registers.__regs[regNum] = value;
return;
}
switch (regNum) {
case UNW_REG_IP:
_registers.__regs[UNW_SPARC_O7] = value;
return;
case UNW_REG_SP:
_registers.__regs[UNW_SPARC_O6] = value;
return;
}
_LIBUNWIND_ABORT("unsupported sparc register");
}
inline bool Registers_sparc::validFloatRegister(int) const { return false; }
inline double Registers_sparc::getFloatRegister(int) const {
_LIBUNWIND_ABORT("no Sparc float registers");
}
inline void Registers_sparc::setFloatRegister(int, double) {
_LIBUNWIND_ABORT("no Sparc float registers");
}
inline bool Registers_sparc::validVectorRegister(int) const { return false; }
inline v128 Registers_sparc::getVectorRegister(int) const {
_LIBUNWIND_ABORT("no Sparc vector registers");
}
inline void Registers_sparc::setVectorRegister(int, v128) {
_LIBUNWIND_ABORT("no Sparc vector registers");
}
inline const char *Registers_sparc::getRegisterName(int regNum) {
switch (regNum) {
case UNW_REG_IP:
return "pc";
case UNW_SPARC_G0:
return "g0";
case UNW_SPARC_G1:
return "g1";
case UNW_SPARC_G2:
return "g2";
case UNW_SPARC_G3:
return "g3";
case UNW_SPARC_G4:
return "g4";
case UNW_SPARC_G5:
return "g5";
case UNW_SPARC_G6:
return "g6";
case UNW_SPARC_G7:
return "g7";
case UNW_SPARC_O0:
return "o0";
case UNW_SPARC_O1:
return "o1";
case UNW_SPARC_O2:
return "o2";
case UNW_SPARC_O3:
return "o3";
case UNW_SPARC_O4:
return "o4";
case UNW_SPARC_O5:
return "o5";
case UNW_REG_SP:
case UNW_SPARC_O6:
return "sp";
case UNW_SPARC_O7:
return "o7";
case UNW_SPARC_L0:
return "l0";
case UNW_SPARC_L1:
return "l1";
case UNW_SPARC_L2:
return "l2";
case UNW_SPARC_L3:
return "l3";
case UNW_SPARC_L4:
return "l4";
case UNW_SPARC_L5:
return "l5";
case UNW_SPARC_L6:
return "l6";
case UNW_SPARC_L7:
return "l7";
case UNW_SPARC_I0:
return "i0";
case UNW_SPARC_I1:
return "i1";
case UNW_SPARC_I2:
return "i2";
case UNW_SPARC_I3:
return "i3";
case UNW_SPARC_I4:
return "i4";
case UNW_SPARC_I5:
return "i5";
case UNW_SPARC_I6:
return "fp";
case UNW_SPARC_I7:
return "i7";
default:
return "unknown register";
}
}
#endif // _LIBUNWIND_TARGET_SPARC
# 3531 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_TARGET_HEXAGON)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 3533 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
/// Registers_hexagon holds the register state of a thread in a Hexagon QDSP6
/// process.
class _LIBUNWIND_HIDDEN Registers_hexagon {
public:
Registers_hexagon();
Registers_hexagon(const void *registers);
bool validRegister(int num) const;
uint32_t getRegister(int num) const;
void setRegister(int num, uint32_t value);
bool validFloatRegister(int num) const;
double getFloatRegister(int num) const;
void setFloatRegister(int num, double value);
bool validVectorRegister(int num) const;
v128 getVectorRegister(int num) const;
void setVectorRegister(int num, v128 value);
const char *getRegisterName(int num);
void jumpto();
static int lastDwarfRegNum() { return _LIBUNWIND_HIGHEST_DWARF_REGISTER_HEXAGON; }
static int getArch() { return REGISTERS_HEXAGON; }
uint32_t getSP() const { return _registers.__r[UNW_HEXAGON_R29]; }
void setSP(uint32_t value) { _registers.__r[UNW_HEXAGON_R29] = value; }
uint32_t getIP() const { return _registers.__r[UNW_HEXAGON_PC]; }
void setIP(uint32_t value) { _registers.__r[UNW_HEXAGON_PC] = value; }
private:
struct hexagon_thread_state_t {
unsigned int __r[35];
};
hexagon_thread_state_t _registers;
};
inline Registers_hexagon::Registers_hexagon(const void *registers) {
static_assert((check_fit<Registers_hexagon, unw_context_t>::does_fit),
"hexagon registers do not fit into unw_context_t");
memcpy(&_registers, static_cast<const uint8_t *>(registers),
sizeof(_registers));
}
inline Registers_hexagon::Registers_hexagon() {
memset(&_registers, 0, sizeof(_registers));
}
inline bool Registers_hexagon::validRegister(int regNum) const {
if (regNum <= UNW_HEXAGON_R31)
return true;
return false;
}
inline uint32_t Registers_hexagon::getRegister(int regNum) const {
if (regNum >= UNW_HEXAGON_R0 && regNum <= UNW_HEXAGON_R31)
return _registers.__r[regNum - UNW_HEXAGON_R0];
switch (regNum) {
case UNW_REG_IP:
return _registers.__r[UNW_HEXAGON_PC];
case UNW_REG_SP:
return _registers.__r[UNW_HEXAGON_R29];
}
_LIBUNWIND_ABORT("unsupported hexagon register");
}
inline void Registers_hexagon::setRegister(int regNum, uint32_t value) {
if (regNum >= UNW_HEXAGON_R0 && regNum <= UNW_HEXAGON_R31) {
_registers.__r[regNum - UNW_HEXAGON_R0] = value;
return;
}
switch (regNum) {
case UNW_REG_IP:
_registers.__r[UNW_HEXAGON_PC] = value;
return;
case UNW_REG_SP:
_registers.__r[UNW_HEXAGON_R29] = value;
return;
}
_LIBUNWIND_ABORT("unsupported hexagon register");
}
inline bool Registers_hexagon::validFloatRegister(int /* regNum */) const {
return false;
}
inline double Registers_hexagon::getFloatRegister(int /* regNum */) const {
_LIBUNWIND_ABORT("hexagon float support not implemented");
}
inline void Registers_hexagon::setFloatRegister(int /* regNum */,
double /* value */) {
_LIBUNWIND_ABORT("hexagon float support not implemented");
}
inline bool Registers_hexagon::validVectorRegister(int /* regNum */) const {
return false;
}
inline v128 Registers_hexagon::getVectorRegister(int /* regNum */) const {
_LIBUNWIND_ABORT("hexagon vector support not implemented");
}
inline void Registers_hexagon::setVectorRegister(int /* regNum */, v128 /* value */) {
_LIBUNWIND_ABORT("hexagon vector support not implemented");
}
inline const char *Registers_hexagon::getRegisterName(int regNum) {
switch (regNum) {
case UNW_HEXAGON_R0:
return "r0";
case UNW_HEXAGON_R1:
return "r1";
case UNW_HEXAGON_R2:
return "r2";
case UNW_HEXAGON_R3:
return "r3";
case UNW_HEXAGON_R4:
return "r4";
case UNW_HEXAGON_R5:
return "r5";
case UNW_HEXAGON_R6:
return "r6";
case UNW_HEXAGON_R7:
return "r7";
case UNW_HEXAGON_R8:
return "r8";
case UNW_HEXAGON_R9:
return "r9";
case UNW_HEXAGON_R10:
return "r10";
case UNW_HEXAGON_R11:
return "r11";
case UNW_HEXAGON_R12:
return "r12";
case UNW_HEXAGON_R13:
return "r13";
case UNW_HEXAGON_R14:
return "r14";
case UNW_HEXAGON_R15:
return "r15";
case UNW_HEXAGON_R16:
return "r16";
case UNW_HEXAGON_R17:
return "r17";
case UNW_HEXAGON_R18:
return "r18";
case UNW_HEXAGON_R19:
return "r19";
case UNW_HEXAGON_R20:
return "r20";
case UNW_HEXAGON_R21:
return "r21";
case UNW_HEXAGON_R22:
return "r22";
case UNW_HEXAGON_R23:
return "r23";
case UNW_HEXAGON_R24:
return "r24";
case UNW_HEXAGON_R25:
return "r25";
case UNW_HEXAGON_R26:
return "r26";
case UNW_HEXAGON_R27:
return "r27";
case UNW_HEXAGON_R28:
return "r28";
case UNW_HEXAGON_R29:
return "r29";
case UNW_HEXAGON_R30:
return "r30";
case UNW_HEXAGON_R31:
return "r31";
default:
return "unknown register";
}
}
#endif // _LIBUNWIND_TARGET_HEXAGON
# 3711 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_TARGET_RISCV)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 3714 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
/// Registers_riscv holds the register state of a thread in a 64-bit RISC-V
/// process.
class _LIBUNWIND_HIDDEN Registers_riscv {
public:
Registers_riscv();
Registers_riscv(const void *registers);
bool validRegister(int num) const;
uint64_t getRegister(int num) const;
void setRegister(int num, uint64_t value);
bool validFloatRegister(int num) const;
double getFloatRegister(int num) const;
void setFloatRegister(int num, double value);
bool validVectorRegister(int num) const;
v128 getVectorRegister(int num) const;
void setVectorRegister(int num, v128 value);
static const char *getRegisterName(int num);
void jumpto();
static int lastDwarfRegNum() { return _LIBUNWIND_HIGHEST_DWARF_REGISTER_RISCV; }
static int getArch() { return REGISTERS_RISCV; }
uint64_t getSP() const { return _registers[2]; }
void setSP(uint64_t value) { _registers[2] = value; }
uint64_t getIP() const { return _registers[0]; }
void setIP(uint64_t value) { _registers[0] = value; }
private:
// _registers[0] holds the pc
uint64_t _registers[32];
double _floats[32];
};
inline Registers_riscv::Registers_riscv(const void *registers) {
static_assert((check_fit<Registers_riscv, unw_context_t>::does_fit),
"riscv registers do not fit into unw_context_t");
memcpy(&_registers, registers, sizeof(_registers));
static_assert(sizeof(_registers) == 0x100,
"expected float registers to be at offset 256");
memcpy(_floats,
static_cast<const uint8_t *>(registers) + sizeof(_registers),
sizeof(_floats));
}
inline Registers_riscv::Registers_riscv() {
memset(&_registers, 0, sizeof(_registers));
memset(&_floats, 0, sizeof(_floats));
}
inline bool Registers_riscv::validRegister(int regNum) const {
if (regNum == UNW_REG_IP)
return true;
if (regNum == UNW_REG_SP)
return true;
if (regNum < 0)
return false;
if (regNum > UNW_RISCV_F31)
return false;
return true;
}
inline uint64_t Registers_riscv::getRegister(int regNum) const {
if (regNum == UNW_REG_IP)
return _registers[0];
if (regNum == UNW_REG_SP)
return _registers[2];
if (regNum == UNW_RISCV_X0)
return 0;
if ((regNum > 0) && (regNum < 32))
return _registers[regNum];
_LIBUNWIND_ABORT("unsupported riscv register");
}
inline void Registers_riscv::setRegister(int regNum, uint64_t value) {
if (regNum == UNW_REG_IP)
_registers[0] = value;
else if (regNum == UNW_REG_SP)
_registers[2] = value;
else if (regNum == UNW_RISCV_X0)
/* x0 is hardwired to zero */
return;
else if ((regNum > 0) && (regNum < 32))
_registers[regNum] = value;
else
_LIBUNWIND_ABORT("unsupported riscv register");
}
inline const char *Registers_riscv::getRegisterName(int regNum) {
switch (regNum) {
case UNW_REG_IP:
return "pc";
case UNW_REG_SP:
return "sp";
case UNW_RISCV_X0:
return "zero";
case UNW_RISCV_X1:
return "ra";
case UNW_RISCV_X2:
return "sp";
case UNW_RISCV_X3:
return "gp";
case UNW_RISCV_X4:
return "tp";
case UNW_RISCV_X5:
return "t0";
case UNW_RISCV_X6:
return "t1";
case UNW_RISCV_X7:
return "t2";
case UNW_RISCV_X8:
return "s0";
case UNW_RISCV_X9:
return "s1";
case UNW_RISCV_X10:
return "a0";
case UNW_RISCV_X11:
return "a1";
case UNW_RISCV_X12:
return "a2";
case UNW_RISCV_X13:
return "a3";
case UNW_RISCV_X14:
return "a4";
case UNW_RISCV_X15:
return "a5";
case UNW_RISCV_X16:
return "a6";
case UNW_RISCV_X17:
return "a7";
case UNW_RISCV_X18:
return "s2";
case UNW_RISCV_X19:
return "s3";
case UNW_RISCV_X20:
return "s4";
case UNW_RISCV_X21:
return "s5";
case UNW_RISCV_X22:
return "s6";
case UNW_RISCV_X23:
return "s7";
case UNW_RISCV_X24:
return "s8";
case UNW_RISCV_X25:
return "s9";
case UNW_RISCV_X26:
return "s10";
case UNW_RISCV_X27:
return "s11";
case UNW_RISCV_X28:
return "t3";
case UNW_RISCV_X29:
return "t4";
case UNW_RISCV_X30:
return "t5";
case UNW_RISCV_X31:
return "t6";
case UNW_RISCV_F0:
return "ft0";
case UNW_RISCV_F1:
return "ft1";
case UNW_RISCV_F2:
return "ft2";
case UNW_RISCV_F3:
return "ft3";
case UNW_RISCV_F4:
return "ft4";
case UNW_RISCV_F5:
return "ft5";
case UNW_RISCV_F6:
return "ft6";
case UNW_RISCV_F7:
return "ft7";
case UNW_RISCV_F8:
return "fs0";
case UNW_RISCV_F9:
return "fs1";
case UNW_RISCV_F10:
return "fa0";
case UNW_RISCV_F11:
return "fa1";
case UNW_RISCV_F12:
return "fa2";
case UNW_RISCV_F13:
return "fa3";
case UNW_RISCV_F14:
return "fa4";
case UNW_RISCV_F15:
return "fa5";
case UNW_RISCV_F16:
return "fa6";
case UNW_RISCV_F17:
return "fa7";
case UNW_RISCV_F18:
return "fs2";
case UNW_RISCV_F19:
return "fs3";
case UNW_RISCV_F20:
return "fs4";
case UNW_RISCV_F21:
return "fs5";
case UNW_RISCV_F22:
return "fs6";
case UNW_RISCV_F23:
return "fs7";
case UNW_RISCV_F24:
return "fs8";
case UNW_RISCV_F25:
return "fs9";
case UNW_RISCV_F26:
return "fs10";
case UNW_RISCV_F27:
return "fs11";
case UNW_RISCV_F28:
return "ft8";
case UNW_RISCV_F29:
return "ft9";
case UNW_RISCV_F30:
return "ft10";
case UNW_RISCV_F31:
return "ft11";
default:
return "unknown register";
}
}
inline bool Registers_riscv::validFloatRegister(int regNum) const {
if (regNum < UNW_RISCV_F0)
return false;
if (regNum > UNW_RISCV_F31)
return false;
return true;
}
inline double Registers_riscv::getFloatRegister(int regNum) const {
#if 0 /* disabled by -frewrite-includes */
#if defined(__riscv_flen) && __riscv_flen == 64
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 3949 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
assert(validFloatRegister(regNum));
return _floats[regNum - UNW_RISCV_F0];
#else
# 3952 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
(void)regNum;
_LIBUNWIND_ABORT("libunwind not built with float support");
#endif
# 3955 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
}
inline void Registers_riscv::setFloatRegister(int regNum, double value) {
#if 0 /* disabled by -frewrite-includes */
#if defined(__riscv_flen) && __riscv_flen == 64
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 3959 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
assert(validFloatRegister(regNum));
_floats[regNum - UNW_RISCV_F0] = value;
#else
# 3962 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
(void)regNum;
(void)value;
_LIBUNWIND_ABORT("libunwind not built with float support");
#endif
# 3966 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
}
inline bool Registers_riscv::validVectorRegister(int) const {
return false;
}
inline v128 Registers_riscv::getVectorRegister(int) const {
_LIBUNWIND_ABORT("no riscv vector register support yet");
}
inline void Registers_riscv::setVectorRegister(int, v128) {
_LIBUNWIND_ABORT("no riscv vector register support yet");
}
#endif // _LIBUNWIND_TARGET_RISCV
# 3980 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
} // namespace libunwind
#endif // __REGISTERS_HPP__
# 3983 "/usr/src/contrib/llvm-project/libunwind/src/Registers.hpp"
# 23 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp" 2
#if 0 /* expanded by -frewrite-includes */
#include "config.h"
#endif /* expanded by -frewrite-includes */
# 24 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
# 25 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
namespace libunwind {
/// CFI_Parser does basic parsing of a CFI (Call Frame Information) records.
/// See DWARF Spec for details:
/// http://refspecs.linuxbase.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic/ehframechpt.html
///
template <typename A>
class CFI_Parser {
public:
typedef typename A::pint_t pint_t;
/// Information encoded in a CIE (Common Information Entry)
struct CIE_Info {
pint_t cieStart;
pint_t cieLength;
pint_t cieInstructions;
uint8_t pointerEncoding;
uint8_t lsdaEncoding;
uint8_t personalityEncoding;
uint8_t personalityOffsetInCIE;
pint_t personality;
uint32_t codeAlignFactor;
int dataAlignFactor;
bool isSignalFrame;
bool fdesHaveAugmentationData;
uint8_t returnAddressRegister;
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_TARGET_AARCH64)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 53 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
bool addressesSignedWithBKey;
#endif
# 55 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
};
/// Information about an FDE (Frame Description Entry)
struct FDE_Info {
pint_t fdeStart;
pint_t fdeLength;
pint_t fdeInstructions;
pint_t pcStart;
pint_t pcEnd;
pint_t lsda;
};
enum {
kMaxRegisterNumber = _LIBUNWIND_HIGHEST_DWARF_REGISTER
};
enum RegisterSavedWhere {
kRegisterUnused,
kRegisterInCFA,
kRegisterOffsetFromCFA,
kRegisterInRegister,
kRegisterAtExpression,
kRegisterIsExpression
};
struct RegisterLocation {
RegisterSavedWhere location;
bool initialStateSaved;
int64_t value;
};
/// Information about a frame layout and registers saved determined
/// by "running" the DWARF FDE "instructions"
struct PrologInfo {
uint32_t cfaRegister;
int32_t cfaRegisterOffset; // CFA = (cfaRegister)+cfaRegisterOffset
int64_t cfaExpression; // CFA = expression
uint32_t spExtraArgSize;
uint32_t codeOffsetAtStackDecrement;
bool registersInOtherRegisters;
bool sameValueUsed;
RegisterLocation savedRegisters[kMaxRegisterNumber + 1];
enum class InitializeTime { kLazy, kNormal };
// When saving registers, this data structure is lazily initialized.
PrologInfo(InitializeTime IT = InitializeTime::kNormal) {
if (IT == InitializeTime::kNormal)
memset(this, 0, sizeof(*this));
}
void checkSaveRegister(uint64_t reg, PrologInfo &initialState) {
if (!savedRegisters[reg].initialStateSaved) {
initialState.savedRegisters[reg] = savedRegisters[reg];
savedRegisters[reg].initialStateSaved = true;
}
}
void setRegister(uint64_t reg, RegisterSavedWhere newLocation,
int64_t newValue, PrologInfo &initialState) {
checkSaveRegister(reg, initialState);
savedRegisters[reg].location = newLocation;
savedRegisters[reg].value = newValue;
}
void setRegisterLocation(uint64_t reg, RegisterSavedWhere newLocation,
PrologInfo &initialState) {
checkSaveRegister(reg, initialState);
savedRegisters[reg].location = newLocation;
}
void setRegisterValue(uint64_t reg, int64_t newValue,
PrologInfo &initialState) {
checkSaveRegister(reg, initialState);
savedRegisters[reg].value = newValue;
}
void restoreRegisterToInitialState(uint64_t reg, PrologInfo &initialState) {
if (savedRegisters[reg].initialStateSaved)
savedRegisters[reg] = initialState.savedRegisters[reg];
// else the register still holds its initial state
}
};
struct PrologInfoStackEntry {
PrologInfoStackEntry(PrologInfoStackEntry *n, const PrologInfo &i)
: next(n), info(i) {}
PrologInfoStackEntry *next;
PrologInfo info;
};
static bool findFDE(A &addressSpace, pint_t pc, pint_t ehSectionStart,
uint32_t sectionLength, pint_t fdeHint, FDE_Info *fdeInfo,
CIE_Info *cieInfo);
static const char *decodeFDE(A &addressSpace, pint_t fdeStart,
FDE_Info *fdeInfo, CIE_Info *cieInfo);
static bool parseFDEInstructions(A &addressSpace, const FDE_Info &fdeInfo,
const CIE_Info &cieInfo, pint_t upToPC,
int arch, PrologInfo *results);
static const char *parseCIE(A &addressSpace, pint_t cie, CIE_Info *cieInfo);
private:
static bool parseInstructions(A &addressSpace, pint_t instructions,
pint_t instructionsEnd, const CIE_Info &cieInfo,
pint_t pcoffset,
PrologInfoStackEntry *&rememberStack, int arch,
PrologInfo *results);
};
/// Parse a FDE into a CIE_Info and an FDE_Info
template <typename A>
const char *CFI_Parser<A>::decodeFDE(A &addressSpace, pint_t fdeStart,
FDE_Info *fdeInfo, CIE_Info *cieInfo) {
pint_t p = fdeStart;
pint_t cfiLength = (pint_t)addressSpace.get32(p);
p += 4;
if (cfiLength == 0xffffffff) {
// 0xffffffff means length is really next 8 bytes
cfiLength = (pint_t)addressSpace.get64(p);
p += 8;
}
if (cfiLength == 0)
return "FDE has zero length"; // end marker
uint32_t ciePointer = addressSpace.get32(p);
if (ciePointer == 0)
return "FDE is really a CIE"; // this is a CIE not an FDE
pint_t nextCFI = p + cfiLength;
pint_t cieStart = p - ciePointer;
const char *err = parseCIE(addressSpace, cieStart, cieInfo);
if (err != NULL)
return err;
p += 4;
// Parse pc begin and range.
pint_t pcStart =
addressSpace.getEncodedP(p, nextCFI, cieInfo->pointerEncoding);
pint_t pcRange =
addressSpace.getEncodedP(p, nextCFI, cieInfo->pointerEncoding & 0x0F);
// Parse rest of info.
fdeInfo->lsda = 0;
// Check for augmentation length.
if (cieInfo->fdesHaveAugmentationData) {
pint_t augLen = (pint_t)addressSpace.getULEB128(p, nextCFI);
pint_t endOfAug = p + augLen;
if (cieInfo->lsdaEncoding != DW_EH_PE_omit) {
// Peek at value (without indirection). Zero means no LSDA.
pint_t lsdaStart = p;
if (addressSpace.getEncodedP(p, nextCFI, cieInfo->lsdaEncoding & 0x0F) !=
0) {
// Reset pointer and re-parse LSDA address.
p = lsdaStart;
fdeInfo->lsda =
addressSpace.getEncodedP(p, nextCFI, cieInfo->lsdaEncoding);
}
}
p = endOfAug;
}
fdeInfo->fdeStart = fdeStart;
fdeInfo->fdeLength = nextCFI - fdeStart;
fdeInfo->fdeInstructions = p;
fdeInfo->pcStart = pcStart;
fdeInfo->pcEnd = pcStart + pcRange;
return NULL; // success
}
/// Scan an eh_frame section to find an FDE for a pc
template <typename A>
bool CFI_Parser<A>::findFDE(A &addressSpace, pint_t pc, pint_t ehSectionStart,
uint32_t sectionLength, pint_t fdeHint,
FDE_Info *fdeInfo, CIE_Info *cieInfo) {
//fprintf(stderr, "findFDE(0x%llX)\n", (long long)pc);
pint_t p = (fdeHint != 0) ? fdeHint : ehSectionStart;
const pint_t ehSectionEnd = p + sectionLength;
while (p < ehSectionEnd) {
pint_t currentCFI = p;
//fprintf(stderr, "findFDE() CFI at 0x%llX\n", (long long)p);
pint_t cfiLength = addressSpace.get32(p);
p += 4;
if (cfiLength == 0xffffffff) {
// 0xffffffff means length is really next 8 bytes
cfiLength = (pint_t)addressSpace.get64(p);
p += 8;
}
if (cfiLength == 0)
return false; // end marker
uint32_t id = addressSpace.get32(p);
if (id == 0) {
// Skip over CIEs.
p += cfiLength;
} else {
// Process FDE to see if it covers pc.
pint_t nextCFI = p + cfiLength;
uint32_t ciePointer = addressSpace.get32(p);
pint_t cieStart = p - ciePointer;
// Validate pointer to CIE is within section.
if ((ehSectionStart <= cieStart) && (cieStart < ehSectionEnd)) {
if (parseCIE(addressSpace, cieStart, cieInfo) == NULL) {
p += 4;
// Parse pc begin and range.
pint_t pcStart =
addressSpace.getEncodedP(p, nextCFI, cieInfo->pointerEncoding);
pint_t pcRange = addressSpace.getEncodedP(
p, nextCFI, cieInfo->pointerEncoding & 0x0F);
// Test if pc is within the function this FDE covers.
if ((pcStart < pc) && (pc <= pcStart + pcRange)) {
// parse rest of info
fdeInfo->lsda = 0;
// check for augmentation length
if (cieInfo->fdesHaveAugmentationData) {
pint_t augLen = (pint_t)addressSpace.getULEB128(p, nextCFI);
pint_t endOfAug = p + augLen;
if (cieInfo->lsdaEncoding != DW_EH_PE_omit) {
// Peek at value (without indirection). Zero means no LSDA.
pint_t lsdaStart = p;
if (addressSpace.getEncodedP(
p, nextCFI, cieInfo->lsdaEncoding & 0x0F) != 0) {
// Reset pointer and re-parse LSDA address.
p = lsdaStart;
fdeInfo->lsda = addressSpace
.getEncodedP(p, nextCFI, cieInfo->lsdaEncoding);
}
}
p = endOfAug;
}
fdeInfo->fdeStart = currentCFI;
fdeInfo->fdeLength = nextCFI - currentCFI;
fdeInfo->fdeInstructions = p;
fdeInfo->pcStart = pcStart;
fdeInfo->pcEnd = pcStart + pcRange;
return true;
} else {
// pc is not in begin/range, skip this FDE
}
} else {
// Malformed CIE, now augmentation describing pc range encoding.
}
} else {
// malformed FDE. CIE is bad
}
p = nextCFI;
}
}
return false;
}
/// Extract info from a CIE
template <typename A>
const char *CFI_Parser<A>::parseCIE(A &addressSpace, pint_t cie,
CIE_Info *cieInfo) {
cieInfo->pointerEncoding = 0;
cieInfo->lsdaEncoding = DW_EH_PE_omit;
cieInfo->personalityEncoding = 0;
cieInfo->personalityOffsetInCIE = 0;
cieInfo->personality = 0;
cieInfo->codeAlignFactor = 0;
cieInfo->dataAlignFactor = 0;
cieInfo->isSignalFrame = false;
cieInfo->fdesHaveAugmentationData = false;
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_TARGET_AARCH64)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 305 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
cieInfo->addressesSignedWithBKey = false;
#endif
# 307 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
cieInfo->cieStart = cie;
pint_t p = cie;
pint_t cieLength = (pint_t)addressSpace.get32(p);
p += 4;
pint_t cieContentEnd = p + cieLength;
if (cieLength == 0xffffffff) {
// 0xffffffff means length is really next 8 bytes
cieLength = (pint_t)addressSpace.get64(p);
p += 8;
cieContentEnd = p + cieLength;
}
if (cieLength == 0)
return NULL;
// CIE ID is always 0
if (addressSpace.get32(p) != 0)
return "CIE ID is not zero";
p += 4;
// Version is always 1 or 3
uint8_t version = addressSpace.get8(p);
if ((version != 1) && (version != 3))
return "CIE version is not 1 or 3";
++p;
// save start of augmentation string and find end
pint_t strStart = p;
while (addressSpace.get8(p) != 0)
++p;
++p;
// parse code aligment factor
cieInfo->codeAlignFactor = (uint32_t)addressSpace.getULEB128(p, cieContentEnd);
// parse data alignment factor
cieInfo->dataAlignFactor = (int)addressSpace.getSLEB128(p, cieContentEnd);
// parse return address register
uint64_t raReg = addressSpace.getULEB128(p, cieContentEnd);
assert(raReg < 255 && "return address register too large");
cieInfo->returnAddressRegister = (uint8_t)raReg;
// parse augmentation data based on augmentation string
const char *result = NULL;
if (addressSpace.get8(strStart) == 'z') {
// parse augmentation data length
addressSpace.getULEB128(p, cieContentEnd);
for (pint_t s = strStart; addressSpace.get8(s) != '\0'; ++s) {
switch (addressSpace.get8(s)) {
case 'z':
cieInfo->fdesHaveAugmentationData = true;
break;
case 'P':
cieInfo->personalityEncoding = addressSpace.get8(p);
++p;
cieInfo->personalityOffsetInCIE = (uint8_t)(p - cie);
cieInfo->personality = addressSpace
.getEncodedP(p, cieContentEnd, cieInfo->personalityEncoding);
break;
case 'L':
cieInfo->lsdaEncoding = addressSpace.get8(p);
++p;
break;
case 'R':
cieInfo->pointerEncoding = addressSpace.get8(p);
++p;
break;
case 'S':
cieInfo->isSignalFrame = true;
break;
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_TARGET_AARCH64)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 371 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
case 'B':
cieInfo->addressesSignedWithBKey = true;
break;
#endif
# 375 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
default:
// ignore unknown letters
break;
}
}
}
cieInfo->cieLength = cieContentEnd - cieInfo->cieStart;
cieInfo->cieInstructions = p;
return result;
}
/// "run" the DWARF instructions and create the abstact PrologInfo for an FDE
template <typename A>
bool CFI_Parser<A>::parseFDEInstructions(A &addressSpace,
const FDE_Info &fdeInfo,
const CIE_Info &cieInfo, pint_t upToPC,
int arch, PrologInfo *results) {
PrologInfoStackEntry *rememberStack = NULL;
// parse CIE then FDE instructions
bool returnValue =
parseInstructions(addressSpace, cieInfo.cieInstructions,
cieInfo.cieStart + cieInfo.cieLength, cieInfo,
(pint_t)(-1), rememberStack, arch, results) &&
parseInstructions(addressSpace, fdeInfo.fdeInstructions,
fdeInfo.fdeStart + fdeInfo.fdeLength, cieInfo,
upToPC - fdeInfo.pcStart, rememberStack, arch, results);
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBUNWIND_NO_HEAP)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 405 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
// Clean up rememberStack. Even in the case where every DW_CFA_remember_state
// is paired with a DW_CFA_restore_state, parseInstructions can skip restore
// opcodes if it reaches the target PC and stops interpreting, so we have to
// make sure we don't leak memory.
while (rememberStack) {
PrologInfoStackEntry *next = rememberStack->next;
free(rememberStack);
rememberStack = next;
}
#endif
# 415 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
return returnValue;
}
/// "run" the DWARF instructions
template <typename A>
bool CFI_Parser<A>::parseInstructions(A &addressSpace, pint_t instructions,
pint_t instructionsEnd,
const CIE_Info &cieInfo, pint_t pcoffset,
PrologInfoStackEntry *&rememberStack,
int arch, PrologInfo *results) {
pint_t p = instructions;
pint_t codeOffset = 0;
// initialState initialized as registers in results are modified. Use
// PrologInfo accessor functions to avoid reading uninitialized data.
PrologInfo initialState(PrologInfo::InitializeTime::kLazy);
_LIBUNWIND_TRACE_DWARF("parseInstructions(instructions=0x%0" PRIx64 ")\n",
static_cast<uint64_t>(instructionsEnd));
// see DWARF Spec, section 6.4.2 for details on unwind opcodes
while ((p < instructionsEnd) && (codeOffset < pcoffset)) {
uint64_t reg;
uint64_t reg2;
int64_t offset;
uint64_t length;
uint8_t opcode = addressSpace.get8(p);
uint8_t operand;
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBUNWIND_NO_HEAP)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 444 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
PrologInfoStackEntry *entry;
#endif
# 446 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
++p;
switch (opcode) {
case DW_CFA_nop:
_LIBUNWIND_TRACE_DWARF("DW_CFA_nop\n");
break;
case DW_CFA_set_loc:
codeOffset =
addressSpace.getEncodedP(p, instructionsEnd, cieInfo.pointerEncoding);
_LIBUNWIND_TRACE_DWARF("DW_CFA_set_loc\n");
break;
case DW_CFA_advance_loc1:
codeOffset += (addressSpace.get8(p) * cieInfo.codeAlignFactor);
p += 1;
_LIBUNWIND_TRACE_DWARF("DW_CFA_advance_loc1: new offset=%" PRIu64 "\n",
static_cast<uint64_t>(codeOffset));
break;
case DW_CFA_advance_loc2:
codeOffset += (addressSpace.get16(p) * cieInfo.codeAlignFactor);
p += 2;
_LIBUNWIND_TRACE_DWARF("DW_CFA_advance_loc2: new offset=%" PRIu64 "\n",
static_cast<uint64_t>(codeOffset));
break;
case DW_CFA_advance_loc4:
codeOffset += (addressSpace.get32(p) * cieInfo.codeAlignFactor);
p += 4;
_LIBUNWIND_TRACE_DWARF("DW_CFA_advance_loc4: new offset=%" PRIu64 "\n",
static_cast<uint64_t>(codeOffset));
break;
case DW_CFA_offset_extended:
reg = addressSpace.getULEB128(p, instructionsEnd);
offset = (int64_t)addressSpace.getULEB128(p, instructionsEnd)
* cieInfo.dataAlignFactor;
if (reg > kMaxRegisterNumber) {
_LIBUNWIND_LOG0(
"malformed DW_CFA_offset_extended DWARF unwind, reg too big");
return false;
}
results->setRegister(reg, kRegisterInCFA, offset, initialState);
_LIBUNWIND_TRACE_DWARF("DW_CFA_offset_extended(reg=%" PRIu64 ", "
"offset=%" PRId64 ")\n",
reg, offset);
break;
case DW_CFA_restore_extended:
reg = addressSpace.getULEB128(p, instructionsEnd);
if (reg > kMaxRegisterNumber) {
_LIBUNWIND_LOG0(
"malformed DW_CFA_restore_extended DWARF unwind, reg too big");
return false;
}
results->restoreRegisterToInitialState(reg, initialState);
_LIBUNWIND_TRACE_DWARF("DW_CFA_restore_extended(reg=%" PRIu64 ")\n", reg);
break;
case DW_CFA_undefined:
reg = addressSpace.getULEB128(p, instructionsEnd);
if (reg > kMaxRegisterNumber) {
_LIBUNWIND_LOG0(
"malformed DW_CFA_undefined DWARF unwind, reg too big");
return false;
}
results->setRegisterLocation(reg, kRegisterUnused, initialState);
_LIBUNWIND_TRACE_DWARF("DW_CFA_undefined(reg=%" PRIu64 ")\n", reg);
break;
case DW_CFA_same_value:
reg = addressSpace.getULEB128(p, instructionsEnd);
if (reg > kMaxRegisterNumber) {
_LIBUNWIND_LOG0(
"malformed DW_CFA_same_value DWARF unwind, reg too big");
return false;
}
// <rdar://problem/8456377> DW_CFA_same_value unsupported
// "same value" means register was stored in frame, but its current
// value has not changed, so no need to restore from frame.
// We model this as if the register was never saved.
results->setRegisterLocation(reg, kRegisterUnused, initialState);
// set flag to disable conversion to compact unwind
results->sameValueUsed = true;
_LIBUNWIND_TRACE_DWARF("DW_CFA_same_value(reg=%" PRIu64 ")\n", reg);
break;
case DW_CFA_register:
reg = addressSpace.getULEB128(p, instructionsEnd);
reg2 = addressSpace.getULEB128(p, instructionsEnd);
if (reg > kMaxRegisterNumber) {
_LIBUNWIND_LOG0(
"malformed DW_CFA_register DWARF unwind, reg too big");
return false;
}
if (reg2 > kMaxRegisterNumber) {
_LIBUNWIND_LOG0(
"malformed DW_CFA_register DWARF unwind, reg2 too big");
return false;
}
results->setRegister(reg, kRegisterInRegister, (int64_t)reg2,
initialState);
// set flag to disable conversion to compact unwind
results->registersInOtherRegisters = true;
_LIBUNWIND_TRACE_DWARF(
"DW_CFA_register(reg=%" PRIu64 ", reg2=%" PRIu64 ")\n", reg, reg2);
break;
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBUNWIND_NO_HEAP)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 545 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
case DW_CFA_remember_state:
// avoid operator new, because that would be an upward dependency
entry = (PrologInfoStackEntry *)malloc(sizeof(PrologInfoStackEntry));
if (entry != NULL) {
entry->next = rememberStack;
entry->info = *results;
rememberStack = entry;
} else {
return false;
}
_LIBUNWIND_TRACE_DWARF("DW_CFA_remember_state\n");
break;
case DW_CFA_restore_state:
if (rememberStack != NULL) {
PrologInfoStackEntry *top = rememberStack;
*results = top->info;
rememberStack = top->next;
free((char *)top);
} else {
return false;
}
_LIBUNWIND_TRACE_DWARF("DW_CFA_restore_state\n");
break;
#endif
# 569 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
case DW_CFA_def_cfa:
reg = addressSpace.getULEB128(p, instructionsEnd);
offset = (int64_t)addressSpace.getULEB128(p, instructionsEnd);
if (reg > kMaxRegisterNumber) {
_LIBUNWIND_LOG0("malformed DW_CFA_def_cfa DWARF unwind, reg too big");
return false;
}
results->cfaRegister = (uint32_t)reg;
results->cfaRegisterOffset = (int32_t)offset;
_LIBUNWIND_TRACE_DWARF(
"DW_CFA_def_cfa(reg=%" PRIu64 ", offset=%" PRIu64 ")\n", reg, offset);
break;
case DW_CFA_def_cfa_register:
reg = addressSpace.getULEB128(p, instructionsEnd);
if (reg > kMaxRegisterNumber) {
_LIBUNWIND_LOG0(
"malformed DW_CFA_def_cfa_register DWARF unwind, reg too big");
return false;
}
results->cfaRegister = (uint32_t)reg;
_LIBUNWIND_TRACE_DWARF("DW_CFA_def_cfa_register(%" PRIu64 ")\n", reg);
break;
case DW_CFA_def_cfa_offset:
results->cfaRegisterOffset = (int32_t)
addressSpace.getULEB128(p, instructionsEnd);
results->codeOffsetAtStackDecrement = (uint32_t)codeOffset;
_LIBUNWIND_TRACE_DWARF("DW_CFA_def_cfa_offset(%d)\n",
results->cfaRegisterOffset);
break;
case DW_CFA_def_cfa_expression:
results->cfaRegister = 0;
results->cfaExpression = (int64_t)p;
length = addressSpace.getULEB128(p, instructionsEnd);
assert(length < static_cast<pint_t>(~0) && "pointer overflow");
p += static_cast<pint_t>(length);
_LIBUNWIND_TRACE_DWARF("DW_CFA_def_cfa_expression(expression=0x%" PRIx64
", length=%" PRIu64 ")\n",
results->cfaExpression, length);
break;
case DW_CFA_expression:
reg = addressSpace.getULEB128(p, instructionsEnd);
if (reg > kMaxRegisterNumber) {
_LIBUNWIND_LOG0(
"malformed DW_CFA_expression DWARF unwind, reg too big");
return false;
}
results->setRegister(reg, kRegisterAtExpression, (int64_t)p,
initialState);
length = addressSpace.getULEB128(p, instructionsEnd);
assert(length < static_cast<pint_t>(~0) && "pointer overflow");
p += static_cast<pint_t>(length);
_LIBUNWIND_TRACE_DWARF("DW_CFA_expression(reg=%" PRIu64 ", "
"expression=0x%" PRIx64 ", "
"length=%" PRIu64 ")\n",
reg, results->savedRegisters[reg].value, length);
break;
case DW_CFA_offset_extended_sf:
reg = addressSpace.getULEB128(p, instructionsEnd);
if (reg > kMaxRegisterNumber) {
_LIBUNWIND_LOG0(
"malformed DW_CFA_offset_extended_sf DWARF unwind, reg too big");
return false;
}
offset =
addressSpace.getSLEB128(p, instructionsEnd) * cieInfo.dataAlignFactor;
results->setRegister(reg, kRegisterInCFA, offset, initialState);
_LIBUNWIND_TRACE_DWARF("DW_CFA_offset_extended_sf(reg=%" PRIu64 ", "
"offset=%" PRId64 ")\n",
reg, offset);
break;
case DW_CFA_def_cfa_sf:
reg = addressSpace.getULEB128(p, instructionsEnd);
offset =
addressSpace.getSLEB128(p, instructionsEnd) * cieInfo.dataAlignFactor;
if (reg > kMaxRegisterNumber) {
_LIBUNWIND_LOG0(
"malformed DW_CFA_def_cfa_sf DWARF unwind, reg too big");
return false;
}
results->cfaRegister = (uint32_t)reg;
results->cfaRegisterOffset = (int32_t)offset;
_LIBUNWIND_TRACE_DWARF("DW_CFA_def_cfa_sf(reg=%" PRIu64 ", "
"offset=%" PRId64 ")\n",
reg, offset);
break;
case DW_CFA_def_cfa_offset_sf:
results->cfaRegisterOffset = (int32_t)
(addressSpace.getSLEB128(p, instructionsEnd) * cieInfo.dataAlignFactor);
results->codeOffsetAtStackDecrement = (uint32_t)codeOffset;
_LIBUNWIND_TRACE_DWARF("DW_CFA_def_cfa_offset_sf(%d)\n",
results->cfaRegisterOffset);
break;
case DW_CFA_val_offset:
reg = addressSpace.getULEB128(p, instructionsEnd);
if (reg > kMaxRegisterNumber) {
_LIBUNWIND_LOG(
"malformed DW_CFA_val_offset DWARF unwind, reg (%" PRIu64
") out of range\n",
reg);
return false;
}
offset = (int64_t)addressSpace.getULEB128(p, instructionsEnd)
* cieInfo.dataAlignFactor;
results->setRegister(reg, kRegisterOffsetFromCFA, offset, initialState);
_LIBUNWIND_TRACE_DWARF("DW_CFA_val_offset(reg=%" PRIu64 ", "
"offset=%" PRId64 "\n",
reg, offset);
break;
case DW_CFA_val_offset_sf:
reg = addressSpace.getULEB128(p, instructionsEnd);
if (reg > kMaxRegisterNumber) {
_LIBUNWIND_LOG0(
"malformed DW_CFA_val_offset_sf DWARF unwind, reg too big");
return false;
}
offset =
addressSpace.getSLEB128(p, instructionsEnd) * cieInfo.dataAlignFactor;
results->setRegister(reg, kRegisterOffsetFromCFA, offset, initialState);
_LIBUNWIND_TRACE_DWARF("DW_CFA_val_offset_sf(reg=%" PRIu64 ", "
"offset=%" PRId64 "\n",
reg, offset);
break;
case DW_CFA_val_expression:
reg = addressSpace.getULEB128(p, instructionsEnd);
if (reg > kMaxRegisterNumber) {
_LIBUNWIND_LOG0(
"malformed DW_CFA_val_expression DWARF unwind, reg too big");
return false;
}
results->setRegister(reg, kRegisterIsExpression, (int64_t)p,
initialState);
length = addressSpace.getULEB128(p, instructionsEnd);
assert(length < static_cast<pint_t>(~0) && "pointer overflow");
p += static_cast<pint_t>(length);
_LIBUNWIND_TRACE_DWARF("DW_CFA_val_expression(reg=%" PRIu64 ", "
"expression=0x%" PRIx64 ", length=%" PRIu64 ")\n",
reg, results->savedRegisters[reg].value, length);
break;
case DW_CFA_GNU_args_size:
length = addressSpace.getULEB128(p, instructionsEnd);
results->spExtraArgSize = (uint32_t)length;
_LIBUNWIND_TRACE_DWARF("DW_CFA_GNU_args_size(%" PRIu64 ")\n", length);
break;
case DW_CFA_GNU_negative_offset_extended:
reg = addressSpace.getULEB128(p, instructionsEnd);
if (reg > kMaxRegisterNumber) {
_LIBUNWIND_LOG0("malformed DW_CFA_GNU_negative_offset_extended DWARF "
"unwind, reg too big");
return false;
}
offset = (int64_t)addressSpace.getULEB128(p, instructionsEnd)
* cieInfo.dataAlignFactor;
results->setRegister(reg, kRegisterInCFA, -offset, initialState);
_LIBUNWIND_TRACE_DWARF(
"DW_CFA_GNU_negative_offset_extended(%" PRId64 ")\n", offset);
break;
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_TARGET_AARCH64) || defined(_LIBUNWIND_TARGET_SPARC)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 727 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
// The same constant is used to represent different instructions on
// AArch64 (negate_ra_state) and SPARC (window_save).
static_assert(DW_CFA_AARCH64_negate_ra_state == DW_CFA_GNU_window_save,
"uses the same constant");
case DW_CFA_AARCH64_negate_ra_state:
switch (arch) {
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_TARGET_AARCH64)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 734 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
case REGISTERS_ARM64: {
int64_t value =
results->savedRegisters[UNW_ARM64_RA_SIGN_STATE].value ^ 0x1;
results->setRegisterValue(UNW_ARM64_RA_SIGN_STATE, value, initialState);
_LIBUNWIND_TRACE_DWARF("DW_CFA_AARCH64_negate_ra_state\n");
} break;
#endif
# 741 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_TARGET_SPARC)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 743 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
// case DW_CFA_GNU_window_save:
case REGISTERS_SPARC:
_LIBUNWIND_TRACE_DWARF("DW_CFA_GNU_window_save()\n");
for (reg = UNW_SPARC_O0; reg <= UNW_SPARC_O7; reg++) {
results->setRegister(reg, kRegisterInRegister,
((int64_t)reg - UNW_SPARC_O0) + UNW_SPARC_I0,
initialState);
}
for (reg = UNW_SPARC_L0; reg <= UNW_SPARC_I7; reg++) {
results->setRegister(reg, kRegisterInCFA,
((int64_t)reg - UNW_SPARC_L0) * 4, initialState);
}
break;
#endif
# 758 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
}
break;
#else
# 761 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
(void)arch;
#endif
# 763 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
default:
operand = opcode & 0x3F;
switch (opcode & 0xC0) {
case DW_CFA_offset:
reg = operand;
if (reg > kMaxRegisterNumber) {
_LIBUNWIND_LOG("malformed DW_CFA_offset DWARF unwind, reg (%" PRIu64
") out of range",
reg);
return false;
}
offset = (int64_t)addressSpace.getULEB128(p, instructionsEnd)
* cieInfo.dataAlignFactor;
results->setRegister(reg, kRegisterInCFA, offset, initialState);
_LIBUNWIND_TRACE_DWARF("DW_CFA_offset(reg=%d, offset=%" PRId64 ")\n",
operand, offset);
break;
case DW_CFA_advance_loc:
codeOffset += operand * cieInfo.codeAlignFactor;
_LIBUNWIND_TRACE_DWARF("DW_CFA_advance_loc: new offset=%" PRIu64 "\n",
static_cast<uint64_t>(codeOffset));
break;
case DW_CFA_restore:
reg = operand;
if (reg > kMaxRegisterNumber) {
_LIBUNWIND_LOG("malformed DW_CFA_restore DWARF unwind, reg (%" PRIu64
") out of range",
reg);
return false;
}
results->restoreRegisterToInitialState(reg, initialState);
_LIBUNWIND_TRACE_DWARF("DW_CFA_restore(reg=%" PRIu64 ")\n",
static_cast<uint64_t>(operand));
break;
default:
_LIBUNWIND_TRACE_DWARF("unknown CFA opcode 0x%02X\n", opcode);
return false;
}
}
}
return true;
}
} // namespace libunwind
#endif // __DWARF_PARSER_HPP__
# 811 "/usr/src/contrib/llvm-project/libunwind/src/DwarfParser.hpp"
# 18 "/usr/src/contrib/llvm-project/libunwind/src/EHHeaderParser.hpp" 2
namespace libunwind {
/// \brief EHHeaderParser does basic parsing of an ELF .eh_frame_hdr section.
///
/// See DWARF spec for details:
/// http://refspecs.linuxbase.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic/ehframechpt.html
///
template <typename A> class EHHeaderParser {
public:
typedef typename A::pint_t pint_t;
/// Information encoded in the EH frame header.
struct EHHeaderInfo {
pint_t eh_frame_ptr;
size_t fde_count;
pint_t table;
uint8_t table_enc;
};
static bool decodeEHHdr(A &addressSpace, pint_t ehHdrStart, pint_t ehHdrEnd,
EHHeaderInfo &ehHdrInfo);
static bool findFDE(A &addressSpace, pint_t pc, pint_t ehHdrStart,
uint32_t sectionLength,
typename CFI_Parser<A>::FDE_Info *fdeInfo,
typename CFI_Parser<A>::CIE_Info *cieInfo);
private:
static bool decodeTableEntry(A &addressSpace, pint_t &tableEntry,
pint_t ehHdrStart, pint_t ehHdrEnd,
uint8_t tableEnc,
typename CFI_Parser<A>::FDE_Info *fdeInfo,
typename CFI_Parser<A>::CIE_Info *cieInfo);
static size_t getTableEntrySize(uint8_t tableEnc);
};
template <typename A>
bool EHHeaderParser<A>::decodeEHHdr(A &addressSpace, pint_t ehHdrStart,
pint_t ehHdrEnd, EHHeaderInfo &ehHdrInfo) {
pint_t p = ehHdrStart;
uint8_t version = addressSpace.get8(p++);
if (version != 1) {
_LIBUNWIND_LOG0("Unsupported .eh_frame_hdr version");
return false;
}
uint8_t eh_frame_ptr_enc = addressSpace.get8(p++);
uint8_t fde_count_enc = addressSpace.get8(p++);
ehHdrInfo.table_enc = addressSpace.get8(p++);
ehHdrInfo.eh_frame_ptr =
addressSpace.getEncodedP(p, ehHdrEnd, eh_frame_ptr_enc, ehHdrStart);
ehHdrInfo.fde_count =
fde_count_enc == DW_EH_PE_omit
? 0
: addressSpace.getEncodedP(p, ehHdrEnd, fde_count_enc, ehHdrStart);
ehHdrInfo.table = p;
return true;
}
template <typename A>
bool EHHeaderParser<A>::decodeTableEntry(
A &addressSpace, pint_t &tableEntry, pint_t ehHdrStart, pint_t ehHdrEnd,
uint8_t tableEnc, typename CFI_Parser<A>::FDE_Info *fdeInfo,
typename CFI_Parser<A>::CIE_Info *cieInfo) {
// Have to decode the whole FDE for the PC range anyway, so just throw away
// the PC start.
addressSpace.getEncodedP(tableEntry, ehHdrEnd, tableEnc, ehHdrStart);
pint_t fde =
addressSpace.getEncodedP(tableEntry, ehHdrEnd, tableEnc, ehHdrStart);
const char *message =
CFI_Parser<A>::decodeFDE(addressSpace, fde, fdeInfo, cieInfo);
if (message != NULL) {
_LIBUNWIND_DEBUG_LOG("EHHeaderParser::decodeTableEntry: bad fde: %s",
message);
return false;
}
return true;
}
template <typename A>
bool EHHeaderParser<A>::findFDE(A &addressSpace, pint_t pc, pint_t ehHdrStart,
uint32_t sectionLength,
typename CFI_Parser<A>::FDE_Info *fdeInfo,
typename CFI_Parser<A>::CIE_Info *cieInfo) {
pint_t ehHdrEnd = ehHdrStart + sectionLength;
EHHeaderParser<A>::EHHeaderInfo hdrInfo;
if (!EHHeaderParser<A>::decodeEHHdr(addressSpace, ehHdrStart, ehHdrEnd,
hdrInfo))
return false;
if (hdrInfo.fde_count == 0) return false;
size_t tableEntrySize = getTableEntrySize(hdrInfo.table_enc);
pint_t tableEntry;
size_t low = 0;
for (size_t len = hdrInfo.fde_count; len > 1;) {
size_t mid = low + (len / 2);
tableEntry = hdrInfo.table + mid * tableEntrySize;
pint_t start = addressSpace.getEncodedP(tableEntry, ehHdrEnd,
hdrInfo.table_enc, ehHdrStart);
if (start == pc) {
low = mid;
break;
} else if (start < pc) {
low = mid;
len -= (len / 2);
} else {
len /= 2;
}
}
tableEntry = hdrInfo.table + low * tableEntrySize;
if (decodeTableEntry(addressSpace, tableEntry, ehHdrStart, ehHdrEnd,
hdrInfo.table_enc, fdeInfo, cieInfo)) {
if (pc >= fdeInfo->pcStart && pc < fdeInfo->pcEnd)
return true;
}
return false;
}
template <typename A>
size_t EHHeaderParser<A>::getTableEntrySize(uint8_t tableEnc) {
switch (tableEnc & 0x0f) {
case DW_EH_PE_sdata2:
case DW_EH_PE_udata2:
return 4;
case DW_EH_PE_sdata4:
case DW_EH_PE_udata4:
return 8;
case DW_EH_PE_sdata8:
case DW_EH_PE_udata8:
return 16;
case DW_EH_PE_sleb128:
case DW_EH_PE_uleb128:
_LIBUNWIND_ABORT("Can't binary search on variable length encoded data.");
case DW_EH_PE_omit:
return 0;
default:
_LIBUNWIND_ABORT("Unknown DWARF encoding for search table.");
}
}
}
#endif
# 170 "/usr/src/contrib/llvm-project/libunwind/src/EHHeaderParser.hpp"
# 53 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp" 2
#if 0 /* expanded by -frewrite-includes */
#include "Registers.hpp"
#endif /* expanded by -frewrite-includes */
# 53 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
# 54 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#ifdef __APPLE__
struct dyld_unwind_sections
{
const struct mach_header* mh;
const void* dwarf_section;
uintptr_t dwarf_section_length;
const void* compact_unwind_section;
uintptr_t compact_unwind_section_length;
};
#if 0 /* disabled by -frewrite-includes */
#if (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) \
&& (__MAC_OS_X_VERSION_MIN_REQUIRED >= 1070)) \
|| defined(__IPHONE_OS_VERSION_MIN_REQUIRED)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 68 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
// In 10.7.0 or later, libSystem.dylib implements this function.
extern "C" bool _dyld_find_unwind_sections(void *, dyld_unwind_sections *);
#else
# 71 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
// In 10.6.x and earlier, we need to implement this functionality. Note
// that this requires a newer version of libmacho (from cctools) than is
// present in libSystem on 10.6.x (for getsectiondata).
static inline bool _dyld_find_unwind_sections(void* addr,
dyld_unwind_sections* info) {
// Find mach-o image containing address.
Dl_info dlinfo;
if (!dladdr(addr, &dlinfo))
return false;
#if 0 /* disabled by -frewrite-includes */
#if __LP64__
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 81 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
const struct mach_header_64 *mh = (const struct mach_header_64 *)dlinfo.dli_fbase;
#else
# 83 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
const struct mach_header *mh = (const struct mach_header *)dlinfo.dli_fbase;
#endif
# 85 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
// Initialize the return struct
info->mh = (const struct mach_header *)mh;
info->dwarf_section = getsectiondata(mh, "__TEXT", "__eh_frame", &info->dwarf_section_length);
info->compact_unwind_section = getsectiondata(mh, "__TEXT", "__unwind_info", &info->compact_unwind_section_length);
if (!info->dwarf_section) {
info->dwarf_section_length = 0;
}
if (!info->compact_unwind_section) {
info->compact_unwind_section_length = 0;
}
return true;
}
#endif
# 102 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND) && defined(_LIBUNWIND_IS_BAREMETAL)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 104 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
// When statically linked on bare-metal, the symbols for the EH table are looked
// up without going through the dynamic loader.
// The following linker script may be used to produce the necessary sections and symbols.
// Unless the --eh-frame-hdr linker option is provided, the section is not generated
// and does not take space in the output file.
//
// .eh_frame :
// {
// __eh_frame_start = .;
// KEEP(*(.eh_frame))
// __eh_frame_end = .;
// }
//
// .eh_frame_hdr :
// {
// KEEP(*(.eh_frame_hdr))
// }
//
// __eh_frame_hdr_start = SIZEOF(.eh_frame_hdr) > 0 ? ADDR(.eh_frame_hdr) : 0;
// __eh_frame_hdr_end = SIZEOF(.eh_frame_hdr) > 0 ? . : 0;
extern char __eh_frame_start;
extern char __eh_frame_end;
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_SUPPORT_DWARF_INDEX)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 131 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
extern char __eh_frame_hdr_start;
extern char __eh_frame_hdr_end;
#endif
# 134 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBUNWIND_ARM_EHABI) && defined(_LIBUNWIND_IS_BAREMETAL)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 136 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
// When statically linked on bare-metal, the symbols for the EH table are looked
// up without going through the dynamic loader.
extern char __exidx_start;
extern char __exidx_end;
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBUNWIND_ARM_EHABI) || defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND)
#endif
#endif /* disabled by -frewrite-includes */
#elif 1 /* evaluated by -frewrite-includes */
# 143 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
// ELF-based systems may use dl_iterate_phdr() to access sections
// containing unwinding information. The ElfW() macro for pointer-size
// independent ELF header traversal is not provided by <link.h> on some
// systems (e.g., FreeBSD). On these systems the data structures are
// just called Elf_XXX. Define ElfW() locally.
#ifndef _WIN32
#if 0 /* expanded by -frewrite-includes */
#include <link.h>
#endif /* expanded by -frewrite-includes */
# 150 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/link.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-4-Clause
*
* 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$
*/
#if 0 /* expanded by -frewrite-includes */
#include <sys/link_elf.h>
#endif /* expanded by -frewrite-includes */
# 35 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/link.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/link_elf.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-4-Clause
*
* 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$
*/
/*
* 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 */
# 46 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/link_elf.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-2-Clause-FreeBSD
*
* 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$
*/
/*
* 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 */
# 38 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-3-Clause
*
* 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.
* 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.
*
* @(#)types.h 8.6 (Berkeley) 2/19/95
* $FreeBSD$
*/
#ifndef _SYS_TYPES_H_
#define _SYS_TYPES_H_
#if 0 /* expanded by -frewrite-includes */
#include <sys/cdefs.h>
#endif /* expanded by -frewrite-includes */
# 43 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
# 44 "/usr/obj/usr/src/arm64.aarch64/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 */
# 46 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
# 47 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#if 0 /* expanded by -frewrite-includes */
#include <sys/_types.h>
#endif /* expanded by -frewrite-includes */
# 47 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
# 48 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#if 0 /* expanded by -frewrite-includes */
#include <sys/_pthreadtypes.h>
#endif /* expanded by -frewrite-includes */
# 49 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_pthreadtypes.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-3-Clause
*
* 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$
*/
#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
# 70 "/usr/obj/usr/src/arm64.aarch64/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_ */
# 101 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_pthreadtypes.h" 3 4
# 50 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 2 3 4
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 52 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
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
# 60 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#endif
# 61 "/usr/obj/usr/src/arm64.aarch64/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 */
# 65 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
# 66 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 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
# 83 "/usr/obj/usr/src/arm64.aarch64/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
# 92 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#ifndef _CLOCK_T_DECLARED
typedef __clock_t clock_t;
#define _CLOCK_T_DECLARED
#endif
# 97 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#ifndef _CLOCKID_T_DECLARED
typedef __clockid_t clockid_t;
#define _CLOCKID_T_DECLARED
#endif
# 102 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
typedef __critical_t critical_t; /* Critical section value */
typedef __daddr_t daddr_t; /* disk address */
#ifndef _DEV_T_DECLARED
typedef __dev_t dev_t; /* device number or struct cdev */
#define _DEV_T_DECLARED
#endif
# 110 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#ifndef _FFLAGS_T_DECLARED
typedef __fflags_t fflags_t; /* file flags */
#define _FFLAGS_T_DECLARED
#endif
# 115 "/usr/obj/usr/src/arm64.aarch64/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
# 123 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#ifndef _GID_T_DECLARED
typedef __gid_t gid_t; /* group id */
#define _GID_T_DECLARED
#endif
# 128 "/usr/obj/usr/src/arm64.aarch64/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
# 133 "/usr/obj/usr/src/arm64.aarch64/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
# 138 "/usr/obj/usr/src/arm64.aarch64/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
# 143 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#ifndef _INO_T_DECLARED
typedef __ino_t ino_t; /* inode number */
#define _INO_T_DECLARED
#endif
# 148 "/usr/obj/usr/src/arm64.aarch64/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
# 153 "/usr/obj/usr/src/arm64.aarch64/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
# 158 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#ifndef _MODE_T_DECLARED
typedef __mode_t mode_t; /* permissions */
#define _MODE_T_DECLARED
#endif
# 163 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#ifndef _ACCMODE_T_DECLARED
typedef __accmode_t accmode_t; /* access permissions */
#define _ACCMODE_T_DECLARED
#endif
# 168 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#ifndef _NLINK_T_DECLARED
typedef __nlink_t nlink_t; /* link count */
#define _NLINK_T_DECLARED
#endif
# 173 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#ifndef _OFF_T_DECLARED
typedef __off_t off_t; /* file offset */
#define _OFF_T_DECLARED
#endif
# 178 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#ifndef _OFF64_T_DECLARED
typedef __off64_t off64_t; /* file offset (alias) */
#define _OFF64_T_DECLARED
#endif
# 183 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#ifndef _PID_T_DECLARED
typedef __pid_t pid_t; /* process id */
#define _PID_T_DECLARED
#endif
# 188 "/usr/obj/usr/src/arm64.aarch64/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
# 195 "/usr/obj/usr/src/arm64.aarch64/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
# 204 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#ifndef _SSIZE_T_DECLARED
typedef __ssize_t ssize_t;
#define _SSIZE_T_DECLARED
#endif
# 209 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#ifndef _SUSECONDS_T_DECLARED
typedef __suseconds_t suseconds_t; /* microseconds (signed) */
#define _SUSECONDS_T_DECLARED
#endif
# 214 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#ifndef _TIME_T_DECLARED
typedef __time_t time_t;
#define _TIME_T_DECLARED
#endif
# 219 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#ifndef _TIMER_T_DECLARED
typedef __timer_t timer_t;
#define _TIMER_T_DECLARED
#endif
# 224 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#ifndef _MQD_T_DECLARED
typedef __mqd_t mqd_t;
#define _MQD_T_DECLARED
#endif
# 229 "/usr/obj/usr/src/arm64.aarch64/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
# 236 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#ifndef _USECONDS_T_DECLARED
typedef __useconds_t useconds_t; /* microseconds (unsigned) */
#define _USECONDS_T_DECLARED
#endif
# 241 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#ifndef _CAP_IOCTL_T_DECLARED
#define _CAP_IOCTL_T_DECLARED
typedef unsigned long cap_ioctl_t;
#endif
# 246 "/usr/obj/usr/src/arm64.aarch64/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
# 253 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
/*
* Types suitable for exporting physical addresses, virtual addresses
* (pointers), and memory object sizes from the kernel independent of native
* word size. These should be used in place of vm_paddr_t, (u)intptr_t, and
* size_t in structs which contain such types that are shared with userspace.
*/
typedef __uint64_t kpaddr_t;
typedef __uint64_t kvaddr_t;
typedef __uint64_t ksize_t;
typedef __int64_t kssize_t;
typedef __vm_offset_t vm_offset_t;
typedef __uint64_t vm_ooffset_t;
typedef __vm_paddr_t vm_paddr_t;
typedef __uint64_t vm_pindex_t;
typedef __vm_size_t vm_size_t;
typedef __rman_res_t rman_res_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;
#define offsetof(type, field) __offsetof(type, field)
#endif /* _KERNEL */
# 297 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if defined(_KERNEL) || defined(_STANDALONE)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 299 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if !defined(__bool_true_false_are_defined) && !defined(__cplusplus)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 300 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#define __bool_true_false_are_defined 1
#define false 0
#define true 1
typedef _Bool bool;
#endif /* !__bool_true_false_are_defined && !__cplusplus */
# 305 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#endif /* KERNEL || _STANDALONE */
# 306 "/usr/obj/usr/src/arm64.aarch64/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.
*/
#ifdef __POPCNT__
#define __bitcount64(x) __builtin_popcountll((__uint64_t)(x))
#define __bitcount32(x) __builtin_popcount((__uint32_t)(x))
#define __bitcount16(x) __builtin_popcount((__uint16_t)(x))
#define __bitcountl(x) __builtin_popcountl((unsigned long)(x))
#define __bitcount(x) __builtin_popcount((unsigned int)(x))
#else
# 319 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
/*
* Population count algorithm using SWAR approach
* - "SIMD Within A Register".
*/
static __inline __uint16_t
__bitcount16(__uint16_t _x)
{
_x = (_x & 0x5555) + ((_x & 0xaaaa) >> 1);
_x = (_x & 0x3333) + ((_x & 0xcccc) >> 2);
_x = (_x + (_x >> 4)) & 0x0f0f;
_x = (_x + (_x >> 8)) & 0x00ff;
return (_x);
}
static __inline __uint32_t
__bitcount32(__uint32_t _x)
{
_x = (_x & 0x55555555) + ((_x & 0xaaaaaaaa) >> 1);
_x = (_x & 0x33333333) + ((_x & 0xcccccccc) >> 2);
_x = (_x + (_x >> 4)) & 0x0f0f0f0f;
_x = (_x + (_x >> 8));
_x = (_x + (_x >> 16)) & 0x000000ff;
return (_x);
}
#ifdef __LP64__
static __inline __uint64_t
__bitcount64(__uint64_t _x)
{
_x = (_x & 0x5555555555555555) + ((_x & 0xaaaaaaaaaaaaaaaa) >> 1);
_x = (_x & 0x3333333333333333) + ((_x & 0xcccccccccccccccc) >> 2);
_x = (_x + (_x >> 4)) & 0x0f0f0f0f0f0f0f0f;
_x = (_x + (_x >> 8));
_x = (_x + (_x >> 16));
_x = (_x + (_x >> 32)) & 0x000000ff;
return (_x);
}
#define __bitcountl(x) __bitcount64((unsigned long)(x))
#else
# 362 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
static __inline __uint64_t
__bitcount64(__uint64_t _x)
{
return (__bitcount32(_x >> 32) + __bitcount32(_x));
}
#define __bitcountl(x) __bitcount32((unsigned long)(x))
#endif
# 371 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#define __bitcount(x) __bitcount32((unsigned int)(x))
#endif
# 373 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 375 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#if 0 /* expanded by -frewrite-includes */
#include <sys/select.h>
#endif /* expanded by -frewrite-includes */
# 376 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-3-Clause
*
* 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.
* 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.
*
* $FreeBSD$
*/
#ifndef _SYS_SELECT_H_
#define _SYS_SELECT_H_
#if 0 /* expanded by -frewrite-includes */
#include <sys/cdefs.h>
#endif /* expanded by -frewrite-includes */
# 37 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4
# 38 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4
#if 0 /* expanded by -frewrite-includes */
#include <sys/_types.h>
#endif /* expanded by -frewrite-includes */
# 38 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4
# 39 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4
#if 0 /* expanded by -frewrite-includes */
#include <sys/_sigset.h>
#endif /* expanded by -frewrite-includes */
# 40 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_sigset.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-3-Clause
*
* 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.
* 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.
*
* @(#)signal.h 8.4 (Berkeley) 5/4/95
* $FreeBSD$
*/
#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) (1U << (_SIG_IDX(sig) & 31))
#define _SIG_VALID(sig) ((sig) <= _SIG_MAXSIG && (sig) > 0)
typedef struct __sigset {
__uint32_t __bits[_SIG_WORDS];
} __sigset_t;
#if 0 /* disabled by -frewrite-includes */
#if defined(_KERNEL) && defined(COMPAT_43)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 58 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_sigset.h" 3 4
typedef unsigned int osigset_t;
#endif
# 60 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_sigset.h" 3 4
#endif /* !_SYS__SIGSET_H_ */
# 62 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_sigset.h" 3 4
# 41 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 2 3 4
#if 0 /* expanded by -frewrite-includes */
#include <sys/_timeval.h>
#endif /* expanded by -frewrite-includes */
# 41 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_timeval.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-2-Clause-FreeBSD
*
* 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$
*/
#ifndef _SYS__TIMEVAL_H_
#define _SYS__TIMEVAL_H_
#if 0 /* expanded by -frewrite-includes */
#include <sys/_types.h>
#endif /* expanded by -frewrite-includes */
# 34 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_timeval.h" 3 4
# 35 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_timeval.h" 3 4
#ifndef _SUSECONDS_T_DECLARED
typedef __suseconds_t suseconds_t;
#define _SUSECONDS_T_DECLARED
#endif
# 40 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_timeval.h" 3 4
#ifndef _TIME_T_DECLARED
typedef __time_t time_t;
#define _TIME_T_DECLARED
#endif
# 45 "/usr/obj/usr/src/arm64.aarch64/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_ */
# 55 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_timeval.h" 3 4
# 42 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 2 3 4
#if 0 /* expanded by -frewrite-includes */
#include <sys/timespec.h>
#endif /* expanded by -frewrite-includes */
# 42 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/timespec.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-3-Clause
*
* 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.
* 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.5 (Berkeley) 5/4/95
* from: FreeBSD: src/sys/sys/time.h,v 1.43 2000/03/20 14:09:05 phk Exp
* $FreeBSD$
*/
#ifndef _SYS_TIMESPEC_H_
#define _SYS_TIMESPEC_H_
#if 0 /* expanded by -frewrite-includes */
#include <sys/cdefs.h>
#endif /* expanded by -frewrite-includes */
# 39 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/timespec.h" 3 4
# 40 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/timespec.h" 3 4
#if 0 /* expanded by -frewrite-includes */
#include <sys/_timespec.h>
#endif /* expanded by -frewrite-includes */
# 40 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/timespec.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_timespec.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-3-Clause
*
* 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.
* 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.5 (Berkeley) 5/4/95
* from: FreeBSD: src/sys/sys/time.h,v 1.43 2000/03/20 14:09:05 phk Exp
* $FreeBSD$
*/
#ifndef _SYS__TIMESPEC_H_
#define _SYS__TIMESPEC_H_
#if 0 /* expanded by -frewrite-includes */
#include <sys/_types.h>
#endif /* expanded by -frewrite-includes */
# 39 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_timespec.h" 3 4
# 40 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_timespec.h" 3 4
#ifndef _TIME_T_DECLARED
typedef __time_t time_t;
#define _TIME_T_DECLARED
#endif
# 45 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_timespec.h" 3 4
struct timespec {
time_t tv_sec; /* seconds */
long tv_nsec; /* and nanoseconds */
};
#endif /* !_SYS__TIMESPEC_H_ */
# 52 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/_timespec.h" 3 4
# 41 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/timespec.h" 2 3 4
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 43 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/timespec.h" 3 4
#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 */
# 55 "/usr/obj/usr/src/arm64.aarch64/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_ */
# 66 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/timespec.h" 3 4
# 43 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 2 3 4
typedef unsigned long __fd_mask;
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 46 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4
typedef __fd_mask fd_mask;
#endif
# 48 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4
#ifndef _SIGSET_T_DECLARED
#define _SIGSET_T_DECLARED
typedef __sigset_t sigset_t;
#endif
# 53 "/usr/obj/usr/src/arm64.aarch64/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
# 63 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4
#define _NFDBITS (sizeof(__fd_mask) * 8) /* bits per mask */
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 66 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4
#define NFDBITS _NFDBITS
#endif
# 68 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4
#ifndef _howmany
#define _howmany(x, y) (((x) + ((y) - 1)) / (y))
#endif
# 72 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4
typedef struct fd_set {
__fd_mask __fds_bits[_howmany(FD_SETSIZE, _NFDBITS)];
} fd_set;
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 77 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4
#define fds_bits __fds_bits
#endif
# 79 "/usr/obj/usr/src/arm64.aarch64/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 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 83 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4
#define FD_COPY(f, t) (void)(*(t) = *(f))
#endif
# 85 "/usr/obj/usr/src/arm64.aarch64/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
# 107 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4
__END_DECLS
#endif /* !_KERNEL */
# 109 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4
#endif /* _SYS_SELECT_H_ */
# 111 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/select.h" 3 4
# 377 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 2 3 4
/*
* The major and minor numbers are encoded in dev_t as MMMmmmMm (where
* letters correspond to bytes). The encoding of the lower 4 bytes is
* constrained by compatibility with 16-bit and 32-bit dev_t's. The
* encoding of of the upper 4 bytes is the least unnatural one consistent
* with this and other constraints. Also, the decoding of the m bytes by
* minor() is unnatural to maximize compatibility subject to not discarding
* bits. The upper m byte is shifted into the position of the lower M byte
* instead of shifting 3 upper m bytes to close the gap. Compatibility for
* minor() is achieved iff the upper m byte is 0.
*/
#define major(d) __major(d)
static __inline int
__major(dev_t _d)
{
return (((_d >> 32) & 0xffffff00) | ((_d >> 8) & 0xff));
}
#define minor(d) __minor(d)
static __inline int
__minor(dev_t _d)
{
return (((_d >> 24) & 0xff00) | (_d & 0xffff00ff));
}
#define makedev(M, m) __makedev((M), (m))
static __inline dev_t
__makedev(int _Major, int _Minor)
{
return (((dev_t)(_Major & 0xffffff00) << 32) | ((_Major & 0xff) << 8) |
((dev_t)(_Minor & 0xff00) << 24) | (_Minor & 0xffff00ff));
}
/*
* 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
# 420 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#ifndef _LSEEK_DECLARED
#define _LSEEK_DECLARED
off_t lseek(int, off_t, int);
#endif
# 424 "/usr/obj/usr/src/arm64.aarch64/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
# 428 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#ifndef _TRUNCATE_DECLARED
#define _TRUNCATE_DECLARED
int truncate(const char *, off_t);
#endif
# 432 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
__END_DECLS
#endif /* !_KERNEL */
# 434 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#endif /* __BSD_VISIBLE */
# 436 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
#endif /* !_SYS_TYPES_H_ */
# 438 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/types.h" 3 4
# 39 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf.h" 2 3 4
#if 0 /* expanded by -frewrite-includes */
#include <machine/elf.h>
#endif /* expanded by -frewrite-includes */
# 39 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/elf.h" 1 3 4
/*-
* Copyright (c) 1996-1997 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$
*/
#ifndef _MACHINE_ELF_H_
#define _MACHINE_ELF_H_
/*
* ELF definitions for the AArch64 architecture.
*/
#if 0 /* expanded by -frewrite-includes */
#include <sys/elf32.h> /* Definitions common to all 32 bit architectures. */
#endif /* expanded by -frewrite-includes */
# 36 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/elf.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf32.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-2-Clause-FreeBSD
*
* 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$
*/
#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 */
# 34 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf32.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf_common.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-2-Clause-FreeBSD
*
* Copyright (c) 2017, 2018 Dell EMC
* 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$
*/
#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.
*/
#ifndef LOCORE
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;
typedef Elf_Note Elf_Nhdr;
#endif
# 57 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf_common.h" 3 4
/*
* 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.
*/
#ifndef LOCORE
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;
#endif
# 125 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf_common.h" 3 4
/* 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_FENIXOS 16 /* FenixOS */
#define ELFOSABI_CLOUDABI 17 /* Nuxi CloudABI */
#define ELFOSABI_OPENVOS 18 /* Stratus Technologies OpenVOS */
#define ELFOSABI_ARM_AEABI 64 /* ARM EABI */
#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_IAMCU 6 /* Intel MCU. */
#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) */
#define EM_RISCV 243 /* RISC-V */
/* 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_ABI_FLOAT_SOFT 0x00000200
#define EF_ARM_SOFT_FLOAT EF_ARM_ABI_FLOAT_SOFT /* Pre-V5 ABI name */
#define EF_ARM_ABI_FLOAT_HARD 0x00000400
#define EF_ARM_VFP_FLOAT EF_ARM_ABI_FLOAT_HARD /* Pre-V5 ABI name */
#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_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
#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_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_PPC_EMB 0x80000000
#define EF_PPC_RELOCATABLE 0x00010000
#define EF_PPC_RELOCATABLE_LIB 0x00008000
#define EF_RISCV_RVC 0x00000001
#define EF_RISCV_FLOAT_ABI_MASK 0x00000006
#define EF_RISCV_FLOAT_ABI_SOFT 0x00000000
#define EF_RISCV_FLOAT_ABI_SINGLE 0x000002
#define EF_RISCV_FLOAT_ABI_DOUBLE 0x000004
#define EF_RISCV_FLOAT_ABI_QUAD 0x00000006
#define EF_RISCV_RVE 0x00000008
#define EF_RISCV_TSO 0x00000010
#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_FBSD_CACHED SHN_LOOS /* Transient, for sys/kern/link_elf_obj
linker only: Cached global in local
symtab. */
#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_X86_64_UNWIND 0x70000001 /* unwind information */
#define SHT_AMD64_UNWIND SHT_X86_64_UNWIND
#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_MIPS_ABIFLAGS 0x7000002a
#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_COMPRESSED 0x800 /* Section contains compressed data. */
#define SHF_MASKOS 0x0ff00000 /* OS-specific semantics. */
#define SHF_MASKPROC 0xf0000000 /* Processor-specific semantics. */
/* Flags for section groups. */
#define GRP_COMDAT 0x1 /* COMDAT semantics. */
/*
* Flags / mask for .gnu.versym sections.
*/
#define VERSYM_VERSION 0x7fff
#define VERSYM_HIDDEN 0x8000
/* 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_ARM_ARCHEXT 0x70000000 /* ARM arch compat information. */
#define PT_ARM_EXIDX 0x70000001 /* ARM exception unwind tables. */
#define PT_MIPS_REGINFO 0x70000000 /* MIPS register usage info */
#define PT_MIPS_RTPROC 0x70000001 /* MIPS runtime procedure tbl */
#define PT_MIPS_OPTIONS 0x70000002 /* MIPS e_flags value*/
#define PT_MIPS_ABIFLAGS 0x70000003 /* MIPS fp mode */
#define PT_HIPROC 0x7fffffff /* Last processor-specific type. */
#define PT_OPENBSD_RANDOMIZE 0x65A3DBE6 /* OpenBSD random data segment */
#define PT_OPENBSD_WXNEEDED 0x65A3DBE7 /* OpenBSD EXEC/WRITE pages needed */
#define PT_OPENBSD_BOOTDATA 0x65A41BE6 /* OpenBSD section for boot args */
/* 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_SUNW_ASLR 0x60000023 /* ASLR control */
#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_TLSDESC_PLT 0x6ffffef6 /* loc. of PLT for tlsdesc resolver */
#define DT_TLSDESC_GOT 0x6ffffef7 /* loc. of GOT for tlsdesc resolver */
#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_MIPS_RLD_MAP_REL 0x70000035
#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 */
#define DF_1_PIE 0x08000000 /* Is position-independent executable */
/* 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
/* Note section names */
#define ELF_NOTE_FREEBSD "FreeBSD"
#define ELF_NOTE_NETBSD "NetBSD"
#define ELF_NOTE_SOLARIS "SUNW Solaris"
#define ELF_NOTE_GNU "GNU"
/* Values for n_type used in executables. */
#define NT_FREEBSD_ABI_TAG 1
#define NT_FREEBSD_NOINIT_TAG 2
#define NT_FREEBSD_ARCH_TAG 3
#define NT_FREEBSD_FEATURE_CTL 4
/* NT_FREEBSD_FEATURE_CTL desc[0] bits */
#define NT_FREEBSD_FCTL_ASLR_DISABLE 0x00000001
#define NT_FREEBSD_FCTL_PROTMAX_DISABLE 0x00000002
#define NT_FREEBSD_FCTL_STKGAP_DISABLE 0x00000004
#define NT_FREEBSD_FCTL_WXNEEDED 0x00000008
#define NT_FREEBSD_FCTL_LA48 0x00000010
/* 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_PTLWPINFO 17 /* Thread ptrace miscellaneous info. */
#define NT_PPC_VMX 0x100 /* PowerPC Altivec/VMX registers */
#define NT_PPC_VSX 0x102 /* PowerPC VSX registers */
#define NT_X86_XSTATE 0x202 /* x86 XSAVE extended state. */
#define NT_ARM_VFP 0x400 /* ARM VFP registers */
/* GNU note types. */
#define NT_GNU_ABI_TAG 1
#define NT_GNU_HWCAP 2
#define NT_GNU_BUILD_ID 3
#define NT_GNU_GOLD_VERSION 4
#define NT_GNU_PROPERTY_TYPE_0 5
#define GNU_PROPERTY_LOPROC 0xc0000000
#define GNU_PROPERTY_HIPROC 0xdfffffff
#define GNU_PROPERTY_X86_FEATURE_1_AND 0xc0000002
#define GNU_PROPERTY_X86_FEATURE_1_IBT 0x00000001
#define GNU_PROPERTY_X86_FEATURE_1_SHSTK 0x00000002
/* 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 /* Start of operating system reserved range. */
#define STB_GNU_UNIQUE 10 /* Unique symbol (GNU) */
#define STB_HIOS 12 /* End of operating system reserved range. */
#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 /* Start of processor reserved range. */
#define STT_SPARC_REGISTER 13 /* SPARC register information. */
#define STT_HIPROC 15 /* End of processor reserved range. */
/* 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
/* Values for ch_type (compressed section headers). */
#define ELFCOMPRESS_ZLIB 1 /* ZLIB/DEFLATE */
#define ELFCOMPRESS_LOOS 0x60000000 /* OS-specific */
#define ELFCOMPRESS_HIOS 0x6fffffff
#define ELFCOMPRESS_LOPROC 0x70000000 /* Processor-specific */
#define ELFCOMPRESS_HIPROC 0x7fffffff
/* 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. */
#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_EHDRFLAGS 24 /* e_flags field from elf hdr */
#define AT_HWCAP 25 /* CPU feature flags. */
#define AT_HWCAP2 26 /* CPU feature flags 2. */
#define AT_BSDFLAGS 27 /* ELF BSD Flags. */
#define AT_ARGC 28 /* Argument count */
#define AT_ARGV 29 /* Argument vector */
#define AT_ENVC 30 /* Environment count */
#define AT_ENVV 31 /* Environment vector */
#define AT_PS_STRINGS 32 /* struct ps_strings */
#define AT_FXRNG 33 /* Pointer to root RNG seed version. */
#define AT_COUNT 34 /* Count of defined aux entry types. */
/*
* 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_NONE 0 /* No relocation */
#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_TSTBR14 279 /* TBZ/TBNZ immediate */
#define R_AARCH64_CONDBR19 280 /* Conditional branch immediate */
#define R_AARCH64_JUMP26 282 /* Branch immediate */
#define R_AARCH64_CALL26 283 /* Call immediate */
#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_TLS_DTPREL64 1028
#define R_AARCH64_TLS_DTPMOD64 1029
#define R_AARCH64_TLS_TPREL64 1030
#define R_AARCH64_TLSDESC 1031 /* Identify the TLS descriptor */
#define R_AARCH64_IRELATIVE 1032
#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_GOT_DISP 19
#define R_MIPS_GOT_PAGE 20
#define R_MIPS_GOT_OFST 21
#define R_MIPS_GOT_HI16 22 /* GOT HI 16 bit */
#define R_MIPS_GOT_LO16 23 /* GOT LO 16 bit */
#define R_MIPS_SUB 24
#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_MIPS_JALR 37
#define R_MIPS_TLS_GD 42
#define R_MIPS_COPY 126
#define R_MIPS_JUMP_SLOT 127
#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
#define R_PPC_IRELATIVE 248
/*
* 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
/*
* RISC-V relocation types.
*/
/* Relocation types used by the dynamic linker. */
#define R_RISCV_NONE 0
#define R_RISCV_32 1
#define R_RISCV_64 2
#define R_RISCV_RELATIVE 3
#define R_RISCV_COPY 4
#define R_RISCV_JUMP_SLOT 5
#define R_RISCV_TLS_DTPMOD32 6
#define R_RISCV_TLS_DTPMOD64 7
#define R_RISCV_TLS_DTPREL32 8
#define R_RISCV_TLS_DTPREL64 9
#define R_RISCV_TLS_TPREL32 10
#define R_RISCV_TLS_TPREL64 11
/* Relocation types not used by the dynamic linker. */
#define R_RISCV_BRANCH 16
#define R_RISCV_JAL 17
#define R_RISCV_CALL 18
#define R_RISCV_CALL_PLT 19
#define R_RISCV_GOT_HI20 20
#define R_RISCV_TLS_GOT_HI20 21
#define R_RISCV_TLS_GD_HI20 22
#define R_RISCV_PCREL_HI20 23
#define R_RISCV_PCREL_LO12_I 24
#define R_RISCV_PCREL_LO12_S 25
#define R_RISCV_HI20 26
#define R_RISCV_LO12_I 27
#define R_RISCV_LO12_S 28
#define R_RISCV_TPREL_HI20 29
#define R_RISCV_TPREL_LO12_I 30
#define R_RISCV_TPREL_LO12_S 31
#define R_RISCV_TPREL_ADD 32
#define R_RISCV_ADD8 33
#define R_RISCV_ADD16 34
#define R_RISCV_ADD32 35
#define R_RISCV_ADD64 36
#define R_RISCV_SUB8 37
#define R_RISCV_SUB16 38
#define R_RISCV_SUB32 39
#define R_RISCV_SUB64 40
#define R_RISCV_GNU_VTINHERIT 41
#define R_RISCV_GNU_VTENTRY 42
#define R_RISCV_ALIGN 43
#define R_RISCV_RVC_BRANCH 44
#define R_RISCV_RVC_JUMP 45
#define R_RISCV_RVC_LUI 46
#define R_RISCV_GPREL_I 47
#define R_RISCV_GPREL_S 48
#define R_RISCV_TPREL_I 49
#define R_RISCV_TPREL_S 50
#define R_RISCV_RELAX 51
#define R_RISCV_SUB6 52
#define R_RISCV_SET6 53
#define R_RISCV_SET8 54
#define R_RISCV_SET16 55
#define R_RISCV_SET32 56
#define R_RISCV_32_PCREL 57
#define R_RISCV_IRELATIVE 58
#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
#define ELF_BSDF_SIGFASTBLK 0x0001 /* Kernel supports fast sigblock */
#endif /* !_SYS_ELF_COMMON_H_ */
# 1478 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf_common.h" 3 4
# 35 "/usr/obj/usr/src/arm64.aarch64/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;
typedef struct {
Elf32_Word ch_type;
Elf32_Word ch_size;
Elf32_Word ch_addralign;
} Elf32_Chdr;
#endif /* !_SYS_ELF32_H_ */
# 266 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf32.h" 3 4
# 37 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/elf.h" 2 3 4
#if 0 /* expanded by -frewrite-includes */
#include <sys/elf64.h> /* Definitions common to all 64 bit architectures. */
#endif /* expanded by -frewrite-includes */
# 37 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/elf.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf64.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-2-Clause-FreeBSD
*
* 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$
*/
#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 */
# 34 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf64.h" 3 4
# 35 "/usr/obj/usr/src/arm64.aarch64/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;
typedef struct {
Elf64_Word ch_type;
Elf64_Word ch_reserved;
Elf64_Xword ch_size;
Elf64_Xword ch_addralign;
} Elf64_Chdr;
#endif /* !_SYS_ELF64_H_ */
# 270 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf64.h" 3 4
# 38 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/elf.h" 2 3 4
#ifndef __ELF_WORD_SIZE
#define __ELF_WORD_SIZE 64 /* Used by <sys/elf_generic.h> */
#endif
# 42 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/elf.h" 3 4
#if 0 /* expanded by -frewrite-includes */
#include <sys/elf_generic.h>
#endif /* expanded by -frewrite-includes */
# 43 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/elf.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf_generic.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-2-Clause-FreeBSD
*
* 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$
*/
#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 */
# 34 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf_generic.h" 3 4
# 35 "/usr/obj/usr/src/arm64.aarch64/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 0 /* disabled by -frewrite-includes */
#if __ELF_WORD_SIZE != 32 && __ELF_WORD_SIZE != 64
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 42 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf_generic.h" 3 4
#error "__ELF_WORD_SIZE must be defined as 32 or 64"
#endif
# 44 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf_generic.h" 3 4
#define ELF_CLASS __CONCAT(ELFCLASS,__ELF_WORD_SIZE)
#if 0 /* disabled by -frewrite-includes */
#if BYTE_ORDER == LITTLE_ENDIAN
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 48 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf_generic.h" 3 4
#define ELF_DATA ELFDATA2LSB
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif BYTE_ORDER == BIG_ENDIAN
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 50 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf_generic.h" 3 4
#define ELF_DATA ELFDATA2MSB
#else
# 52 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf_generic.h" 3 4
#error "Unknown byte order"
#endif
# 54 "/usr/obj/usr/src/arm64.aarch64/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)
#define ELF_ST_VISIBILITY __ELFN(ST_VISIBILITY)
#endif /* !_SYS_ELF_GENERIC_H_ */
# 92 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf_generic.h" 3 4
# 44 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/elf.h" 2 3 4
/*
* Auxiliary vector entries for passing information to the interpreter.
*/
typedef struct { /* Auxiliary vector entry on initial stack */
int a_type; /* Entry type. */
union {
int a_val; /* Integer value. */
} 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);
#ifdef _MACHINE_ELF_WANT_32BIT
#define ELF_ARCH EM_ARM
#else
# 70 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/elf.h" 3 4
#define ELF_ARCH EM_AARCH64
#endif
# 72 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/elf.h" 3 4
#define ELF_MACHINE_OK(x) ((x) == (ELF_ARCH))
/* Define "machine" characteristics */
#if 0 /* disabled by -frewrite-includes */
#if __ELF_WORD_SIZE == 64
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 77 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/elf.h" 3 4
#define ELF_TARG_CLASS ELFCLASS64
#define ELF_TARG_DATA ELFDATA2LSB
#define ELF_TARG_MACH EM_AARCH64
#define ELF_TARG_VER 1
#else
# 82 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/elf.h" 3 4
#define ELF_TARG_CLASS ELFCLASS32
#define ELF_TARG_DATA ELFDATA2LSB
#define ELF_TARG_MACH EM_ARM
#define ELF_TARG_VER 1
#endif
# 87 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/elf.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __ELF_WORD_SIZE == 32
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 89 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/elf.h" 3 4
#define ET_DYN_LOAD_ADDR 0x12000
#else
# 91 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/elf.h" 3 4
#define ET_DYN_LOAD_ADDR 0x100000
#endif
# 93 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/elf.h" 3 4
/* HWCAP */
#define HWCAP_FP 0x00000001
#define HWCAP_ASIMD 0x00000002
#define HWCAP_EVTSTRM 0x00000004
#define HWCAP_AES 0x00000008
#define HWCAP_PMULL 0x00000010
#define HWCAP_SHA1 0x00000020
#define HWCAP_SHA2 0x00000040
#define HWCAP_CRC32 0x00000080
#define HWCAP_ATOMICS 0x00000100
#define HWCAP_FPHP 0x00000200
#define HWCAP_ASIMDHP 0x00000400
/*
* XXX: The following bits (from CPUID to FLAGM) were originally incorrect,
* but later changed to match the Linux definitions. No compatibility code is
* provided, as the fix was expected to result in near-zero fallout.
*/
#define HWCAP_CPUID 0x00000800
#define HWCAP_ASIMDRDM 0x00001000
#define HWCAP_JSCVT 0x00002000
#define HWCAP_FCMA 0x00004000
#define HWCAP_LRCPC 0x00008000
#define HWCAP_DCPOP 0x00010000
#define HWCAP_SHA3 0x00020000
#define HWCAP_SM3 0x00040000
#define HWCAP_SM4 0x00080000
#define HWCAP_ASIMDDP 0x00100000
#define HWCAP_SHA512 0x00200000
#define HWCAP_SVE 0x00400000
#define HWCAP_ASIMDFHM 0x00800000
#define HWCAP_DIT 0x01000000
#define HWCAP_USCAT 0x02000000
#define HWCAP_ILRCPC 0x04000000
#define HWCAP_FLAGM 0x08000000
#define HWCAP_SSBS 0x10000000
#define HWCAP_SB 0x20000000
#define HWCAP_PACA 0x40000000
#define HWCAP_PACG 0x80000000
/* HWCAP2 */
#define HWCAP2_DCPODP 0x00000001
#define HWCAP2_SVE2 0x00000002
#define HWCAP2_SVEAES 0x00000004
#define HWCAP2_SVEPMULL 0x00000008
#define HWCAP2_SVEBITPERM 0x00000010
#define HWCAP2_SVESHA3 0x00000020
#define HWCAP2_SVESM4 0x00000040
#define HWCAP2_FLAGM2 0x00000080
#define HWCAP2_FRINT 0x00000100
#define HWCAP2_SVEI8MM 0x00000200
#define HWCAP2_SVEF32MM 0x00000400
#define HWCAP2_SVEF64MM 0x00000800
#define HWCAP2_SVEBF16 0x00001000
#define HWCAP2_I8MM 0x00002000
#define HWCAP2_BF16 0x00004000
#define HWCAP2_DGH 0x00008000
#define HWCAP2_RNG 0x00010000
#define HWCAP2_BTI 0x00020000
#endif /* !_MACHINE_ELF_H_ */
# 154 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/elf.h" 3 4
# 40 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf.h" 2 3 4
#if 0 /* expanded by -frewrite-includes */
#include <sys/elf32.h>
#endif /* expanded by -frewrite-includes */
# 40 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf.h" 3 4
# 41 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf.h" 3 4
#if 0 /* expanded by -frewrite-includes */
#include <sys/elf64.h>
#endif /* expanded by -frewrite-includes */
# 41 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf.h" 3 4
# 42 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf.h" 3 4
#endif /* !_SYS_ELF_H_ */
# 44 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/elf.h" 3 4
# 47 "/usr/obj/usr/src/arm64.aarch64/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_base; /* Base Address of library */
#ifdef __mips__
caddr_t l_xxx; /* unused */
#endif
# 64 "/usr/obj/usr/src/arm64.aarch64/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 */
caddr_t l_addr; /* Load Offset of library */
const char *l_refname; /* object we are filtering for */
} 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
# 106 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/link_elf.h" 3 4
__END_DECLS
#endif /* _SYS_LINK_ELF_H_ */
# 110 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/link_elf.h" 3 4
# 36 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/link.h" 2 3 4
# 151 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp" 2
#else
# 152 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#if 0 /* expanded by -frewrite-includes */
#include <windows.h>
#endif /* expanded by -frewrite-includes */
# 152 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
# 153 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#if 0 /* expanded by -frewrite-includes */
#include <psapi.h>
#endif /* expanded by -frewrite-includes */
# 153 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
# 154 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#endif
# 155 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#if 0 /* disabled by -frewrite-includes */
#if !defined(ElfW)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 156 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#define ElfW(type) Elf_##type
#endif
# 158 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#endif
# 160 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
namespace libunwind {
/// Used by findUnwindSections() to return info about needed sections.
struct UnwindInfoSections {
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND) || defined(_LIBUNWIND_SUPPORT_DWARF_INDEX) || \
defined(_LIBUNWIND_SUPPORT_COMPACT_UNWIND)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 167 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
// No dso_base for SEH or ARM EHABI.
uintptr_t dso_base;
#endif
# 170 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 171 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
uintptr_t dwarf_section;
uintptr_t dwarf_section_length;
#endif
# 174 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_SUPPORT_DWARF_INDEX)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 175 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
uintptr_t dwarf_index_section;
uintptr_t dwarf_index_section_length;
#endif
# 178 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_SUPPORT_COMPACT_UNWIND)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 179 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
uintptr_t compact_unwind_section;
uintptr_t compact_unwind_section_length;
#endif
# 182 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_ARM_EHABI)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 183 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
uintptr_t arm_section;
uintptr_t arm_section_length;
#endif
# 186 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
};
/// LocalAddressSpace is used as a template parameter to UnwindCursor when
/// unwinding a thread in the same process. The wrappers compile away,
/// making local unwinds fast.
class _LIBUNWIND_HIDDEN LocalAddressSpace {
public:
typedef uintptr_t pint_t;
typedef intptr_t sint_t;
uint8_t get8(pint_t addr) {
uint8_t val;
memcpy(&val, (void *)addr, sizeof(val));
return val;
}
uint16_t get16(pint_t addr) {
uint16_t val;
memcpy(&val, (void *)addr, sizeof(val));
return val;
}
uint32_t get32(pint_t addr) {
uint32_t val;
memcpy(&val, (void *)addr, sizeof(val));
return val;
}
uint64_t get64(pint_t addr) {
uint64_t val;
memcpy(&val, (void *)addr, sizeof(val));
return val;
}
double getDouble(pint_t addr) {
double val;
memcpy(&val, (void *)addr, sizeof(val));
return val;
}
v128 getVector(pint_t addr) {
v128 val;
memcpy(&val, (void *)addr, sizeof(val));
return val;
}
uintptr_t getP(pint_t addr);
uint64_t getRegister(pint_t addr);
static uint64_t getULEB128(pint_t &addr, pint_t end);
static int64_t getSLEB128(pint_t &addr, pint_t end);
pint_t getEncodedP(pint_t &addr, pint_t end, uint8_t encoding,
pint_t datarelBase = 0);
bool findFunctionName(pint_t addr, char *buf, size_t bufLen,
unw_word_t *offset);
bool findUnwindSections(pint_t targetAddr, UnwindInfoSections &info);
bool findOtherFDE(pint_t targetAddr, pint_t &fde);
static LocalAddressSpace sThisAddressSpace;
};
inline uintptr_t LocalAddressSpace::getP(pint_t addr) {
#if 0 /* disabled by -frewrite-includes */
#if __SIZEOF_POINTER__ == 8
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 243 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
return get64(addr);
#else
# 245 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
return get32(addr);
#endif
# 247 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
}
inline uint64_t LocalAddressSpace::getRegister(pint_t addr) {
#if 0 /* disabled by -frewrite-includes */
#if __SIZEOF_POINTER__ == 8 || defined(__mips64)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 251 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
return get64(addr);
#else
# 253 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
return get32(addr);
#endif
# 255 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
}
/// Read a ULEB128 into a 64-bit word.
inline uint64_t LocalAddressSpace::getULEB128(pint_t &addr, pint_t end) {
const uint8_t *p = (uint8_t *)addr;
const uint8_t *pend = (uint8_t *)end;
uint64_t result = 0;
int bit = 0;
do {
uint64_t b;
if (p == pend)
_LIBUNWIND_ABORT("truncated uleb128 expression");
b = *p & 0x7f;
if (bit >= 64 || b << bit >> bit != b) {
_LIBUNWIND_ABORT("malformed uleb128 expression");
} else {
result |= b << bit;
bit += 7;
}
} while (*p++ >= 0x80);
addr = (pint_t) p;
return result;
}
/// Read a SLEB128 into a 64-bit word.
inline int64_t LocalAddressSpace::getSLEB128(pint_t &addr, pint_t end) {
const uint8_t *p = (uint8_t *)addr;
const uint8_t *pend = (uint8_t *)end;
int64_t result = 0;
int bit = 0;
uint8_t byte;
do {
if (p == pend)
_LIBUNWIND_ABORT("truncated sleb128 expression");
byte = *p++;
result |= ((byte & 0x7f) << bit);
bit += 7;
} while (byte & 0x80);
// sign extend negative numbers
if ((byte & 0x40) != 0)
result |= (-1ULL) << bit;
addr = (pint_t) p;
return result;
}
inline LocalAddressSpace::pint_t
LocalAddressSpace::getEncodedP(pint_t &addr, pint_t end, uint8_t encoding,
pint_t datarelBase) {
pint_t startAddr = addr;
const uint8_t *p = (uint8_t *)addr;
pint_t result;
// first get value
switch (encoding & 0x0F) {
case DW_EH_PE_ptr:
result = getP(addr);
p += sizeof(pint_t);
addr = (pint_t) p;
break;
case DW_EH_PE_uleb128:
result = (pint_t)getULEB128(addr, end);
break;
case DW_EH_PE_udata2:
result = get16(addr);
p += 2;
addr = (pint_t) p;
break;
case DW_EH_PE_udata4:
result = get32(addr);
p += 4;
addr = (pint_t) p;
break;
case DW_EH_PE_udata8:
result = (pint_t)get64(addr);
p += 8;
addr = (pint_t) p;
break;
case DW_EH_PE_sleb128:
result = (pint_t)getSLEB128(addr, end);
break;
case DW_EH_PE_sdata2:
// Sign extend from signed 16-bit value.
result = (pint_t)(int16_t)get16(addr);
p += 2;
addr = (pint_t) p;
break;
case DW_EH_PE_sdata4:
// Sign extend from signed 32-bit value.
result = (pint_t)(int32_t)get32(addr);
p += 4;
addr = (pint_t) p;
break;
case DW_EH_PE_sdata8:
result = (pint_t)get64(addr);
p += 8;
addr = (pint_t) p;
break;
default:
_LIBUNWIND_ABORT("unknown pointer encoding");
}
// then add relative offset
switch (encoding & 0x70) {
case DW_EH_PE_absptr:
// do nothing
break;
case DW_EH_PE_pcrel:
result += startAddr;
break;
case DW_EH_PE_textrel:
_LIBUNWIND_ABORT("DW_EH_PE_textrel pointer encoding not supported");
break;
case DW_EH_PE_datarel:
// DW_EH_PE_datarel is only valid in a few places, so the parameter has a
// default value of 0, and we abort in the event that someone calls this
// function with a datarelBase of 0 and DW_EH_PE_datarel encoding.
if (datarelBase == 0)
_LIBUNWIND_ABORT("DW_EH_PE_datarel is invalid with a datarelBase of 0");
result += datarelBase;
break;
case DW_EH_PE_funcrel:
_LIBUNWIND_ABORT("DW_EH_PE_funcrel pointer encoding not supported");
break;
case DW_EH_PE_aligned:
_LIBUNWIND_ABORT("DW_EH_PE_aligned pointer encoding not supported");
break;
default:
_LIBUNWIND_ABORT("unknown pointer encoding");
break;
}
if (encoding & DW_EH_PE_indirect)
result = getP(result);
return result;
}
#ifdef __APPLE__
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND) && defined(_LIBUNWIND_IS_BAREMETAL)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 397 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBUNWIND_ARM_EHABI) && defined(_LIBUNWIND_IS_BAREMETAL)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 398 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND) && defined(_WIN32)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 399 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBUNWIND_SUPPORT_SEH_UNWIND) && defined(_WIN32)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 400 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBUNWIND_ARM_EHABI) && defined(__BIONIC__)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 401 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
// Code inside findUnwindSections handles all these cases.
//
// Although the above ifdef chain is ugly, there doesn't seem to be a cleaner
// way to handle it. The generalized boolean expression is:
//
// A OR (B AND C) OR (D AND C) OR (B AND E) OR (F AND E) OR (D AND G)
//
// Running it through various boolean expression simplifiers gives expressions
// that don't help at all.
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBUNWIND_ARM_EHABI) || defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND)
#endif
#endif /* disabled by -frewrite-includes */
#elif 1 /* evaluated by -frewrite-includes */
# 411 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#if 0 /* disabled by -frewrite-includes */
#if !defined(Elf_Half)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 413 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
typedef ElfW(Half) Elf_Half;
#endif
# 415 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#if 0 /* disabled by -frewrite-includes */
#if !defined(Elf_Phdr)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 416 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
typedef ElfW(Phdr) Elf_Phdr;
#endif
# 418 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#if 0 /* disabled by -frewrite-includes */
#if !defined(Elf_Addr)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 419 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
typedef ElfW(Addr) Elf_Addr;
#endif
# 421 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
static Elf_Addr calculateImageBase(struct dl_phdr_info *pinfo) {
Elf_Addr image_base = pinfo->dlpi_addr;
#if 0 /* disabled by -frewrite-includes */
#if defined(__ANDROID__) && __ANDROID_API__ < 18
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 425 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
if (image_base == 0) {
// Normally, an image base of 0 indicates a non-PIE executable. On
// versions of Android prior to API 18, the dynamic linker reported a
// dlpi_addr of 0 for PIE executables. Compute the true image base
// using the PT_PHDR segment.
// See https://github.com/android/ndk/issues/505.
for (Elf_Half i = 0; i < pinfo->dlpi_phnum; i++) {
const Elf_Phdr *phdr = &pinfo->dlpi_phdr[i];
if (phdr->p_type == PT_PHDR) {
image_base = reinterpret_cast<Elf_Addr>(pinfo->dlpi_phdr) -
phdr->p_vaddr;
break;
}
}
}
#endif
# 441 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
return image_base;
}
struct _LIBUNWIND_HIDDEN dl_iterate_cb_data {
LocalAddressSpace *addressSpace;
UnwindInfoSections *sects;
uintptr_t targetAddr;
};
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 451 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBUNWIND_SUPPORT_DWARF_INDEX)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 452 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#error "_LIBUNWIND_SUPPORT_DWARF_UNWIND requires _LIBUNWIND_SUPPORT_DWARF_INDEX on this platform."
#endif
# 454 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_USE_FRAME_HEADER_CACHE)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 456 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#if 0 /* expanded by -frewrite-includes */
#include "FrameHeaderCache.hpp"
#endif /* expanded by -frewrite-includes */
# 456 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
# 1 "/usr/src/contrib/llvm-project/libunwind/src/FrameHeaderCache.hpp" 1
//===-FrameHeaderCache.hpp ------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
// Cache the elf program headers necessary to unwind the stack more efficiently
// in the presence of many dsos.
//
//===----------------------------------------------------------------------===//
#ifndef __FRAMEHEADER_CACHE_HPP__
#define __FRAMEHEADER_CACHE_HPP__
#if 0 /* expanded by -frewrite-includes */
#include "config.h"
#endif /* expanded by -frewrite-includes */
# 15 "/usr/src/contrib/llvm-project/libunwind/src/FrameHeaderCache.hpp"
# 16 "/usr/src/contrib/llvm-project/libunwind/src/FrameHeaderCache.hpp"
#if 0 /* expanded by -frewrite-includes */
#include <limits.h>
#endif /* expanded by -frewrite-includes */
# 16 "/usr/src/contrib/llvm-project/libunwind/src/FrameHeaderCache.hpp"
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/limits.h" 1 3
// -*- C++ -*-
//===--------------------------- limits.h ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP_LIMITS_H
#define _LIBCPP_LIMITS_H
/*
limits.h synopsis
Macros:
CHAR_BIT
SCHAR_MIN
SCHAR_MAX
UCHAR_MAX
CHAR_MIN
CHAR_MAX
MB_LEN_MAX
SHRT_MIN
SHRT_MAX
USHRT_MAX
INT_MIN
INT_MAX
UINT_MAX
LONG_MIN
LONG_MAX
ULONG_MAX
LLONG_MIN // C99
LLONG_MAX // C99
ULLONG_MAX // C99
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 40 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/limits.h" 3
# 41 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/limits.h" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 43 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/limits.h" 3
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 44 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/limits.h" 3
#endif
# 45 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/limits.h" 3
#ifndef __GNUC__
#if 0 /* expanded by -frewrite-includes */
#include_next <limits.h>
#endif /* expanded by -frewrite-includes */
# 47 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/limits.h" 3
# 48 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/limits.h" 3
#else
# 49 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/limits.h" 3
// GCC header limits.h recursively includes itself through another header called
// syslimits.h for some reason. This setup breaks down if we directly
// #include_next GCC's limits.h (reasons not entirely clear to me). Therefore,
// we manually re-create the necessary include sequence below:
// Get the system limits.h defines (force recurse into the next level)
#define _GCC_LIMITS_H_
#define _GCC_NEXT_LIMITS_H
#if 0 /* expanded by -frewrite-includes */
#include_next <limits.h>
#endif /* expanded by -frewrite-includes */
# 57 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/limits.h" 3
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/limits.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-3-Clause
*
* 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$
*/
#ifndef _LIMITS_H_
#define _LIMITS_H_
#if 0 /* expanded by -frewrite-includes */
#include <sys/cdefs.h>
#endif /* expanded by -frewrite-includes */
# 38 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/limits.h" 3 4
# 39 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/limits.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 41 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/limits.h" 3 4
#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 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE >= 200112
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 51 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/limits.h" 3 4
#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
# 57 "/usr/obj/usr/src/arm64.aarch64/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
# 63 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/limits.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE >= 200112
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 65 "/usr/obj/usr/src/arm64.aarch64/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 CHARCLASS_NAME_MAX 14 /* max character class name size */
#define COLL_WEIGHTS_MAX 10 /* 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_CHARCLASS_NAME_MAX 14
#define _POSIX2_COLL_WEIGHTS_MAX 2
#define _POSIX2_EQUIV_CLASS_MAX 2
#define _POSIX2_EXPR_NEST_MAX 32
#define _POSIX2_LINE_MAX 2048
#define _POSIX2_RE_DUP_MAX 255
#endif
# 86 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/limits.h" 3 4
#endif
# 87 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/limits.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE >= 199309
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 89 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/limits.h" 3 4
#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
# 102 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/limits.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE >= 199506
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 104 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/limits.h" 3 4
#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4
#define _POSIX_THREAD_KEYS_MAX 128
#define _POSIX_THREAD_THREADS_MAX 64
#endif
# 108 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/limits.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE >= 200112
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 110 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/limits.h" 3 4
#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 _POSIX_RE_DUP_MAX _POSIX2_RE_DUP_MAX
#endif
# 123 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/limits.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __XSI_VISIBLE || __POSIX_VISIBLE >= 200809
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 125 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/limits.h" 3 4
#define NL_ARGMAX 4096 /* max # of position args for printf */
#define NL_MSGMAX 32767
#define NL_SETMAX 255
#define NL_TEXTMAX 2048
#endif
# 130 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/limits.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __XSI_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 132 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/limits.h" 3 4
#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
# 140 "/usr/obj/usr/src/arm64.aarch64/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 */
# 143 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/limits.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-3-Clause
*
* 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.
*
* $FreeBSD$
*/
#ifndef _SYS_LIMITS_H_
#define _SYS_LIMITS_H_
#if 0 /* expanded by -frewrite-includes */
#include <sys/cdefs.h>
#endif /* expanded by -frewrite-includes */
# 37 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4
# 38 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4
#if 0 /* expanded by -frewrite-includes */
#include <machine/_limits.h>
#endif /* expanded by -frewrite-includes */
# 38 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/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.
*
* 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
* $FreeBSD$
*/
#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 */
#define __ULONG_MAX 0xffffffffffffffffUL /* max for an unsigned long */
#define __LONG_MAX 0x7fffffffffffffffL /* max for a long */
#define __LONG_MIN (-0x7fffffffffffffffL - 1) /* min for a long */
/* Long longs have the same size but not the same type as longs. */
/* max for an unsigned long long */
#define __ULLONG_MAX 0xffffffffffffffffULL
#define __LLONG_MAX 0x7fffffffffffffffLL /* max 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 __LONG_MAX /* max value for an off_t */
#define __OFF_MIN __LONG_MIN /* min value for an off_t */
/* Quads and longs are the same size. Ensure they stay in sync. */
#define __UQUAD_MAX (__ULONG_MAX) /* max value for a uquad_t */
#define __QUAD_MAX (__LONG_MAX) /* max value for a quad_t */
#define __QUAD_MIN (__LONG_MIN) /* min value for a quad_t */
#define __LONG_BIT 64
#define __WORD_BIT 32
/* Minimum signal stack size. */
#define __MINSIGSTKSZ (1024 * 4)
#endif /* !_MACHINE__LIMITS_H_ */
# 86 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/machine/_limits.h" 3 4
# 39 "/usr/obj/usr/src/arm64.aarch64/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
# 51 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4
#define CHAR_MAX SCHAR_MAX
#define CHAR_MIN SCHAR_MIN
#endif
# 54 "/usr/obj/usr/src/arm64.aarch64/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
# 72 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE || __XSI_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 74 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4
#define SSIZE_MAX __SSIZE_MAX /* max value for an ssize_t */
#endif
# 76 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 78 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4
#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
# 83 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __BSD_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 85 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4
#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
# 92 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __XSI_VISIBLE || __POSIX_VISIBLE >= 200809
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 94 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4
#define LONG_BIT __LONG_BIT
#define WORD_BIT __WORD_BIT
#endif
# 97 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4
#if 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 99 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4
#define MQ_PRIO_MAX 64
#endif
# 101 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4
#endif /* !_SYS_LIMITS_H_ */
# 103 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/limits.h" 3 4
# 144 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/limits.h" 2 3 4
#if 0 /* disabled by -frewrite-includes */
#if __POSIX_VISIBLE
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 146 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/limits.h" 3 4
#if 0 /* expanded by -frewrite-includes */
#include <sys/syslimits.h>
#endif /* expanded by -frewrite-includes */
# 146 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/limits.h" 3 4
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/syslimits.h" 1 3 4
/*-
* SPDX-License-Identifier: BSD-3-Clause
*
* 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.
*
* @(#)syslimits.h 8.1 (Berkeley) 6/2/93
* $FreeBSD$
*/
#ifndef _SYS_SYSLIMITS_H_
#define _SYS_SYSLIMITS_H_
#if 0 /* disabled by -frewrite-includes */
#if !defined(_STANDALONE) && !defined(_KERNEL) && !defined(_LIMITS_H_) && !defined(_SYS_PARAM_H_)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 39 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/syslimits.h" 3 4
#ifndef _SYS_CDEFS_H_
#error this file needs sys/cdefs.h as a prerequisite
#endif
# 42 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/syslimits.h" 3 4
#ifdef __CC_SUPPORTS_WARNING
#warning "No user-serviceable parts inside."
#endif
# 45 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/syslimits.h" 3 4
#endif
# 46 "/usr/obj/usr/src/arm64.aarch64/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.)
*/
#ifndef __ILP32__
#define ARG_MAX (2 * 256 * 1024) /* max bytes for an exec function */
#else
# 54 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/syslimits.h" 3 4
#define ARG_MAX (256 * 1024) /* max bytes for KVA-starved archs */
#endif
# 56 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/syslimits.h" 3 4
#ifndef CHILD_MAX
#define CHILD_MAX 40 /* max simultaneous processes */
#endif
# 59 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/syslimits.h" 3 4
#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
# 65 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/syslimits.h" 3 4
#ifndef OPEN_MAX
#define OPEN_MAX 64 /* max open files per process */
#endif
# 68 "/usr/obj/usr/src/arm64.aarch64/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
# 82 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/sys/syslimits.h" 3 4
# 147 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/limits.h" 2 3 4
#endif
# 148 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/limits.h" 3 4
#endif /* !_LIMITS_H_ */
# 150 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/limits.h" 3 4
# 58 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/limits.h" 2 3
// Get the ISO C defines
#undef _GCC_LIMITS_H_
#if 0 /* expanded by -frewrite-includes */
#include_next <limits.h>
#endif /* expanded by -frewrite-includes */
# 61 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/limits.h" 3
# 62 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/limits.h" 3
#endif // __GNUC__
# 63 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/limits.h" 3
#endif // _LIBCPP_LIMITS_H
# 65 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/limits.h" 3
# 17 "/usr/src/contrib/llvm-project/libunwind/src/FrameHeaderCache.hpp" 2
#ifdef _LIBUNWIND_DEBUG_FRAMEHEADER_CACHE
#define _LIBUNWIND_FRAMEHEADERCACHE_TRACE0(x) _LIBUNWIND_LOG0(x)
#define _LIBUNWIND_FRAMEHEADERCACHE_TRACE(msg, ...) \
_LIBUNWIND_LOG(msg, __VA_ARGS__)
#else
# 23 "/usr/src/contrib/llvm-project/libunwind/src/FrameHeaderCache.hpp"
#define _LIBUNWIND_FRAMEHEADERCACHE_TRACE0(x)
#define _LIBUNWIND_FRAMEHEADERCACHE_TRACE(msg, ...)
#endif
# 26 "/usr/src/contrib/llvm-project/libunwind/src/FrameHeaderCache.hpp"
// This cache should only be be used from within a dl_iterate_phdr callback.
// dl_iterate_phdr does the necessary synchronization to prevent problems
// with concurrent access via the libc load lock. Adding synchronization
// for other uses is possible, but not currently done.
class _LIBUNWIND_HIDDEN FrameHeaderCache {
struct CacheEntry {
uintptr_t LowPC() { return Info.dso_base; };
uintptr_t HighPC() { return Info.dso_base + Info.dwarf_section_length; };
UnwindInfoSections Info;
CacheEntry *Next;
};
static const size_t kCacheEntryCount = 8;
// Can't depend on the C++ standard library in libunwind, so use an array to
// allocate the entries, and two linked lists for ordering unused and recently
// used entries. FIXME: Would the the extra memory for a doubly-linked list
// be better than the runtime cost of traversing a very short singly-linked
// list on a cache miss? The entries themselves are all small and consecutive,
// so unlikely to cause page faults when following the pointers. The memory
// spent on additional pointers could also be spent on more entries.
CacheEntry Entries[kCacheEntryCount];
CacheEntry *MostRecentlyUsed;
CacheEntry *Unused;
void resetCache() {
_LIBUNWIND_FRAMEHEADERCACHE_TRACE0("FrameHeaderCache reset");
MostRecentlyUsed = nullptr;
Unused = &Entries[0];
for (size_t i = 0; i < kCacheEntryCount - 1; i++) {
Entries[i].Next = &Entries[i + 1];
}
Entries[kCacheEntryCount - 1].Next = nullptr;
}
bool cacheNeedsReset(dl_phdr_info *PInfo) {
// C libraries increment dl_phdr_info.adds and dl_phdr_info.subs when
// loading and unloading shared libraries. If these values change between
// iterations of dl_iterate_phdr, then invalidate the cache.
// These are static to avoid needing an initializer, and unsigned long long
// because that is their type within the extended dl_phdr_info. Initialize
// these to something extremely unlikely to be found upon the first call to
// dl_iterate_phdr.
static unsigned long long LastAdds = ULLONG_MAX;
static unsigned long long LastSubs = ULLONG_MAX;
if (PInfo->dlpi_adds != LastAdds || PInfo->dlpi_subs != LastSubs) {
// Resetting the entire cache is a big hammer, but this path is rare--
// usually just on the very first call, when the cache is empty anyway--so
// added complexity doesn't buy much.
LastAdds = PInfo->dlpi_adds;
LastSubs = PInfo->dlpi_subs;
resetCache();
return true;
}
return false;
}
public:
bool find(dl_phdr_info *PInfo, size_t, void *data) {
if (cacheNeedsReset(PInfo) || MostRecentlyUsed == nullptr)
return false;
auto *CBData = static_cast<dl_iterate_cb_data *>(data);
CacheEntry *Current = MostRecentlyUsed;
CacheEntry *Previous = nullptr;
while (Current != nullptr) {
_LIBUNWIND_FRAMEHEADERCACHE_TRACE(
"FrameHeaderCache check %lx in [%lx - %lx)", CBData->targetAddr,
Current->LowPC(), Current->HighPC());
if (Current->LowPC() <= CBData->targetAddr &&
CBData->targetAddr < Current->HighPC()) {
_LIBUNWIND_FRAMEHEADERCACHE_TRACE(
"FrameHeaderCache hit %lx in [%lx - %lx)", CBData->targetAddr,
Current->LowPC(), Current->HighPC());
if (Previous) {
// If there is no Previous, then Current is already the
// MostRecentlyUsed, and no need to move it up.
Previous->Next = Current->Next;
Current->Next = MostRecentlyUsed;
MostRecentlyUsed = Current;
}
*CBData->sects = Current->Info;
return true;
}
Previous = Current;
Current = Current->Next;
}
_LIBUNWIND_FRAMEHEADERCACHE_TRACE("FrameHeaderCache miss for address %lx",
CBData->targetAddr);
return false;
}
void add(const UnwindInfoSections *UIS) {
CacheEntry *Current = nullptr;
if (Unused != nullptr) {
Current = Unused;
Unused = Unused->Next;
} else {
Current = MostRecentlyUsed;
CacheEntry *Previous = nullptr;
while (Current->Next != nullptr) {
Previous = Current;
Current = Current->Next;
}
Previous->Next = nullptr;
_LIBUNWIND_FRAMEHEADERCACHE_TRACE("FrameHeaderCache evict [%lx - %lx)",
Current->LowPC(), Current->HighPC());
}
Current->Info = *UIS;
Current->Next = MostRecentlyUsed;
MostRecentlyUsed = Current;
_LIBUNWIND_FRAMEHEADERCACHE_TRACE("FrameHeaderCache add [%lx - %lx)",
MostRecentlyUsed->LowPC(),
MostRecentlyUsed->HighPC());
}
};
#endif // __FRAMEHEADER_CACHE_HPP__
# 150 "/usr/src/contrib/llvm-project/libunwind/src/FrameHeaderCache.hpp"
# 457 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp" 2
// There should be just one of these per process.
static FrameHeaderCache ProcessFrameHeaderCache;
#endif
# 461 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
static bool checkAddrInSegment(const Elf_Phdr *phdr, size_t image_base,
dl_iterate_cb_data *cbdata) {
if (phdr->p_type == PT_LOAD) {
uintptr_t begin = image_base + phdr->p_vaddr;
uintptr_t end = begin + phdr->p_memsz;
if (cbdata->targetAddr >= begin && cbdata->targetAddr < end) {
cbdata->sects->dso_base = begin;
cbdata->sects->dwarf_section_length = phdr->p_memsz;
return true;
}
}
return false;
}
static int findUnwindSectionsByPhdr(struct dl_phdr_info *pinfo,
size_t pinfo_size, void *data) {
auto cbdata = static_cast<dl_iterate_cb_data *>(data);
if (pinfo->dlpi_phnum == 0 || cbdata->targetAddr < pinfo->dlpi_addr)
return 0;
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_USE_FRAME_HEADER_CACHE)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 482 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
if (ProcessFrameHeaderCache.find(pinfo, pinfo_size, data))
return 1;
#endif
# 485 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
Elf_Addr image_base = calculateImageBase(pinfo);
bool found_obj = false;
bool found_hdr = false;
// Third phdr is usually the executable phdr.
if (pinfo->dlpi_phnum > 2)
found_obj = checkAddrInSegment(&pinfo->dlpi_phdr[2], image_base, cbdata);
// PT_GNU_EH_FRAME is usually near the end. Iterate backward. We already know
// that there is one or more phdrs.
for (Elf_Half i = pinfo->dlpi_phnum; i > 0; i--) {
const Elf_Phdr *phdr = &pinfo->dlpi_phdr[i - 1];
if (!found_hdr && phdr->p_type == PT_GNU_EH_FRAME) {
EHHeaderParser<LocalAddressSpace>::EHHeaderInfo hdrInfo;
uintptr_t eh_frame_hdr_start = image_base + phdr->p_vaddr;
cbdata->sects->dwarf_index_section = eh_frame_hdr_start;
cbdata->sects->dwarf_index_section_length = phdr->p_memsz;
found_hdr = EHHeaderParser<LocalAddressSpace>::decodeEHHdr(
*cbdata->addressSpace, eh_frame_hdr_start, phdr->p_memsz,
hdrInfo);
if (found_hdr)
cbdata->sects->dwarf_section = hdrInfo.eh_frame_ptr;
} else if (!found_obj) {
found_obj = checkAddrInSegment(phdr, image_base, cbdata);
}
if (found_obj && found_hdr) {
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_USE_FRAME_HEADER_CACHE)
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 513 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
ProcessFrameHeaderCache.add(cbdata->sects);
#endif
# 515 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
return 1;
}
}
cbdata->sects->dwarf_section_length = 0;
return 0;
}
#else // defined(LIBUNWIND_SUPPORT_DWARF_UNWIND)
# 523 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
// Given all the #ifdef's above, the code here is for
// defined(LIBUNWIND_ARM_EHABI)
static int findUnwindSectionsByPhdr(struct dl_phdr_info *pinfo, size_t,
void *data) {
auto *cbdata = static_cast<dl_iterate_cb_data *>(data);
bool found_obj = false;
bool found_hdr = false;
assert(cbdata);
assert(cbdata->sects);
if (cbdata->targetAddr < pinfo->dlpi_addr)
return 0;
Elf_Addr image_base = calculateImageBase(pinfo);
for (Elf_Half i = 0; i < pinfo->dlpi_phnum; i++) {
const Elf_Phdr *phdr = &pinfo->dlpi_phdr[i];
if (phdr->p_type == PT_LOAD) {
uintptr_t begin = image_base + phdr->p_vaddr;
uintptr_t end = begin + phdr->p_memsz;
if (cbdata->targetAddr >= begin && cbdata->targetAddr < end)
found_obj = true;
} else if (phdr->p_type == PT_ARM_EXIDX) {
uintptr_t exidx_start = image_base + phdr->p_vaddr;
cbdata->sects->arm_section = exidx_start;
cbdata->sects->arm_section_length = phdr->p_memsz;
found_hdr = true;
}
}
return found_obj && found_hdr;
}
#endif // defined(LIBUNWIND_SUPPORT_DWARF_UNWIND)
# 557 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
#endif // defined(_LIBUNWIND_ARM_EHABI) || defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND)
# 558 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
inline bool LocalAddressSpace::findUnwindSections(pint_t targetAddr,
UnwindInfoSections &info) {
#ifdef __APPLE__
dyld_unwind_sections dyldInfo;
if (_dyld_find_unwind_sections((void *)targetAddr, &dyldInfo)) {
info.dso_base = (uintptr_t)dyldInfo.mh;
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 567 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
info.dwarf_section = (uintptr_t)dyldInfo.dwarf_section;
info.dwarf_section_length = dyldInfo.dwarf_section_length;
#endif
# 570 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
info.compact_unwind_section = (uintptr_t)dyldInfo.compact_unwind_section;
info.compact_unwind_section_length = dyldInfo.compact_unwind_section_length;
return true;
}
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND) && defined(_LIBUNWIND_IS_BAREMETAL)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 575 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
// Bare metal is statically linked, so no need to ask the dynamic loader
info.dwarf_section_length = (uintptr_t)(&__eh_frame_end - &__eh_frame_start);
info.dwarf_section = (uintptr_t)(&__eh_frame_start);
_LIBUNWIND_TRACE_UNWINDING("findUnwindSections: section %p length %p",
(void *)info.dwarf_section, (void *)info.dwarf_section_length);
#if 0 /* disabled by -frewrite-includes */
#if defined(_LIBUNWIND_SUPPORT_DWARF_INDEX)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 581 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
info.dwarf_index_section = (uintptr_t)(&__eh_frame_hdr_start);
info.dwarf_index_section_length = (uintptr_t)(&__eh_frame_hdr_end - &__eh_frame_hdr_start);
_LIBUNWIND_TRACE_UNWINDING("findUnwindSections: index section %p length %p",
(void *)info.dwarf_index_section, (void *)info.dwarf_index_section_length);
#endif
# 586 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
if (info.dwarf_section_length)
return true;
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBUNWIND_ARM_EHABI) && defined(_LIBUNWIND_IS_BAREMETAL)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 589 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
// Bare metal is statically linked, so no need to ask the dynamic loader
info.arm_section = (uintptr_t)(&__exidx_start);
info.arm_section_length = (uintptr_t)(&__exidx_end - &__exidx_start);
_LIBUNWIND_TRACE_UNWINDING("findUnwindSections: section %p length %p",
(void *)info.arm_section, (void *)info.arm_section_length);
if (info.arm_section && info.arm_section_length)
return true;
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND) && defined(_WIN32)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 597 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
HMODULE mods[1024];
HANDLE process = GetCurrentProcess();
DWORD needed;
if (!EnumProcessModules(process, mods, sizeof(mods), &needed)) {
DWORD err = GetLastError();
_LIBUNWIND_TRACE_UNWINDING("findUnwindSections: EnumProcessModules failed, "
"returned error %d", (int)err);
return false;
}
for (unsigned i = 0; i < (needed / sizeof(HMODULE)); i++) {
PIMAGE_DOS_HEADER pidh = (PIMAGE_DOS_HEADER)mods[i];
PIMAGE_NT_HEADERS pinh = (PIMAGE_NT_HEADERS)((BYTE *)pidh + pidh->e_lfanew);
PIMAGE_FILE_HEADER pifh = (PIMAGE_FILE_HEADER)&pinh->FileHeader;
PIMAGE_SECTION_HEADER pish = IMAGE_FIRST_SECTION(pinh);
bool found_obj = false;
bool found_hdr = false;
info.dso_base = (uintptr_t)mods[i];
for (unsigned j = 0; j < pifh->NumberOfSections; j++, pish++) {
uintptr_t begin = pish->VirtualAddress + (uintptr_t)mods[i];
uintptr_t end = begin + pish->Misc.VirtualSize;
if (!strncmp((const char *)pish->Name, ".text",
IMAGE_SIZEOF_SHORT_NAME)) {
if (targetAddr >= begin && targetAddr < end)
found_obj = true;
} else if (!strncmp((const char *)pish->Name, ".eh_frame",
IMAGE_SIZEOF_SHORT_NAME)) {
info.dwarf_section = begin;
info.dwarf_section_length = pish->Misc.VirtualSize;
found_hdr = true;
}
if (found_obj && found_hdr)
return true;
}
}
return false;
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBUNWIND_SUPPORT_SEH_UNWIND) && defined(_WIN32)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 636 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
// Don't even bother, since Windows has functions that do all this stuff
// for us.
(void)targetAddr;
(void)info;
return true;
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBUNWIND_ARM_EHABI) && defined(__BIONIC__)
#endif
#endif /* disabled by -frewrite-includes */
#elif 0 /* evaluated by -frewrite-includes */
# 642 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
// For ARM EHABI, Bionic didn't implement dl_iterate_phdr until API 21. After
// API 21, dl_iterate_phdr exists, but dl_unwind_find_exidx is much faster.
int length = 0;
info.arm_section =
(uintptr_t)dl_unwind_find_exidx((_Unwind_Ptr)targetAddr, &length);
info.arm_section_length = (uintptr_t)length * sizeof(EHABIIndexEntry);
if (info.arm_section && info.arm_section_length)
return true;
#if 0 /* disabled by -frewrite-includes */
#if 0
#elif defined(_LIBUNWIND_ARM_EHABI) || defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND)
#endif
#endif /* disabled by -frewrite-includes */
#elif 1 /* evaluated by -frewrite-includes */
# 651 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
dl_iterate_cb_data cb_data = {this, &info, targetAddr};
int found = dl_iterate_phdr(findUnwindSectionsByPhdr, &cb_data);
return static_cast<bool>(found);
#endif
# 655 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
return false;
}
inline bool LocalAddressSpace::findOtherFDE(pint_t targetAddr, pint_t &fde) {
#ifdef __APPLE__
return checkKeyMgrRegisteredFDEs(targetAddr, *((void**)&fde));
#else
# 664 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
// TO DO: if OS has way to dynamically register FDEs, check that.
(void)targetAddr;
(void)fde;
return false;
#endif
# 669 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
}
inline bool LocalAddressSpace::findFunctionName(pint_t addr, char *buf,
size_t bufLen,
unw_word_t *offset) {
#if 0 /* disabled by -frewrite-includes */
#if _LIBUNWIND_USE_DLADDR
#endif
#endif /* disabled by -frewrite-includes */
#if 1 /* evaluated by -frewrite-includes */
# 675 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
Dl_info dyldInfo;
if (dladdr((void *)addr, &dyldInfo)) {
if (dyldInfo.dli_sname != NULL) {
snprintf(buf, bufLen, "%s", dyldInfo.dli_sname);
*offset = (addr - (pint_t) dyldInfo.dli_saddr);
return true;
}
}
#else
# 684 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
(void)addr;
(void)buf;
(void)bufLen;
(void)offset;
#endif
# 689 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
return false;
}
} // namespace libunwind
#endif // __ADDRESSSPACE_HPP__
# 695 "/usr/src/contrib/llvm-project/libunwind/src/AddressSpace.hpp"
# 22 "/usr/src/contrib/llvm-project/libunwind/src/libunwind.cpp" 2
#if 0 /* expanded by -frewrite-includes */
#include "UnwindCursor.hpp"
#endif /* expanded by -frewrite-includes */
# 22 "/usr/src/contrib/llvm-project/libunwind/src/libunwind.cpp"
# 1 "/usr/src/contrib/llvm-project/libunwind/src/UnwindCursor.hpp" 1
//===------------------------- UnwindCursor.hpp ---------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//
// C++ interface to lower levels of libunwind
//===----------------------------------------------------------------------===//
#ifndef __UNWINDCURSOR_HPP__
#define __UNWINDCURSOR_HPP__
#if 0 /* expanded by -frewrite-includes */
#include <stdint.h>
#endif /* expanded by -frewrite-includes */
# 14 "/usr/src/contrib/llvm-project/libunwind/src/UnwindCursor.hpp"
# 15 "/usr/src/contrib/llvm-project/libunwind/src/UnwindCursor.hpp"
#if 0 /* expanded by -frewrite-includes */
#include <stdio.h>
#endif /* expanded by -frewrite-includes */
# 15 "/usr/src/contrib/llvm-project/libunwind/src/UnwindCursor.hpp"
# 1 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 1 3
// -*- C++ -*-
//===---------------------------- stdio.h ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#if 0 /* disabled by -frewrite-includes */
#if defined(__need_FILE) || defined(__need___FILE)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 11 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#if 0 /* disabled by -frewrite-includes */
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#endif
#endif /* disabled by -frewrite-includes */
#if 0 /* evaluated by -frewrite-includes */
# 13 "/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/stdio.h" 3
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment