362c376204477d55b527b2230431d7205441e582
[www] / musl / bugs.html
1 <html>
2 <head><title>bugs</title></head>
3
4 <h3>bugs found or refound by musl</h3>
5 <ul>
6 <li><a href="http://marc.info/?l=pcc-list&m=130668720317216">pcc (integer constant expression bug)</a> [fixed]
7 <li><a href="http://marc.info/?l=pcc-list&m=130615802708117">pcc (cpp bug: #define B !defined(A))</a>
8 <li><a href="http://marc.info/?l=pcc-list&m=130608353609512">pcc (cpp bug: macro()text)</a>
9 <li><a href="http://marc.info/?l=pcc-list&m=130574679902571">pcc (cpp bug: line reporting)</a> [fixed]
10 <li><a href="http://marc.info/?l=pcc-list&m=130573226614698">pcc (cpp bug: recursive macro)</a> [fixed]
11 <li><a href="http://marc.info/?l=pcc-list&m=130942814905111">pcc (corrupted static variable)</a> [fixed]
12 <li><a href="http://marc.info/?l=pcc-list&m=131498417826086">pcc (-Os)</a> [fixed]
13 <li><a href="http://marc.info/?l=pcc-list&m=131161005321400">pcc (makefile bug)</a> [fixed]
14 <li><a href="http://marc.info/?l=pcc-list&m=134426895408050">pcc (__builtin_nanf for -fPIC)</a> [fixed]
15 <li><a href="http://marc.info/?l=pcc-list&m=134725988825229">pcc (-print-file-name)</a> [fixed]
16 <li><a href="http://marc.info/?l=pcc-list&m=134770849902979">pcc (complex cast to double)</a> [fixed]
17 <li><a href="http://marc.info/?l=pcc-list&m=134795929304570">pcc (crtbeginT.o)</a> [fixed]
18 <li><a href="http://marc.info/?l=pcc-list&m=135020300019821">pcc (visibility=hidden, inline asm with array argument, __PIC__, pcc-libs withou -fPIC)</a> [fixed]
19 <li><a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48825">gcc 48825 (compiling gcc libiberty is built as target lib)</a> [fixed]
20 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=13011">gdb 13011 (unjustified gdb-glibc dependency)</a>
21 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=13065">glibc 13065 (pthread barriers race)</a>
22 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=13080">glibc 13080 (incorrect definition of clock_t)</a> [wontfix]
23 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=13154">glibc 13154 (strtol clobbers endptr on invalid base)</a> [invalid]
24 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=13172">glibc 13172 (aio_suspend is not async-signal-safe)</a>
25 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=13234">glibc 13234 (performance issue: non-pshared vs pshared condition vars)</a>
26 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=13613">glibc 13613 (broken cancellation in single-threaded process)</a> [fixed]
27 <li><a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52451">gcc 52451 (float nan comparision without raising invalid and broken -mno-ieee-fp)</a>
28 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=13837">glibc 13837 (sin,cos argument reduction on x86)</a> [fixed]
29 <li><a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52593">gcc 52593 (builtin sqrt is not correctly rounded)</a>
30 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=14032">glibc 14032 (sqrt is not correctly rounded)</a>
31 <li><a href="https://bugzilla.gnome.org/show_bug.cgi?id=672665">glib 672665 (race in dlsym error detection)</a>
32 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=13959">glibc 13959 (namespace pollution when _GNU_SOURCE is defined)</a> [invalid]
33 <li><a href="http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11064">libtool (makes static linking impossible)</a>
34 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=12549">binutils 12549 (--as-needed should ignore weak refs)</a>
35 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=13988">glibc 13988 (scanf %f handles +.e incorrectly)</a>
36 <li><a href="https://bugzilla.gnome.org/show_bug.cgi?id=674446">glib 674446 (g_malloc aborts on allocation failure)</a>
37 <li><a href="https://bugzilla.gnome.org/show_bug.cgi?id=674540">glib 674540 (incorrect assert in gconvert)</a>
38 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=14008">glibc 14008 (incorrect iconv behaviour when char does not exist in destination charset)</a>
39 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=14029">glibc 14029 (manual wrongly claims fnmatch cannot fail)</a>
40 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=14037">binutils 14037 (.eh_frame stripped shared lib incorrectly linked with -fPIC program)</a>
41 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=14102">glibc 14102 (NI_NUMERICSCOPE is missing from netdb.h)</a>
42 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=14156">binutils 14156 (--sort-sectio=alignment is broken)</a> [fixed]
43 <li><a href="https://bugs.busybox.net/show_bug.cgi?id=5246">busybox (sed bug)</a> [fixed]
44 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=14233">glibc 14233 (test assertions are not explained)</a> [invalid]
45 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=14254">glibc 14254 (scanf warn-unused-result is not justified)</a>
46 <li><a href="http://www.mail-archive.com/bug-gnulib@gnu.org/msg27302.html">gnulib (SLOW_BUT_NO_HACKS could be a fallback)</a> [fixed]
47 <li><a href="http://www.mail-archive.com/bug-gnulib@gnu.org/msg27339.html">gnulib (4bugs: freadahead, printf of invalid long double, getopt, SLOW_BUT_NO_HACKS)</a> [fixed]
48 <li><a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54232">gcc 54232 (x86 PIC code reserves register for GOT even if there is no global data)</a>
49 <li><a href="http://www.austingroupbugs.net/view.php?id=603">posix 603 (request for posix_spawn with setrlimit, chdir,..)</a> [rejected]
50 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=14578">glibc 14578 (fchmodat with AT_SYMLINK_NOFOLLOW fails unconditionally)</a>
51 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=12683">glibc 12683 (race condition in pthread cancellation)</a>, <a href="http://ewontfix.com/2/">article on ewontfix</a>
52 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=14047">glibc 14047 (spurious ERANGE by strtof)</a> [fixed]
53 <li><a href="https://bugzilla.gnome.org/show_bug.cgi?id=684123">glib 684123 (_GNU_SOURCE is only tried if glibc is detected)</a>
54 <li><a href="http://austingroupbugs.net/view.php?id=609">posix 609 (pthread_cond_broadcast, pthread_cond_signal)</a>
55 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=14609">glibc 14609 (stack clobbering in pthread cancellation cleanup handlers)</a>
56 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=14697">glibc 14697 (behaviour of exit is non-conformant)</a>
57 <li><a href="https://bugs.launchpad.net/qemu/+bug/1066909">qemu (broken app-level clone for microblaze)</a> [fixed]
58 <li><a href="https://bugs.launchpad.net/qemu/+bug/1068900">qemu (broken app-level thread cancellation)</a>
59 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=14749">glibc 14749 (race condition with vfork and posix_spawn)</a>
60 <li><a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55012">gcc 55012 (protected visibility wrongly uses GOT relative addressing)</a>
61 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=14752">glibc 14752 (unsafe alloca in shm_open)</a>
62 <li><a href="http://austingroupbugs.net/view.php?id=610">posix 610 (exit vs threads)</a>
63 <li><a href="http://austingroupbugs.net/view.php?id=611">posix 611 (exit vs locked stdio)</a> [accepted]
64 <li><a href="http://austingroupbugs.net/view.php?id=612">posix 612 (dirname of "usr/" and "/")</a> [accepted]
65 <li><a href="http://austingroupbugs.net/view.php?id=613">posix 613 (pthread_cleanup_push and auto object lifetime)</a>
66 <li><a href="http://austingroupbugs.net/view.php?id=614">posix 614 (close as a cancellation point)</a>
67 <li><a href="http://austingroupbugs.net/view.php?id=615">posix 615 (pthread_setcancelstate should be async-signal-safe)</a>
68 <li><a href="http://austingroupbugs.net/view.php?id=622">posix 622 (loophole that turns any function async-cancel-safe)</a>
69 <li><a href="http://austingroupbugs.net/view.php?id=623">posix 623 (poll should not modify fds[i].events)</a>
70 <li><a href="http://austingroupbugs.net/view.php?id=624">posix 624 (pthread_cleanup_pop and _push should not require a prototype)</a>
71 <li><a href="http://austingroupbugs.net/view.php?id=625">posix 625 (allowing alarm based sleep contradicts thread-safety)</a>
72 <li><a href="http://austingroupbugs.net/view.php?id=626">posix 626 (fflush vs memory streams)</a> [accepted]
73 <li><a href="http://austingroupbugs.net/view.php?id=627">posix 627 (pthread cancellation of system())</a>
74 <li><a href="http://austingroupbugs.net/view.php?id=632">posix 632 (pclose as a cancellation point)</a>
75 <li><a href="http://austingroupbugs.net/view.php?id=633">posix 633 (SIGEV_THREAD signal delivery)</a>
76 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=14782">glibc 14782 (cancellation is enabled for system)</a>
77 <li><a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55129">gcc 55129 (release packaging issue)</a>
78 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=14798">binutils 14798 (gas for mips generates symbols with wrong types)</a>
79 <li><a href="https://bugzilla.gnome.org/show_bug.cgi?id=687600">glib 687600 (gfileutils uses open through non-vararg function pointer)</a>
80 <li><a href="https://bugs.launchpad.net/qemu/+bug/1075272">qemu (socket type mapping for mips app-level emulation is wrong)</a>
81 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=10815">glibc 10815 (SIGEV_THREAD signal delivery)</a>
82 <li><a href="http://llvm.org/bugs/show_bug.cgi?id=13694">clang 13694 (wrong optimization with -ffreestanding)</a> [fixed]
83 <li><a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55431">gcc 55431 (invlid auxv search in ppc linux-unwind code)</a>
84 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=14985">glibc 14985 (EPOLL_NONBLOCK broken definition)</a>
85 <li><a href="https://rt.openssl.org/Ticket/Display.html?id=2823&amp;user=guest&amp;pass=guest">openssl (build system issue)</a>
86 <li><a href="https://bugs.launchpad.net/altlinux/+source/inkscape/+bug/910335/+index">inkscape (use of sys/fcntl.h instead of fcntl.h)</a>
87 <li><a href="http://www.hpl.hp.com/hosted/linux/mail-archives/gc/2013-January/date.html">boehm gc (build system, fallback code for determining stack address)</a>
88 <li><a href="http://austingroupbugs.net/view.php?id=650">posix 650 (c99 -E on #pragma)</a>
89 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=15088">glibc 15088 (_POSIX_PRIORITY_SCHEDULING is defined)</a>
90 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=15124">glibc 15124 (no way to get conformant api, eg strerror_r)</a>
91 <li><a href="http://austingroupbugs.net/view.php?id=655">posix 655 (deprecate strerror_r)</a>
92 <li><a href="http://austingroupbugs.net/view.php?id=656">posix 656 (allow or forbid tls for static buffers)</a>
93 <li><a href="https://bugzilla.gnome.org/show_bug.cgi?id=694239">glib 694239 (gresolver uses non-portable libc api)</a>
94 </ul>
95
96 <h3>bugs relevant for musl</h3>
97 <ul>
98 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=5945">glibc 5945 (regoff_t size)</a>
99 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=12674">glibc 12674 (sem_post/sem_wait race)</a>
100 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=13276">glibc 13276 (realloc aborts when runs out of vm)</a> [fixed]
101 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=4737">glibc 4737 (fork is not async-signal-safe)</a> [wontfix]
102 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=13470">binutils 13470 (ppc32 ld regressions in 2.22)</a> [fixed]
103 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=13600">binutils 13600 (protected visibility creates bogus relocation)</a>
104 <li><a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51437">gcc 51437 (feature request: warn on reserved identifiers)</a>
105 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=13165">glibc 13165 (observable invalid ordering with pthread_cond_wait)</a>
106 <li><a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46770">gcc 46770 (.init_array vs .ctors for initializing static objects in c++)</a>
107 <li><a href="https://svn.boost.org/trac/boost/ticket/7516">boost (endian detection is incorrect)</a>
108 </ul>
109
110 <h3>unreported bugs</h3>
111 <ul>
112 <li>posix: pthread.h: PTHREAD_CANCELED symbolic const is not marked as void*
113 <li>posix: typo in time.h: "..to access an actual object, or a progrm defines an identifier with the name.."
114 <li>posix: usage of the cx option in unistd.h
115 <li>posix: html error in gets.html: "get a string from a .I stdin stream"
116 <li>posix: remquo: quo is not specified when the return value is nan only if y is zero
117 <li>posix: yn(n,0) is incorrect for negative n: "If x is 0.0, -HUGE_VAL shall be returned"
118 <li>broken bre support in tre
119 <li>wchar_t is assumed to be signed in tre (so it is broken on arm)
120 <li>broken random in all bsd libc and glibc (bad seed, ub signed int arithmetics)
121 <li>search.h implementation bugs in bsd libc and glibc (stack overflow, hsearch crashes on glibc)
122 <li>several libm bugs in glibc, fdlibm (freebsd, openbsd, bionic,..)
123 <li>llvm signal handler bug (not async-signal-safe, invalid use of c++, racy unmasking) in Support/Unix/Signals.inc
124 <li>llvm exit bug (destructor calls exit)
125 <li>llvm: invalid use of the address of stdin/stdout/stderr in Support/DynamicLibrary.cpp
126 <li>various c++ projects: depend on constructor order of different tu (<a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46770">gcc 46770</a>)
127 <li>various c++ projects: NULL in vararg functions without cast to the right pointer type (seen in various gnome projects)
128 <li>various projects: assume large thread stack size without setting it up (firefox,..)
129 <li>various projects: query the base pointer of the stack to do pointer arithmetics with it (libgc, firefox,...)
130 <li>calling dlopen from the constructor of global static object (firefox)
131 <li>incorrect usage of feature test macros and configure results (lots of projects)
132 <li>usage of obsolete wrong headers (sys/foo.h instead of foo.h and vice-versa, many projects)
133 <li>glibc has some missing posix symbols (found by libc-test)
134 <li>linux headers invoke ub by using (1 &lt;&lt; 31) eg. MS_NOUSER in inlude/uapi/linux/fs.h
135 <li>strace: broken handling of vfork
136 <!--bionic: posix namespace violation, +gratuitous interface breaking-->
137 <!-- fixincludes -->
138 <!-- __c99_printf -->
139 <!-- od: use of arbitrary binary data as long double -->
140 <!-- gcc: c99 annex f -->
141 </ul>
142
143 <h3>misc</h3>
144 <ul>
145 <li><a href="https://bugs.webkit.org/show_bug.cgi?id=42756">webkit (jit requires vm overcommit)</a> [fixed]
146 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=3400">glibc 3400 (static linking is not supported)</a>
147 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=12189">glibc 12189 (__stack_chk_fail attempts backtrace)</a> [wontfix]
148 <li><a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41431">gcc 41431 (sizeof(&main) is rejected)</a> [fixed]
149 <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=111373">mozilla (disallow animated favicon)</a> (unfixed since 2001)
150 <li><a href="http://austingroupbugs.net/view.php?id=374">posix 374 (posix vs c inconsistency about malloc(0) and realloc(p,0))</a>
151 <li><a href="http://bugs.python.org/issue13028">python (excessive amount of syscalls made at startup)</a> [pending]
152 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=13344">glibc 13344 (regression after leaf attribute is added to pthread functions)</a> [fixed]
153 <li><a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=619963">eglibc (restrict is added to memmove and thus optimized to memcpy)</a> [fixed]
154 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=13601">glibc 13601 (ldso fails on short read)</a> [fixed]
155 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=11214">glibc 11214 (CLONE_VM vs TLS)</a>
156 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=4099">glibc 4099 (agressive caching)</a>
157 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=12100">glibc 12100 (strstr: O(n)->O(n^2) on SSE4)</a> [fixed]
158 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=13138">glibc 13138 (scanf stackoverflows on long numbers)</a> [fixed]
159 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=14195">glibc 14195 (strncasecmp segfaults with SSSE3)</a> [fixed]
160 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=14229">glibc 14229 (strtok_r fails on x32)</a>
161 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=14552">glibc 14552 (unbounded alloca in strcoll and strxfrm)</a>
162 <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=55213">systemd (early boot vasprintf segfault)</a> [fixed]
163 <li><a href="http://sourceware.org/bugzilla/show_bug.cgi?id=14716">glibc 14716 (memmem crash)</a> [fixed]
164 <li><a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52734">gcc 4.7.0 regression (incorrect tail merging optimization)</a>
165 </ul>
166 </html>