Merge commit '9985efe1e82157e09035f44ab1db0a88c9d7d63a'
[hurd-web.git] / open_issues / glibc.mdwn
index e72b59d..4dad229 100644 (file)
@@ -24,7 +24,7 @@ Here's what's to be done for maintaining glibc.
 # [[Sources|source_repositories/glibc]]
 
 
-# [[Debian]] Cheat Sheet
+# [[Debian Cheat Sheet|debian]]
 
 
 # Configuration
@@ -41,24 +41,24 @@ git log --reverse --topo-order --pretty=fuller --stat=$COLUMNS,$COLUMNS -b -p -C
 Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
 (2013-12-19) sources|source_repositories/glibc]].
 
-  * `t/hurdsig-fixes`
+  * <a id=t_hurdsig-fixes>`t/hurdsig-fixes`</a>
 
         hurdsig.c: In function '_hurd_internal_post_signal':
         hurdsig.c:1188:26: warning: 'pending' may be used uninitialized in this function [-Wmaybe-uninitialized]
         hurdsig.c:1168:12: note: 'pending' was declared here
 
-  * `t/host-independency`
+  * <a id=t_host-independency>`t/host-independency`</a>
 
     [[!message-id "87bougerfb.fsf@kepler.schwinge.homeip.net"]], [[!message-id
     "20120525202732.GA31088@intel.com"]], commit
     918b56067a444572f1c71b02f18255ae4540b043.  [[!GCC_PR 53183]], GCC commit
     c05436a7e361b8040ee899266e15bea817212c37.
 
-  * `t/pie-sbrk`
+  * <a id=t_pie-sbrk>`t/pie-sbrk`</a>
 
     [[gcc/PIE]].
 
-  * `t/sysvshm`
+  * <a id=t_sysvshm>`t/sysvshm`</a>
 
         ../sysdeps/mach/hurd/shmat.c: In function '__shmat':
         ../sysdeps/mach/hurd/shmat.c:57:7: warning: implicit declaration of function '__close' [-Wimplicit-function-declaration]
@@ -67,11 +67,11 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
         ../sysdeps/mach/hurd/shmget.c:102:8: warning: 'dir' may be used uninitialized in this function [-Wmaybe-uninitialized]
         ../sysdeps/mach/hurd/shmget.c:102:8: warning: 'file' may be used uninitialized in this function [-Wmaybe-uninitialized]
 
-  * [[`t/tls`|t/tls]]
+  * <a id=t_tls>[[`t/tls`|t/tls]]</a>
 
-  * [[`t/tls-threadvar`|t/tls-threadvar]]
+  * <a id=t_tls-threadvar>[[`t/tls-threadvar`|t/tls-threadvar]]</a>
 
-  * t/verify.h
+  * <a id=t_verify.h>`t/verify.h`</a>
 
     People didn't like this too much.
 
@@ -79,7 +79,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
 
       * 11988f8f9656042c3dfd9002ac85dff33173b9bd -- `static_assert`
 
-  * [[toolchain/cross-gnu]], without `--disable-multi-arch`
+  * <a id=toolchain_cross-gnu>[[toolchain/cross-gnu]], without `--disable-multi-arch`</a>
 
         i686-pc-gnu-gcc ../sysdeps/i386/i686/multiarch/strcmp.S -c [...]
         ../sysdeps/i386/i686/multiarch/../strcmp.S: Assembler messages:
@@ -89,7 +89,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
 
     Might simply be a missing patch(es) from master.
 
-  * `--disable-multi-arch`
+  * <a id=disable-multi-arch>`--disable-multi-arch`</a>
 
     IRC, freenode, #hurd, 2012-11-22
 
@@ -118,12 +118,12 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
         <tschwinge> Ah, I probably have been thinking about open_issues/ifunc
           and open_issues/libc_variant_selection.
 
-  * --build=X
+  * <a id=buildX>--build=X</a>
 
     `long double` test: due to `cross_compiling = maybe` wants to execute a
     file, which fails.  Thus `--build=X` has to be set.
 
-  * Check what all these are:
+  * <a id=check>Check what all these are:</a>
 
         running configure fragment for sysdeps/mach/hurd
         checking Hurd header version... ok
