diff options
-rw-r--r-- | community/meetings/fosdem_2013.mdwn | 58 | ||||
-rw-r--r-- | hurd/translator/procfs/jkoenig/discussion.mdwn | 2 | ||||
-rw-r--r-- | open_issues/glibc.mdwn | 391 | ||||
-rw-r--r-- | open_issues/glibc_ptrace.mdwn | 4 | ||||
-rw-r--r-- | open_issues/libpthread_addon.mdwn | 150 | ||||
-rw-r--r-- | open_issues/sync_but_still_unclean_filesystem.mdwn | 2 | ||||
-rw-r--r-- | shortcuts.mdwn | 4 |
7 files changed, 594 insertions, 17 deletions
diff --git a/community/meetings/fosdem_2013.mdwn b/community/meetings/fosdem_2013.mdwn new file mode 100644 index 00000000..4acf0c90 --- /dev/null +++ b/community/meetings/fosdem_2013.mdwn @@ -0,0 +1,58 @@ +[[!meta copyright="Copyright © 2012 Free +Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="FOSDEM 2013"]] + +<http://fosdem.org/2013> + +FOSDEM will take place on February 2th/3th at the Université Libre de +Bruxelles. + + +# Who and When + +[[!table class="table_style_1" data=""" +"Name","Attending","Arrival","Return","Share room with us" +"Samuel Thibault","yes","","","yes" +"""]] + + +# Multiserver, Microkernel-Based Operating Systems Devroom + +[Announcement](https://lists.fosdem.org/pipermail/microkernel-devroom/2012-October/000054.html). + +Talk proposal: + +title: The GNU/Hurd architecture, nifty features, and latest news + +Full name: Samuel Thibault + +Short abstract: +GNU/Hurd aims at being a general-purpose Operating System with a strong emphasis +on flexibility and freedom for the user, and thus based on a design made +of a micro-kernel surrounded by a hird of userland servers. It has however +a long-term vaporware reputation; development has indeed been relatively +dormant for some time, but recent regain of interest has brought interesting +improvements and stabilization, to the point that there will be a non-official +release of the GNU/Hurd variant of Debian Wheezy, with about 75% of the Debian +packages, including classical graphical desktop application (gnome, gnumeric, +firefox, ...) + +This talk will present to GNU/Hurd in general and its "translator" mechanism +which replaces the traditional notion of filesystem by userland processes, so +as to provide strong flexibility to users and administrators, and we will demo +it live. The subhurd/neighborhurd mechanism, a very natural way to provide +virtualization container support on GNU/Hurd, will also be presented. We will +also present recent developments, notably in terms of DDE device drivers run as +userland processes, and discuss about maintenance of DDE. + +Duration: +30m, 45m? diff --git a/hurd/translator/procfs/jkoenig/discussion.mdwn b/hurd/translator/procfs/jkoenig/discussion.mdwn index 612983db..cca9c3f3 100644 --- a/hurd/translator/procfs/jkoenig/discussion.mdwn +++ b/hurd/translator/procfs/jkoenig/discussion.mdwn @@ -299,6 +299,8 @@ Needed by glibc's `pldd` tool (commit with nocheck (ie skipping the test suite run) instead of investigate and report why the test suite failed +[[!GNU_Savannah_bug 32770]] + # IRC, freenode, #hurd, 2011-06-19 diff --git a/open_issues/glibc.mdwn b/open_issues/glibc.mdwn index 24fe8026..e2b968c9 100644 --- a/open_issues/glibc.mdwn +++ b/open_issues/glibc.mdwn @@ -220,7 +220,7 @@ Last reviewed up to the [[Git mirror's d3bd58cf0a027016544949ffd27300ac5fb01bb8 `open_by_handle_at`, `process_vm_readv`, `process_vm_writev`, `sendmmsg`, `setns`, `sync_file_range` - Check also the content of `gnu/stubs-32.h`, which lists all the functions + Check also the content of `gnu/stubs.h`, which lists all the functions marked as stub which only return `ENOSYS`. * `chflags` @@ -305,10 +305,6 @@ Last reviewed up to the [[Git mirror's d3bd58cf0a027016544949ffd27300ac5fb01bb8 * [[`mremap`|mremap]] - * `syncfs` - - We should be easily able to implement that one. - * `futimesat` If we have all of 'em (check Linux kernel), `#define __ASSUME_ATFCTS`. @@ -839,9 +835,9 @@ Last reviewed up to the [[Git mirror's d3bd58cf0a027016544949ffd27300ac5fb01bb8 kinds of unused configuration options and dead code.`). `NO_STARTER` changes (should be OK). * [high] `pagesize`, 02d46fc4b969e25e4ba0c54aa95fa98d7279bd05 (`Simplify - malloc initialization`); aebae0537dcb408100b88c6b7647a7e858c43237, `BZ - 11929`. Is this all kosher for us? See [[!message-id - "87mxd9hl2n.fsf@kepler.schwinge.homeip.net"]]. + malloc initialization`); aebae0537dcb408100b88c6b7647a7e858c43237, + [[!sourceware_PR 11929]]. Is this all kosher for us? See + [[!message-id "87mxd9hl2n.fsf@kepler.schwinge.homeip.net"]]. * [OK] 83cd14204559abbb52635006832eaf4d2f42514a (`Remove --wth-tls option, TLS support is required`). * a7c8e6a1478de9f990b11e5e853318ccbe4330f2 (`Fix invalid conversion in @@ -944,7 +940,7 @@ default]` identifiers which warning flag triggered. TODO. - * With GCC 4.5, there's a ton of these warnings: + * With GCC >= 4.5, there's a ton of these warnings: hurd/hurd.h: In function '__hurd_fail': hurd/hurd.h:73: warning: case value '0' not in enumerated type 'error_t' @@ -1089,8 +1085,378 @@ Comparing the results files, [[sum_linux]] to [[sum_hurd]]: There is quite a baseline of failures. + * `annexc.out` + + TODO + + * `bug22.out` + + TODO + + * `bug-atexit3.out` + + TODO + + * `bug-getcontext.out` + + getcontext failed, errno: 1073741902. + + Is not implemented; see above. In 8958805c11c741d9211e20612c86271d906c9a0b + testing, `stdlib/bug-getcontext.out` now says: *Skipping test; no support + for FP exceptions.*, in cba1c83ad62a11347684a9daf349e659237a1741 testing, + it's back to the previous failure. + + * `bug-regex31-mem`, `tst-error1-mem`, `tst-fnmatch-mem`, + `tst-fopenloc.check` + + *output* files: some memory not freed. + + Caused by different memory allocation way in libio, see also + [[!message-id "87mxd9hl2n.fsf@kepler.schwinge.homeip.net"]] + + * `bug-ulimit1.out` + + Buggy sysdeps/unix/bsd/ulimit.c return values. + + [[!message-id "201211182342.51619.toscano.pino@tiscali.it"]] + + * `check-execstack.out` + + $BUILDDIR/libc.so.phdr: *** executable stack signaled + + * `check-local-headers.out` + + Most of the external headers used are: + + * `/usr/include/device/bpf.h` + + * `/usr/include/device/device_types.h` + + * `/usr/include/device/net_status.h` + + * `/usr/include/cthreads.h` + + * `/usr/include/hurd/hurd_types.h` + + * `/usr/include/hurd/ioctls.defs` + + * `/usr/include/hurd/ioctl_types.h` + + * `/usr/include/hurd/paths.h` + + * `check-localplt.out` + + Around 500 or so `Extra PLT reference`. + + * `check-textrel.out` + + $BUILDDIR/libc.so.dyn: *** text relocations used + + * `opendir-tst1.out`, `tst-fdopendir2.out` + + `opendir` and `fdopendir` do not return `ENOTDIR` if `fd` is not a directory. + + * `test-assert-perr.out` + + TODO + + * `math/test-idouble`, `math/test-ifloat`, `math/test-ildoubl`, + `math/test-ldouble` + + SIGSEGV. + + * `test-float.out` + + TODO + + * `test-lfs.out` -### Additional Failures Compared to Debian + TODO + + * `test-multiarch.out` + + Needs [[`/proc/cpuinfo`|hurd/translator/procfs/jkoenig/discussion]] + providing the `flags` line. + + * `tst-aio2`, `tst-aio3`, + `tst-mqueue3`, `tst-mqueue6`, + `tst-mqueue8`, `tst-thrlock`, `tst-timer3`, + `libnss_test1.so` + + Compilation: missing `pthread_attr_init`, `pthread_barrier_init`, + `pthread_create`, etc. + + * `tst-aio8.out`, `tst-aio9.out`, `tst-aio10` + + Compilation: missing `pthread_attr_init`, `pthread_barrier_init`, + `pthread_create`, etc. + + Most will compile and work (except `tst-aio`, `tst-aio9`, `tst-aio10`) with + [[!message-id "201209302353.51055.toscano.pino@tiscali.it"]] in libpthread. + + * `tst-array*` + + Failures also seen on GNU/Linux; [[!message-id + "50950082.1070906@df1tl.local.here"]]. + + gcc-4.6 tst-array1.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/ + gcc-4.6 -nostdlib -nostartfiles -o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1 -Wl,-dynamic-linker=/lib/ld.so.1 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486 + [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/ld.so.1 --library-path [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/math:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf:[ + cmp [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1.out tst-array1.exp > /dev/null + make[2]: *** [[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1.out] Error 1 + gcc-4.6 tst-array2.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/ + gcc-4.6 tst-array2dep.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -fPIC -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc + gcc-4.6 -shared -static-libgcc -Wl,-dynamic-linker=/lib/ld.so.1 -Wl,-z,defs -B[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/csu/ -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both -L[...]/tschwinge/Roger_Whittaker.build-gcc-4.6 + gcc-4.6 -nostdlib -nostartfiles -o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array2 -Wl,-dynamic-linker=/lib/ld.so.1 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486 + [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/ld.so.1 --library-path [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/math:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf:[ + cmp [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array2.out tst-array2.exp > /dev/null + make[2]: *** [[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array2.out] Error 1 + gcc-4.6 tst-array3.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/ + gcc-4.6 -nostdlib -nostartfiles -o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array3 -Wl,-dynamic-linker=/lib/ld.so.1 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486 + [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/ld.so.1 --library-path [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/math:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf:[ + cmp [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array3.out tst-array1.exp > /dev/null + make[2]: *** [[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array3.out] Error 1 + gcc-4.6 tst-array4.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/ + gcc-4.6 -nostdlib -nostartfiles -o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array4 -Wl,-dynamic-linker=/lib/ld.so.1 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486 + [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/ld.so.1 --library-path [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/math:[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf:[ + cmp [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array4.out tst-array4.exp > /dev/null + make[2]: *** [[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array4.out] Error 1 + + `tst-array5` passes. + + gcc-4.6 tst-array1-static.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wno-parentheses -Wstrict-prototypes -I../include -I[...]/tschwinge/Roger_Whittaker.build-gcc-4 + gcc-4.6 -nostdlib -nostartfiles -static -o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1-static [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/csu/crt0.o [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/csu/crti + [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1-static > [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1-static.out + cmp [...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1-static.out tst-array1.exp > /dev/null + make[2]: *** [[...]/tschwinge/Roger_Whittaker.build-gcc-4.6-486/elf/tst-array1-static.out] Error 1 + + `tst-array5-static` passes. + + * `tst-audit1.out`, `tst-audit2.out` + + SIGKILL. + + * `tst-chk1.out` + + TODO + + * `tst-chk2.out` + + TODO + + * `tst-chk3.out` + + TODO + + * `tst-chk4.out` + + TODO + + * `tst-chk5.out` + + TODO + + * `tst-chk6.out` + + TODO + + * `tst-cputimer1.o`, `tst-cputimer2.o`, `tst-cputimer3.o`, + `tst-timer4.o`, `tst-timer5.o` + + Missing `SIGRTMIN`. + + All these tests #include `tst-timer4.c`. + + * `tst-timer5.o` + + TODO + + * `tst-dlmopen1.out` + + TODO + + * `tst-ether_line.o` + + tst-ether_line.c:19: error: 'ETH_ALEN' undeclared (first use in this function) + + Will either need a `hurd/netinet/if_ether.h` that includes + `<net/if_ether.h>`, or can do that in the generic `netinet/if_ether.h`? + See also [[!sourceware_PR 11142]]. + + * `tst-fdopendir.out` + + directory atime changed + + TODO + + * `tst-futimesat.out` + + `futimesat` is a stub. + + * `tst-getconf.out` + + Ends with: + + getconf POSIX_ALLOC_SIZE_MIN /: [...]/posix/getconf: pathconf: /: Invalid argument + + It fails because of unimplemented pathconf cases: `_PC_ALLOC_SIZE_MIN`, + `_PC_REC_INCR_XFER_SIZE`, `_PC_REC_MAX_XFER_SIZE`, `_PC_REC_MIN_XFER_SIZE`, + `_PC_REC_XFER_ALIGN`, `_PC_SYMLINK_MAX`, `_PC_2_SYMLINKS`. + + `_CS_GNU_LIBPTHREAD_VERSION` will be cleanly solved with + [[!message-id "201209302353.51055.toscano.pino@tiscali.it"]] and libpthread + compiled as add-on. + + * `tst-grantpt.out` + + posix_openpt(O_RDWR) failed + errno 1073741902 (Function not implemented) + + `posix_openpt` is a stub. + + grantpt(): expected: return = -1, errno = 1073741846 + got: return = -1, errno = -303 + + `grantpt` (actually `ptsname_r`), does not fail with `ENOTTY` when the `fd` + does not refer to a PTY master. + + * `tst-lfschk2.out` + + TODO + + * `tst-lfschk3.out` + + TODO + + * `tst-lfschk4.out` + + TODO + + * `tst-lfschk5.out` + + TODO + + * `tst-lfschk6.out` + + TODO + + * `tst-longjmp_chk2.out` + + TODO + + * `tst-mqueue5.o` + + Missing `SIGRTMIN`. + + * `tst-pselect.o` + + Missing `SA_NOCLDWAIT`. + + * `tst-secure-getenv.out` + + Needs [[`/proc/self/exe`|hurd/translator/procfs/jkoenig/discussion]]. + + * `tst-sprofil.out` + + Floating point exception + + * `tst-stackguard1.out` + + TODO + + * `tst-stackguard1-static.out` + + TODO + + * `tststatic2.out` + + TODO + + * `tststatic.out` + + TODO + + * `tst-strtod-round.out` + + TODO + + * `tst-timer2.o` + + Missing `SIGRTMIN`. + + * `tst-timer.out` + + TODO + + * `tst-tls9-static.out` + + TODO + + * `tst-unique3lib.so`, `tst-unique3lib2.so`, `tst-unique4lib.so` + + Only with GCC 4.4; no longer with 4.5 or 4.6: + + /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' + + * `tst-vfork3-mem` + + + 0x0804cee0 Alloc 10 duplicate: 0x1095389 $BUILDDIR/libc.so.0.3:[0x1095389] + + 0x0804cf90 Alloc 11 duplicate: 0x1156963 $BUILDDIR/libc.so.0.3:(tsearch+0xe3)[0x1156963] + + 0x0804cfa8 Alloc 12 duplicate: 0x10df0c8 $BUILDDIR/libc.so.0.3:(argz_create+0x68)[0x10df0c8] + + 0x00000008 Alloc 17 duplicate: 0x10df0c8 $BUILDDIR/libc.so.0.3:(argz_create+0x68)[0x10df0c8] + + 0x0804cee0 Alloc 18 duplicate: 0x1095389 $BUILDDIR/libc.so.0.3:[0x1095389] + + 0x0804cf90 Alloc 19 duplicate: 0x1156963 $BUILDDIR/libc.so.0.3:(tsearch+0xe3)[0x1156963] + + 0x0804cfa8 Alloc 20 duplicate: 0x10df0c8 $BUILDDIR/libc.so.0.3:(argz_create+0x68)[0x10df0c8] + + 0x00000008 Alloc 25 duplicate: 0x10df0c8 $BUILDDIR/libc.so.0.3:(argz_create+0x68)[0x10df0c8] + + 0x0804cee0 Alloc 26 duplicate: 0x1095389 $BUILDDIR/libc.so.0.3:[0x1095389] + + 0x0804cf90 Alloc 27 duplicate: 0x1156963 $BUILDDIR/libc.so.0.3:(tsearch+0xe3)[0x1156963] + + 0x0804cfa8 Alloc 28 duplicate: 0x10df0c8 $BUILDDIR/libc.so.0.3:(argz_create+0x68)[0x10df0c8] + + 0x00000008 Alloc 33 duplicate: 0x10df0c8 $BUILDDIR/libc.so.0.3:(argz_create+0x68)[0x10df0c8] + + 0x0804cee0 Alloc 34 duplicate: 0x1095389 $BUILDDIR/libc.so.0.3:[0x1095389] + + 0x0804cf90 Alloc 35 duplicate: 0x1156963 $BUILDDIR/libc.so.0.3:(tsearch+0xe3)[0x1156963] + + 0x0804cfa8 Alloc 36 duplicate: 0x10df0c8 $BUILDDIR/libc.so.0.3:(argz_create+0x68)[0x10df0c8] + + 0x00000008 Alloc 41 duplicate: 0x10df0c8 $BUILDDIR/libc.so.0.3:(argz_create+0x68)[0x10df0c8] + + 0x0804cee0 Alloc 42 duplicate: 0x1095389 $BUILDDIR/libc.so.0.3:[0x1095389] + + 0x0804cf90 Alloc 43 duplicate: 0x1156963 $BUILDDIR/libc.so.0.3:(tsearch+0xe3)[0x1156963] + + 0x0804cfa8 Alloc 44 duplicate: 0x10df0c8 $BUILDDIR/libc.so.0.3:(argz_create+0x68)[0x10df0c8] + + 0x00000008 Alloc 49 duplicate: 0x10df0c8 $BUILDDIR/libc.so.0.3:(argz_create+0x68)[0x10df0c8] + + 0x0804cee0 Alloc 50 duplicate: 0x1095389 $BUILDDIR/libc.so.0.3:[0x1095389] + + 0x0804cf90 Alloc 51 duplicate: 0x1156963 $BUILDDIR/libc.so.0.3:(tsearch+0xe3)[0x1156963] + + 0x0804cfa8 Alloc 52 duplicate: 0x10df0c8 $BUILDDIR/libc.so.0.3:(argz_create+0x68)[0x10df0c8] + + 0x00000008 Alloc 57 duplicate: 0x10df0c8 $BUILDDIR/libc.so.0.3:(argz_create+0x68)[0x10df0c8] + + 0x0804cee0 Alloc 58 duplicate: 0x1095389 $BUILDDIR/libc.so.0.3:[0x1095389] + + 0x0804cf90 Alloc 59 duplicate: 0x1156963 $BUILDDIR/libc.so.0.3:(tsearch+0xe3)[0x1156963] + + 0x0804cfa8 Alloc 60 duplicate: 0x10df0c8 $BUILDDIR/libc.so.0.3:(argz_create+0x68)[0x10df0c8] + + 0x00000008 Alloc 65 duplicate: 0x10df0c8 $BUILDDIR/libc.so.0.3:(argz_create+0x68)[0x10df0c8] + + 0x0804cee0 Alloc 66 duplicate: 0x1095389 $BUILDDIR/libc.so.0.3:[0x1095389] + + 0x0804cf90 Alloc 67 duplicate: 0x1156963 $BUILDDIR/libc.so.0.3:(tsearch+0xe3)[0x1156963] + + 0x0804cfa8 Alloc 68 duplicate: 0x10df0c8 $BUILDDIR/libc.so.0.3:(argz_create+0x68)[0x10df0c8] + + 0x00000008 Alloc 73 duplicate: 0x10df0c8 $BUILDDIR/libc.so.0.3:(argz_create+0x68)[0x10df0c8] + + 0x0804cee0 Alloc 74 duplicate: 0x1095389 $BUILDDIR/libc.so.0.3:[0x1095389] + + 0x0804cf90 Alloc 75 duplicate: 0x1156963 $BUILDDIR/libc.so.0.3:(tsearch+0xe3)[0x1156963] + + 0x0804cfa8 Alloc 76 duplicate: 0x10df0c8 $BUILDDIR/libc.so.0.3:(argz_create+0x68)[0x10df0c8] + + 0x00000008 Alloc 81 duplicate: 0x10df0c8 $BUILDDIR/libc.so.0.3:(argz_create+0x68)[0x10df0c8] + + 0x0804cee0 Alloc 82 duplicate: 0x1095389 $BUILDDIR/libc.so.0.3:[0x1095389] + + 0x0804cf90 Alloc 83 duplicate: 0x1156963 $BUILDDIR/libc.so.0.3:(tsearch+0xe3)[0x1156963] + - 0x0804c8d8 Free 84 was never alloc'd 0x10955fc + - 0x0804c960 Free 87 was never alloc'd 0x115672f + - 0x0804c9b8 Free 88 was never alloc'd 0x1156737 + + Memory not freed: + ----------------- + Address Size Caller + 0x0804cfa8 0x73 at 0x10df0c8 + 0x00000008 0 at 0x10df0c8 + + TODO + + * `tst-waitid.out` + + Fails sometimes (is listed in Debian eglibc-2.13-21's + `expected-results-i486-gnu-libc`). + + +### Additional Failures Compared to Debian (OLD) $ bash ~/tmp/glibc/debian/eglibc-2.13/debian/testsuite-checking/convertlog.sh log_test > log_test.filtered $ bash ~/tmp/glibc/debian/eglibc-2.13/debian/testsuite-checking/compare.sh ~/tmp/glibc/debian/eglibc-2.13/debian/testsuite-checking/expected-results-i486-gnu-libc log_test.filtered @@ -1186,10 +1552,13 @@ There is quite a baseline of failures. Floating point exception - * `posix/bug-regex31-mem`, `posix/tst-fnmatch-mem` + * `posix/bug-regex31-mem`, `posix/tst-fnmatch-mem`, `misc/tst-error1-mem`, + `libio/tst-fopenloc.check` *output* files: some memory not freed. + [[!message-id "87mxd9hl2n.fsf@kepler.schwinge.homeip.net"]] + * `assert/test-assert.out` Fails sometimes... diff --git a/open_issues/glibc_ptrace.mdwn b/open_issues/glibc_ptrace.mdwn index 6704ed80..7ca07077 100644 --- a/open_issues/glibc_ptrace.mdwn +++ b/open_issues/glibc_ptrace.mdwn @@ -39,9 +39,5 @@ License|/fdl]]."]]"""]] * Some parts are wrongly implemented, e.g., `PTRACE_GETREGS` and `PTRACE_SETREGS` both do the same thing. - * `return` values are wrong, e.g., `return EOPNOTSUPP` should instead - set `errno = EOPNOTSUPP` and `return -1` in a few places (but not - with the three `PTRACE_PEEK*` requests. - Also consider the `sysdeps/generic/sys/ptrace.h` and `sysdeps/unix/sysv/linux/sys/ptrace.h` files. diff --git a/open_issues/libpthread_addon.mdwn b/open_issues/libpthread_addon.mdwn new file mode 100644 index 00000000..26b24549 --- /dev/null +++ b/open_issues/libpthread_addon.mdwn @@ -0,0 +1,150 @@ +[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="libpthread as glibc addon"]] + +[[!tag open_issue_glibc open_issue_libpthread]] + +This page lists all the notes, issues, etc, only about compiling libpthread +as addon for glibc, *not* for general libpthread issues. + +# Building + +To build libpthread as glibc addon, copy libpthread inside the glibc tree, +and then tell glibc's configure to use it: + + $ cp /path/to/libpthread libpthread + $ ./configure [...] --enable-add-ons=[...],libpthread + +Currently, it is build like that in Debian since eglibc 2.13-31. + +# Issues and notes + +### `bits/` headers not used + +Recompiling glibc (e.g. on a Debian system) and running the +`check-local-headers` test, `check-local-headers.out` shows: + + *** $(common-objpfx)elf/tst-thrlock.o: uses /usr/include/i386-gnu/bits/pthread.h + *** $(common-objpfx)elf/tst-thrlock.o: uses /usr/include/i386-gnu/bits/thread-attr.h + *** $(common-objpfx)elf/tst-thrlock.o: uses /usr/include/i386-gnu/bits/mutex-attr.h + *** $(common-objpfx)elf/tst-thrlock.o: uses /usr/include/i386-gnu/bits/mutex.h + *** $(common-objpfx)elf/tst-thrlock.o: uses /usr/include/i386-gnu/bits/condition-attr.h + *** $(common-objpfx)elf/tst-thrlock.o: uses /usr/include/i386-gnu/bits/condition.h + *** $(common-objpfx)elf/tst-thrlock.o: uses /usr/include/i386-gnu/bits/rwlock-attr.h + *** $(common-objpfx)elf/tst-thrlock.o: uses /usr/include/i386-gnu/bits/rwlock.h + *** $(common-objpfx)elf/tst-thrlock.o: uses /usr/include/i386-gnu/bits/barrier-attr.h + *** $(common-objpfx)elf/tst-thrlock.o: uses /usr/include/i386-gnu/bits/barrier.h + *** $(common-objpfx)elf/tst-thrlock.o: uses /usr/include/i386-gnu/bits/thread-specific.h + *** $(common-objpfx)elf/tst-thrlock.o: uses /usr/include/i386-gnu/bits/once.h + *** $(common-objpfx)elf/tst-thrlock.o: uses /usr/include/i386-gnu/bits/cancelation.h + *** $(common-objpfx)elf/tst-thrlock.o: uses /usr/include/i386-gnu/bits/pthread-np.h + +This happens because these headers are in the `bits/` subdirectory in +`sysdeps/generic` -- a `generic` sysdep is used only for the top-level +`sysdeps` directory in glibc. + +### Use of hurd's libihash + +libpthread makes use of the ihash hurd library, as also glibc's +`check-local-headers` test shows: + + *** $(common-objpfx)libpthread/pt-alloc.o: uses /usr/include/hurd/ihash.h + +Possible alternatives: [[hurd/libihash]]. + +### Executable stack + +Running glibc's `check-execstack` test gives in `check-execstack.out`: + + $BUILDDIR/libpthread/libpthread.so.phdr: *** executable stack signaled + +### Extra PLT references + +Running glibc's `check-localplt` test gives in `check-localplt.out`: + + Extra PLT reference: libpthread.so: pthread_detach + Extra PLT reference: libpthread.so: pthread_mutex_lock + Extra PLT reference: libpthread.so: pthread_mutexattr_settype + Extra PLT reference: libpthread.so: pthread_rwlock_rdlock + Extra PLT reference: libpthread.so: _pthread_spin_lock + Extra PLT reference: libpthread.so: pthread_attr_setstacksize + Extra PLT reference: libpthread.so: pthread_attr_getstacksize + Extra PLT reference: libpthread.so: pthread_attr_getstackaddr + Extra PLT reference: libpthread.so: pthread_attr_setstackaddr + Extra PLT reference: libpthread.so: pthread_exit + Extra PLT reference: libpthread.so: pthread_getspecific + Extra PLT reference: libpthread.so: __mutex_lock_solid + Extra PLT reference: libpthread.so: pthread_mutex_unlock + Extra PLT reference: libpthread.so: pthread_setcanceltype + Extra PLT reference: libpthread.so: pthread_key_create + Extra PLT reference: libpthread.so: pthread_cond_wait + Extra PLT reference: libpthread.so: pthread_rwlock_wrlock + Extra PLT reference: libpthread.so: pthread_once + Extra PLT reference: libpthread.so: pthread_cond_broadcast + Extra PLT reference: libpthread.so: pthread_setspecific + Extra PLT reference: libpthread.so: __pthread_get_cleanup_stack + Extra PLT reference: libpthread.so: pthread_rwlock_unlock + Extra PLT reference: libpthread.so: pthread_create + Extra PLT reference: libpthread.so: pthread_mutex_init + Extra PLT reference: libpthread.so: pthread_mutexattr_init + Extra PLT reference: libpthread.so: __mutex_unlock_solid + Extra PLT reference: libpthread.so: pthread_mutexattr_destroy + Extra PLT reference: libpthread.so: pthread_setcancelstate + +### `pthread` sysdep + +glibc provides a `pthread` sysdep (`sysdeps/pthread`) with pthread-based +implementations of most of the `aio_*` and `lio_*` functions. + +[[!message-id "201209302353.51055.toscano.pino@tiscali.it"]] + +The above patches allows also to cleanly set the libpthread string version, +returned e.g. for the `_CS_GNU_LIBPTHREAD_VERSION` value of `confstr`. + +About the glibc aio tests, they would all compile and work, except: + + - `tst-aio` -- fails + - `tst-aio9`, `tst-aio10` -- time out + +### `bits/posix_opt.h` + +`bits/posix_opt.h` is the glibc header defining the various +supported/unsupported `_POSIX_*` defines (e.g. `_POSIX_THREADS`, etc). + +Currently, glibc's `sysdeps/mach/hurd/bits/posix_opt.h` is patched in Debian +to add all the defines advertizing thread-related support. +An idea to avoid this would be to follow what is done in NPTL, and do the +following: + + - in glibc: leave `sysdeps/mach/hurd/bits/posix_opt.h` with *no* +thread-related macros at all. + + - in libpthread: provide `sysdeps/mach/hurd/bits/posix_opt.h` which would +be a copy of glibc's `sysdeps/mach/hurd/bits/posix_opt.h` with also the thread +macros. + +This approach would have the drawback that changes in the glibc header must be +mirrored also in the libpthread version, but with the advantage that defines +according to supported features in libpthread can be added in libpthread's own +version (and glibc would pick it automatically). + +### Tests + +The (few) existing tests are not built (thus neither run) just like other tests +in glibc. + +### `gai_misc.h` + +A pthread version of `gai_misc.h` must be provided by libpthread (just like +NPTL provides one), either in `sysdeps/mach/hurd` or `sysdeps/pthread` +(better, see above). + +Currently, it is provided in glibc itself in Debian. diff --git a/open_issues/sync_but_still_unclean_filesystem.mdwn b/open_issues/sync_but_still_unclean_filesystem.mdwn index c8a37169..eae98077 100644 --- a/open_issues/sync_but_still_unclean_filesystem.mdwn +++ b/open_issues/sync_but_still_unclean_filesystem.mdwn @@ -35,3 +35,5 @@ in all cases. Apparently diskfs simply does not set filesystems as read-only: <http://lists.gnu.org/archive/html/bug-hurd/2011-08/msg00024.html>. + +A patch was applied, and the sync issue does not seem to happen any more. diff --git a/shortcuts.mdwn b/shortcuts.mdwn index b978939e..fcd27847 100644 --- a/shortcuts.mdwn +++ b/shortcuts.mdwn @@ -25,8 +25,8 @@ This page controls what shortcut links the wiki supports. * [[!shortcut name=debpts url="http://packages.qa.debian.org/%s"]] * [[!shortcut name=debmsg url="http://lists.debian.org/msgid-search/%s"]] * [[!shortcut name=debrt url="https://rt.debian.org/Ticket/Display.html?id=%s"]] -* [[!shortcut name=debss url="http://snapshot.debian.net/package/%s"]] - * Usage: `\[[!debss package]]`, `\[[!debss package#version]]`, or `\[[!debss package/version]]`. See http://snapshot.debian.net for details. +* [[!shortcut name=debss url="http://snapshot.debian.org/package/%s/"]] + * Usage: `\[[!debss package]]` or `\[[!debss package/version]]`. See http://snapshot.debian.org for details. * [[!shortcut name=debwiki url="http://wiki.debian.org/%s"]] * [[!shortcut name=fdobug url="https://bugs.freedesktop.org/show_bug.cgi?id=%s" desc="freedesktop.org bug #%s"]] * [[!shortcut name=fdolist url="http://lists.freedesktop.org/mailman/listinfo/%s" desc="%s@lists.freedesktop.org"]] |