summaryrefslogtreecommitdiff
path: root/open_issues/glibc.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'open_issues/glibc.mdwn')
-rw-r--r--open_issues/glibc.mdwn92
1 files changed, 70 insertions, 22 deletions
diff --git a/open_issues/glibc.mdwn b/open_issues/glibc.mdwn
index d8e16cdf..d3f88673 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
@@ -40,10 +40,18 @@ Last reviewed up to the [[Git mirror's 16292eddd77f66002e2104848e75a0fb4d316692
`t/dup3`: hidden def. ed690b2f24bbc4d9c541fc81a7c67e6dc5678a96 -- why
not for dup3, too? Because it is a syscall (that is always inlined)?
- * t/init-first.c
+ * `t/init-first.c`
- Have to revert 53b56b1101fc9bb4f295f23f54e7e19f8da8da16 to keep it working
- with GCC 4.4. Figure out what's going on. Also see [[glibc_init_first]].
+ Follow up here: [[!message-id "20070722171859.GN25744@fencepost.gnu.org"]]
+ or [[!message-id "87mxe4kwws.fsf@gnu.org"]]. Close [[!GNU_Savannah_bug
+ 17647]]. Debian: [[!message-id "E1Qup1U-0006Zc-39@vasks.debian.org"]]
+ (part of Ludo's patch; the part that is not harmful to GCC 4.4).
+
+ * `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
@@ -51,6 +59,8 @@ Last reviewed up to the [[Git mirror's 16292eddd77f66002e2104848e75a0fb4d316692
* `TLS_INIT_TP_EXPENSIVE` is unused; Hurd def. can be removed.
+ * [[t/tls-threadvar]]
+
* t/verify.h
People didn't like this too much.
@@ -163,11 +173,26 @@ 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`.
- * Building with GCC 4.5, 4.6, trunk will cause different kinds of faults.
+ * `t/opendirat`: `opendirat` (`scandirat`, `scandirat64`)
+
+ Need changes equivalent to c55fbd1ea768f9fdef34a01377702c0d72cbc213 +
+ 14d96785125abee5e9a49a1c3037f35a581750bd.
* 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)
+0abded0927c62f02399658395837917548d5e281 (2011-10-14)
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_
[...]
@@ -331,7 +383,7 @@ sources|source_repositories/glibc]], run on coulomb.SCHWINGE.
This takes up around 400 MiB and needs roughly 120 min on coulomb.SCHWINGE.
<!--
- $ (make install_root=/INVALID && touch .go-check) 2>&1 | tee log_build_ && test -f .go-check && make -k install_root=/INVALID check 2>&1 | tee log_check
+ $ (make install_root=/INVALID && touch .go-check) 2>&1 | tee log_build_ && test -f .go-check && make -k install_root=/INVALID check TIMEOUTFACTOR=100 2>&1 | tee log_check
$ find ./ -name \*.o -o -name \*.os -o -name \*.oS | while read f; do ~/tmp/gcc/git/contrib/compare-debug --preserve ../Roger_Whittaker.build-gcc-4.4-486.O/"$f" "$f"; done 2>&1 | less
$ while read f; do (readelf -a "$f" && objdump -xDrtw "$f") > N && (cd ../Roger_Whittaker.build-gcc-4.4-486.O/ && readelf -a "$f" && objdump -xDrtw "$f") > O && diff -u O N | less; done
$ find ./ -name \*.o -o -name \*.os -o -name \*.oS | while read f; do readelf -h "$f" | grep OS/ABI | (read a b && [ x"$b" != x'UNIX - System V' ] && echo "### $f: $b"); done
@@ -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.
<!--
$ ssh kepler.SCHWINGE 'cd tmp/source/gdb/ && sed < hurd/master.build/gdb/testsuite/gdb.sum -e "s%\(/media/data\)\?${PWD}%[...]%g"' > open_issues/gdb/sum_linux
@@ -489,10 +541,6 @@ There is quite a baseline of failures.
/home/thomas/tmp/glibc/tschwinge/Roger_Whittaker.build-gcc-4.4-486/elf/tst-unique3lib.os:(.data.DW.ref.__gxx_personality_v0[DW.ref.__gxx_personality_v0]+0x0): undefined reference to `__gxx_personality_v0'
- * `stdio-common/tst-rndseek.out`
-
- Timeout.
-
## OLD