@@ -159,19 +159,19 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
         checking for i386_set_gdt in mach_i386.defs... yes
         checking whether i586-pc-gnu-mig supports the retcode keyword... yes
 
-  * `sysdeps/i386/stackguard-macros.h`
+  * <a id=stackguard>`sysdeps/i386/stackguard-macros.h`</a>
 
     See [[t/tls|t/tls]].
 
-  * Verify 77c84aeb81808c3109665949448dba59965c391e against
-    `~/shared/glibc/make_TAGS.patch`.
+  * <a id=77c84aeb81808c3109665949448dba59965c391e>Verify 77c84aeb81808c3109665949448dba59965c391e against
+    `~/shared/glibc/make_TAGS.patch`.</a>
 
-  * `HP_SMALL_TIMING_AVAIL` not defined anywhere.
+  * <a id=HP_SMALL_TIMING_AVAIL>`HP_SMALL_TIMING_AVAIL` not defined anywhere.</a>
 
-  * Unify `CPUCLOCK_WHICH` stuff in `clock_*` files.
+  * <a id=CPUCLOCK_WHICH>Unify `CPUCLOCK_WHICH` stuff in `clock_*` files.</a>
 
-  * Not all tests are re-run in a `make -k tests; make tests-clean; make -k
-    tests` cycle.  For example, after `make tests-clean`:
+  * <a id=tests-clean>Not all tests are re-run in a `make -k tests; make tests-clean; make -k
+    tests` cycle.  For example, after `make tests-clean`:</a>
 
         $ find ./ -name \*.out
         ./localedata/tst-locale.out
@@ -198,7 +198,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
         ./check-local-headers.out
         ./begin-end-check.out
 
-  * `CPUCLOCK_WHICH`, `t/cpuclock`
+  * <a id=t_cpuclock>`CPUCLOCK_WHICH`, `t/cpuclock`</a>
 
         /media/boole-data/thomas/tmp/gnu-0/src/glibc.obj/rt/librt_pic.a(clock_settime.os): In function `clock_settime':
         /media/boole-data/thomas/tmp/gnu-0/src/glibc/rt/../sysdeps/unix/clock_settime.c:113: undefined reference to `CPUCLOCK_WHICH'
@@ -210,7 +210,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
         make[1]: Leaving directory `/media/boole-data/thomas/tmp/gnu-0/src/glibc'
         make: *** [all] Error 2
 
-  * Missing interfaces, amongst many more.
+  * <a id=missing>Missing interfaces, amongst many more.</a>
 
     IRC, freenode, #hurd, 2014-02-25:
 
@@ -243,7 +243,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
     Check also the content of `gnu/stubs.h`, which lists all the functions
     marked as stub which only return `ENOSYS`.
 
-      * `chflags`
+      * <a id=chflags>`chflags`</a>
 
         Patch sent, [[!message-id "20120427012130.GZ19431@type.famille.thibault.fr"]].
 
@@ -274,9 +274,9 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
             <youpi> so I'd say ignore the error for now, we'll add the
               declaration
 
-      * [[t/tls-threadvar]]
+      * <a id=t_tls-threadvar>[[t/tls-threadvar]]</a>
 
-      * `futimesat`
+      * <a id=futimesat>`futimesat`</a>
 
         If we have all of 'em (check Linux kernel), `#define __ASSUME_ATFCTS`.
 
@@ -294,19 +294,19 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
             <youpi> but perhaps a bug report would be good for the kfreebsd
               case
 
-      * `bits/stat.h [__USE_ATFILE]`: `UTIME_NOW`, `UTIME_OMIT`
+      * <a id=bits_stat.h>`bits/stat.h [__USE_ATFILE]`: `UTIME_NOW`, `UTIME_OMIT`</a>
 
-      * `io/fcntl.h [__USE_ATFILE]`
+      * <a id=__USE_ATFILE>`io/fcntl.h [__USE_ATFILE]`</a>
 
         Do we support `AT_FDCWD` et al.?
         (80b4e5f3ef231702b24d44c33e8dceb70abb3a06.)
 
