nuttx/libs/libc/modlib/modlib_globals.S
Neale Ferguson fec789047a Add support for the loading of ET_DYN objects
* libs/libc/machine/arm/armv7-m/arch_elf.c
      - Fix cast of error message parameters

    * build-globals.sh
      - Build the modlib_globals.S file used to resolve symbols when dynamically loading

    * libs/libc/modlib/Make.defs
      - Build modlib_globals.S for all targets

    * libs/libc/modlib/modlib_load.c
      - Calculate sizes and text/data addresses based on program headers rather than section headers
      - Handle objects with no program headers

    * libs/libc/modlib/modlib_bind.c
      - Call modlib_readsym with pointer to symbol table
      - Add modlib_relocatedyn to manage relocation of symbols with shared object (ET_DYN)
      - Differentiate between ET_REL and ET_DYN objects
      - Use arch independent symbol ELF_R_SYM
      - Cast sizes to avoid warnings

    * libs/libc/modlib/modlib_load.c
      - Cast sizes to avoid warnings

    * include/elf.h
      - Add definitions that may be found in shared objects

    * include/nuttx/lib/modlib.h
      - Add parameter to modlib_readsym prototype
      - Add prototypes for:
        - modlib_insertsymtab
        - modlib_findglobal
      - Define Elf_Dyn and Elf_Off according to the elf architecture
      - Add fields to mod_loadifno_s:
        - Program headers
        - Exported symbols
        - Data section address
        - Padding requirement
        - Section index for dynamic symbol table
        - Number of symbols exported
      - Add prottotype for modlib_freesymtab

    * libs/libc/dlfcn/lib_dlclose.c
      - Free the symbol table when the dll is closed

    * libs/libc/dlfcn/lib_dlopen.c
      - Add dump of program headers to debug routine
      - Differentiate between ET_REL and ET_DYN objects

    * libs/libc/machine/arm/armv7-m/arch_elf.c
      - Add handling of R_ARM_RELATIVE and R_ARM_JUMP slot relocation types

    * libs/libc/modlib/modlib_loadshdrs.c
      - Rename modlib_loadshdrs.c to modlib_loadhdrs.c
      - Rename modlib_loadshdrs to modlib_loadhdrs
      - Add code to load program headers

    * libs/libc/modlib/modlib_symbols.c
      - Define entry point structure
      - Add offset parameter to modlib_symname() and use to find symbol names
      - Add symtab section header parameter to modlib_readsym()
      - Add offset parameter to modlib_symvalue() to locate symbol names
      - Add modlib_insertsyntab() to create a symbol table for exporting and resolution
      - Add findEP() to resolve a symbol in the modlib_global table
      - Add modlib_findglobal() to find symbol in the modlib_global table
      - Add modlib_freesymtab() to free the symbol table

    * libs/libc/modlib/modlib_uninit.c
      - Free header and sections from a module_loadinfo_s control block

    * libs/libc/modlib/modlib_verify.c
      - Handle ET_DYN shared objects

    * libs/libc/modlib/modlib_globals.S
      - Multi-target global table
      - Define library APIs that may be resolved when loading a shared object
2023-07-06 09:13:38 -03:00

1146 lines
30 KiB
ArmAsm

