From f3301b5b6d825c476d52c8c1b194e431c97e8dc0 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 11 Oct 2011 18:46:31 +0200 Subject: open_issues/glibc: Update. --- open_issues/glibc.mdwn | 82 +++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 65 insertions(+), 17 deletions(-) (limited to 'open_issues/glibc.mdwn') diff --git a/open_issues/glibc.mdwn b/open_issues/glibc.mdwn index d8e16cdf..be262261 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 16292eddd77f66002e2104848e75a0fb4d316692 -(2011-08-04) sources|source_repositories/glibc]]. +Last reviewed up to the [[Git mirror's 187da0aedcd9d0a2fb34477bef41549681ba1273 +(2011-10-08) sources|source_repositories/glibc]]. * t/dup3 @@ -45,6 +45,14 @@ Last reviewed up to the [[Git mirror's 16292eddd77f66002e2104848e75a0fb4d316692 Have to revert 53b56b1101fc9bb4f295f23f54e7e19f8da8da16 to keep it working with GCC 4.4. Figure out what's going on. Also see [[glibc_init_first]]. + There is a `RETURN_ADDRESS` macro in glibc. + + * `t/kernel-features.h_includes` + + Before running `tg update`, review for additional changes: + + $ git log --reverse --pretty=fuller --stat=$COLUMNS,$COLUMNS -p -C --cc -S__ASSUME_ top-bases/t/kernel-features.h_includes..baseline + * t/tls * Discuss d2431f633e6139a62e1575ec18830f7e81160cf0 with Samuel. @@ -163,10 +171,27 @@ Last reviewed up to the [[Git mirror's 16292eddd77f66002e2104848e75a0fb4d316692 Do we support `AT_FDCWD` et al.? - * `MAP_POPULATE` (`mmap`, `sys/mman.h`) + * `MAP_POPULATE` (`mmap`, `sys/mman.h`) -- *Populate (prefault) + pagetables.* + + Some Linux kernel version, `mm/mmap.c`: + + if (vm_flags & VM_LOCKED) { + if (!mlock_vma_pages_range(vma, addr, addr + len)) + mm->locked_vm += (len >> PAGE_SHIFT); + } else if ((flags & MAP_POPULATE) && !(flags & MAP_NONBLOCK)) + make_pages_present(addr, addr + len); + return addr; + + `t/mmap`. Is only advisory, so can worked around with `#define 0`. + * `t/opendirat`: `opendirat` (`scandirat`, `scandirat64`) + + Need changes equivalent to c55fbd1ea768f9fdef34a01377702c0d72cbc213 + + 14d96785125abee5e9a49a1c3037f35a581750bd. + * Building with GCC 4.5, 4.6, trunk will cause different kinds of faults. * Create `t/cleanup_kernel-features.h`. @@ -197,6 +222,8 @@ Last reviewed up to the [[Git mirror's 16292eddd77f66002e2104848e75a0fb4d316692 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` + * Verify baseline changes, if we need any follow-up changes: * a11ec63713ea3903c482dc907a108be404191a02 @@ -305,25 +332,50 @@ Last reviewed up to the [[Git mirror's 16292eddd77f66002e2104848e75a0fb4d316692 * 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? + * [low] 5744c68d78f6ca6c6500e2c8d3d85b3a31f4ed2a (`Align x86 TCB to 64 + bytes`). Probably we have hidden somewhere such a constant, too (in + libpthread). + * d96de9634a334af16c0ac711074c15ac1762b23c + + ecb1482ffd85fd3279642b1dc045aa867ad4d415 (`Try shell in posix_spawn* + only in compat mode`). Change looks good, but what about + `SPAWN_XFLAGS_TRY_SHELL` for us? + * 3ce1f2959437e952b9db4eaeed2407424f11a4d1 (`Make several tool features + mandatory and simplify the code.`). Generally looks good. + * `locale/global-locale.c`: Apparently, no one is using + `_HURD_THREADVAR_LOCALE`. But it is exported via + `hurd/threadvar.h`. + * `mach/devstream.c`: reversed. Fixed in + `t/repair-mach_devstream.c`. + * `malloc/arena.c`: should be OK. + * `Remove support for !USE___THREAD`. + d063d164335938d557460bebaa7cfe388157b627 (generally looks good; + `csu/errno-loc.c` (should be OK); `include/errno.h` (fixed)) + + (de82006d43e198fd162807c9adc720c7ebd728a3 + + 037e9fe21c92216ef7032ea2796781ec27ca182a) + + 995a80dfbcb443ead5aa22682c884ec5c827a2ea (discussing) + + bc7e1c3667b577ad418f7520df2a7dbccea04ee9 (should be ok). + * [OK] 22a89187139a9083ca73989bfd11597e0f85cb61 (`malloc: Remove all + kinds of unused configuration options and dead code.`). `NO_STARTER` + changes (should be OK). + * [OK] 02d46fc4b969e25e4ba0c54aa95fa98d7279bd05 (`Simplify malloc + initialization`). + * [OK] 83cd14204559abbb52635006832eaf4d2f42514a (`Remove --wth-tls + option, TLS support is required`). + * a7c8e6a1478de9f990b11e5e853318ccbe4330f2 (`Fix invalid conversion in + __cmsg_nxthdr`). Probably just a C++ thing and not relevant for us; + see [[message-id "87r52nk1kx.fsf@kepler.schwinge.homeip.net"]]. # Build Here's a log of a glibc build run; this is from our [[Git repository's -443c5bb99e82ffd8e42e85b4f26992177ba868dc (2011-09-26; 2011-08-04) +8cb1875ef1e3211ec133d8eea328dbe59538c2a7 (2011-10-11) sources|source_repositories/glibc]], run on coulomb.SCHWINGE. $ export LC_ALL=C - $ ../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 + $ ../Roger_Whittaker/configure AUTOCONF=: --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 install_root=/INVALID 2>&1 | tee log_build_ [...] @@ -376,7 +428,7 @@ TODO. $ make -k install_root=/INVALID check 2>&1 | tee log_check [...] -This needs roughly 50 min on coulomb.SCHWINGE. +This needs roughly 55 min on coulomb.SCHWINGE.