=========================================================== .___ __ __ _________________ __ __ __| _/|__|/ |_ / ___\_` __ \__ \ | | \/ __ | | \\_ __\ / /_/ > | \// __ \| | / /_/ | | || | \___ /|__| (____ /____/\____ | |__||__| /_____/ \/ \/ grep rough audit - static analysis tool v2.8 written by @Wireghoul =================================[justanotherhacker.com]=== musl-1.2.1/WHATSNEW-167- musl-1.2.1/WHATSNEW:168:fixed broken sigsetjmp asm on x86_64. musl-1.2.1/WHATSNEW-169- ############################################## musl-1.2.1/WHATSNEW-465-- major math correctness and performance improvements musl-1.2.1/WHATSNEW:466:- many math functions implemented in asm for i386 musl-1.2.1/WHATSNEW:467:- some math functions (mostly long double) in asm for x86_64 musl-1.2.1/WHATSNEW-468-- new floating point parser/converter with correct rounding ############################################## musl-1.2.1/WHATSNEW-599-- various LSB/glibc ABI interfaces aimed at compatibility with some binaries musl-1.2.1/WHATSNEW:600:- use fistpll asm mnemonic instead of fistpq for compat with clang musl-1.2.1/WHATSNEW-601- ############################################## musl-1.2.1/WHATSNEW-674-- incorrect little-endian assumptions in atomic.h functions musl-1.2.1/WHATSNEW:675:- use of blx instruction in asm (not supported on pre-v5 arm) musl-1.2.1/WHATSNEW-676- ############################################## musl-1.2.1/WHATSNEW-738-- eliminate .eh_frame (10-15% loaded size bloat) musl-1.2.1/WHATSNEW:739:- optimal inline syscall asm for ARM and MIPS musl-1.2.1/WHATSNEW-740-- no longer force -O3 for shared libs ############################################## musl-1.2.1/WHATSNEW-801-- numerous math bugs (mostly exception flags and excess-precision issues) musl-1.2.1/WHATSNEW:802:- register clobber error in i386 vsyscall asm (did not affect most callers) musl-1.2.1/WHATSNEW-803-- various incorrect definitions in mips headers musl-1.2.1/WHATSNEW:804:- broken dlsym asm on mips musl-1.2.1/WHATSNEW-805-- empty prefix handling in configure script (--prefix="") ############################################## musl-1.2.1/WHATSNEW-1016-performance: musl-1.2.1/WHATSNEW:1017:- optimized asm memcpy for arm musl-1.2.1/WHATSNEW:1018:- optimized asm memset for i386 and x86_64 musl-1.2.1/WHATSNEW-1019-- optimized C versions of memcpy and memset for all archs musl-1.2.1/WHATSNEW-1020-- eliminated major spurious syscalls from posix_spawn musl-1.2.1/WHATSNEW:1021:- some math asm for armhf (hardfloat) musl-1.2.1/WHATSNEW-1022- ############################################## musl-1.2.1/WHATSNEW-1210-arch-specific bugs fixed: musl-1.2.1/WHATSNEW:1211:- crash from missing syscall asm register clobbers on real microblaze kernel musl-1.2.1/WHATSNEW-1212-- crash in all nontrivial dynamic linker use on microblaze ############################################## musl-1.2.1/WHATSNEW-1327-- broken relocations in mips dynamic linker (regression in 1.1.3) musl-1.2.1/WHATSNEW:1328:- register state corruption in setjmp asm for microblaze musl-1.2.1/WHATSNEW-1329-- broken struct stat st_ino field on microblaze musl-1.2.1/WHATSNEW-1330-- broken struct stat st_dev field on big endian mips musl-1.2.1/WHATSNEW:1331:- broken asm register constraints in atomics on powerpc musl-1.2.1/WHATSNEW-1332-- missing barriers in atomics on mips, powerpc, microblaze, and sh ############################################## musl-1.2.1/WHATSNEW-1391-- dynamic linker now honors DT_RUNPATH without DT_RPATH (new binutils) musl-1.2.1/WHATSNEW:1392:- arm asm is now compatible with clang's internal assembler musl-1.2.1/WHATSNEW-1393-- suppress macro implementations of functions when headers are used in C++ ############################################## musl-1.2.1/WHATSNEW-1424-performance: musl-1.2.1/WHATSNEW:1425:- significant memset asm optimizations on i386 and x86_64 musl-1.2.1/WHATSNEW-1426- ############################################## musl-1.2.1/WHATSNEW-1562-- support for %m and %s with null pointers in wide printf variants musl-1.2.1/WHATSNEW:1563:- call frame information in i386 asm for improved debugger support musl-1.2.1/WHATSNEW-1564- ############################################## musl-1.2.1/WHATSNEW-1593-- general fdpic elf support in dynamic linker musl-1.2.1/WHATSNEW:1594:- CFI generation for x86_64 asm source files musl-1.2.1/WHATSNEW-1595-- protection against silently building a libc.so with missing symbols ############################################## musl-1.2.1/WHATSNEW-1603-- eliminated spurious protected-data warnings linking against libc.so musl-1.2.1/WHATSNEW:1604:- avoided spurious fpu asm errors with some armhf toolchains musl-1.2.1/WHATSNEW-1605- ############################################## musl-1.2.1/WHATSNEW-1619-- mips fesetround failed to actually set rounding mode musl-1.2.1/WHATSNEW:1620:- i386 asm source CFI generation had multiple bugs musl-1.2.1/WHATSNEW-1621- ############################################## musl-1.2.1/WHATSNEW-1677-- mips siginfo_t and related macros were defined incorrectly musl-1.2.1/WHATSNEW:1678:- possibly misaligned pointer globals on arm (from an asm source file) musl-1.2.1/WHATSNEW-1679-- mips dynamic linker failed to provide info needed by debugger musl-1.2.1/WHATSNEW:1680:- mips cancellation asm wrongly assumed validity of $gp register value musl-1.2.1/WHATSNEW-1681- ############################################## musl-1.2.1/WHATSNEW-1799-- impact of REG_* namespace pollution in x86[_64] signal.h is reduced musl-1.2.1/WHATSNEW:1800:- arm atomic asm now assembles correctly with new binutils musl-1.2.1/WHATSNEW-1801-- PAGE_SIZE on arm is no longer constant (quiet upstream ABI relaxation) ############################################## musl-1.2.1/WHATSNEW-2099-- sys/types.h no longer pollutes namespace with sys/sysmacros.h in any profile musl-1.2.1/WHATSNEW:2100:- powerpc asm is now compatible with clang internal assembler musl-1.2.1/WHATSNEW-2101- ############################################## musl-1.2.1/WHATSNEW-2144-- support for clang inconsistencies in wchar_t type vs some 32-bit archs musl-1.2.1/WHATSNEW:2145:- mips r6 syscall asm no longer has invalid lo/hi register clobbers musl-1.2.1/WHATSNEW:2146:- vestigial asm declarations of __tls_get_new are removed (broke some tooling) musl-1.2.1/WHATSNEW-2147-- riscv64 mcontext_t mismatch glibc's member naming is corrected ############################################## musl-1.2.1/WHATSNEW-2159-arch-specific bugs fixed: musl-1.2.1/WHATSNEW:2160:- x87 floating point stack imbalance in math asm (i386-only CVE-2019-14697) musl-1.2.1/WHATSNEW-2161-- x32 clock_adjtime, getrusage, wait3, wait4 produced junk (struct mismatches) ############################################## musl-1.2.1/WHATSNEW-2163-- riscv64 atomics weren't compiler barriers musl-1.2.1/WHATSNEW:2164:- riscv64 atomics had broken asm constraints (missing earlyclobber flag) musl-1.2.1/WHATSNEW-2165-- arm clone() was broken when compiled as thumb if start function returned ############################################## musl-1.2.1/WHATSNEW-2183-- endian.h now aims to conform to future POSIX definition musl-1.2.1/WHATSNEW:2184:- support older compilers that don't accept powerpc math asm constraints musl-1.2.1/WHATSNEW-2185-- fdpic code in ldso was incompatible with valid optimizations in gcc 9+ ############################################## musl-1.2.1/arch/arm/syscall_arch.h-7- musl-1.2.1/arch/arm/syscall_arch.h:8:/* Avoid use of r7 in asm constraints when producing thumb code, musl-1.2.1/arch/arm/syscall_arch.h-9- * since it's reserved as frame pointer and might not be supported. */ ############################################## musl-1.2.1/arch/i386/bits/user.h-42-#define UPAGES 1 musl-1.2.1/arch/i386/bits/user.h:43:#define HOST_TEXT_START_ADDR (u.start_code) musl-1.2.1/arch/i386/bits/user.h:44:#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG) ############################################## musl-1.2.1/arch/m68k/bits/user.h-36-#define UPAGES 1 musl-1.2.1/arch/m68k/bits/user.h:37:#define HOST_TEXT_START_ADDR (u.start_code) musl-1.2.1/arch/m68k/bits/user.h:38:#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG) ############################################## musl-1.2.1/arch/s390x/bits/user.h-59-#define UPAGES 1 musl-1.2.1/arch/s390x/bits/user.h:60:#define HOST_TEXT_START_ADDR (u.start_code) musl-1.2.1/arch/s390x/bits/user.h:61:#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG) musl-1.2.1/arch/s390x/bits/user.h-62- ############################################## musl-1.2.1/arch/x32/bits/user.h-39-#define UPAGES 1 musl-1.2.1/arch/x32/bits/user.h:40:#define HOST_TEXT_START_ADDR (u.start_code) musl-1.2.1/arch/x32/bits/user.h:41:#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG) ############################################## musl-1.2.1/arch/x86_64/bits/user.h-39-#define UPAGES 1 musl-1.2.1/arch/x86_64/bits/user.h:40:#define HOST_TEXT_START_ADDR (u.start_code) musl-1.2.1/arch/x86_64/bits/user.h:41:#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG) ############################################## musl-1.2.1/configure-405-# musl-1.2.1/configure:406:# Preprocess asm files to add extra debugging information if debug is musl-1.2.1/configure-407-# enabled, our assembler supports the needed directives, and the ############################################## musl-1.2.1/configure-586-test -z "$LIBCC" && tryldflag LIBCC -lcompiler_rt musl-1.2.1/configure:587:test -z "$LIBCC" && try_libcc=`$CC -print-libgcc-file-name 2>/dev/null` \ musl-1.2.1/configure-588- && tryldflag LIBCC "$try_libcc" musl-1.2.1/configure:589:test -z "$LIBCC" && try_libcc=`$CC -print-file-name=libpcc.a 2>/dev/null` \ musl-1.2.1/configure-590- && tryldflag LIBCC "$try_libcc" ############################################## musl-1.2.1/configure-597-if test "$ARCH" = "i386" ; then musl-1.2.1/configure:598:printf "checking whether compiler can use ebx in PIC asm constraints... " musl-1.2.1/configure-599-cat > "$tmpc" <<EOF ############################################## musl-1.2.1/configure-626-if test "$cc_family" = clang ; then musl-1.2.1/configure:627:printf "checking whether clang's vfp asm constraints work... " musl-1.2.1/configure-628-echo 'float f(float x) { __asm__("":"+t"(x)); return x; }' > "$tmpc" ############################################## musl-1.2.1/include/arpa/inet.h-15- musl-1.2.1/include/arpa/inet.h:16:in_addr_t inet_addr (const char *); musl-1.2.1/include/arpa/inet.h-17-in_addr_t inet_network (const char *); ############################################## musl-1.2.1/include/arpa/inet.h-22-int inet_aton (const char *, struct in_addr *); musl-1.2.1/include/arpa/inet.h:23:struct in_addr inet_makeaddr(in_addr_t, in_addr_t); musl-1.2.1/include/arpa/inet.h-24-in_addr_t inet_lnaof(struct in_addr); ############################################## musl-1.2.1/include/dlfcn.h-33-} Dl_info; musl-1.2.1/include/dlfcn.h:34:int dladdr(const void *, Dl_info *); musl-1.2.1/include/dlfcn.h-35-int dlinfo(void *, int, void *); ############################################## musl-1.2.1/include/net/route.h-95- musl-1.2.1/include/net/route.h:96:#define RT_LOCALADDR(flags) ((flags & RTF_ADDRCLASSMASK) \ musl-1.2.1/include/net/route.h-97- == (RTF_LOCAL|RTF_INTERFACE)) ############################################## musl-1.2.1/include/netdb.h-97-struct netent *getnetent (void); musl-1.2.1/include/netdb.h:98:struct netent *getnetbyaddr (uint32_t, int); musl-1.2.1/include/netdb.h-99-struct netent *getnetbyname (const char *); ############################################## musl-1.2.1/include/netdb.h-116-struct hostent *gethostbyname (const char *); musl-1.2.1/include/netdb.h:117:struct hostent *gethostbyaddr (const void *, socklen_t, int); musl-1.2.1/include/netdb.h-118-#ifdef __GNUC__ ############################################## musl-1.2.1/ldso/dlstart.c-39- if (dynv) { musl-1.2.1/ldso/dlstart.c:40: /* crt_arch.h entry point asm is responsible for reserving musl-1.2.1/ldso/dlstart.c-41- * space and moving the extra fdpic arguments to the stack ############################################## musl-1.2.1/ldso/dynlink.c-164-#if DL_FDPIC musl-1.2.1/ldso/dynlink.c:165:static void *laddr(const struct dso *p, size_t v) musl-1.2.1/ldso/dynlink.c-166-{ ############################################## musl-1.2.1/ldso/dynlink.c-192-} musl-1.2.1/ldso/dynlink.c:193:#define fpaddr(p, v) fdbarrier((&(struct funcdesc){ \ musl-1.2.1/ldso/dynlink.c:194: laddr(p, v), (p)->got })) musl-1.2.1/ldso/dynlink.c-195-#else musl-1.2.1/ldso/dynlink.c:196:#define laddr(p, v) (void *)((p)->base + (v)) musl-1.2.1/ldso/dynlink.c:197:#define laddr_pg(p, v) laddr(p, v) musl-1.2.1/ldso/dynlink.c:198:#define fpaddr(p, v) ((void (*)())laddr(p, v)) musl-1.2.1/ldso/dynlink.c-199-#endif ############################################## musl-1.2.1/ldso/dynlink.c-359- if (type == REL_NONE) continue; musl-1.2.1/ldso/dynlink.c:360: reloc_addr = laddr(dso, rel[0]); musl-1.2.1/ldso/dynlink.c-361- ############################################## musl-1.2.1/ldso/dynlink.c-404- musl-1.2.1/ldso/dynlink.c:405: sym_val = def.sym ? (size_t)laddr(def.dso, def.sym->st_value) : 0; musl-1.2.1/ldso/dynlink.c-406- tls_val = def.sym ? def.sym->st_value : 0; ############################################## musl-1.2.1/ldso/dynlink.c-776- dso->base = base; musl-1.2.1/ldso/dynlink.c:777: dso->dynv = laddr(dso, dyn); musl-1.2.1/ldso/dynlink.c:778: if (dso->tls.size) dso->tls.image = laddr(dso, tls_image); musl-1.2.1/ldso/dynlink.c-779- free(allocated_buf); ############################################## musl-1.2.1/ldso/dynlink.c-895- decode_vec(p->dynv, dyn, DYN_CNT); musl-1.2.1/ldso/dynlink.c:896: p->syms = laddr(p, dyn[DT_SYMTAB]); musl-1.2.1/ldso/dynlink.c:897: p->strings = laddr(p, dyn[DT_STRTAB]); musl-1.2.1/ldso/dynlink.c-898- if (dyn[0]&(1<<DT_HASH)) musl-1.2.1/ldso/dynlink.c:899: p->hashtab = laddr(p, dyn[DT_HASH]); musl-1.2.1/ldso/dynlink.c-900- if (dyn[0]&(1<<DT_RPATH)) ############################################## musl-1.2.1/ldso/dynlink.c-904- if (dyn[0]&(1<<DT_PLTGOT)) musl-1.2.1/ldso/dynlink.c:905: p->got = laddr(p, dyn[DT_PLTGOT]); musl-1.2.1/ldso/dynlink.c-906- if (search_vec(p->dynv, dyn, DT_GNU_HASH)) musl-1.2.1/ldso/dynlink.c:907: p->ghashtab = laddr(p, *dyn); musl-1.2.1/ldso/dynlink.c-908- if (search_vec(p->dynv, dyn, DT_VERSYM)) musl-1.2.1/ldso/dynlink.c:909: p->versym = laddr(p, *dyn); musl-1.2.1/ldso/dynlink.c-910-} ############################################## musl-1.2.1/ldso/dynlink.c-961- if ((p->syms[i].st_info&0xf)==STT_FUNC && p->syms[i].st_shndx) { musl-1.2.1/ldso/dynlink.c:962: p->funcdescs[i].addr = laddr(p, p->syms[i].st_value); musl-1.2.1/ldso/dynlink.c-963- p->funcdescs[i].got = p->got; ############################################## musl-1.2.1/ldso/dynlink.c-1328- if (NEED_MIPS_GOT_RELOCS) musl-1.2.1/ldso/dynlink.c:1329: do_mips_relocs(p, laddr(p, dyn[DT_PLTGOT])); musl-1.2.1/ldso/dynlink.c:1330: do_relocs(p, laddr(p, dyn[DT_JMPREL]), dyn[DT_PLTRELSZ], musl-1.2.1/ldso/dynlink.c-1331- 2+(dyn[DT_PLTREL]==DT_RELA)); musl-1.2.1/ldso/dynlink.c:1332: do_relocs(p, laddr(p, dyn[DT_REL]), dyn[DT_RELSZ], 2); musl-1.2.1/ldso/dynlink.c:1333: do_relocs(p, laddr(p, dyn[DT_RELA]), dyn[DT_RELASZ], 3); musl-1.2.1/ldso/dynlink.c-1334- musl-1.2.1/ldso/dynlink.c-1335- if (head != &ldso && p->relro_start != p->relro_end && musl-1.2.1/ldso/dynlink.c:1336: mprotect(laddr(p, p->relro_start), p->relro_end-p->relro_start, PROT_READ) musl-1.2.1/ldso/dynlink.c-1337- && errno != ENOSYS) { ############################################## musl-1.2.1/ldso/dynlink.c-1352- if (ph->p_type == PT_DYNAMIC) { musl-1.2.1/ldso/dynlink.c:1353: p->dynv = laddr(p, ph->p_vaddr); musl-1.2.1/ldso/dynlink.c-1354- } else if (ph->p_type == PT_GNU_RELRO) { ############################################## musl-1.2.1/ldso/dynlink.c-1396- size_t n = dyn[DT_FINI_ARRAYSZ]/sizeof(size_t); musl-1.2.1/ldso/dynlink.c:1397: size_t *fn = (size_t *)laddr(p, dyn[DT_FINI_ARRAY])+n; musl-1.2.1/ldso/dynlink.c-1398- while (n--) ((void (*)(void))*--fn)(); ############################################## musl-1.2.1/ldso/dynlink.c-1401- if ((dyn[0] & (1<<DT_FINI)) && dyn[DT_FINI]) musl-1.2.1/ldso/dynlink.c:1402: fpaddr(p, dyn[DT_FINI])(); musl-1.2.1/ldso/dynlink.c-1403-#endif ############################################## musl-1.2.1/ldso/dynlink.c-1492- if ((dyn[0] & (1<<DT_INIT)) && dyn[DT_INIT]) musl-1.2.1/ldso/dynlink.c:1493: fpaddr(p, dyn[DT_INIT])(); musl-1.2.1/ldso/dynlink.c-1494-#endif ############################################## musl-1.2.1/ldso/dynlink.c-1496- size_t n = dyn[DT_INIT_ARRAYSZ]/sizeof(size_t); musl-1.2.1/ldso/dynlink.c:1497: size_t *fn = laddr(p, dyn[DT_INIT_ARRAY]); musl-1.2.1/ldso/dynlink.c-1498- while (n--) ((void (*)(void))*fn++)(); ############################################## musl-1.2.1/ldso/dynlink.c-1615- ldso.loadmap = p2 ? p2 : p1; musl-1.2.1/ldso/dynlink.c:1616: ldso.base = laddr(&ldso, 0); musl-1.2.1/ldso/dynlink.c-1617- } else { ############################################## musl-1.2.1/ldso/dynlink.c-1622- ldso.phnum = ehdr->e_phnum; musl-1.2.1/ldso/dynlink.c:1623: ldso.phdr = laddr(&ldso, ehdr->e_phoff); musl-1.2.1/ldso/dynlink.c-1624- ldso.phentsize = ehdr->e_phentsize; ############################################## musl-1.2.1/ldso/dynlink.c-1635- decode_vec(ldso.dynv, dyn, DYN_CNT); musl-1.2.1/ldso/dynlink.c:1636: size_t *rel = laddr(&ldso, dyn[DT_REL]); musl-1.2.1/ldso/dynlink.c-1637- size_t rel_size = dyn[DT_RELSZ]; ############################################## musl-1.2.1/ldso/dynlink.c-1655- if (DL_FDPIC) ((stage3_func)&ldso.funcdescs[dls2b_def.sym-ldso.syms])(sp, auxv); musl-1.2.1/ldso/dynlink.c:1656: else ((stage3_func)laddr(&ldso, dls2b_def.sym->st_value))(sp, auxv); musl-1.2.1/ldso/dynlink.c-1657-} ############################################## musl-1.2.1/ldso/dynlink.c-1679- if (DL_FDPIC) ((stage3_func)&ldso.funcdescs[dls3_def.sym-ldso.syms])(sp, auxv); musl-1.2.1/ldso/dynlink.c:1680: else ((stage3_func)laddr(&ldso, dls3_def.sym->st_value))(sp, auxv); musl-1.2.1/ldso/dynlink.c-1681-} ############################################## musl-1.2.1/ldso/dynlink.c-1739- if (DL_FDPIC) app.loadmap = app_loadmap; musl-1.2.1/ldso/dynlink.c:1740: if (app.tls.size) app.tls.image = laddr(&app, tls_image); musl-1.2.1/ldso/dynlink.c:1741: if (interp_off) ldso.name = laddr(&app, interp_off); musl-1.2.1/ldso/dynlink.c-1742- if ((aux[0] & (1UL<<AT_EXECFN)) ############################################## musl-1.2.1/ldso/dynlink.c-1799- app.name = argv[0]; musl-1.2.1/ldso/dynlink.c:1800: aux[AT_ENTRY] = (size_t)laddr(&app, ehdr->e_entry); musl-1.2.1/ldso/dynlink.c-1801- /* Find the name that would have been used for the dynamic ############################################## musl-1.2.1/ldso/dynlink.c-1805- if (app.phdr[i].p_type == PT_INTERP) musl-1.2.1/ldso/dynlink.c:1806: ldso.name = laddr(&app, app.phdr[i].p_vaddr); musl-1.2.1/ldso/dynlink.c-1807- } ############################################## musl-1.2.1/ldso/dynlink.c-2164- if ((def.sym->st_info&0xf) == STT_TLS) musl-1.2.1/ldso/dynlink.c:2165: return __tls_get_addr((tls_mod_off_t []){def.dso->tls_id, def.sym->st_value-DTP_OFFSET}); musl-1.2.1/ldso/dynlink.c-2166- if (DL_FDPIC && (def.sym->st_info&0xf) == STT_FUNC) musl-1.2.1/ldso/dynlink.c-2167- return def.dso->funcdescs + (def.sym - def.dso->syms); musl-1.2.1/ldso/dynlink.c:2168: return laddr(def.dso, def.sym->st_value); musl-1.2.1/ldso/dynlink.c-2169-} musl-1.2.1/ldso/dynlink.c-2170- musl-1.2.1/ldso/dynlink.c:2171:int dladdr(const void *addr_arg, Dl_info *info) musl-1.2.1/ldso/dynlink.c-2172-{ ############################################## musl-1.2.1/ldso/dynlink.c-2204- && (1<<(sym->st_info>>4) & OK_BINDS)) { musl-1.2.1/ldso/dynlink.c:2205: size_t symaddr = (size_t)laddr(p, sym->st_value); musl-1.2.1/ldso/dynlink.c-2206- if (symaddr > addr || symaddr <= best) ############################################## musl-1.2.1/src/internal/pthread_impl.h-126- musl-1.2.1/src/internal/pthread_impl.h:127:void *__tls_get_addr(tls_mod_off_t *); musl-1.2.1/src/internal/pthread_impl.h-128-hidden int __init_tp(void *); ############################################## musl-1.2.1/src/ldso/dladdr.c-3- musl-1.2.1/src/ldso/dladdr.c:4:static int stub_dladdr(const void *addr, Dl_info *info) musl-1.2.1/src/ldso/dladdr.c-5-{ ############################################## musl-1.2.1/src/math/x86_64/remquol.c-6- /* By ensuring that addresses of x and y cannot be discarded, musl-1.2.1/src/math/x86_64/remquol.c:7: * this empty asm guides GCC into representing extraction of musl-1.2.1/src/math/x86_64/remquol.c-8- * their sign bits as memory loads rather than making x and y ############################################## musl-1.2.1/src/network/gethostbyaddr.c-6- musl-1.2.1/src/network/gethostbyaddr.c:7:struct hostent *gethostbyaddr(const void *a, socklen_t l, int af) musl-1.2.1/src/network/gethostbyaddr.c-8-{ ############################################## musl-1.2.1/src/network/getifaddrs.c-56- musl-1.2.1/src/network/getifaddrs.c:57:static void copy_addr(struct sockaddr **r, int af, union sockany *sa, void *addr, size_t addrlen, int ifindex) musl-1.2.1/src/network/getifaddrs.c-58-{ ############################################## musl-1.2.1/src/network/getifaddrs.c-90- if (i < sizeof(addr)) addr[i++] = 0xff << (8 - (prefixlen % 8)); musl-1.2.1/src/network/getifaddrs.c:91: copy_addr(r, af, sa, addr, sizeof(addr), 0); musl-1.2.1/src/network/getifaddrs.c-92-} musl-1.2.1/src/network/getifaddrs.c-93- musl-1.2.1/src/network/getifaddrs.c:94:static void copy_lladdr(struct sockaddr **r, union sockany *sa, void *addr, size_t addrlen, int ifindex, unsigned short hatype) musl-1.2.1/src/network/getifaddrs.c-95-{ ############################################## musl-1.2.1/src/network/getifaddrs.c-104- musl-1.2.1/src/network/getifaddrs.c:105:static int netlink_msg_to_ifaddr(void *pctx, struct nlmsghdr *h) musl-1.2.1/src/network/getifaddrs.c-106-{ ############################################## musl-1.2.1/src/network/getifaddrs.c-142- case IFLA_ADDRESS: musl-1.2.1/src/network/getifaddrs.c:143: copy_lladdr(&ifs->ifa.ifa_addr, &ifs->addr, RTA_DATA(rta), RTA_DATALEN(rta), ifi->ifi_index, ifi->ifi_type); musl-1.2.1/src/network/getifaddrs.c-144- break; musl-1.2.1/src/network/getifaddrs.c-145- case IFLA_BROADCAST: musl-1.2.1/src/network/getifaddrs.c:146: copy_lladdr(&ifs->ifa.ifa_broadaddr, &ifs->ifu, RTA_DATA(rta), RTA_DATALEN(rta), ifi->ifi_index, ifi->ifi_type); musl-1.2.1/src/network/getifaddrs.c-147- break; ############################################## musl-1.2.1/src/network/getifaddrs.c-167- if (ifs->ifa.ifa_addr) musl-1.2.1/src/network/getifaddrs.c:168: copy_addr(&ifs->ifa.ifa_dstaddr, ifa->ifa_family, &ifs->ifu, RTA_DATA(rta), RTA_DATALEN(rta), ifa->ifa_index); musl-1.2.1/src/network/getifaddrs.c-169- else musl-1.2.1/src/network/getifaddrs.c:170: copy_addr(&ifs->ifa.ifa_addr, ifa->ifa_family, &ifs->addr, RTA_DATA(rta), RTA_DATALEN(rta), ifa->ifa_index); musl-1.2.1/src/network/getifaddrs.c-171- break; musl-1.2.1/src/network/getifaddrs.c-172- case IFA_BROADCAST: musl-1.2.1/src/network/getifaddrs.c:173: copy_addr(&ifs->ifa.ifa_broadaddr, ifa->ifa_family, &ifs->ifu, RTA_DATA(rta), RTA_DATALEN(rta), ifa->ifa_index); musl-1.2.1/src/network/getifaddrs.c-174- break; ############################################## musl-1.2.1/src/network/getifaddrs.c-182- } musl-1.2.1/src/network/getifaddrs.c:183: copy_addr(&ifs->ifa.ifa_addr, ifa->ifa_family, &ifs->addr, RTA_DATA(rta), RTA_DATALEN(rta), ifa->ifa_index); musl-1.2.1/src/network/getifaddrs.c-184- break; ############################################## musl-1.2.1/src/network/inet_addr.c-4- musl-1.2.1/src/network/inet_addr.c:5:in_addr_t inet_addr(const char *p) musl-1.2.1/src/network/inet_addr.c-6-{ ############################################## musl-1.2.1/src/network/inet_legacy.c-6-{ musl-1.2.1/src/network/inet_legacy.c:7: return ntohl(inet_addr(p)); musl-1.2.1/src/network/inet_legacy.c-8-} musl-1.2.1/src/network/inet_legacy.c-9- musl-1.2.1/src/network/inet_legacy.c:10:struct in_addr inet_makeaddr(in_addr_t n, in_addr_t h) musl-1.2.1/src/network/inet_legacy.c-11-{ ############################################## musl-1.2.1/src/network/netname.c-2- musl-1.2.1/src/network/netname.c:3:struct netent *getnetbyaddr(uint32_t net, int type) musl-1.2.1/src/network/netname.c-4-{ ############################################## musl-1.2.1/src/thread/__tls_get_addr.c-2- musl-1.2.1/src/thread/__tls_get_addr.c:3:void *__tls_get_addr(tls_mod_off_t *v) musl-1.2.1/src/thread/__tls_get_addr.c-4-{ ############################################## musl-1.2.1/tools/add-cfi.i386.awk:1:# Insert GAS CFI directives ("control frame information") into x86-32 asm input musl-1.2.1/tools/add-cfi.i386.awk-2-# ############################################## musl-1.2.1/tools/add-cfi.x86_64.awk:1:# Insert GAS CFI directives ("control frame information") into x86-64 asm input musl-1.2.1/tools/add-cfi.x86_64.awk-2- ############################################## musl-1.2.1/tools/musl-clang.in-5-libc_lib="@LIBDIR@" musl-1.2.1/tools/musl-clang.in:6:thisdir="`cd "$(dirname "$0")"; pwd`" musl-1.2.1/tools/musl-clang.in-7- ############################################## musl-1.2.1/debian/changelog-31- * Cherry-pick patch to fix x87 stack imbalance in corner cases of musl-1.2.1/debian/changelog:32: i386 math asm (CVE-2019-14697). musl-1.2.1/debian/changelog-33-