-      * `t/opendirat`: `opendirat` (`scandirat`, `scandirat64`)
+      * <a id=t_opendirat>`t/opendirat`: `opendirat` (`scandirat`, `scandirat64`)</a>
 
         Need changes equivalent to c55fbd1ea768f9fdef34a01377702c0d72cbc213 +
         14d96785125abee5e9a49a1c3037f35a581750bd.
 
-      * `madvise`, `MADV_DONTNEED`, `MADV_DONTDUMP`, `MADV_DODUMP`
+      * <a id=madvise>`madvise`, `MADV_DONTNEED`, `MADV_DONTDUMP`, `MADV_DODUMP`</a>
 
         [[glibc_madvise_vs_static_linking]].
 
@@ -332,11 +332,11 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
                   [...]
                   - Disable jemalloc on hurd and kfreebsd-*. No longer disabled upstream.
 
-      * `msync`
+      * <a id=msync>`msync`</a>
 
         Then define `_POSIX_MAPPED_FILES`, `_POSIX_SYNCHRONIZED_IO`.
 
-      * `epoll`, `sys/epoll.h`
+      * <a id=epoll>`epoll`, `sys/epoll.h`</a>
 
         Used by [[wayland]], for example.
 
@@ -754,18 +754,18 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
             <braunr> kernels provide a monotonic clock, and realtime is merely
               shifted from it
 
-      * `sys/eventfd.h`
+      * <a id=sys_eventfd.h>`sys/eventfd.h`</a>
 
-      * `sys/inotify.h`
+      * <a id=sys_inotify.h>`sys/inotify.h`</a>
 
-      * `sys/signalfd.h`
+      * <a id=sys_signalfd.h>`sys/signalfd.h`</a>
 
-      * `sys/timerfd.h`
+      * <a id=sys_timerfd.h>`sys/timerfd.h`</a>
 
-      * `timespec_get` (74033a2507841cf077e31221de2481ff30b43d51,
-        87f51853ce3671f4ba9a9953de1fff952c5f7e52)
+      * <a id=timespec_get>`timespec_get` (74033a2507841cf077e31221de2481ff30b43d51,
+        87f51853ce3671f4ba9a9953de1fff952c5f7e52)</a>
 
-      * `waitflags.h` (`WEXITED`, `WNOWAIT`, `WSTOPPED`, `WCONTINUED`)
+      * <a id=waitflags.h>`waitflags.h` (`WEXITED`, `WNOWAIT`, `WSTOPPED`, `WCONTINUED`)</a>
 
         IRC, freenode, #hurd, 2012-04-20:
 
@@ -792,9 +792,9 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
 
         See `posix/tst-waitid.out` failure below.
 
-      * `getconf` things (see below the results of `tst-getconf.out`)
+      * <a id=getconf>`getconf` things (see below the results of `tst-getconf.out`)</a>
 
-      * `getsockopt`, `setsockopt`
+      * <a id=getsockopt>`getsockopt`, `setsockopt`</a>
 
         IRC, freenode, #hurd, 2013-02-14
 
@@ -839,7 +839,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
             <braunr> no, linux is more permissive
             <braunr> (at least, on this matter)
 
-      * `getcontext`/`makecontext`/`setcontext`/`swapcontext`
+      * <a id=getcontext>`getcontext`/`makecontext`/`setcontext`/`swapcontext`</a>
 
         Support for these functions within the Hurd threadvar environment has
         been added, but for multi-threaded applications ([[libpthread]]), it is
@@ -1646,7 +1646,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
             <braunr> gnu_srs1: use break on the address
             <gnu_srs1> how do i get the address of where the assembly starts?
 
-      * `recvmmsg`/`sendmmsg` (`t/sendmmsg`)
+      * <a id=recvmmsg>`recvmmsg`/`sendmmsg` (`t/sendmmsg`)</a>
 
         From [[!message-id "20120625233206.C000A2C06F@topped-with-meat.com"]],
         Roland McGrath: *They are generally useful interfaces and there is
@@ -1657,7 +1657,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
         Then perhaps the Linux fallback case should be that instead of stubs,
         too.*
 
-      * `SOCK_CLOEXEC`
+      * <a id=SOCK_CLOEXEC>`SOCK_CLOEXEC`</a>
 
         IRC, freenode, #hurd, 2013-09-02:
 
