You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by da...@apache.org on 2023/07/07 17:43:25 UTC
[nuttx] branch master updated: libs/libc/modlib: fix dynamic loader issues
This is an automated email from the ASF dual-hosted git repository.
davids5 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git
The following commit(s) were added to refs/heads/master by this push:
new b5cd7c2a82 libs/libc/modlib: fix dynamic loader issues
b5cd7c2a82 is described below
commit b5cd7c2a827d8501473cf6927a083c0427e6c7e0
Author: Neale Ferguson <ne...@sinenomine.net>
AuthorDate: Fri Jul 7 09:15:59 2023 +1000
libs/libc/modlib: fix dynamic loader issues
* build-globals.sh
- Macros for defining symbols etc. based on assembler in use
- Use the System.map to get all the nuttx symbols
* libs/libc/modlib/modlib_globals.S
- Provide an empty skeleton. If the dynamic loading functions
are required then run build-global.sh after a clean build
using the skeleton. This will fill out the skeleton with the
symbols to be available to dynamically loaded modules.
* libs/libc/modlib/modlib_loadhdrs.c
- Fix case where there are no program headers are avaiable
---
build-globals.sh | 125 ++--
libs/libc/machine/arm/armv7-m/arch_elf.c | 10 +-
libs/libc/modlib/modlib_armv7m_globals.S | 1119 ----------------------------
libs/libc/modlib/modlib_globals.S | 1184 ++----------------------------
libs/libc/modlib/modlib_loadhdrs.c | 71 +-
libs/libc/modlib/modlib_verify.c | 10 +-
libs/libc/modlib/modlib_x32_globals.S | 1116 ----------------------------
libs/libc/modlib/modlib_x64_globals.S | 565 --------------
8 files changed, 185 insertions(+), 4015 deletions(-)
diff --git a/build-globals.sh b/build-globals.sh
index 70a19e8193..9eb1d14fc4 100755
--- a/build-globals.sh
+++ b/build-globals.sh
@@ -13,6 +13,8 @@ findEP()
SIZE=${#SYM[@]}
L=0
R=$((SIZE - 1))
+ OLDL=99999999
+ OLDR=99999999
while [ ${L} -le ${R} ]
do
T=$(( L + R ))
@@ -26,6 +28,11 @@ findEP()
else
R=$(( M - 1 ))
fi
+ if [ ${OLDL} -eq ${L} -a ${OLDR} -eq ${R} ]; then
+ : return 0
+ fi
+ OLDL=${L}
+ OLDR=${R}
done
return 0
}
@@ -38,30 +45,36 @@ getEP()
{
for ((i = 0; i < ${#OBJ[@]}; i++))
do
- FUNCS=`${NM} -g --defined-only ../staging/${OBJ[$i]} | awk '{print $3}' | sort | grep -Ev ${FILTER}`
- FUNC=(${FUNCS})
- for ((j = 0; j < ${#FUNC[@]}; j++))
- do
- findEP ${FUNC[$j]}
- if [ $? -eq 1 ]; then
- EP[${I_EP}]=${FUNC[$j]}
- I_EP=$((I_EP + 1))
- fi
- done
+ if [ -f staging/${OBJ[$i]} ]; then
+ FUNCS=`${NM} -g --defined-only staging/${OBJ[$i]} 2>/dev/null | grep "^0" | awk '{print $3}' | sort | grep -Ev ${FILTER}`
+ FUNC=(${FUNCS})
+ for ((j = 0; j < ${#FUNC[@]}; j++))
+ do
+ findEP ${FUNC[$j]}
+ if [ $? -eq 1 ]; then
+ EP[${I_EP}]=${FUNC[$j]}
+ I_EP=$((I_EP + 1))
+ fi
+ done
+ fi
done
}
#
# Symbols to ignore within the NuttX libraries
#
-FILTER="^lib_low|^FUNCTION|^STUB|^__start|^_vect|^arm_|^arp_|^bch|^binfmt|^blake|^block_|^cdcacm|^chksum|^clock_|^close_|^crypto_|^devif_|^devnull|^devuran|^devzero|^emerg|^epoll_|^elf_|^_dbgR|^dq_|^env_|^file_|^files_|^fs_|^ftl_|^g_|^get_|^group_|^global|^hcom|^i2c_|^inode_|^iob_|^irq_|^kmm_|^lfs_|^lib_|^local_|^mm_|^modlib_|^mpu_|^mq_|^nGlobals|^net_|^netdev_|^nx|^pipecommon|^posix_spawn_file|^psock_|^ramlog|^rammap|^readline_|^register_|^sched_|^sockfd|^spawn_|^sq_|^stm32|^symtab_|^sy [...]
+FILTER="^lib_low|^FUNCTION|^STUB|^__start|^_vect|^arm_|^arp_|^bch|^binfmt|^blake|^block_|^cdcacm|^chksum|^clock_|^close_|^crypto_|^devif_|^devnull|^devuran|^devzero|^emerg|^epoll_|^elf_|^_dbgR|^dq_|^env_|^file_|^files_|^fs_|^ftl_|^g_|^get_|^group_|^global|^hcom|^i2c_|^inode_|^iob_|^irq_|^kmm_|^lfs_|^lib_|^local_|^mm_|^modlib_|^mpu_|^mq_|^nGlobals|^net_|^netdev_|^nx|^pipecommon|^posix_spawn_file|^psock_|^ramlog|^rammap|^readline_|^register_|^sched_|^sockfd|^spawn_|^sq_|^stm32|^symtab_|^sy [...]
+
+if [ -z "${NM}" ]; then
+ NM="nm"
+fi
#
# Extract symbols from the runtime
#
-SYMS=`${NM} ../nuttx | awk '{print $3}' | sort | grep -Ev ${FILTER}`
+SYMS=`cat System.map | awk '{print $3}' | sort | grep -Ev ${FILTER}`
SYM=(${SYMS})
-GLOBALS="../libs/libc/modlib/modlib_globals.S"
+GLOBALS="libs/libc/modlib/modlib_globals.S"
I_EP=0
#
@@ -80,70 +93,100 @@ EP=(${EPS})
#
# Generate the modlib_xxxx_globals.S file
#
- GLOBALS="libs/libc/modlib/modlib_${arch}_globals.S"
cat >${GLOBALS} <<__EOF__
+#ifdef __CYGWIN__
+# define SYMBOL(s) _##s
+# define WEAK .weak
+# define GLOBAL .global
+# define SECTION .data
+ .macro GLOBAL ep
+ .global SYMBOL(\ep)
+ .type SYMBOL(\ep), "object"
+ .endm
+ .macro SIZE ep
+ .endm
+#elif defined(__ELF__)
+# define SYMBOL(s) s
+# define WEAK .weak
+# define SECTION .data
+ .macro GLOBAL ep
+ .global SYMBOL(\ep)
+ .type SYMBOL(\ep), "object"
+ .endm
+ .macro SIZE ep
+ .size SYMBOL(\ep), . - SYMBOL(\ep)
+ .endm
+#else
+# define SYMBOL(s) _##s
+# define WEAK .weak_definition
+# define SECTION .section __DATA,__data
+ .macro GLOBAL ep
+ .private_extern SYMBOL(\ep)
+ .globl SYMBOL(\ep)
+ .endm
+ .macro SIZE ep
+ .endm
+#endif
+
#if __SIZEOF_POINTER__ == 8
.macro globalEntry index, ep
- .weak \p
- .quad .L\index
- .quad \ep
+ WEAK SYMBOL(\ep)
+ .quad .l\index
+ .quad \ep
.endm
# define ALIGN 8
#else
.macro globalEntry index, ep
- .weak \ep
- .long .L\index
- .long \ep
+ WEAK SYMBOL(\ep)
+ .long .l\index
+ .long \ep
.endm
# define ALIGN 4
#endif
#ifdef __ARM_ARCH_ISA_THUMB2
# ifdef __ARM_ARCH_7M__
- .arch armv7e-m
+ .arch armv7e-m
# elif defined ___ARM_ARCH 8
.arch armv8-m.base
#endif
#ifdef __ARM_ASM_SYNTAX_UNIFIED__
- .syntax unified
+ .syntax unified
#endif
- .thumb
+ .thumb
#endif
- .data
- .align ALIGN
- .global globalNames
+ .data
+ .align ALIGN
+ GLOBAL globalNames
-globalNames:
+SYMBOL(globalNames):
__EOF__
for ((i = 0; i < ${#EP[@]}; i++))
do
- echo ".L${i}: .string \"${EP[$i]}\"" >>${GLOBALS}
+ echo ".l${i}: .string \"${EP[$i]}\"" >>${GLOBALS}
done
cat >>${GLOBALS} <<__EOF__
- .size globalNames, . - globalNames
+ SIZE globalNames
- .align ${ALIGN}
- .global nGlobals
- .type nGlobals, "object"
-nGlobals:
+ .align ALIGN
+ GLOBAL nGlobals
+SYMBOL(nGlobals):
.word ${#EP[@]}
- .size nGlobals, . - nGlobals
+ SIZE nGlobals
- .align ${ALIGN}
- .global globalTable
- .type globalTable, "object"
-globalTable:
+ .align ALIGN
+ GLOBAL globalTable
+SYMBOL(globalTable):
__EOF__
for ((i = 0; i < ${#EP[@]}; i++))
do
- echo " globalEntry ${i}, ${EP[$i]}" >>${GLOBALS}
+ echo " globalEntry ${i}, ${EP[$i]}" >>${GLOBALS}
done
cat >>${GLOBALS} <<__EOF__
- .size globalTable, . - globalTable
+ SIZE globalTable
__EOF__
-done
echo "${#EP[@]} symbols defined"
diff --git a/libs/libc/machine/arm/armv7-m/arch_elf.c b/libs/libc/machine/arm/armv7-m/arch_elf.c
index 737a701a08..b8b2e03af5 100644
--- a/libs/libc/machine/arm/armv7-m/arch_elf.c
+++ b/libs/libc/machine/arm/armv7-m/arch_elf.c
@@ -493,14 +493,10 @@ int up_relocate(const Elf32_Rel *rel, const Elf32_Sym *sym, uintptr_t addr)
}
break;
- case R_ARM_RELATIVE :
- case R_ARM_JUMP_SLOT :
+ case R_ARM_RELATIVE:
+ case R_ARM_JUMP_SLOT:
{
- binfo("Relocating: RELATIVE/JUMP_SLOT at %p value: %08lx"
- "with %08lx\n",
- (void *)addr, *(unsigned long *)addr,
- (unsigned long)sym->st_value);
- *(uint32_t *) addr = (uint32_t) sym->st_value;
+ *(uint32_t *)addr = (uint32_t)sym->st_value;
}
break;
diff --git a/libs/libc/modlib/modlib_armv7m_globals.S b/libs/libc/modlib/modlib_armv7m_globals.S
deleted file mode 100644
index ce24eec207..0000000000
--- a/libs/libc/modlib/modlib_armv7m_globals.S
+++ /dev/null
@@ -1,1119 +0,0 @@
- .arch armv7e-m
- .syntax unified
- .thumb
- .data
- .align 4
- .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 4
- .global nGlobals
- .type nGlobals, "object"
-nGlobals:
- .word 549
- .size nGlobals, . - nGlobals
-
- .global globalTable
- .type globalTable, "object"
-globalTable:
- .word .L0, _ZdlPvj
- .word .L1, __cos
- .word .L2, __cxa_pure_virtual
- .word .L3, __dso_handle
- .word .L4, __dtoa_engine
- .word .L5, __sin
- .word .L6, __swap_uint32
- .word .L7, __swap_uint64
- .word .L8, __ultoa_invert
- .word .L9, _exit
- .word .L10, abort
- .word .L11, abs
- .word .L12, accept
- .word .L13, access
- .word .L14, acos
- .word .L15, acosf
- .word .L16, acosh
- .word .L17, acoshf
- .word .L18, acoshl
- .word .L19, acosl
- .word .L20, add_file_action
- .word .L21, asin
- .word .L22, asinf
- .word .L23, asinh
- .word .L24, asinhf
- .word .L25, asinhl
- .word .L26, asinl
- .word .L27, asprintf
- .word .L28, atan
- .word .L29, atan2
- .word .L30, atan2f
- .word .L31, atan2l
- .word .L32, atanf
- .word .L33, atanh
- .word .L34, atanhf
- .word .L35, atanhl
- .word .L36, atanl
- .word .L37, b16atan2
- .word .L38, b16cos
- .word .L39, b16sin
- .word .L40, basename
- .word .L41, bind
- .word .L42, boardctl
- .word .L43, bsearch
- .word .L44, cabs
- .word .L45, cacheflush
- .word .L46, calloc
- .word .L47, cbrtf
- .word .L48, ceil
- .word .L49, ceilf
- .word .L50, ceill
- .word .L51, cfgetspeed
- .word .L52, cfmakeraw
- .word .L53, cfsetspeed
- .word .L54, chdir
- .word .L55, cimag
- .word .L56, clearenv
- .word .L57, clearerr
- .word .L58, clock
- .word .L59, close
- .word .L60, closedir
- .word .L61, connect
- .word .L62, copysign
- .word .L63, copysignf
- .word .L64, copysignl
- .word .L65, cos
- .word .L66, cosf
- .word .L67, cosh
- .word .L68, coshf
- .word .L69, coshl
- .word .L70, cosl
- .word .L71, crc16
- .word .L72, crc16part
- .word .L73, crc32
- .word .L74, crc32part
- .word .L75, crc64
- .word .L76, crc64part
- .word .L77, crc8
- .word .L78, crc8ccitt
- .word .L79, crc8part
- .word .L80, creal
- .word .L81, daemon
- .word .L82, difftime
- .word .L83, dirname
- .word .L84, div
- .word .L85, dlclose
- .word .L86, dlerror
- .word .L87, dlopen
- .word .L88, dlsym
- .word .L89, dlsymtab
- .word .L90, dns_add_nameserver
- .word .L91, dns_bind
- .word .L92, dns_find_answer
- .word .L93, dns_foreach_nameserver
- .word .L94, dns_initialize
- .word .L95, dns_notify_nameserver
- .word .L96, dns_query
- .word .L97, dns_register_notify
- .word .L98, dns_save_answer
- .word .L99, dns_semgive
- .word .L100, dns_semtake
- .word .L101, dns_unregister_notify
- .word .L102, dprintf
- .word .L103, dup
- .word .L104, dup2
- .word .L105, envpath_init
- .word .L106, envpath_next
- .word .L107, envpath_release
- .word .L108, erf
- .word .L109, erff
- .word .L110, erfl
- .word .L111, ether_ntoa
- .word .L112, exec
- .word .L113, exit
- .word .L114, exp
- .word .L115, expf
- .word .L116, expl
- .word .L117, explicit_bzero
- .word .L118, fabs
- .word .L119, fabsf
- .word .L120, fabsl
- .word .L121, fclose
- .word .L122, fcntl
- .word .L123, fdopen
- .word .L124, feof
- .word .L125, ferror
- .word .L126, fflush
- .word .L127, ffs
- .word .L128, ffsl
- .word .L129, ffsll
- .word .L130, fgetc
- .word .L131, fgetpos
- .word .L132, fgets
- .word .L133, fileno
- .word .L134, floor
- .word .L135, floorf
- .word .L136, floorl
- .word .L137, fls
- .word .L138, flsl
- .word .L139, flsll
- .word .L140, fma
- .word .L141, fmaf
- .word .L142, fmod
- .word .L143, fmodf
- .word .L144, fmodl
- .word .L145, fopen
- .word .L146, fprintf
- .word .L147, fputc
- .word .L148, fputs
- .word .L149, fread
- .word .L150, free
- .word .L151, freeaddrinfo
- .word .L152, freopen
- .word .L153, frexp
- .word .L154, frexpf
- .word .L155, frexpl
- .word .L156, fscanf
- .word .L157, fseek
- .word .L158, fsetpos
- .word .L159, fstat
- .word .L160, fstatfs
- .word .L161, fsync
- .word .L162, ftell
- .word .L163, ftruncate
- .word .L164, fwrite
- .word .L165, gai_strerror
- .word .L166, gamma
- .word .L167, getaddrinfo
- .word .L168, getcwd
- .word .L169, getenv
- .word .L170, gethostbyaddr
- .word .L171, gethostbyaddr_r
- .word .L172, gethostbyname
- .word .L173, gethostbyname_r
- .word .L174, gethostname
- .word .L175, getnameinfo
- .word .L176, getopt
- .word .L177, getoptargp
- .word .L178, getoptindp
- .word .L179, getoptoptp
- .word .L180, getpeername
- .word .L181, getpid
- .word .L182, getprotobyname
- .word .L183, getrandom
- .word .L184, gets
- .word .L185, gets_s
- .word .L186, getservbyname
- .word .L187, getservbyname_r
- .word .L188, getsockname
- .word .L189, getsockopt
- .word .L190, gettimeofday
- .word .L191, gmtime
- .word .L192, gmtime_r
- .word .L193, h_errno
- .word .L194, htonl
- .word .L195, htons
- .word .L196, hypot
- .word .L197, ilogb
- .word .L198, ilogbf
- .word .L199, imaxabs
- .word .L200, in6addr_any
- .word .L201, inet_addr
- .word .L202, inet_aton
- .word .L203, inet_ntoa
- .word .L204, inet_ntop
- .word .L205, inet_pton
- .word .L206, ioctl
- .word .L207, isatty
- .word .L208, itoa
- .word .L209, kill
- .word .L210, labs
- .word .L211, ldexp
- .word .L212, ldexpf
- .word .L213, ldexpl
- .word .L214, ldiv
- .word .L215, lgamma
- .word .L216, lgamma_r
- .word .L217, listen
- .word .L218, llabs
- .word .L219, lldiv
- .word .L220, localeconv
- .word .L221, log
- .word .L222, log10
- .word .L223, log10f
- .word .L224, log10l
- .word .L225, log2
- .word .L226, log2f
- .word .L227, log2l
- .word .L228, logf
- .word .L229, logl
- .word .L230, lseek
- .word .L231, malloc
- .word .L232, match
- .word .L233, meadow_mappings
- .word .L234, memalign
- .word .L235, memccpy
- .word .L236, memchr
- .word .L237, memcmp
- .word .L238, memcpy
- .word .L239, memmove
- .word .L240, memrchr
- .word .L241, memset
- .word .L242, mkdir
- .word .L243, mkfifo
- .word .L244, mkfifo2
- .word .L245, mkstemp
- .word .L246, mktemp
- .word .L247, mktime
- .word .L248, mmap
- .word .L249, modf
- .word .L250, modff
- .word .L251, modfl
- .word .L252, mono_main
- .word .L253, mono_should_run
- .word .L254, mount
- .word .L255, munmap
- .word .L256, nanosleep
- .word .L257, nrand
- .word .L258, ntohl
- .word .L259, ntohs
- .word .L260, open
- .word .L261, opendir
- .word .L262, optarg
- .word .L263, optind
- .word .L264, optopt
- .word .L265, perror
- .word .L266, pipe
- .word .L267, pipe2
- .word .L268, poll
- .word .L269, posix_spawnattr_dump
- .word .L270, posix_spawnattr_getflags
- .word .L271, posix_spawnattr_getschedparam
- .word .L272, posix_spawnattr_getschedpolicy
- .word .L273, posix_spawnattr_getsigmask
- .word .L274, posix_spawnattr_init
- .word .L275, posix_spawnattr_setflags
- .word .L276, posix_spawnattr_setschedparam
- .word .L277, posix_spawnattr_setschedpolicy
- .word .L278, posix_spawnattr_setsigmask
- .word .L279, pow
- .word .L280, powf
- .word .L281, powl
- .word .L282, ppoll
- .word .L283, prctl
- .word .L284, pread
- .word .L285, printf
- .word .L286, pselect
- .word .L287, psiginfo
- .word .L288, psignal
- .word .L289, pthread_attr_destroy
- .word .L290, pthread_attr_getinheritsched
- .word .L291, pthread_attr_getschedparam
- .word .L292, pthread_attr_getschedpolicy
- .word .L293, pthread_attr_getstack
- .word .L294, pthread_attr_getstacksize
- .word .L295, pthread_attr_init
- .word .L296, pthread_attr_setinheritsched
- .word .L297, pthread_attr_setschedparam
- .word .L298, pthread_attr_setschedpolicy
- .word .L299, pthread_attr_setstack
- .word .L300, pthread_attr_setstacksize
- .word .L301, pthread_barrier_destroy
- .word .L302, pthread_barrier_init
- .word .L303, pthread_barrier_wait
- .word .L304, pthread_barrierattr_destroy
- .word .L305, pthread_barrierattr_getpshared
- .word .L306, pthread_barrierattr_init
- .word .L307, pthread_barrierattr_setpshared
- .word .L308, pthread_cancel
- .word .L309, pthread_cleanup_pop
- .word .L310, pthread_cleanup_push
- .word .L311, pthread_cond_broadcast
- .word .L312, pthread_cond_destroy
- .word .L313, pthread_cond_init
- .word .L314, pthread_cond_signal
- .word .L315, pthread_cond_timedwait
- .word .L316, pthread_cond_wait
- .word .L317, pthread_condattr_destroy
- .word .L318, pthread_condattr_init
- .word .L319, pthread_create
- .word .L320, pthread_detach
- .word .L321, pthread_exit
- .word .L322, pthread_get_stackaddr_np
- .word .L323, pthread_get_stacksize_np
- .word .L324, pthread_getschedparam
- .word .L325, pthread_getspecific
- .word .L326, pthread_join
- .word .L327, pthread_key_create
- .word .L328, pthread_key_delete
- .word .L329, pthread_kill
- .word .L330, pthread_mutex_consistent
- .word .L331, pthread_mutex_destroy
- .word .L332, pthread_mutex_init
- .word .L333, pthread_mutex_lock
- .word .L334, pthread_mutex_timedlock
- .word .L335, pthread_mutex_trylock
- .word .L336, pthread_mutex_unlock
- .word .L337, pthread_mutexattr_destroy
- .word .L338, pthread_mutexattr_getprotocol
- .word .L339, pthread_mutexattr_getpshared
- .word .L340, pthread_mutexattr_getrobust
- .word .L341, pthread_mutexattr_gettype
- .word .L342, pthread_mutexattr_init
- .word .L343, pthread_mutexattr_setprotocol
- .word .L344, pthread_mutexattr_setpshared
- .word .L345, pthread_mutexattr_setrobust
- .word .L346, pthread_mutexattr_settype
- .word .L347, pthread_once
- .word .L348, pthread_rwlock_destroy
- .word .L349, pthread_rwlock_init
- .word .L350, pthread_rwlock_rdlock
- .word .L351, pthread_rwlock_timedrdlock
- .word .L352, pthread_rwlock_timedwrlock
- .word .L353, pthread_rwlock_tryrdlock
- .word .L354, pthread_rwlock_trywrlock
- .word .L355, pthread_rwlock_unlock
- .word .L356, pthread_rwlock_wrlock
- .word .L357, pthread_setcancelstate
- .word .L358, pthread_setcanceltype
- .word .L359, pthread_setschedparam
- .word .L360, pthread_setschedprio
- .word .L361, pthread_setspecific
- .word .L362, pthread_sigmask
- .word .L363, pthread_startup
- .word .L364, pthread_testcancel
- .word .L365, pthread_yield
- .word .L366, putenv
- .word .L367, puts
- .word .L368, pwrite
- .word .L369, qsort
- .word .L370, raise
- .word .L371, rand
- .word .L372, random
- .word .L373, read
- .word .L374, readdir
- .word .L375, readdir_r
- .word .L376, readv
- .word .L377, realloc
- .word .L378, recv
- .word .L379, recvfrom
- .word .L380, recvmsg
- .word .L381, remove
- .word .L382, rename
- .word .L383, rewinddir
- .word .L384, rint
- .word .L385, rintf
- .word .L386, rintl
- .word .L387, rmdir
- .word .L388, round
- .word .L389, roundf
- .word .L390, roundl
- .word .L391, scalbn
- .word .L392, scalbnf
- .word .L393, scanf
- .word .L394, seekdir
- .word .L395, select
- .word .L396, sem_destroy
- .word .L397, sem_getprotocol
- .word .L398, sem_getvalue
- .word .L399, sem_init
- .word .L400, sem_post
- .word .L401, sem_setprotocol
- .word .L402, sem_timedwait
- .word .L403, sem_trywait
- .word .L404, sem_wait
- .word .L405, send
- .word .L406, sendfile
- .word .L407, sendmsg
- .word .L408, sendto
- .word .L409, set_errno
- .word .L410, setbuf
- .word .L411, setenv
- .word .L412, sethostname
- .word .L413, setlocale
- .word .L414, setlogmask
- .word .L415, setsockopt
- .word .L416, settimeofday
- .word .L417, setvbuf
- .word .L418, shutdown
- .word .L419, sigaction
- .word .L420, sigaddset
- .word .L421, sigdelset
- .word .L422, sigemptyset
- .word .L423, sigfillset
- .word .L424, sighold
- .word .L425, sigignore
- .word .L426, sigismember
- .word .L427, signal
- .word .L428, sigpause
- .word .L429, sigpending
- .word .L430, sigprocmask
- .word .L431, sigqueue
- .word .L432, sigrelse
- .word .L433, sigset
- .word .L434, sigsuspend
- .word .L435, sigtimedwait
- .word .L436, sigwait
- .word .L437, sigwaitinfo
- .word .L438, sin
- .word .L439, sinf
- .word .L440, sinh
- .word .L441, sinhf
- .word .L442, sinhl
- .word .L443, sinl
- .word .L444, sleep
- .word .L445, snprintf
- .word .L446, socket
- .word .L447, sprintf
- .word .L448, sqrt
- .word .L449, sqrtf
- .word .L450, sqrtl
- .word .L451, srand
- .word .L452, sscanf
- .word .L453, stat
- .word .L454, statfs
- .word .L455, stpcpy
- .word .L456, stpncpy
- .word .L457, strcasecmp
- .word .L458, strcasestr
- .word .L459, strcat
- .word .L460, strchr
- .word .L461, strcmp
- .word .L462, strcoll
- .word .L463, strcpy
- .word .L464, strcspn
- .word .L465, strdup
- .word .L466, stream_semgive
- .word .L467, stream_semtake
- .word .L468, strerror
- .word .L469, strerror_r
- .word .L470, strftime
- .word .L471, strlen
- .word .L472, strncasecmp
- .word .L473, strncat
- .word .L474, strncmp
- .word .L475, strncpy
- .word .L476, strndup
- .word .L477, strnlen
- .word .L478, strpbrk
- .word .L479, strrchr
- .word .L480, strsep
- .word .L481, strsignal
- .word .L482, strspn
- .word .L483, strstr
- .word .L484, strtod
- .word .L485, strtof
- .word .L486, strtoimax
- .word .L487, strtok
- .word .L488, strtok_r
- .word .L489, strtol
- .word .L490, strtold
- .word .L491, strtoll
- .word .L492, strtoul
- .word .L493, strtoull
- .word .L494, strtoumax
- .word .L495, strxfrm
- .word .L496, swab
- .word .L497, sysconf
- .word .L498, syslog
- .word .L499, tan
- .word .L500, tanf
- .word .L501, tanh
- .word .L502, tanhf
- .word .L503, tanhl
- .word .L504, tanl
- .word .L505, tcdrain
- .word .L506, tcflow
- .word .L507, tcflush
- .word .L508, tcgetattr
- .word .L509, tcsetattr
- .word .L510, tea_decrypt
- .word .L511, tea_encrypt
- .word .L512, telldir
- .word .L513, tempnam
- .word .L514, tgamma
- .word .L515, time
- .word .L516, tmpnam
- .word .L517, trunc
- .word .L518, truncate
- .word .L519, truncf
- .word .L520, truncl
- .word .L521, uadd32x64
- .word .L522, uadd64
- .word .L523, ub32sqrtub16
- .word .L524, umul32
- .word .L525, umul32x64
- .word .L526, umul64
- .word .L527, uname
- .word .L528, ungetc
- .word .L529, unlink
- .word .L530, unsetenv
- .word .L531, usleep
- .word .L532, usub64
- .word .L533, usub64x32
- .word .L534, vasprintf
- .word .L535, vdprintf
- .word .L536, vfork
- .word .L537, vfprintf
- .word .L538, vfscanf
- .word .L539, vprintf
- .word .L540, vsnprintf
- .word .L541, vsprintf
- .word .L542, vsscanf
- .word .L543, vsyslog
- .word .L544, waitpid
- .word .L545, write
- .word .L546, writev
- .word .L547, xorshift128
- .word .L548, zalloc
- .size globalTable, . - globalTable
diff --git a/libs/libc/modlib/modlib_globals.S b/libs/libc/modlib/modlib_globals.S
index 768cafa2f0..f365046638 100644
--- a/libs/libc/modlib/modlib_globals.S
+++ b/libs/libc/modlib/modlib_globals.S
@@ -1,1145 +1,77 @@
+#ifdef __CYGWIN__
+# define SYMBOL(s) s
+# define WEAK .weak
+# define GLOBAL .global
+# define SECTION .data
+ .macro GLOBAL ep
+ .global SYMBOL(\ep)
+ .type SYMBOL(\ep), "object"
+ .endm
+ .macro SIZE ep
+ .endm
+#elif defined(__ELF__)
+# define SYMBOL(s) s
+# define WEAK .weak
+# define SECTION .data
+ .macro GLOBAL ep
+ .global SYMBOL(\ep)
+ .type SYMBOL(\ep), "object"
+ .endm
+ .macro SIZE ep
+ .size SYMBOL(\ep), . - SYMBOL(\ep)
+ .endm
+#else
+# define SYMBOL(s) _##s
+# define WEAK .weak_definition
+# define SECTION .section __DATA,__data
+ .macro GLOBAL ep
+ .private_extern SYMBOL(\ep)
+ .globl SYMBOL(\ep)
+ .endm
+ .macro SIZE ep
+ .endm
+#endif
+
#if __SIZEOF_POINTER__ == 8
.macro globalEntry index, ep
- .weak \ep
- .quad .L\index
- .quad \ep
+ WEAK SYMBOL(\ep)
+ .quad .l\index
+ .quad \ep
.endm
# define ALIGN 8
#else
.macro globalEntry index, ep
- .weak \ep
- .long .L\index
- .long \ep
+ WEAK SYMBOL(\ep)
+ .long .l\index
+ .long \ep
.endm
# define ALIGN 4
#endif
-
#ifdef __ARM_ARCH_ISA_THUMB2
# ifdef __ARM_ARCH_7M__
- .arch armv7e-m
+ .arch armv7e-m
# elif defined ___ARM_ARCH 8
.arch armv8-m.base
-# endif
-# ifdef __ARM_ASM_SYNTAX_UNIFIED__
- .syntax unified
-# endif
- .thumb
#endif
+#ifdef __ARM_ASM_SYNTAX_UNIFIED__
+ .syntax unified
+#endif
+ .thumb
+#endif
+ .data
+ .align ALIGN
+ GLOBAL globalNames
- .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
+SYMBOL(globalNames):
+ SIZE globalNames
.align ALIGN
- .global nGlobals
- .type nGlobals, "object"
-nGlobals:
- .word 549
- .size nGlobals, . - nGlobals
+ GLOBAL nGlobals
+SYMBOL(nGlobals):
+ .word 0
+ SIZE 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
+ GLOBAL globalTable
+SYMBOL(globalTable):
+ SIZE globalTable
diff --git a/libs/libc/modlib/modlib_loadhdrs.c b/libs/libc/modlib/modlib_loadhdrs.c
index 42492844de..d1776f8446 100644
--- a/libs/libc/modlib/modlib_loadhdrs.c
+++ b/libs/libc/modlib/modlib_loadhdrs.c
@@ -70,14 +70,6 @@ int modlib_loadhdrs(FAR struct mod_loadinfo_s *loadinfo)
return -EINVAL;
}
- /* Verify that there are program headers */
-
- if (loadinfo->ehdr.e_phnum < 1)
- {
- berr("ERROR: No program headers(?)\n");
- return -EINVAL;
- }
-
/* Get the total size of the section header table */
shdrsize = (size_t)loadinfo->ehdr.e_shentsize *
@@ -88,19 +80,9 @@ int modlib_loadhdrs(FAR struct mod_loadinfo_s *loadinfo)
return -ESPIPE;
}
- /* Get the total size of the program header table */
-
- phdrsize = (size_t)loadinfo->ehdr.e_phentsize *
- (size_t)loadinfo->ehdr.e_phnum;
- if (loadinfo->ehdr.e_phoff + phdrsize > loadinfo->filelen)
- {
- berr("ERROR: Insufficent space in file for program header table\n");
- return -ESPIPE;
- }
-
/* Allocate memory to hold a working copy of the sector header table */
- loadinfo->shdr = (FAR FAR Elf_Shdr *)lib_malloc(shdrsize);
+ loadinfo->shdr = (FAR Elf_Shdr *)lib_malloc(shdrsize);
if (!loadinfo->shdr)
{
berr("ERROR: Failed to allocate the section header table. Size: %ld\n",
@@ -117,26 +99,43 @@ int modlib_loadhdrs(FAR struct mod_loadinfo_s *loadinfo)
berr("ERROR: Failed to read section header table: %d\n", ret);
}
- /* Allocate memory to hold a working copy of the program header table */
-
- loadinfo->phdr = (FAR FAR Elf_Phdr *)lib_malloc(phdrsize);
- if (!loadinfo->shdr)
+ if (loadinfo->ehdr.e_phnum > 0)
{
- lib_free((FAR void *)loadinfo->shdr);
- berr("ERROR: Failed to allocate the program header table. Size: %ld\n",
- (long)phdrsize);
- return -ENOMEM;
+ /* Get the total size of the program header table */
+
+ phdrsize = (size_t)loadinfo->ehdr.e_phentsize *
+ (size_t)loadinfo->ehdr.e_phnum;
+ if (loadinfo->ehdr.e_phoff + phdrsize > loadinfo->filelen)
+ {
+ berr("ERROR: Insufficent space for program header table\n");
+ return -ESPIPE;
+ }
+
+ /* Allocate memory to hold a working copy of the program header table */
+
+ loadinfo->phdr = (FAR Elf_Phdr *)lib_malloc(phdrsize);
+ if (!loadinfo->phdr)
+ {
+ lib_free((FAR void *)loadinfo->shdr);
+ berr("ERROR: Failed to allocate the program header table."
+ "Size: %ld\n", (long)phdrsize);
+ return -ENOMEM;
+ }
+
+ /* Read the program header table into memory */
+
+ ret = modlib_read(loadinfo, (FAR uint8_t *)loadinfo->phdr, phdrsize,
+ loadinfo->ehdr.e_phoff);
+ if (ret < 0)
+ {
+ berr("ERROR: Failed to read program header table: %d\n", ret);
+ lib_free((FAR void *)loadinfo->phdr);
+ lib_free((FAR void *)loadinfo->shdr);
+ }
}
-
- /* Read the program header table into memory */
-
- ret = modlib_read(loadinfo, (FAR uint8_t *)loadinfo->phdr, phdrsize,
- loadinfo->ehdr.e_phoff);
- if (ret < 0)
+ else
{
- berr("ERROR: Failed to read program header table: %d\n", ret);
- lib_free((FAR void *)loadinfo->phdr);
- lib_free((FAR void *)loadinfo->shdr);
+ loadinfo->phdr = NULL;
}
return ret;
diff --git a/libs/libc/modlib/modlib_verify.c b/libs/libc/modlib/modlib_verify.c
index 6fa4a9e055..29e77a958b 100644
--- a/libs/libc/modlib/modlib_verify.c
+++ b/libs/libc/modlib/modlib_verify.c
@@ -80,11 +80,11 @@ int modlib_verifyheader(FAR const Elf_Ehdr *ehdr)
if (ehdr->e_type != ET_REL)
{
- if (ehdr->e_type != ET_DYN)
- {
- berr("ERROR: Not a relocatable file: e_type=%d\n", ehdr->e_type);
- return -EINVAL;
- }
+ if (ehdr->e_type != ET_DYN)
+ {
+ berr("ERROR: Not a relocatable file: e_type=%d\n", ehdr->e_type);
+ return -EINVAL;
+ }
}
/* Verify that this file works with the currently configured architecture */
diff --git a/libs/libc/modlib/modlib_x32_globals.S b/libs/libc/modlib/modlib_x32_globals.S
deleted file mode 100644
index ad195372c0..0000000000
--- a/libs/libc/modlib/modlib_x32_globals.S
+++ /dev/null
@@ -1,1116 +0,0 @@
- .data
- .align 4
- .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 4
- .global nGlobals
- .type nGlobals, "object"
-nGlobals:
- .word 549
- .size nGlobals, . - nGlobals
-
- .global globalTable
- .type globalTable, "object"
-globalTable:
- .word .L0, _ZdlPvj
- .word .L1, __cos
- .word .L2, __cxa_pure_virtual
- .word .L3, __dso_handle
- .word .L4, __dtoa_engine
- .word .L5, __sin
- .word .L6, __swap_uint32
- .word .L7, __swap_uint64
- .word .L8, __ultoa_invert
- .word .L9, _exit
- .word .L10, abort
- .word .L11, abs
- .word .L12, accept
- .word .L13, access
- .word .L14, acos
- .word .L15, acosf
- .word .L16, acosh
- .word .L17, acoshf
- .word .L18, acoshl
- .word .L19, acosl
- .word .L20, add_file_action
- .word .L21, asin
- .word .L22, asinf
- .word .L23, asinh
- .word .L24, asinhf
- .word .L25, asinhl
- .word .L26, asinl
- .word .L27, asprintf
- .word .L28, atan
- .word .L29, atan2
- .word .L30, atan2f
- .word .L31, atan2l
- .word .L32, atanf
- .word .L33, atanh
- .word .L34, atanhf
- .word .L35, atanhl
- .word .L36, atanl
- .word .L37, b16atan2
- .word .L38, b16cos
- .word .L39, b16sin
- .word .L40, basename
- .word .L41, bind
- .word .L42, boardctl
- .word .L43, bsearch
- .word .L44, cabs
- .word .L45, cacheflush
- .word .L46, calloc
- .word .L47, cbrtf
- .word .L48, ceil
- .word .L49, ceilf
- .word .L50, ceill
- .word .L51, cfgetspeed
- .word .L52, cfmakeraw
- .word .L53, cfsetspeed
- .word .L54, chdir
- .word .L55, cimag
- .word .L56, clearenv
- .word .L57, clearerr
- .word .L58, clock
- .word .L59, close
- .word .L60, closedir
- .word .L61, connect
- .word .L62, copysign
- .word .L63, copysignf
- .word .L64, copysignl
- .word .L65, cos
- .word .L66, cosf
- .word .L67, cosh
- .word .L68, coshf
- .word .L69, coshl
- .word .L70, cosl
- .word .L71, crc16
- .word .L72, crc16part
- .word .L73, crc32
- .word .L74, crc32part
- .word .L75, crc64
- .word .L76, crc64part
- .word .L77, crc8
- .word .L78, crc8ccitt
- .word .L79, crc8part
- .word .L80, creal
- .word .L81, daemon
- .word .L82, difftime
- .word .L83, dirname
- .word .L84, div
- .word .L85, dlclose
- .word .L86, dlerror
- .word .L87, dlopen
- .word .L88, dlsym
- .word .L89, dlsymtab
- .word .L90, dns_add_nameserver
- .word .L91, dns_bind
- .word .L92, dns_find_answer
- .word .L93, dns_foreach_nameserver
- .word .L94, dns_initialize
- .word .L95, dns_notify_nameserver
- .word .L96, dns_query
- .word .L97, dns_register_notify
- .word .L98, dns_save_answer
- .word .L99, dns_semgive
- .word .L100, dns_semtake
- .word .L101, dns_unregister_notify
- .word .L102, dprintf
- .word .L103, dup
- .word .L104, dup2
- .word .L105, envpath_init
- .word .L106, envpath_next
- .word .L107, envpath_release
- .word .L108, erf
- .word .L109, erff
- .word .L110, erfl
- .word .L111, ether_ntoa
- .word .L112, exec
- .word .L113, exit
- .word .L114, exp
- .word .L115, expf
- .word .L116, expl
- .word .L117, explicit_bzero
- .word .L118, fabs
- .word .L119, fabsf
- .word .L120, fabsl
- .word .L121, fclose
- .word .L122, fcntl
- .word .L123, fdopen
- .word .L124, feof
- .word .L125, ferror
- .word .L126, fflush
- .word .L127, ffs
- .word .L128, ffsl
- .word .L129, ffsll
- .word .L130, fgetc
- .word .L131, fgetpos
- .word .L132, fgets
- .word .L133, fileno
- .word .L134, floor
- .word .L135, floorf
- .word .L136, floorl
- .word .L137, fls
- .word .L138, flsl
- .word .L139, flsll
- .word .L140, fma
- .word .L141, fmaf
- .word .L142, fmod
- .word .L143, fmodf
- .word .L144, fmodl
- .word .L145, fopen
- .word .L146, fprintf
- .word .L147, fputc
- .word .L148, fputs
- .word .L149, fread
- .word .L150, free
- .word .L151, freeaddrinfo
- .word .L152, freopen
- .word .L153, frexp
- .word .L154, frexpf
- .word .L155, frexpl
- .word .L156, fscanf
- .word .L157, fseek
- .word .L158, fsetpos
- .word .L159, fstat
- .word .L160, fstatfs
- .word .L161, fsync
- .word .L162, ftell
- .word .L163, ftruncate
- .word .L164, fwrite
- .word .L165, gai_strerror
- .word .L166, gamma
- .word .L167, getaddrinfo
- .word .L168, getcwd
- .word .L169, getenv
- .word .L170, gethostbyaddr
- .word .L171, gethostbyaddr_r
- .word .L172, gethostbyname
- .word .L173, gethostbyname_r
- .word .L174, gethostname
- .word .L175, getnameinfo
- .word .L176, getopt
- .word .L177, getoptargp
- .word .L178, getoptindp
- .word .L179, getoptoptp
- .word .L180, getpeername
- .word .L181, getpid
- .word .L182, getprotobyname
- .word .L183, getrandom
- .word .L184, gets
- .word .L185, gets_s
- .word .L186, getservbyname
- .word .L187, getservbyname_r
- .word .L188, getsockname
- .word .L189, getsockopt
- .word .L190, gettimeofday
- .word .L191, gmtime
- .word .L192, gmtime_r
- .word .L193, h_errno
- .word .L194, htonl
- .word .L195, htons
- .word .L196, hypot
- .word .L197, ilogb
- .word .L198, ilogbf
- .word .L199, imaxabs
- .word .L200, in6addr_any
- .word .L201, inet_addr
- .word .L202, inet_aton
- .word .L203, inet_ntoa
- .word .L204, inet_ntop
- .word .L205, inet_pton
- .word .L206, ioctl
- .word .L207, isatty
- .word .L208, itoa
- .word .L209, kill
- .word .L210, labs
- .word .L211, ldexp
- .word .L212, ldexpf
- .word .L213, ldexpl
- .word .L214, ldiv
- .word .L215, lgamma
- .word .L216, lgamma_r
- .word .L217, listen
- .word .L218, llabs
- .word .L219, lldiv
- .word .L220, localeconv
- .word .L221, log
- .word .L222, log10
- .word .L223, log10f
- .word .L224, log10l
- .word .L225, log2
- .word .L226, log2f
- .word .L227, log2l
- .word .L228, logf
- .word .L229, logl
- .word .L230, lseek
- .word .L231, malloc
- .word .L232, match
- .word .L233, meadow_mappings
- .word .L234, memalign
- .word .L235, memccpy
- .word .L236, memchr
- .word .L237, memcmp
- .word .L238, memcpy
- .word .L239, memmove
- .word .L240, memrchr
- .word .L241, memset
- .word .L242, mkdir
- .word .L243, mkfifo
- .word .L244, mkfifo2
- .word .L245, mkstemp
- .word .L246, mktemp
- .word .L247, mktime
- .word .L248, mmap
- .word .L249, modf
- .word .L250, modff
- .word .L251, modfl
- .word .L252, mono_main
- .word .L253, mono_should_run
- .word .L254, mount
- .word .L255, munmap
- .word .L256, nanosleep
- .word .L257, nrand
- .word .L258, ntohl
- .word .L259, ntohs
- .word .L260, open
- .word .L261, opendir
- .word .L262, optarg
- .word .L263, optind
- .word .L264, optopt
- .word .L265, perror
- .word .L266, pipe
- .word .L267, pipe2
- .word .L268, poll
- .word .L269, posix_spawnattr_dump
- .word .L270, posix_spawnattr_getflags
- .word .L271, posix_spawnattr_getschedparam
- .word .L272, posix_spawnattr_getschedpolicy
- .word .L273, posix_spawnattr_getsigmask
- .word .L274, posix_spawnattr_init
- .word .L275, posix_spawnattr_setflags
- .word .L276, posix_spawnattr_setschedparam
- .word .L277, posix_spawnattr_setschedpolicy
- .word .L278, posix_spawnattr_setsigmask
- .word .L279, pow
- .word .L280, powf
- .word .L281, powl
- .word .L282, ppoll
- .word .L283, prctl
- .word .L284, pread
- .word .L285, printf
- .word .L286, pselect
- .word .L287, psiginfo
- .word .L288, psignal
- .word .L289, pthread_attr_destroy
- .word .L290, pthread_attr_getinheritsched
- .word .L291, pthread_attr_getschedparam
- .word .L292, pthread_attr_getschedpolicy
- .word .L293, pthread_attr_getstack
- .word .L294, pthread_attr_getstacksize
- .word .L295, pthread_attr_init
- .word .L296, pthread_attr_setinheritsched
- .word .L297, pthread_attr_setschedparam
- .word .L298, pthread_attr_setschedpolicy
- .word .L299, pthread_attr_setstack
- .word .L300, pthread_attr_setstacksize
- .word .L301, pthread_barrier_destroy
- .word .L302, pthread_barrier_init
- .word .L303, pthread_barrier_wait
- .word .L304, pthread_barrierattr_destroy
- .word .L305, pthread_barrierattr_getpshared
- .word .L306, pthread_barrierattr_init
- .word .L307, pthread_barrierattr_setpshared
- .word .L308, pthread_cancel
- .word .L309, pthread_cleanup_pop
- .word .L310, pthread_cleanup_push
- .word .L311, pthread_cond_broadcast
- .word .L312, pthread_cond_destroy
- .word .L313, pthread_cond_init
- .word .L314, pthread_cond_signal
- .word .L315, pthread_cond_timedwait
- .word .L316, pthread_cond_wait
- .word .L317, pthread_condattr_destroy
- .word .L318, pthread_condattr_init
- .word .L319, pthread_create
- .word .L320, pthread_detach
- .word .L321, pthread_exit
- .word .L322, pthread_get_stackaddr_np
- .word .L323, pthread_get_stacksize_np
- .word .L324, pthread_getschedparam
- .word .L325, pthread_getspecific
- .word .L326, pthread_join
- .word .L327, pthread_key_create
- .word .L328, pthread_key_delete
- .word .L329, pthread_kill
- .word .L330, pthread_mutex_consistent
- .word .L331, pthread_mutex_destroy
- .word .L332, pthread_mutex_init
- .word .L333, pthread_mutex_lock
- .word .L334, pthread_mutex_timedlock
- .word .L335, pthread_mutex_trylock
- .word .L336, pthread_mutex_unlock
- .word .L337, pthread_mutexattr_destroy
- .word .L338, pthread_mutexattr_getprotocol
- .word .L339, pthread_mutexattr_getpshared
- .word .L340, pthread_mutexattr_getrobust
- .word .L341, pthread_mutexattr_gettype
- .word .L342, pthread_mutexattr_init
- .word .L343, pthread_mutexattr_setprotocol
- .word .L344, pthread_mutexattr_setpshared
- .word .L345, pthread_mutexattr_setrobust
- .word .L346, pthread_mutexattr_settype
- .word .L347, pthread_once
- .word .L348, pthread_rwlock_destroy
- .word .L349, pthread_rwlock_init
- .word .L350, pthread_rwlock_rdlock
- .word .L351, pthread_rwlock_timedrdlock
- .word .L352, pthread_rwlock_timedwrlock
- .word .L353, pthread_rwlock_tryrdlock
- .word .L354, pthread_rwlock_trywrlock
- .word .L355, pthread_rwlock_unlock
- .word .L356, pthread_rwlock_wrlock
- .word .L357, pthread_setcancelstate
- .word .L358, pthread_setcanceltype
- .word .L359, pthread_setschedparam
- .word .L360, pthread_setschedprio
- .word .L361, pthread_setspecific
- .word .L362, pthread_sigmask
- .word .L363, pthread_startup
- .word .L364, pthread_testcancel
- .word .L365, pthread_yield
- .word .L366, putenv
- .word .L367, puts
- .word .L368, pwrite
- .word .L369, qsort
- .word .L370, raise
- .word .L371, rand
- .word .L372, random
- .word .L373, read
- .word .L374, readdir
- .word .L375, readdir_r
- .word .L376, readv
- .word .L377, realloc
- .word .L378, recv
- .word .L379, recvfrom
- .word .L380, recvmsg
- .word .L381, remove
- .word .L382, rename
- .word .L383, rewinddir
- .word .L384, rint
- .word .L385, rintf
- .word .L386, rintl
- .word .L387, rmdir
- .word .L388, round
- .word .L389, roundf
- .word .L390, roundl
- .word .L391, scalbn
- .word .L392, scalbnf
- .word .L393, scanf
- .word .L394, seekdir
- .word .L395, select
- .word .L396, sem_destroy
- .word .L397, sem_getprotocol
- .word .L398, sem_getvalue
- .word .L399, sem_init
- .word .L400, sem_post
- .word .L401, sem_setprotocol
- .word .L402, sem_timedwait
- .word .L403, sem_trywait
- .word .L404, sem_wait
- .word .L405, send
- .word .L406, sendfile
- .word .L407, sendmsg
- .word .L408, sendto
- .word .L409, set_errno
- .word .L410, setbuf
- .word .L411, setenv
- .word .L412, sethostname
- .word .L413, setlocale
- .word .L414, setlogmask
- .word .L415, setsockopt
- .word .L416, settimeofday
- .word .L417, setvbuf
- .word .L418, shutdown
- .word .L419, sigaction
- .word .L420, sigaddset
- .word .L421, sigdelset
- .word .L422, sigemptyset
- .word .L423, sigfillset
- .word .L424, sighold
- .word .L425, sigignore
- .word .L426, sigismember
- .word .L427, signal
- .word .L428, sigpause
- .word .L429, sigpending
- .word .L430, sigprocmask
- .word .L431, sigqueue
- .word .L432, sigrelse
- .word .L433, sigset
- .word .L434, sigsuspend
- .word .L435, sigtimedwait
- .word .L436, sigwait
- .word .L437, sigwaitinfo
- .word .L438, sin
- .word .L439, sinf
- .word .L440, sinh
- .word .L441, sinhf
- .word .L442, sinhl
- .word .L443, sinl
- .word .L444, sleep
- .word .L445, snprintf
- .word .L446, socket
- .word .L447, sprintf
- .word .L448, sqrt
- .word .L449, sqrtf
- .word .L450, sqrtl
- .word .L451, srand
- .word .L452, sscanf
- .word .L453, stat
- .word .L454, statfs
- .word .L455, stpcpy
- .word .L456, stpncpy
- .word .L457, strcasecmp
- .word .L458, strcasestr
- .word .L459, strcat
- .word .L460, strchr
- .word .L461, strcmp
- .word .L462, strcoll
- .word .L463, strcpy
- .word .L464, strcspn
- .word .L465, strdup
- .word .L466, stream_semgive
- .word .L467, stream_semtake
- .word .L468, strerror
- .word .L469, strerror_r
- .word .L470, strftime
- .word .L471, strlen
- .word .L472, strncasecmp
- .word .L473, strncat
- .word .L474, strncmp
- .word .L475, strncpy
- .word .L476, strndup
- .word .L477, strnlen
- .word .L478, strpbrk
- .word .L479, strrchr
- .word .L480, strsep
- .word .L481, strsignal
- .word .L482, strspn
- .word .L483, strstr
- .word .L484, strtod
- .word .L485, strtof
- .word .L486, strtoimax
- .word .L487, strtok
- .word .L488, strtok_r
- .word .L489, strtol
- .word .L490, strtold
- .word .L491, strtoll
- .word .L492, strtoul
- .word .L493, strtoull
- .word .L494, strtoumax
- .word .L495, strxfrm
- .word .L496, swab
- .word .L497, sysconf
- .word .L498, syslog
- .word .L499, tan
- .word .L500, tanf
- .word .L501, tanh
- .word .L502, tanhf
- .word .L503, tanhl
- .word .L504, tanl
- .word .L505, tcdrain
- .word .L506, tcflow
- .word .L507, tcflush
- .word .L508, tcgetattr
- .word .L509, tcsetattr
- .word .L510, tea_decrypt
- .word .L511, tea_encrypt
- .word .L512, telldir
- .word .L513, tempnam
- .word .L514, tgamma
- .word .L515, time
- .word .L516, tmpnam
- .word .L517, trunc
- .word .L518, truncate
- .word .L519, truncf
- .word .L520, truncl
- .word .L521, uadd32x64
- .word .L522, uadd64
- .word .L523, ub32sqrtub16
- .word .L524, umul32
- .word .L525, umul32x64
- .word .L526, umul64
- .word .L527, uname
- .word .L528, ungetc
- .word .L529, unlink
- .word .L530, unsetenv
- .word .L531, usleep
- .word .L532, usub64
- .word .L533, usub64x32
- .word .L534, vasprintf
- .word .L535, vdprintf
- .word .L536, vfork
- .word .L537, vfprintf
- .word .L538, vfscanf
- .word .L539, vprintf
- .word .L540, vsnprintf
- .word .L541, vsprintf
- .word .L542, vsscanf
- .word .L543, vsyslog
- .word .L544, waitpid
- .word .L545, write
- .word .L546, writev
- .word .L547, xorshift128
- .word .L548, zalloc
- .size globalTable, . - globalTable
diff --git a/libs/libc/modlib/modlib_x64_globals.S b/libs/libc/modlib/modlib_x64_globals.S
deleted file mode 100644
index c222918417..0000000000
--- a/libs/libc/modlib/modlib_x64_globals.S
+++ /dev/null
@@ -1,565 +0,0 @@
- .data
- .align 8
- .global globalNames
-
-globalNames:
-.L0: .string "accept4"
-.L1: .string "clearenv"
-.L2: .string "cmd_alias"
-.L3: .string "cmd_arp"
-.L4: .string "cmd_basename"
-.L5: .string "cmd_break"
-.L6: .string "cmd_cat"
-.L7: .string "cmd_cd"
-.L8: .string "cmd_cmp"
-.L9: .string "cmd_cp"
-.L10: .string "cmd_date"
-.L11: .string "cmd_dd"
-.L12: .string "cmd_dirname"
-.L13: .string "cmd_dmesg"
-.L14: .string "cmd_echo"
-.L15: .string "cmd_exec"
-.L16: .string "cmd_hexdump"
-.L17: .string "cmd_insmod"
-.L18: .string "cmd_kill"
-.L19: .string "cmd_lbracket"
-.L20: .string "cmd_losetup"
-.L21: .string "cmd_ls"
-.L22: .string "cmd_mkdir"
-.L23: .string "cmd_mkfifo"
-.L24: .string "cmd_mkrd"
-.L25: .string "cmd_mount"
-.L26: .string "cmd_mv"
-.L27: .string "cmd_nslookup"
-.L28: .string "cmd_poweroff"
-.L29: .string "cmd_printf"
-.L30: .string "cmd_pwd"
-.L31: .string "cmd_rm"
-.L32: .string "cmd_rmdir"
-.L33: .string "cmd_rmmod"
-.L34: .string "cmd_set"
-.L35: .string "cmd_sleep"
-.L36: .string "cmd_source"
-.L37: .string "cmd_test"
-.L38: .string "cmd_time"
-.L39: .string "cmd_truncate"
-.L40: .string "cmd_umount"
-.L41: .string "cmd_unalias"
-.L42: .string "cmd_uname"
-.L43: .string "cmd_unset"
-.L44: .string "cmd_uptime"
-.L45: .string "cmd_usleep"
-.L46: .string "cmd_xd"
-.L47: .string "cmsg_append"
-.L48: .string "dir_allocate"
-.L49: .string "exec_builtin"
-.L50: .string "icmp_alloc"
-.L51: .string "icmp_chksum_iob"
-.L52: .string "icmp_findconn"
-.L53: .string "icmp_free"
-.L54: .string "icmp_input"
-.L55: .string "icmp_ioctl"
-.L56: .string "icmp_nextconn"
-.L57: .string "icmp_poll"
-.L58: .string "icmp_pollsetup"
-.L59: .string "icmp_pollteardown"
-.L60: .string "icmp_recvmsg"
-.L61: .string "icmp_reply"
-.L62: .string "icmp_sendmsg"
-.L63: .string "icmpv6_advertise"
-.L64: .string "icmpv6_alloc"
-.L65: .string "icmpv6_autoconfig"
-.L66: .string "icmpv6_chksum"
-.L67: .string "icmpv6_foreach"
-.L68: .string "icmpv6_free"
-.L69: .string "icmpv6_input"
-.L70: .string "icmpv6_ioctl"
-.L71: .string "icmpv6_linkipaddr"
-.L72: .string "icmpv6_neighbor"
-.L73: .string "icmpv6_nextconn"
-.L74: .string "icmpv6_notify"
-.L75: .string "icmpv6_poll"
-.L76: .string "icmpv6_pollsetup"
-.L77: .string "icmpv6_pollteardown"
-.L78: .string "icmpv6_radvertise"
-.L79: .string "icmpv6_recvmsg"
-.L80: .string "icmpv6_reply"
-.L81: .string "icmpv6_rnotify"
-.L82: .string "icmpv6_rsolicit"
-.L83: .string "icmpv6_rwait"
-.L84: .string "icmpv6_rwait_cancel"
-.L85: .string "icmpv6_rwait_setup"
-.L86: .string "icmpv6_sendmsg"
-.L87: .string "icmpv6_setaddresses"
-.L88: .string "icmpv6_solicit"
-.L89: .string "icmpv6_wait"
-.L90: .string "icmpv6_wait_cancel"
-.L91: .string "icmpv6_wait_setup"
-.L92: .string "inet_close"
-.L93: .string "insmod"
-.L94: .string "ipv4_build_header"
-.L95: .string "ipv4_chksum"
-.L96: .string "ipv4_getpeername"
-.L97: .string "ipv4_getsockname"
-.L98: .string "ipv4_getsockopt"
-.L99: .string "ipv4_input"
-.L100: .string "ipv4_setsockopt"
-.L101: .string "ipv4_upperlayer_chksum"
-.L102: .string "ipv6_build_header"
-.L103: .string "ipv6_getpeername"
-.L104: .string "ipv6_getsockname"
-.L105: .string "ipv6_getsockopt"
-.L106: .string "ipv6_input"
-.L107: .string "ipv6_setsockopt"
-.L108: .string "ipv6_upperlayer_chksum"
-.L109: .string "kill"
-.L110: .string "kthread_create"
-.L111: .string "loop_register"
-.L112: .string "losetup"
-.L113: .string "loteardown"
-.L114: .string "lstat"
-.L115: .string "mkrd"
-.L116: .string "modhandle"
-.L117: .string "modsym"
-.L118: .string "mount"
-.L119: .string "neighbor_add"
-.L120: .string "neighbor_ethernet_out"
-.L121: .string "neighbor_findentry"
-.L122: .string "neighbor_lookup"
-.L123: .string "neighbor_out"
-.L124: .string "netdown_notifier_signal"
-.L125: .string "oneshot_register"
-.L126: .string "open_blockdriver"
-.L127: .string "panic_notifier_call_chain"
-.L128: .string "poll_notify"
-.L129: .string "pthread_cancel"
-.L130: .string "pthread_completejoin"
-.L131: .string "pthread_createjoininfo"
-.L132: .string "pthread_destroyjoin"
-.L133: .string "pthread_detach"
-.L134: .string "pthread_findjoininfo"
-.L135: .string "pthread_mutex_inconsistent"
-.L136: .string "pthread_release"
-.L137: .string "pthread_sem_give"
-.L138: .string "pthread_setup_scheduler"
-.L139: .string "ramdisk_register"
-.L140: .string "reboot_notifier_call_chain"
-.L141: .string "recv"
-.L142: .string "recvmsg"
-.L143: .string "rmmod"
-.L144: .string "romfs_checkmount"
-.L145: .string "romfs_datastart"
-.L146: .string "romfs_filecacheread"
-.L147: .string "romfs_fileconfigure"
-.L148: .string "romfs_finddirentry"
-.L149: .string "romfs_freenode"
-.L150: .string "romfs_fsconfigure"
-.L151: .string "romfs_hwconfigure"
-.L152: .string "romfs_hwread"
-.L153: .string "romfs_img"
-.L154: .string "romfs_img_len"
-.L155: .string "romfs_parsedirentry"
-.L156: .string "romfs_parsefilename"
-.L157: .string "rtc_initialize"
-.L158: .string "sem_clockwait"
-.L159: .string "sem_destroy"
-.L160: .string "sem_post"
-.L161: .string "sem_timedwait"
-.L162: .string "sem_trywait"
-.L163: .string "sem_wait"
-.L164: .string "send"
-.L165: .string "setenv"
-.L166: .string "sh_main"
-.L167: .string "sigpending"
-.L168: .string "sigprocmask"
-.L169: .string "sigtimedwait"
-.L170: .string "sotest_main"
-.L171: .string "sync"
-.L172: .string "sysinfo"
-.L173: .string "tcpip_hdrsize"
-.L174: .string "tls_init_info"
-.L175: .string "unsetenv"
-.L176: .string "waitpid"
-.L177: .string "work_cancel"
-.L178: .string "work_notifier_signal"
-.L179: .string "work_queue"
-.L180: .string "work_start_highpri"
-.L181: .string "work_start_lowpri"
- .size globalNames, . - globalNames
-
- .align 8
- .global nGlobals
- .type nGlobals, "object"
-nGlobals:
- .word 182
- .size nGlobals, . - nGlobals
-
- .align 8
- .global globalTable
- .type globalTable, "object"
-globalTable:
- .weak accept4
- .weak clearenv
- .weak cmd_alias
- .weak cmd_arp
- .weak cmd_basename
- .weak cmd_break
- .weak cmd_cat
- .weak cmd_cd
- .weak cmd_cmp
- .weak cmd_cp
- .weak cmd_date
- .weak cmd_dd
- .weak cmd_dirname
- .weak cmd_dmesg
- .weak cmd_echo
- .weak cmd_exec
- .weak cmd_hexdump
- .weak cmd_insmod
- .weak cmd_kill
- .weak cmd_lbracket
- .weak cmd_losetup
- .weak cmd_ls
- .weak cmd_mkdir
- .weak cmd_mkfifo
- .weak cmd_mkrd
- .weak cmd_mount
- .weak cmd_mv
- .weak cmd_nslookup
- .weak cmd_poweroff
- .weak cmd_printf
- .weak cmd_pwd
- .weak cmd_rm
- .weak cmd_rmdir
- .weak cmd_rmmod
- .weak cmd_set
- .weak cmd_sleep
- .weak cmd_source
- .weak cmd_test
- .weak cmd_time
- .weak cmd_truncate
- .weak cmd_umount
- .weak cmd_unalias
- .weak cmd_uname
- .weak cmd_unset
- .weak cmd_uptime
- .weak cmd_usleep
- .weak cmd_xd
- .weak cmsg_append
- .weak dir_allocate
- .weak exec_builtin
- .weak icmp_alloc
- .weak icmp_chksum_iob
- .weak icmp_findconn
- .weak icmp_free
- .weak icmp_input
- .weak icmp_ioctl
- .weak icmp_nextconn
- .weak icmp_poll
- .weak icmp_pollsetup
- .weak icmp_pollteardown
- .weak icmp_recvmsg
- .weak icmp_reply
- .weak icmp_sendmsg
- .weak icmpv6_advertise
- .weak icmpv6_alloc
- .weak icmpv6_autoconfig
- .weak icmpv6_chksum
- .weak icmpv6_foreach
- .weak icmpv6_free
- .weak icmpv6_input
- .weak icmpv6_ioctl
- .weak icmpv6_linkipaddr
- .weak icmpv6_neighbor
- .weak icmpv6_nextconn
- .weak icmpv6_notify
- .weak icmpv6_poll
- .weak icmpv6_pollsetup
- .weak icmpv6_pollteardown
- .weak icmpv6_radvertise
- .weak icmpv6_recvmsg
- .weak icmpv6_reply
- .weak icmpv6_rnotify
- .weak icmpv6_rsolicit
- .weak icmpv6_rwait
- .weak icmpv6_rwait_cancel
- .weak icmpv6_rwait_setup
- .weak icmpv6_sendmsg
- .weak icmpv6_setaddresses
- .weak icmpv6_solicit
- .weak icmpv6_wait
- .weak icmpv6_wait_cancel
- .weak icmpv6_wait_setup
- .weak inet_close
- .weak insmod
- .weak ipv4_build_header
- .weak ipv4_chksum
- .weak ipv4_getpeername
- .weak ipv4_getsockname
- .weak ipv4_getsockopt
- .weak ipv4_input
- .weak ipv4_setsockopt
- .weak ipv4_upperlayer_chksum
- .weak ipv6_build_header
- .weak ipv6_getpeername
- .weak ipv6_getsockname
- .weak ipv6_getsockopt
- .weak ipv6_input
- .weak ipv6_setsockopt
- .weak ipv6_upperlayer_chksum
- .weak kill
- .weak kthread_create
- .weak loop_register
- .weak losetup
- .weak loteardown
- .weak lstat
- .weak mkrd
- .weak modhandle
- .weak modsym
- .weak mount
- .weak neighbor_add
- .weak neighbor_ethernet_out
- .weak neighbor_findentry
- .weak neighbor_lookup
- .weak neighbor_out
- .weak netdown_notifier_signal
- .weak oneshot_register
- .weak open_blockdriver
- .weak panic_notifier_call_chain
- .weak poll_notify
- .weak pthread_cancel
- .weak pthread_completejoin
- .weak pthread_createjoininfo
- .weak pthread_destroyjoin
- .weak pthread_detach
- .weak pthread_findjoininfo
- .weak pthread_mutex_inconsistent
- .weak pthread_release
- .weak pthread_sem_give
- .weak pthread_setup_scheduler
- .weak ramdisk_register
- .weak reboot_notifier_call_chain
- .weak recv
- .weak recvmsg
- .weak rmmod
- .weak romfs_checkmount
- .weak romfs_datastart
- .weak romfs_filecacheread
- .weak romfs_fileconfigure
- .weak romfs_finddirentry
- .weak romfs_freenode
- .weak romfs_fsconfigure
- .weak romfs_hwconfigure
- .weak romfs_hwread
- .weak romfs_img
- .weak romfs_img_len
- .weak romfs_parsedirentry
- .weak romfs_parsefilename
- .weak rtc_initialize
- .weak sem_clockwait
- .weak sem_destroy
- .weak sem_post
- .weak sem_timedwait
- .weak sem_trywait
- .weak sem_wait
- .weak send
- .weak setenv
- .weak sh_main
- .weak sigpending
- .weak sigprocmask
- .weak sigtimedwait
- .weak sotest_main
- .weak sync
- .weak sysinfo
- .weak tcpip_hdrsize
- .weak tls_init_info
- .weak unsetenv
- .weak waitpid
- .weak work_cancel
- .weak work_notifier_signal
- .weak work_queue
- .weak work_start_highpri
- .weak work_start_lowpri
- .quad .L0, accept4
- .quad .L1, clearenv
- .quad .L2, cmd_alias
- .quad .L3, cmd_arp
- .quad .L4, cmd_basename
- .quad .L5, cmd_break
- .quad .L6, cmd_cat
- .quad .L7, cmd_cd
- .quad .L8, cmd_cmp
- .quad .L9, cmd_cp
- .quad .L10, cmd_date
- .quad .L11, cmd_dd
- .quad .L12, cmd_dirname
- .quad .L13, cmd_dmesg
- .quad .L14, cmd_echo
- .quad .L15, cmd_exec
- .quad .L16, cmd_hexdump
- .quad .L17, cmd_insmod
- .quad .L18, cmd_kill
- .quad .L19, cmd_lbracket
- .quad .L20, cmd_losetup
- .quad .L21, cmd_ls
- .quad .L22, cmd_mkdir
- .quad .L23, cmd_mkfifo
- .quad .L24, cmd_mkrd
- .quad .L25, cmd_mount
- .quad .L26, cmd_mv
- .quad .L27, cmd_nslookup
- .quad .L28, cmd_poweroff
- .quad .L29, cmd_printf
- .quad .L30, cmd_pwd
- .quad .L31, cmd_rm
- .quad .L32, cmd_rmdir
- .quad .L33, cmd_rmmod
- .quad .L34, cmd_set
- .quad .L35, cmd_sleep
- .quad .L36, cmd_source
- .quad .L37, cmd_test
- .quad .L38, cmd_time
- .quad .L39, cmd_truncate
- .quad .L40, cmd_umount
- .quad .L41, cmd_unalias
- .quad .L42, cmd_uname
- .quad .L43, cmd_unset
- .quad .L44, cmd_uptime
- .quad .L45, cmd_usleep
- .quad .L46, cmd_xd
- .quad .L47, cmsg_append
- .quad .L48, dir_allocate
- .quad .L49, exec_builtin
- .quad .L50, icmp_alloc
- .quad .L51, icmp_chksum_iob
- .quad .L52, icmp_findconn
- .quad .L53, icmp_free
- .quad .L54, icmp_input
- .quad .L55, icmp_ioctl
- .quad .L56, icmp_nextconn
- .quad .L57, icmp_poll
- .quad .L58, icmp_pollsetup
- .quad .L59, icmp_pollteardown
- .quad .L60, icmp_recvmsg
- .quad .L61, icmp_reply
- .quad .L62, icmp_sendmsg
- .quad .L63, icmpv6_advertise
- .quad .L64, icmpv6_alloc
- .quad .L65, icmpv6_autoconfig
- .quad .L66, icmpv6_chksum
- .quad .L67, icmpv6_foreach
- .quad .L68, icmpv6_free
- .quad .L69, icmpv6_input
- .quad .L70, icmpv6_ioctl
- .quad .L71, icmpv6_linkipaddr
- .quad .L72, icmpv6_neighbor
- .quad .L73, icmpv6_nextconn
- .quad .L74, icmpv6_notify
- .quad .L75, icmpv6_poll
- .quad .L76, icmpv6_pollsetup
- .quad .L77, icmpv6_pollteardown
- .quad .L78, icmpv6_radvertise
- .quad .L79, icmpv6_recvmsg
- .quad .L80, icmpv6_reply
- .quad .L81, icmpv6_rnotify
- .quad .L82, icmpv6_rsolicit
- .quad .L83, icmpv6_rwait
- .quad .L84, icmpv6_rwait_cancel
- .quad .L85, icmpv6_rwait_setup
- .quad .L86, icmpv6_sendmsg
- .quad .L87, icmpv6_setaddresses
- .quad .L88, icmpv6_solicit
- .quad .L89, icmpv6_wait
- .quad .L90, icmpv6_wait_cancel
- .quad .L91, icmpv6_wait_setup
- .quad .L92, inet_close
- .quad .L93, insmod
- .quad .L94, ipv4_build_header
- .quad .L95, ipv4_chksum
- .quad .L96, ipv4_getpeername
- .quad .L97, ipv4_getsockname
- .quad .L98, ipv4_getsockopt
- .quad .L99, ipv4_input
- .quad .L100, ipv4_setsockopt
- .quad .L101, ipv4_upperlayer_chksum
- .quad .L102, ipv6_build_header
- .quad .L103, ipv6_getpeername
- .quad .L104, ipv6_getsockname
- .quad .L105, ipv6_getsockopt
- .quad .L106, ipv6_input
- .quad .L107, ipv6_setsockopt
- .quad .L108, ipv6_upperlayer_chksum
- .quad .L109, kill
- .quad .L110, kthread_create
- .quad .L111, loop_register
- .quad .L112, losetup
- .quad .L113, loteardown
- .quad .L114, lstat
- .quad .L115, mkrd
- .quad .L116, modhandle
- .quad .L117, modsym
- .quad .L118, mount
- .quad .L119, neighbor_add
- .quad .L120, neighbor_ethernet_out
- .quad .L121, neighbor_findentry
- .quad .L122, neighbor_lookup
- .quad .L123, neighbor_out
- .quad .L124, netdown_notifier_signal
- .quad .L125, oneshot_register
- .quad .L126, open_blockdriver
- .quad .L127, panic_notifier_call_chain
- .quad .L128, poll_notify
- .quad .L129, pthread_cancel
- .quad .L130, pthread_completejoin
- .quad .L131, pthread_createjoininfo
- .quad .L132, pthread_destroyjoin
- .quad .L133, pthread_detach
- .quad .L134, pthread_findjoininfo
- .quad .L135, pthread_mutex_inconsistent
- .quad .L136, pthread_release
- .quad .L137, pthread_sem_give
- .quad .L138, pthread_setup_scheduler
- .quad .L139, ramdisk_register
- .quad .L140, reboot_notifier_call_chain
- .quad .L141, recv
- .quad .L142, recvmsg
- .quad .L143, rmmod
- .quad .L144, romfs_checkmount
- .quad .L145, romfs_datastart
- .quad .L146, romfs_filecacheread
- .quad .L147, romfs_fileconfigure
- .quad .L148, romfs_finddirentry
- .quad .L149, romfs_freenode
- .quad .L150, romfs_fsconfigure
- .quad .L151, romfs_hwconfigure
- .quad .L152, romfs_hwread
- .quad .L153, romfs_img
- .quad .L154, romfs_img_len
- .quad .L155, romfs_parsedirentry
- .quad .L156, romfs_parsefilename
- .quad .L157, rtc_initialize
- .quad .L158, sem_clockwait
- .quad .L159, sem_destroy
- .quad .L160, sem_post
- .quad .L161, sem_timedwait
- .quad .L162, sem_trywait
- .quad .L163, sem_wait
- .quad .L164, send
- .quad .L165, setenv
- .quad .L166, sh_main
- .quad .L167, sigpending
- .quad .L168, sigprocmask
- .quad .L169, sigtimedwait
- .quad .L170, sotest_main
- .quad .L171, sync
- .quad .L172, sysinfo
- .quad .L173, tcpip_hdrsize
- .quad .L174, tls_init_info
- .quad .L175, unsetenv
- .quad .L176, waitpid
- .quad .L177, work_cancel
- .quad .L178, work_notifier_signal
- .quad .L179, work_queue
- .quad .L180, work_start_highpri
- .quad .L181, work_start_lowpri
- .size globalTable, . - globalTable