[[!meta copyright="Copyright © 2007, 2008, 2010, 2011, 2012, 2013, 2015 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="GNU C Library"]] # ## Sources For concenience, we maintain our own [[source repository|source_repositories/glibc]]. # 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|hurd/glibc]] An important part of the [[Hurd]] actually resides in glibc: here, the system interfaces are implemented on top of the [[Hurd IPC protocols|hurd/interface]]. This is different to the Linux port, where most simple system interfaces are in fact simply forwarded to/implemented as [[system_call]]s. ## [[Maintenance|open_issues/glibc]] # Implementation Details * [[hurd/glibc/Hurd-specific API]] * [[open_issues/secure_file_descriptor_handling]] * [[signal/signal_thread]] * [[startup]] ## Concepts * [[environment_variable]] * [[file_descriptor]] * [[process]] * [[signal]] * [[ioctl]] ## Individual functions Some of these are well-known as [[UNIX]] [[system call]]s. * [[fallocate]] * [[fork]] * [[mmap]] * [[poll]] # Debugging Some hints for [[debugging]]. # Open Issues [[!inline pages=tag/open_issue_glibc raw=yes feeds=no]]