http://www.gnu.org/software/libc/
Sources
For concenience, we maintain our own source repository.
Specifics
Ports
Porting glibc to a specific architecture is non-trivial.
The main port is x86, which is somewhat complete and is maintained. There were incomplete ports for Alpha, MIPS, and PowerPC, but they were unmaintained and have been removed.
Hurd-specific Port
An important part of the Hurd actually resides in glibc: here, the system interfaces are implemented on top of the Hurd IPC protocols. This is different to the Linux port, where most simple system interfaces are in fact simply forwarded to/implemented as system calls.
Maintenance
Implementation Details
Concepts
Individual functions
Some of these are well-known as UNIX system calls.
Debugging
Some hints for debugging.
Open Issues
There is a FOSS Factory bounty (p269) on some glibc tasks.
- glibc
- microkernel
-
open issues
- alarm/setitimer
- bash
- binutils-gdb
- boehm gc
- clock_gettime
- console vs xorg
- fakeroot eagain
- fakeroot exit 0
- file locking
- fork deadlock
- fork: mach_port_mod_refs: EKERN_UREFS_OWERFLOW
- gdb signal handler
- glibc: __libc_alloca_cutoff should be lowered
- glibc ioctls
- glibc libpthread robust mutexes
- glibc: ptrace
- glibc tls segment tcbhead t dtv offset
- hurd_file_name_lookup_retry: FS_RETRY_MAGICAL
- ifunc
- Lexical .. Resolution
- libc variant selection
- libmachuser libhurduser rpc stubs
- libpthread
- libpthread: CLOCK_MONOTONIC
- libpthread as glibc addon
- libpthread glibc nptl testsuite
- libpthread set stack size
- libpthread weak symbols
- low memory
- ltrace
- mach-defpager malloc hook
- /hurd/magic machtype
- mmap crash etc
- mmap write-only
- netstat
- nfs trailing slash
- nptl
- O_EXEC
- osf mach
- packaging libpthread
- performance
- pflocal reauth
- secure file descriptor handling
- select
- select bogus fd
- select vs signals
- sendmsg scm creds
- sigpipe
- SMP
- strict aliasing
- Problem with using tinyproxy for tunneling HTTPS
- translate fd or port to file name
- translators O NOTRANS O NOFOLLOW namespace-based selection
- usleep
- vdso
- versioning
- vm map kernel bug
- wait errors
- (ipc/mig) wrong reply message ID