#if __SIZEOF_POINTER__ == 8
.macro globalEntry index, ep
.weak \ep
.quad .L\index
.quad \ep
.endm
# define ALIGN 8
#else
.macro globalEntry index, ep
.weak \ep
.long .L\index
.long \ep
.endm
# define ALIGN 4
#endif
#ifdef __ARM_ARCH_ISA_THUMB2
# ifdef __ARM_ARCH_7M__
.arch armv7e-m
# elif defined ___ARM_ARCH 8
.arch armv8-m.base
# endif
# ifdef __ARM_ASM_SYNTAX_UNIFIED__
.syntax unified
# endif
.thumb
#endif
.data
.align ALIGN
.global globalNames
globalNames:
.L0: .string "_ZdlPvj"
.L1: .string "__cos"
.L2: .string "__cxa_pure_virtual"
.L3: .string "__dso_handle"
.L4: .string "__dtoa_engine"
.L5: .string "__sin"
.L6: .string "__swap_uint32"
.L7: .string "__swap_uint64"
.L8: .string "__ultoa_invert"
.L9: .string "_exit"
.L10: .string "abort"
.L11: .string "abs"
.L12: .string "accept"
.L13: .string "access"
.L14: .string "acos"
.L15: .string "acosf"
.L16: .string "acosh"
.L17: .string "acoshf"
.L18: .string "acoshl"
.L19: .string "acosl"
.L20: .string "add_file_action"
.L21: .string "asin"
.L22: .string "asinf"
.L23: .string "asinh"
.L24: .string "asinhf"
.L25: .string "asinhl"
.L26: .string "asinl"
.L27: .string "asprintf"
.L28: .string "atan"
.L29: .string "atan2"
.L30: .string "atan2f"
.L31: .string "atan2l"
.L32: .string "atanf"
.L33: .string "atanh"
.L34: .string "atanhf"
.L35: .string "atanhl"
.L36: .string "atanl"
.L37: .string "b16atan2"
.L38: .string "b16cos"
.L39: .string "b16sin"
.L40: .string "basename"
.L41: .string "bind"
.L42: .string "boardctl"
.L43: .string "bsearch"
.L44: .string "cabs"
.L45: .string "cacheflush"
.L46: .string "calloc"
.L47: .string "cbrtf"
.L48: .string "ceil"
.L49: .string "ceilf"
.L50: .string "ceill"
.L51: .string "cfgetspeed"
.L52: .string "cfmakeraw"
.L53: .string "cfsetspeed"
.L54: .string "chdir"
.L55: .string "cimag"
.L56: .string "clearenv"
.L57: .string "clearerr"
.L58: .string "clock"
.L59: .string "close"
.L60: .string "closedir"
.L61: .string "connect"
.L62: .string "copysign"
.L63: .string "copysignf"
.L64: .string "copysignl"
.L65: .string "cos"
.L66: .string "cosf"
.L67: .string "cosh"
.L68: .string "coshf"
.L69: .string "coshl"
.L70: .string "cosl"
.L71: .string "crc16"
.L72: .string "crc16part"
.L73: .string "crc32"
.L74: .string "crc32part"
.L75: .string "crc64"
.L76: .string "crc64part"
.L77: .string "crc8"
.L78: .string "crc8ccitt"
.L79: .string "crc8part"
.L80: .string "creal"
.L81: .string "daemon"
.L82: .string "difftime"
.L83: .string "dirname"
.L84: .string "div"
.L85: .string "dlclose"
.L86: .string "dlerror"
.L87: .string "dlopen"
.L88: .string "dlsym"
.L89: .string "dlsymtab"
.L90: .string "dns_add_nameserver"
.L91: .string "dns_bind"
.L92: .string "dns_find_answer"
.L93: .string "dns_foreach_nameserver"
.L94: .string "dns_initialize"
.L95: .string "dns_notify_nameserver"
.L96: .string "dns_query"
.L97: .string "dns_register_notify"
.L98: .string "dns_save_answer"
.L99: .string "dns_semgive"
.L100: .string "dns_semtake"
.L101: .string "dns_unregister_notify"
.L102: .string "dprintf"
.L103: .string "dup"
.L104: .string "dup2"
.L105: .string "envpath_init"
.L106: .string "envpath_next"
.L107: .string "envpath_release"
.L108: .string "erf"
.L109: .string "erff"
.L110: .string "erfl"
.L111: .string "ether_ntoa"
.L112: .string "exec"
.L113: .string "exit"
.L114: .string "exp"
.L115: .string "expf"
.L116: .string "expl"
.L117: .string "explicit_bzero"
.L118: .string "fabs"
.L119: .string "fabsf"
.L120: .string "fabsl"
.L121: .string "fclose"
.L122: .string "fcntl"
.L123: .string "fdopen"
.L124: .string "feof"
.L125: .string "ferror"
.L126: .string "fflush"
.L127: .string "ffs"
.L128: .string "ffsl"
.L129: .string "ffsll"
.L130: .string "fgetc"
.L131: .string "fgetpos"
.L132: .string "fgets"
.L133: .string "fileno"
.L134: .string "floor"
.L135: .string "floorf"
.L136: .string "floorl"
.L137: .string "fls"
.L138: .string "flsl"
.L139: .string "flsll"
.L140: .string "fma"
.L141: .string "fmaf"
.L142: .string "fmod"
.L143: .string "fmodf"
.L144: .string "fmodl"
.L145: .string "fopen"
.L146: .string "fprintf"
.L147: .string "fputc"
.L148: .string "fputs"
.L149: .string "fread"
.L150: .string "free"
.L151: .string "freeaddrinfo"
.L152: .string "freopen"
.L153: .string "frexp"
.L154: .string "frexpf"
.L155: .string "frexpl"
.L156: .string "fscanf"
.L157: .string "fseek"
.L158: .string "fsetpos"
.L159: .string "fstat"
.L160: .string "fstatfs"
.L161: .string "fsync"
.L162: .string "ftell"
.L163: .string "ftruncate"
.L164: .string "fwrite"
.L165: .string "gai_strerror"
.L166: .string "gamma"
.L167: .string "getaddrinfo"
.L168: .string "getcwd"
.L169: .string "getenv"
.L170: .string "gethostbyaddr"
.L171: .string "gethostbyaddr_r"
.L172: .string "gethostbyname"
.L173: .string "gethostbyname_r"
.L174: .string "gethostname"
.L175: .string "getnameinfo"
.L176: .string "getopt"
.L177: .string "getoptargp"
.L178: .string "getoptindp"
.L179: .string "getoptoptp"
.L180: .string "getpeername"
.L181: .string "getpid"
.L182: .string "getprotobyname"
.L183: .string "getrandom"
.L184: .string "gets"
.L185: .string "gets_s"
.L186: .string "getservbyname"
.L187: .string "getservbyname_r"
.L188: .string "getsockname"
.L189: .string "getsockopt"
.L190: .string "gettimeofday"
.L191: .string "gmtime"
.L192: .string "gmtime_r"
.L193: .string "h_errno"
.L194: .string "htonl"
.L195: .string "htons"
.L196: .string "hypot"
.L197: .string "ilogb"
.L198: .string "ilogbf"
.L199: .string "imaxabs"
.L200: .string "in6addr_any"
.L201: .string "inet_addr"
.L202: .string "inet_aton"
.L203: .string "inet_ntoa"
.L204: .string "inet_ntop"
.L205: .string "inet_pton"
.L206: .string "ioctl"
.L207: .string "isatty"
.L208: .string "itoa"
.L209: .string "kill"
.L210: .string "labs"
.L211: .string "ldexp"
.L212: .string "ldexpf"
.L213: .string "ldexpl"
.L214: .string "ldiv"
.L215: .string "lgamma"
.L216: .string "lgamma_r"
.L217: .string "listen"
.L218: .string "llabs"
.L219: .string "lldiv"
.L220: .string "localeconv"
.L221: .string "log"
.L222: .string "log10"
.L223: .string "log10f"
.L224: .string "log10l"
.L225: .string "log2"
.L226: .string "log2f"
.L227: .string "log2l"
.L228: .string "logf"
.L229: .string "logl"
.L230: .string "lseek"
.L231: .string "malloc"
.L232: .string "match"
.L233: .string "meadow_mappings"
.L234: .string "memalign"
.L235: .string "memccpy"
.L236: .string "memchr"
.L237: .string "memcmp"
.L238: .string "memcpy"
.L239: .string "memmove"
.L240: .string "memrchr"
.L241: .string "memset"
.L242: .string "mkdir"
.L243: .string "mkfifo"
.L244: .string "mkfifo2"
.L245: .string "mkstemp"
.L246: .string "mktemp"
.L247: .string "mktime"
.L248: .string "mmap"
.L249: .string "modf"
.L250: .string "modff"
.L251: .string "modfl"
.L252: .string "mono_main"
.L253: .string "mono_should_run"
.L254: .string "mount"
.L255: .string "munmap"
.L256: .string "nanosleep"
.L257: .string "nrand"
.L258: .string "ntohl"
.L259: .string "ntohs"
.L260: .string "open"
.L261: .string "opendir"
.L262: .string "optarg"
.L263: .string "optind"
.L264: .string "optopt"
.L265: .string "perror"
.L266: .string "pipe"
.L267: .string "pipe2"
.L268: .string "poll"
.L269: .string "posix_spawnattr_dump"
.L270: .string "posix_spawnattr_getflags"
.L271: .string "posix_spawnattr_getschedparam"
.L272: .string "posix_spawnattr_getschedpolicy"
.L273: .string "posix_spawnattr_getsigmask"
.L274: .string "posix_spawnattr_init"
.L275: .string "posix_spawnattr_setflags"
.L276: .string "posix_spawnattr_setschedparam"
.L277: .string "posix_spawnattr_setschedpolicy"
.L278: .string "posix_spawnattr_setsigmask"
.L279: .string "pow"
.L280: .string "powf"
.L281: .string "powl"
.L282: .string "ppoll"
.L283: .string "prctl"
.L284: .string "pread"
.L285: .string "printf"
.L286: .string "pselect"
.L287: .string "psiginfo"
.L288: .string "psignal"
.L289: .string "pthread_attr_destroy"
.L290: .string "pthread_attr_getinheritsched"
.L291: .string "pthread_attr_getschedparam"
.L292: .string "pthread_attr_getschedpolicy"
.L293: .string "pthread_attr_getstack"
.L294: .string "pthread_attr_getstacksize"
.L295: .string "pthread_attr_init"
.L296: .string "pthread_attr_setinheritsched"
.L297: .string "pthread_attr_setschedparam"
.L298: .string "pthread_attr_setschedpolicy"
.L299: .string "pthread_attr_setstack"
.L300: .string "pthread_attr_setstacksize"
.L301: .string "pthread_barrier_destroy"
.L302: .string "pthread_barrier_init"
.L303: .string "pthread_barrier_wait"
.L304: .string "pthread_barrierattr_destroy"
.L305: .string "pthread_barrierattr_getpshared"
.L306: .string "pthread_barrierattr_init"
.L307: .string "pthread_barrierattr_setpshared"
.L308: .string "pthread_cancel"
.L309: .string "pthread_cleanup_pop"
.L310: .string "pthread_cleanup_push"
.L311: .string "pthread_cond_broadcast"
.L312: .string "pthread_cond_destroy"
.L313: .string "pthread_cond_init"
.L314: .string "pthread_cond_signal"
.L315: .string "pthread_cond_timedwait"
.L316: .string "pthread_cond_wait"
.L317: .string "pthread_condattr_destroy"
.L318: .string "pthread_condattr_init"
.L319: .string "pthread_create"
.L320: .string "pthread_detach"
.L321: .string "pthread_exit"
.L322: .string "pthread_get_stackaddr_np"
.L323: .string "pthread_get_stacksize_np"
.L324: .string "pthread_getschedparam"
.L325: .string "pthread_getspecific"
.L326: .string "pthread_join"
.L327: .string "pthread_key_create"
.L328: .string "pthread_key_delete"
.L329: .string "pthread_kill"
.L330: .string "pthread_mutex_consistent"
.L331: .string "pthread_mutex_destroy"
.L332: .string "pthread_mutex_init"
.L333: .string "pthread_mutex_lock"
.L334: .string "pthread_mutex_timedlock"
.L335: .string "pthread_mutex_trylock"
.L336: .string "pthread_mutex_unlock"
.L337: .string "pthread_mutexattr_destroy"
.L338: .string "pthread_mutexattr_getprotocol"
.L339: .string "pthread_mutexattr_getpshared"
.L340: .string "pthread_mutexattr_getrobust"
.L341: .string "pthread_mutexattr_gettype"
.L342: .string "pthread_mutexattr_init"
.L343: .string "pthread_mutexattr_setprotocol"
.L344: .string "pthread_mutexattr_setpshared"
.L345: .string "pthread_mutexattr_setrobust"
.L346: .string "pthread_mutexattr_settype"
.L347: .string "pthread_once"
.L348: .string "pthread_rwlock_destroy"
.L349: .string "pthread_rwlock_init"
.L350: .string "pthread_rwlock_rdlock"
.L351: .string "pthread_rwlock_timedrdlock"
.L352: .string "pthread_rwlock_timedwrlock"
.L353: .string "pthread_rwlock_tryrdlock"
.L354: .string "pthread_rwlock_trywrlock"
.L355: .string "pthread_rwlock_unlock"
.L356: .string "pthread_rwlock_wrlock"
.L357: .string "pthread_setcancelstate"
.L358: .string "pthread_setcanceltype"
.L359: .string "pthread_setschedparam"
.L360: .string "pthread_setschedprio"
.L361: .string "pthread_setspecific"
.L362: .string "pthread_sigmask"
.L363: .string "pthread_startup"
.L364: .string "pthread_testcancel"
.L365: .string "pthread_yield"
.L366: .string "putenv"
.L367: .string "puts"
.L368: .string "pwrite"
.L369: .string "qsort"
.L370: .string "raise"
.L371: .string "rand"
.L372: .string "random"
.L373: .string "read"
.L374: .string "readdir"
.L375: .string "readdir_r"
.L376: .string "readv"
.L377: .string "realloc"
.L378: .string "recv"
.L379: .string "recvfrom"
.L380: .string "recvmsg"
.L381: .string "remove"
.L382: .string "rename"
.L383: .string "rewinddir"
.L384: .string "rint"
.L385: .string "rintf"
.L386: .string "rintl"
.L387: .string "rmdir"
.L388: .string "round"
.L389: .string "roundf"
.L390: .string "roundl"
.L391: .string "scalbn"
.L392: .string "scalbnf"
.L393: .string "scanf"
.L394: .string "seekdir"
.L395: .string "select"
.L396: .string "sem_destroy"
.L397: .string "sem_getprotocol"
.L398: .string "sem_getvalue"
.L399: .string "sem_init"
.L400: .string "sem_post"
.L401: .string "sem_setprotocol"
.L402: .string "sem_timedwait"
.L403: .string "sem_trywait"
.L404: .string "sem_wait"
.L405: .string "send"
.L406: .string "sendfile"
.L407: .string "sendmsg"
.L408: .string "sendto"
.L409: .string "set_errno"
.L410: .string "setbuf"
.L411: .string "setenv"
.L412: .string "sethostname"
.L413: .string "setlocale"
.L414: .string "setlogmask"
.L415: .string "setsockopt"
.L416: .string "settimeofday"
.L417: .string "setvbuf"
.L418: .string "shutdown"
.L419: .string "sigaction"
.L420: .string "sigaddset"
.L421: .string "sigdelset"
.L422: .string "sigemptyset"
.L423: .string "sigfillset"
.L424: .string "sighold"
.L425: .string "sigignore"
.L426: .string "sigismember"
.L427: .string "signal"
.L428: .string "sigpause"
.L429: .string "sigpending"
.L430: .string "sigprocmask"
.L431: .string "sigqueue"
.L432: .string "sigrelse"
.L433: .string "sigset"
.L434: .string "sigsuspend"
.L435: .string "sigtimedwait"
.L436: .string "sigwait"
.L437: .string "sigwaitinfo"
.L438: .string "sin"
.L439: .string "sinf"
.L440: .string "sinh"
.L441: .string "sinhf"
.L442: .string "sinhl"
.L443: .string "sinl"
.L444: .string "sleep"
.L445: .string "snprintf"
.L446: .string "socket"
.L447: .string "sprintf"
.L448: .string "sqrt"
.L449: .string "sqrtf"
.L450: .string "sqrtl"
.L451: .string "srand"
.L452: .string "sscanf"
.L453: .string "stat"
.L454: .string "statfs"
.L455: .string "stpcpy"
.L456: .string "stpncpy"
.L457: .string "strcasecmp"
.L458: .string "strcasestr"
.L459: .string "strcat"
.L460: .string "strchr"
.L461: .string "strcmp"
.L462: .string "strcoll"
.L463: .string "strcpy"
.L464: .string "strcspn"
.L465: .string "strdup"
.L466: .string "stream_semgive"
.L467: .string "stream_semtake"
.L468: .string "strerror"
.L469: .string "strerror_r"
.L470: .string "strftime"
.L471: .string "strlen"
.L472: .string "strncasecmp"
.L473: .string "strncat"
.L474: .string "strncmp"
.L475: .string "strncpy"
.L476: .string "strndup"
.L477: .string "strnlen"
.L478: .string "strpbrk"
.L479: .string "strrchr"
.L480: .string "strsep"
.L481: .string "strsignal"
.L482: .string "strspn"
.L483: .string "strstr"
.L484: .string "strtod"
.L485: .string "strtof"
.L486: .string "strtoimax"
.L487: .string "strtok"
.L488: .string "strtok_r"
.L489: .string "strtol"
.L490: .string "strtold"
.L491: .string "strtoll"
.L492: .string "strtoul"
.L493: .string "strtoull"
.L494: .string "strtoumax"
.L495: .string "strxfrm"
.L496: .string "swab"
.L497: .string "sysconf"
.L498: .string "syslog"
.L499: .string "tan"
.L500: .string "tanf"
.L501: .string "tanh"
.L502: .string "tanhf"
.L503: .string "tanhl"
.L504: .string "tanl"
.L505: .string "tcdrain"
.L506: .string "tcflow"
.L507: .string "tcflush"
.L508: .string "tcgetattr"
.L509: .string "tcsetattr"
.L510: .string "tea_decrypt"
.L511: .string "tea_encrypt"
.L512: .string "telldir"
.L513: .string "tempnam"
.L514: .string "tgamma"
.L515: .string "time"
.L516: .string "tmpnam"
.L517: .string "trunc"
.L518: .string "truncate"
.L519: .string "truncf"
.L520: .string "truncl"
.L521: .string "uadd32x64"
.L522: .string "uadd64"
.L523: .string "ub32sqrtub16"
.L524: .string "umul32"
.L525: .string "umul32x64"
.L526: .string "umul64"
.L527: .string "uname"
.L528: .string "ungetc"
.L529: .string "unlink"
.L530: .string "unsetenv"
.L531: .string "usleep"
.L532: .string "usub64"
.L533: .string "usub64x32"
.L534: .string "vasprintf"
.L535: .string "vdprintf"
.L536: .string "vfork"
.L537: .string "vfprintf"
.L538: .string "vfscanf"
.L539: .string "vprintf"
.L540: .string "vsnprintf"
.L541: .string "vsprintf"
.L542: .string "vsscanf"
.L543: .string "vsyslog"
.L544: .string "waitpid"
.L545: .string "write"
.L546: .string "writev"
.L547: .string "xorshift128"
.L548: .string "zalloc"
.size globalNames, . - globalNames
.align ALIGN
.global nGlobals
.type nGlobals, "object"
nGlobals:
.word 549
.size nGlobals, . - nGlobals
.align ALIGN
.global globalTable
.type globalTable, "object"
globalTable:
globalEntry 0, _ZdlPvj
globalEntry 1, __cos
globalEntry 2, __cxa_pure_virtual
globalEntry 3, __dso_handle
globalEntry 4, __dtoa_engine
globalEntry 5, __sin
globalEntry 6, __swap_uint32
globalEntry 7, __swap_uint64
globalEntry 8, __ultoa_invert
globalEntry 9, _exit
globalEntry 10, abort
globalEntry 11, abs
globalEntry 12, accept
globalEntry 13, access
globalEntry 14, acos
globalEntry 15, acosf
globalEntry 16, acosh
globalEntry 17, acoshf
globalEntry 18, acoshl
globalEntry 19, acosl
globalEntry 20, add_file_action
globalEntry 21, asin
globalEntry 22, asinf
globalEntry 23, asinh
globalEntry 24, asinhf
globalEntry 25, asinhl
globalEntry 26, asinl
globalEntry 27, asprintf
globalEntry 28, atan
globalEntry 29, atan2
globalEntry 30, atan2f
globalEntry 31, atan2l
globalEntry 32, atanf
globalEntry 33, atanh
globalEntry 34, atanhf
globalEntry 35, atanhl
globalEntry 36, atanl
globalEntry 37, b16atan2
globalEntry 38, b16cos
globalEntry 39, b16sin
globalEntry 40, basename
globalEntry 41, bind
globalEntry 42, boardctl
globalEntry 43, bsearch
globalEntry 44, cabs
globalEntry 45, cacheflush
globalEntry 46, calloc
globalEntry 47, cbrtf
globalEntry 48, ceil
globalEntry 49, ceilf
globalEntry 50, ceill
globalEntry 51, cfgetspeed
globalEntry 52, cfmakeraw
globalEntry 53, cfsetspeed
globalEntry 54, chdir
globalEntry 55, cimag
globalEntry 56, clearenv
globalEntry 57, clearerr
globalEntry 58, clock
globalEntry 59, close
globalEntry 60, closedir
globalEntry 61, connect
globalEntry 62, copysign
globalEntry 63, copysignf
globalEntry 64, copysignl
globalEntry 65, cos
globalEntry 66, cosf
globalEntry 67, cosh
globalEntry 68, coshf
globalEntry 69, coshl
globalEntry 70, cosl
globalEntry 71, crc16
globalEntry 72, crc16part
globalEntry 73, crc32
globalEntry 74, crc32part
globalEntry 75, crc64
globalEntry 76, crc64part
globalEntry 77, crc8
globalEntry 78, crc8ccitt
globalEntry 79, crc8part
globalEntry 80, creal
globalEntry 81, daemon
globalEntry 82, difftime
globalEntry 83, dirname
globalEntry 84, div
globalEntry 85, dlclose
globalEntry 86, dlerror
globalEntry 87, dlopen
globalEntry 88, dlsym
globalEntry 89, dlsymtab
globalEntry 90, dns_add_nameserver
globalEntry 91, dns_bind
globalEntry 92, dns_find_answer
globalEntry 93, dns_foreach_nameserver
globalEntry 94, dns_initialize
globalEntry 95, dns_notify_nameserver
globalEntry 96, dns_query
globalEntry 97, dns_register_notify
globalEntry 98, dns_save_answer
globalEntry 99, dns_semgive
globalEntry 100, dns_semtake
globalEntry 101, dns_unregister_notify
globalEntry 102, dprintf
globalEntry 103, dup
globalEntry 104, dup2
globalEntry 105, envpath_init
globalEntry 106, envpath_next
globalEntry 107, envpath_release
globalEntry 108, erf
globalEntry 109, erff
globalEntry 110, erfl
globalEntry 111, ether_ntoa
globalEntry 112, exec
globalEntry 113, exit
globalEntry 114, exp
globalEntry 115, expf
globalEntry 116, expl
globalEntry 117, explicit_bzero
globalEntry 118, fabs
globalEntry 119, fabsf
globalEntry 120, fabsl
globalEntry 121, fclose
globalEntry 122, fcntl
globalEntry 123, fdopen
globalEntry 124, feof
globalEntry 125, ferror
globalEntry 126, fflush
globalEntry 127, ffs
globalEntry 128, ffsl
globalEntry 129, ffsll
globalEntry 130, fgetc
globalEntry 131, fgetpos
globalEntry 132, fgets
globalEntry 133, fileno
globalEntry 134, floor
globalEntry 135, floorf
globalEntry 136, floorl
globalEntry 137, fls
globalEntry 138, flsl
globalEntry 139, flsll
globalEntry 140, fma
globalEntry 141, fmaf
globalEntry 142, fmod
globalEntry 143, fmodf
globalEntry 144, fmodl
globalEntry 145, fopen
globalEntry 146, fprintf
globalEntry 147, fputc
globalEntry 148, fputs
globalEntry 149, fread
globalEntry 150, free
globalEntry 151, freeaddrinfo
globalEntry 152, freopen
globalEntry 153, frexp
globalEntry 154, frexpf
globalEntry 155, frexpl
globalEntry 156, fscanf
globalEntry 157, fseek
globalEntry 158, fsetpos
globalEntry 159, fstat
globalEntry 160, fstatfs
globalEntry 161, fsync
globalEntry 162, ftell
globalEntry 163, ftruncate
globalEntry 164, fwrite
globalEntry 165, gai_strerror
globalEntry 166, gamma
globalEntry 167, getaddrinfo
globalEntry 168, getcwd
globalEntry 169, getenv
globalEntry 170, gethostbyaddr
globalEntry 171, gethostbyaddr_r
globalEntry 172, gethostbyname
globalEntry 173, gethostbyname_r
globalEntry 174, gethostname
globalEntry 175, getnameinfo
globalEntry 176, getopt
globalEntry 177, getoptargp
globalEntry 178, getoptindp
globalEntry 179, getoptoptp
globalEntry 180, getpeername
globalEntry 181, getpid
globalEntry 182, getprotobyname
globalEntry 183, getrandom
globalEntry 184, gets
globalEntry 185, gets_s
globalEntry 186, getservbyname
globalEntry 187, getservbyname_r
globalEntry 188, getsockname
globalEntry 189, getsockopt
globalEntry 190, gettimeofday
globalEntry 191, gmtime
globalEntry 192, gmtime_r
globalEntry 193, h_errno
globalEntry 194, htonl
globalEntry 195, htons
globalEntry 196, hypot
globalEntry 197, ilogb
globalEntry 198, ilogbf
globalEntry 199, imaxabs
globalEntry 200, in6addr_any
globalEntry 201, inet_addr
globalEntry 202, inet_aton
globalEntry 203, inet_ntoa
globalEntry 204, inet_ntop
globalEntry 205, inet_pton
globalEntry 206, ioctl
globalEntry 207, isatty
globalEntry 208, itoa
globalEntry 209, kill
globalEntry 210, labs
globalEntry 211, ldexp
globalEntry 212, ldexpf
globalEntry 213, ldexpl
globalEntry 214, ldiv
globalEntry 215, lgamma
globalEntry 216, lgamma_r
globalEntry 217, listen
globalEntry 218, llabs
globalEntry 219, lldiv
globalEntry 220, localeconv
globalEntry 221, log
globalEntry 222, log10
globalEntry 223, log10f
globalEntry 224, log10l
globalEntry 225, log2
globalEntry 226, log2f
globalEntry 227, log2l
globalEntry 228, logf
globalEntry 229, logl
globalEntry 230, lseek
globalEntry 231, malloc
globalEntry 232, match
globalEntry 233, meadow_mappings
globalEntry 234, memalign
globalEntry 235, memccpy
globalEntry 236, memchr
globalEntry 237, memcmp
globalEntry 238, memcpy
globalEntry 239, memmove
globalEntry 240, memrchr
globalEntry 241, memset
globalEntry 242, mkdir
globalEntry 243, mkfifo
globalEntry 244, mkfifo2
globalEntry 245, mkstemp
globalEntry 246, mktemp
globalEntry 247, mktime
globalEntry 248, mmap
globalEntry 249, modf
globalEntry 250, modff
globalEntry 251, modfl
globalEntry 252, mono_main
globalEntry 253, mono_should_run
globalEntry 254, mount
globalEntry 255, munmap
globalEntry 256, nanosleep
globalEntry 257, nrand
globalEntry 258, ntohl
globalEntry 259, ntohs
globalEntry 260, open
globalEntry 261, opendir
globalEntry 262, optarg
globalEntry 263, optind
globalEntry 264, optopt
globalEntry 265, perror
globalEntry 266, pipe
globalEntry 267, pipe2
globalEntry 268, poll
globalEntry 269, posix_spawnattr_dump
globalEntry 270, posix_spawnattr_getflags
globalEntry 271, posix_spawnattr_getschedparam
globalEntry 272, posix_spawnattr_getschedpolicy
globalEntry 273, posix_spawnattr_getsigmask
globalEntry 274, posix_spawnattr_init
globalEntry 275, posix_spawnattr_setflags
globalEntry 276, posix_spawnattr_setschedparam
globalEntry 277, posix_spawnattr_setschedpolicy
globalEntry 278, posix_spawnattr_setsigmask
globalEntry 279, pow
globalEntry 280, powf
globalEntry 281, powl
globalEntry 282, ppoll
globalEntry 283, prctl
globalEntry 284, pread
globalEntry 285, printf
globalEntry 286, pselect
globalEntry 287, psiginfo
globalEntry 288, psignal
globalEntry 289, pthread_attr_destroy
globalEntry 290, pthread_attr_getinheritsched
globalEntry 291, pthread_attr_getschedparam
globalEntry 292, pthread_attr_getschedpolicy
globalEntry 293, pthread_attr_getstack
globalEntry 294, pthread_attr_getstacksize
globalEntry 295, pthread_attr_init
globalEntry 296, pthread_attr_setinheritsched
globalEntry 297, pthread_attr_setschedparam
globalEntry 298, pthread_attr_setschedpolicy
globalEntry 299, pthread_attr_setstack
globalEntry 300, pthread_attr_setstacksize
globalEntry 301, pthread_barrier_destroy
globalEntry 302, pthread_barrier_init
globalEntry 303, pthread_barrier_wait
globalEntry 304, pthread_barrierattr_destroy
globalEntry 305, pthread_barrierattr_getpshared
globalEntry 306, pthread_barrierattr_init
globalEntry 307, pthread_barrierattr_setpshared
globalEntry 308, pthread_cancel
globalEntry 309, pthread_cleanup_pop
globalEntry 310, pthread_cleanup_push
globalEntry 311, pthread_cond_broadcast
globalEntry 312, pthread_cond_destroy
globalEntry 313, pthread_cond_init
globalEntry 314, pthread_cond_signal
globalEntry 315, pthread_cond_timedwait
globalEntry 316, pthread_cond_wait
globalEntry 317, pthread_condattr_destroy
globalEntry 318, pthread_condattr_init
globalEntry 319, pthread_create
globalEntry 320, pthread_detach
globalEntry 321, pthread_exit
globalEntry 322, pthread_get_stackaddr_np
globalEntry 323, pthread_get_stacksize_np
globalEntry 324, pthread_getschedparam
globalEntry 325, pthread_getspecific
globalEntry 326, pthread_join
globalEntry 327, pthread_key_create
globalEntry 328, pthread_key_delete
globalEntry 329, pthread_kill
globalEntry 330, pthread_mutex_consistent
globalEntry 331, pthread_mutex_destroy
globalEntry 332, pthread_mutex_init
globalEntry 333, pthread_mutex_lock
globalEntry 334, pthread_mutex_timedlock
globalEntry 335, pthread_mutex_trylock
globalEntry 336, pthread_mutex_unlock
globalEntry 337, pthread_mutexattr_destroy
globalEntry 338, pthread_mutexattr_getprotocol
globalEntry 339, pthread_mutexattr_getpshared
globalEntry 340, pthread_mutexattr_getrobust
globalEntry 341, pthread_mutexattr_gettype
globalEntry 342, pthread_mutexattr_init
globalEntry 343, pthread_mutexattr_setprotocol
globalEntry 344, pthread_mutexattr_setpshared
globalEntry 345, pthread_mutexattr_setrobust
globalEntry 346, pthread_mutexattr_settype
globalEntry 347, pthread_once
globalEntry 348, pthread_rwlock_destroy
globalEntry 349, pthread_rwlock_init
globalEntry 350, pthread_rwlock_rdlock
globalEntry 351, pthread_rwlock_timedrdlock
globalEntry 352, pthread_rwlock_timedwrlock
globalEntry 353, pthread_rwlock_tryrdlock
globalEntry 354, pthread_rwlock_trywrlock
globalEntry 355, pthread_rwlock_unlock
globalEntry 356, pthread_rwlock_wrlock
globalEntry 357, pthread_setcancelstate
globalEntry 358, pthread_setcanceltype
globalEntry 359, pthread_setschedparam
globalEntry 360, pthread_setschedprio
globalEntry 361, pthread_setspecific
globalEntry 362, pthread_sigmask
globalEntry 363, pthread_startup
globalEntry 364, pthread_testcancel
globalEntry 365, pthread_yield
globalEntry 366, putenv
globalEntry 367, puts
globalEntry 368, pwrite
globalEntry 369, qsort
globalEntry 370, raise
globalEntry 371, rand
globalEntry 372, random
globalEntry 373, read
globalEntry 374, readdir
globalEntry 375, readdir_r
globalEntry 376, readv
globalEntry 377, realloc
globalEntry 378, recv
globalEntry 379, recvfrom
globalEntry 380, recvmsg
globalEntry 381, remove
globalEntry 382, rename
globalEntry 383, rewinddir
globalEntry 384, rint
globalEntry 385, rintf
globalEntry 386, rintl
globalEntry 387, rmdir
globalEntry 388, round
globalEntry 389, roundf
globalEntry 390, roundl
globalEntry 391, scalbn
globalEntry 392, scalbnf
globalEntry 393, scanf
globalEntry 394, seekdir
globalEntry 395, select
globalEntry 396, sem_destroy
globalEntry 397, sem_getprotocol
globalEntry 398, sem_getvalue
globalEntry 399, sem_init
globalEntry 400, sem_post
globalEntry 401, sem_setprotocol
globalEntry 402, sem_timedwait
globalEntry 403, sem_trywait
globalEntry 404, sem_wait
globalEntry 405, send
globalEntry 406, sendfile
globalEntry 407, sendmsg
globalEntry 408, sendto
globalEntry 409, set_errno
globalEntry 410, setbuf
globalEntry 411, setenv
globalEntry 412, sethostname
globalEntry 413, setlocale
globalEntry 414, setlogmask
globalEntry 415, setsockopt
globalEntry 416, settimeofday
globalEntry 417, setvbuf
globalEntry 418, shutdown
globalEntry 419, sigaction
globalEntry 420, sigaddset
globalEntry 421, sigdelset
globalEntry 422, sigemptyset
globalEntry 423, sigfillset
globalEntry 424, sighold
globalEntry 425, sigignore
globalEntry 426, sigismember
globalEntry 427, signal
globalEntry 428, sigpause
globalEntry 429, sigpending
globalEntry 430, sigprocmask
globalEntry 431, sigqueue
globalEntry 432, sigrelse
globalEntry 433, sigset
globalEntry 434, sigsuspend
globalEntry 435, sigtimedwait
globalEntry 436, sigwait
globalEntry 437, sigwaitinfo
globalEntry 438, sin
globalEntry 439, sinf
globalEntry 440, sinh
globalEntry 441, sinhf
globalEntry 442, sinhl
globalEntry 443, sinl
globalEntry 444, sleep
globalEntry 445, snprintf
globalEntry 446, socket
globalEntry 447, sprintf
globalEntry 448, sqrt
globalEntry 449, sqrtf
globalEntry 450, sqrtl
globalEntry 451, srand
globalEntry 452, sscanf
globalEntry 453, stat
globalEntry 454, statfs
globalEntry 455, stpcpy
globalEntry 456, stpncpy
globalEntry 457, strcasecmp
globalEntry 458, strcasestr
globalEntry 459, strcat
globalEntry 460, strchr
globalEntry 461, strcmp
globalEntry 462, strcoll
globalEntry 463, strcpy
globalEntry 464, strcspn
globalEntry 465, strdup
globalEntry 466, stream_semgive
globalEntry 467, stream_semtake
globalEntry 468, strerror
globalEntry 469, strerror_r
globalEntry 470, strftime
globalEntry 471, strlen
globalEntry 472, strncasecmp
globalEntry 473, strncat
globalEntry 474, strncmp
globalEntry 475, strncpy
globalEntry 476, strndup
globalEntry 477, strnlen
globalEntry 478, strpbrk
globalEntry 479, strrchr
globalEntry 480, strsep
globalEntry 481, strsignal
globalEntry 482, strspn
globalEntry 483, strstr
globalEntry 484, strtod
globalEntry 485, strtof
globalEntry 486, strtoimax
globalEntry 487, strtok
globalEntry 488, strtok_r
globalEntry 489, strtol
globalEntry 490, strtold
globalEntry 491, strtoll
globalEntry 492, strtoul
globalEntry 493, strtoull
globalEntry 494, strtoumax
globalEntry 495, strxfrm
globalEntry 496, swab
globalEntry 497, sysconf
globalEntry 498, syslog
globalEntry 499, tan
globalEntry 500, tanf
globalEntry 501, tanh
globalEntry 502, tanhf
globalEntry 503, tanhl
globalEntry 504, tanl
globalEntry 505, tcdrain
globalEntry 506, tcflow
globalEntry 507, tcflush
globalEntry 508, tcgetattr
globalEntry 509, tcsetattr
globalEntry 510, tea_decrypt
globalEntry 511, tea_encrypt
globalEntry 512, telldir
globalEntry 513, tempnam
globalEntry 514, tgamma
globalEntry 515, time
globalEntry 516, tmpnam
globalEntry 517, trunc
globalEntry 518, truncate
globalEntry 519, truncf
globalEntry 520, truncl
globalEntry 521, uadd32x64
globalEntry 522, uadd64
globalEntry 523, ub32sqrtub16
globalEntry 524, umul32
globalEntry 525, umul32x64
globalEntry 526, umul64
globalEntry 527, uname
globalEntry 528, ungetc
globalEntry 529, unlink
globalEntry 530, unsetenv
globalEntry 531, usleep
globalEntry 532, usub64
globalEntry 533, usub64x32
globalEntry 534, vasprintf
globalEntry 535, vdprintf
globalEntry 536, vfork
globalEntry 537, vfprintf
globalEntry 538, vfscanf
globalEntry 539, vprintf
globalEntry 540, vsnprintf
globalEntry 541, vsprintf
globalEntry 542, vsscanf
globalEntry 543, vsyslog
globalEntry 544, waitpid
globalEntry 545, write
globalEntry 546, writev
globalEntry 547, xorshift128
globalEntry 548, zalloc
.size globalTable, . - globalTable