@@ -1857,19 +1857,19 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
 
     For specific packages:
 
-      * [[octave]]
+      * <a id=octave>[[octave]]</a>
 
-  * Create `t/cleanup_kernel-features.h`.
+  * <a id=t_cleanup_kernel-features.h>Create `t/cleanup_kernel-features.h`.</a>
 
-  * [[Secure_file_descriptor_handling]].
+  * <a id=Secure_file_descriptor_handling>[[Secure_file_descriptor_handling]].</a>
 
-  * In `sysdeps/unix/sysv/linux/Makefile`, there are a bunch of
-    `-DHAVE_SENDFILE` -- but we do have `sendfile`, too.
+  * <a id=sendfile>In `sysdeps/unix/sysv/linux/Makefile`, there are a bunch of
+    `-DHAVE_SENDFILE` -- but we do have `sendfile`, too.</a>
 
     Define `__ASSUME_SENDFILE` to 1 in `kernel-features.h`, if `sendfile`
     works.
 
-  * `/usr/include/pthread.h` overwrite issue
+  * <a id=pthreadoverwrite>`/usr/include/pthread.h` overwrite issue</a>
 
     `make`, after editing `nss/nss_db/db-initgroups.c`:
 
@@ -1890,9 +1890,9 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
     install`, prepending an additional slash to `install_root` (that is,
     `install_root=//[...]`) is enough to obfuscate the Makefile rules.
 
-  * `sysdeps/unix/sysv/linux/syslog.c`
+  * <a id=syslog.c>`sysdeps/unix/sysv/linux/syslog.c`</a>
 
-  * `fsync` on a pipe
+  * <a id=fsync>`fsync` on a pipe</a>
 
     IRC, freenode, #hurd, 2012-08-21:
 
@@ -2066,7 +2066,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
 
     [[!message-id "1351231423.8019.19.camel@hp.my.own.domain"]].
 
-  * `t/no-hp-timing`
+  * <a id=t_no-hp-timing>`t/no-hp-timing`</a>
 
     IRC, freenode, #hurd, 2012-11-16
 
@@ -2074,7 +2074,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
           couldn't that file be just replaced by #include
           <sysdeps/generic/hp-timing.h>?
 
-  * `flockfile`/`ftrylockfile`/`funlockfile`
+  * <a id=flockfile>`flockfile`/`ftrylockfile`/`funlockfile`</a>
 
     IRC, freenode, #hurd, 2012-11-16
 
@@ -2213,7 +2213,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
         <pinotree> provides a EXEC_PAGESIZE define in libio, so it makes it use
           mmap (like on linux) instead of malloc
 
-    `t/pagesize`.
+  * <a id=t_pagesize>`t/pagesize`.</a>
 
         <braunr> yes, the stub is used instead of the libpthreads code
         <braunr> tschwinge: ^
@@ -2331,7 +2331,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
         <youpi> ok, so all god
         <youpi> +o
 
-  * `t/pagesize`
+  * <a id=t_pagesize2>`t/pagesize`</a>
 
     IRC, freenode, #hurd, 2012-11-16
 
@@ -2372,7 +2372,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
           size
         <braunr> well they have to
 
-  * `LD_DEBUG`
+  * <a id=LD_DEBUG>`LD_DEBUG`</a>
 
     IRC, freenode, #hurd, 2012-11-22
 
@@ -2386,7 +2386,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
         <pinotree> http://paste.debian.net/25934/ ← _hurd_thread_sigstate calls
           malloc, boom
 
-  * `conformtest`
+  * <a id=conformtest>`conformtest`</a>
 
     IRC, OFTC, #debian-hurd, 2013-09-22:
 
@@ -2480,7 +2480,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
         support.` may help to find all the places that need to be touched when
         adding support.
 
-  * Verify baseline changes, if we need any follow-up changes:
+  * <a id=baselinechanges>Verify baseline changes, if we need any follow-up changes:</a>
 
       * a11ec63713ea3903c482dc907a108be404191a02
       * 7e2b0c8562b35155820f87b5ff02a8b6850344cc