From fd416997c65cb122acc1e6c2b36ff10e781273c7 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Fri, 23 Sep 2011 00:44:39 +0200 Subject: open_issues/glibc: Update. --- hurd/translator/procfs/jkoenig/discussion.mdwn | 6 ++ open_issues/glibc.mdwn | 127 +++++++++++++++++-------- 2 files changed, 91 insertions(+), 42 deletions(-) diff --git a/hurd/translator/procfs/jkoenig/discussion.mdwn b/hurd/translator/procfs/jkoenig/discussion.mdwn index 01bbea42..135b4a88 100644 --- a/hurd/translator/procfs/jkoenig/discussion.mdwn +++ b/hurd/translator/procfs/jkoenig/discussion.mdwn @@ -207,3 +207,9 @@ IRC, freenode, #hurd, 2011-07-25 < pinotree> and the mnt C api already returns no entries (or it bails out, i don't remember) < pinotree> not a strict need + + +# `/proc/[PID]/auxv`, `/proc/[PID]/exe`, `/proc/[PID]/mem` + +Needed by glibc's `pldd` tool (commit +11988f8f9656042c3dfd9002ac85dff33173b9bd). diff --git a/open_issues/glibc.mdwn b/open_issues/glibc.mdwn index e7c8a0ba..0130aceb 100644 --- a/open_issues/glibc.mdwn +++ b/open_issues/glibc.mdwn @@ -27,8 +27,8 @@ Here's what's to be done for maintaining glibc. # Configuration -Last reviewed up to the [[Git mirror's 5a31b2836d55bcc0c5b6f90f1e89245118e7f508 -(2011-06-07) sources|source_repositories/glibc]]. +Last reviewed up to the [[Git mirror's 16292eddd77f66002e2104848e75a0fb4d316692 +(2011-08-04) sources|source_repositories/glibc]]. * t/dup3 @@ -51,6 +51,14 @@ Last reviewed up to the [[Git mirror's 5a31b2836d55bcc0c5b6f90f1e89245118e7f508 * `TLS_INIT_TP_EXPENSIVE` is unused; Hurd def. can be removed. + * t/verify.h + + People didn't like this too much. + + Other examples: + + * 11988f8f9656042c3dfd9002ac85dff33173b9bd -- `static_assert` + * [[toolchain/cross-gnu]], without `--disable-multi-arch` i686-pc-gnu-gcc ../sysdeps/i386/i686/multiarch/strcmp.S -c [...] @@ -134,10 +142,12 @@ Last reviewed up to the [[Git mirror's 5a31b2836d55bcc0c5b6f90f1e89245118e7f508 something to work on, here's a list. `AT_EMPTY_PATH`, `CLOCK_BOOTTIME`, `CLOCK_BOOTTIME_ALARM`, - `CLOCK_REALTIME_ALARM`, `O_PATH`, `RLIMIT_RTTIME`, `clock_adjtime`, - `fallocate`, `fallocate64`, `getcontext` (and `setcontext`), - `name_to_handle_at`, `open_by_handle_at`, `sendmmsg`, `setns`, - `sync_file_range` + `CLOCK_REALTIME_ALARM`, `O_PATH`, + `PTRACE_*` (for example, cbff0d9689c4d68578b6a4f0a17807232506ea27), + `RLIMIT_RTTIME`, `SEEK_DATA` (`unistd.h`), `SEEK_HOLE` (`unistd.h`) + `clock_adjtime`, `fallocate`, `fallocate64`, `getcontext` (and + `setcontext`), `name_to_handle_at`, `open_by_handle_at`, `sendmmsg`, + `setns`, `sync_file_range` * `syncfs` @@ -153,12 +163,38 @@ Last reviewed up to the [[Git mirror's 5a31b2836d55bcc0c5b6f90f1e89245118e7f508 Do we support `AT_FDCWD` et al.? + * `MAP_POPULATE` (`mmap`, `sys/mman.h`) + + Is only advisory, so can worked around with `#define 0`. + * Building with GCC 4.5, 4.6, trunk will cause different kinds of faults. * Create `t/cleanup_kernel-features.h`. * Add tests from Linux kernel commit messages for `t/dup3` et al. + * In `sysdeps/unix/sysv/linux/Makefile`, there are a bunch of + `-DHAVE_SENDFILE` -- but we do have `sendfile`, too. + + * `/usr/include/pthread.h` overwrite issue + + `make`, after editing `nss/nss_db/db-initgroups.c`: + + [...] + make[2]: Leaving directory `/media/erich/home/thomas/tmp/glibc/tschwinge/Roger_Whittaker/resolv' + make subdir=nss -C nss ..=../ others + make[2]: Entering directory `/media/erich/home/thomas/tmp/glibc/tschwinge/Roger_Whittaker/nss' + /usr/bin/install -c -m 644 ../include/pthread.h /usr/include/pthread.h + /usr/bin/install: cannot remove `/usr/include/pthread.h': Permission denied + make[2]: *** [/usr/include/pthread.h] Error 1 + make[2]: Leaving directory `/media/erich/home/thomas/tmp/glibc/tschwinge/Roger_Whittaker/nss' + make[1]: *** [nss/others] Error 2 + make[1]: Leaving directory `/media/erich/home/thomas/tmp/glibc/tschwinge/Roger_Whittaker' + make: *** [all] Error 2 + + See `id:"871uv99c59.fsf@kepler.schwinge.homeip.net"`. Passing + `install_root=/INVALID` to `make`/`make check` is a cheap cure. + * Verify baseline changes, if we need any follow-up changes: * a11ec63713ea3903c482dc907a108be404191a02 @@ -249,26 +285,58 @@ Last reviewed up to the [[Git mirror's 5a31b2836d55bcc0c5b6f90f1e89245118e7f508 80e2212d8e59933a1641f029ebd360526ff0e074 + 4997db742946d08be4378cf91221f558f928bc73 -- `Don't document si_code used for raise()`. Also for `bits/siginfo.h`? - * 01f16ab0a581838d44ad79e82c0c3e1691d8506e -- `Prevent loader from - loading itself` + * 11988f8f9656042c3dfd9002ac85dff33173b9bd -- pldd, Does it work? + Probably not: needs `/proc/[PID]/auxv`, `/proc/[PID]/exe`, + `/proc/[PID]/mem` ([[!tag open_issue_hurd]], + [[hurd/translator/procfs]]). + * 78a7eee7fab0802addf500c481335ed6e9899bda + + 62bede1313c3a1fa477a092006d64436de6821b1 + + 113ddea44742d006d7a910a0707106c7defcfd9b -- `.ctors/.dtors`. Watch + what happens. `AC_TRY_LINK` vs. cross compiling/bootstrapping? Native + build: `checking whether to use .ctors/.dtors header and + trailer... no`; results in `#define NO_CTORS_DTORS_SECTIONS 1`: OK (as + before). + * 9113ea1f3f29b3aee710efc829e85a9772bcb836 -- `--experimental-malloc`. + Watch what happens. + * 4e34ac6a1e256f40ab0d8eeed37aa1ea83440e76 -- `-defsym=_begin=0`. Watch + what happens. Native build: apparently OK. + * f781ef4015504e8a1da649c266584976238aa079 (`--with-default-link`) + + 1b74661a6b93a892ecb1c717dedeedba5c2a976c + + fd5e21c75d8e9221d766f4bc922a237265514ec2. Watch what happens. Native + build: `use-default-link = no`. + * de283087c74f720cf8a7171972e72b5fa2b45e79 (`Handle Lustre filesystem`), + 4e5f31c847982997c856f03bbc35134e9fd0f61f (`Handle ext4 in + {,f}pathconf`). What about stuff like that for us? + * d30cf5bb00bfb286ff14d931fb69f5b53724bcdc (`Find readelf with + AC_CHECK_TOOL`). Aren't there more in other configure.in and Makefile + files? + * 574920b446870648623a85e00dd8f3ca9f482c0e (`Rewrite -z relro configure + check`) + defe906180bad4e356bb55b60b10abd41b7ee3a1 + + 9fa2c03227e159050e9dc4ec1e315e5909901580. Watch what happens. Native + build: OK, `yes` (as before). + * 5c55070081c27168d27145afdf6a92cd56c9abb3 (`linker + --print-output-format`). Watch what happens. Native build: OK, + `elf32-i386`. + * 7a03a9c8c4b37b88ac5e82b557d974f3161ddaf9 (`Add read barriers in + cancellation initialization`). Is this needed in other places, too? # Build Here's a log of a glibc build run; this is from our [[Git repository's -d97df6798c8f0fd8e21c2610a1cfac2e3272b5f1 (2011-09-19; 2011-06-07) +946cceff76422cedd8ca2f50bced0a672e64a9a9 (2011-09-22; 2011-08-04) sources|source_repositories/glibc]], run on coulomb.SCHWINGE. $ export LC_ALL=C - $ ../Roger_Whittaker/configure --without-cvs --prefix=/usr --disable-profile --disable-multi-arch --build=i486-gnu --host=i486-gnu CC=gcc-4.4 CXX=g++-4.4 2>&1 | tee log_build + $ ../Roger_Whittaker/configure AUTOCONF=: --without-cvs --prefix=/usr --disable-profile --disable-multi-arch --build=i486-gnu --host=i486-gnu CC=gcc-4.4 CXX=g++-4.4 2>&1 | tee log_build [...] - $ make 2>&1 | tee log_build_ + $ make install_root=/INVALID 2>&1 | tee log_build_ [...] This takes up around 400 MiB and needs roughly 120 min on coulomb.SCHWINGE.