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. We are actively stabilizing the X86 64 port. 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
- 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
- a nanosecond-precision clock
- 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
