bugs found or refound by musl
- pcc (integer constant expression bug) [fixed]
- pcc (cpp bug: #define B !defined(A))
- pcc (cpp bug: macro()text)
- pcc (cpp bug: line reporting) [fixed]
- pcc (cpp bug: recursive macro) [fixed]
- pcc (corrupted static variable) [fixed]
- pcc (-Os) [fixed]
- pcc (makefile bug) [fixed]
- pcc (__builtin_nanf for -fPIC) [fixed]
- pcc (-print-file-name) [fixed]
- pcc (complex cast to double) [fixed]
- pcc (crtbeginT.o) [fixed]
- pcc (visibility=hidden, inline asm with array argument, __PIC__, pcc-libs withou -fPIC) [fixed]
- gcc 48825 (compiling gcc libiberty is built as target lib) [fixed]
- gdb 13011 (unjustified gdb-glibc dependency)
- glibc 13065 (pthread barriers race)
- glibc 13080 (incorrect definition of clock_t) [wontfix]
- glibc 13154 (strtol clobbers endptr on invalid base) [invalid]
- glibc 13172 (aio_suspend is not async-signal-safe)
- glibc 13234 (performance issue: non-pshared vs pshared condition vars)
- glibc 13613 (broken cancellation in single-threaded process) [fixed]
- gcc 52451 (float nan comparision without raising invalid and broken -mno-ieee-fp)
- glibc 13837 (sin,cos argument reduction on x86) [fixed]
- gcc 52593 (builtin sqrt is not correctly rounded)
- glibc 14032 (sqrt is not correctly rounded)
- glib 672665 (race in dlsym error detection)
- glibc 13959 (namespace pollution when _GNU_SOURCE is defined) [invalid]
- libtool (makes static linking impossible)
- binutils 12549 (--as-needed should ignore weak refs)
- glibc 13988 (scanf %f handles +.e incorrectly)
- glib 674446 (g_malloc aborts on allocation failure)
- glib 674540 (incorrect assert in gconvert)
- glibc 14008 (incorrect iconv behaviour when char does not exist in destination charset)
- glibc 14029 (manual wrongly claims fnmatch cannot fail)
- binutils 14037 (.eh_frame stripped shared lib incorrectly linked with -fPIC program)
- glibc 14102 (NI_NUMERICSCOPE is missing from netdb.h)
- binutils 14156 (--sort-sectio=alignment is broken) [fixed]
- busybox (sed bug) [fixed]
- glibc 14233 (test assertions are not explained) [invalid]
- glibc 14254 (scanf warn-unused-result is not justified)
- gnulib (SLOW_BUT_NO_HACKS could be a fallback) [fixed]
- gnulib (4bugs: freadahead, printf of invalid long double, getopt, SLOW_BUT_NO_HACKS) [fixed]
- gcc 54232 (x86 PIC code reserves register for GOT even if there is no global data)
- posix 603 (request for posix_spawn with setrlimit, chdir,..) [rejected]
- glibc 14578 (fchmodat with AT_SYMLINK_NOFOLLOW fails unconditionally)
- glibc 12683 (race condition in pthread cancellation), article on ewontfix
- glibc 14047 (spurious ERANGE by strtof) [fixed]
- glib 684123 (_GNU_SOURCE is only tried if glibc is detected)
- posix 609 (pthread_cond_broadcast, pthread_cond_signal)
- glibc 14609 (stack clobbering in pthread cancellation cleanup handlers)
- glibc 14697 (behaviour of exit is non-conformant)
- qemu (broken app-level clone for microblaze) [fixed]
- qemu (broken app-level thread cancellation)
- glibc 14749 (race condition with vfork and posix_spawn)
- gcc 55012 (protected visibility wrongly uses GOT relative addressing)
- glibc 14752 (unsafe alloca in shm_open)
- posix 610 (exit vs threads)
- posix 611 (exit vs locked stdio) [accepted]
- posix 612 (dirname of "usr/" and "/") [accepted]
- posix 613 (pthread_cleanup_push and auto object lifetime)
- posix 614 (close as a cancellation point)
- posix 615 (pthread_setcancelstate should be async-signal-safe)
- posix 622 (loophole that turns any function async-cancel-safe)
- posix 623 (poll should not modify fds[i].events)
- posix 624 (pthread_cleanup_pop and _push should not require a prototype)
- posix 625 (allowing alarm based sleep contradicts thread-safety)
- posix 626 (fflush vs memory streams) [accepted]
- posix 627 (pthread cancellation of system())
- posix 632 (pclose as a cancellation point)
- posix 633 (SIGEV_THREAD signal delivery)
- glibc 14782 (cancellation is enabled for system)
- gcc 55129 (release packaging issue)
- binutils 14798 (gas for mips generates symbols with wrong types)
- glib 687600 (gfileutils uses open through non-vararg function pointer)
- qemu (socket type mapping for mips app-level emulation is wrong)
- glibc 10815 (SIGEV_THREAD signal delivery)
- clang 13694 (wrong optimization with -ffreestanding) [fixed]
- gcc 55431 (invlid auxv search in ppc linux-unwind code)
- glibc 14985 (EPOLL_NONBLOCK broken definition)
- openssl (build system issue)
- inkscape (use of sys/fcntl.h instead of fcntl.h)
- boehm gc (build system, fallback code for determining stack address)
- posix 650 (c99 -E on #pragma)
- glibc 15088 (_POSIX_PRIORITY_SCHEDULING is defined)
- glibc 15124 (no way to get conformant api, eg strerror_r)
- posix 655 (deprecate strerror_r)
- posix 656 (allow or forbid tls for static buffers)
- glib 694239 (gresolver uses non-portable libc api)
- posix 662 (atomicity of freopen)
- posix 663 (strcasecmp is underspecified)
bugs relevant for musl
unreported bugs
- posix: pthread.h: PTHREAD_CANCELED symbolic const is not marked as void*
- posix: typo in time.h: "..to access an actual object, or a progrm defines an identifier with the name.."
- posix: usage of the cx option in unistd.h
- posix: html error in gets.html: "get a string from a .I stdin stream"
- posix: remquo: quo is not specified when the return value is nan only if y is zero
- posix: yn(n,0) is incorrect for negative n: "If x is 0.0, -HUGE_VAL shall be returned"
- broken bre support in tre
- broken random in all bsd libc and glibc (bad seed, ub signed int arithmetics)
- search.h implementation bugs in bsd libc and glibc (stack overflow, hsearch crashes on glibc)
- several libm bugs in glibc, fdlibm (freebsd, openbsd, bionic,..)
- llvm signal handler bug (not async-signal-safe, invalid use of c++, racy unmasking) in Support/Unix/Signals.inc
- llvm exit bug (destructor calls exit)
- llvm: invalid use of the address of stdin/stdout/stderr in Support/DynamicLibrary.cpp
- various c++ projects: depend on constructor order of different tu (gcc 46770)
- various c++ projects: NULL in vararg functions without cast to the right pointer type (seen in various gnome projects)
- various projects: assume large thread stack size without setting it up (firefox,..)
- various projects: query the base pointer of the stack to do pointer arithmetics with it (libgc, firefox,...)
- calling dlopen from the constructor of global static object (firefox)
- incorrect usage of feature test macros and configure results (lots of projects)
- usage of obsolete wrong headers (sys/foo.h instead of foo.h and vice-versa, many projects)
- glibc has some missing posix symbols (found by libc-test)
- linux headers invoke ub by using (1 << 31) eg. MS_NOUSER in inlude/uapi/linux/fs.h
- strace: broken handling of vfork
misc