GLIBC THE ,,GNU ;,C ,LIBRARY IS THE ;,C RUNTIME NEARLY EVERY ,LINUX PROCESS IS BORN INTO3 STARTED BY ,ROLAND ,MC,GRATH FOR THE ,,FSF IN #AIHG#HH FOR THE ,,GNU SYSTEM1 THEN ADOPTED BY ,LINUX DISTROS IN THE MID-#AIIJ;S AS 8GLIBC #B0 AFTER THE COMMUNITY'S LIBC#D_/LIBC#E FORK WAS FOLDED BACK UPSTREAM4 ,EVERY PRINTF1 MALLOC1 OPEN WRAPPER1 GETPWNAM1 AND ,,DNS LOOKUP IN A NORMAL BINARY GOES THROUGH IT IT IS THE LIBRARY THE KERNEL'S SYSCALL INTERFACE IS DRESSED UP IN4 ,WHAT IT PROVIDES ,THREE THINGS ANCHOR IT3 LIBC4SO4#F THE SHARED LIBRARY CARRYING ,,ISO ;,C "6 ,,POSIX "6 ,,GNU EXTENSIONS2 LD-LINUX-X#HF-#FD4SO4#B THE DYNAMIC LOADER THAT MAPS SHARED LIBRARIES AT EXEC2 AND ,,NSS THE ,NAME ,SERVICE ,SWITCH THAT LETS _/ETC_/PASSWD1 ,,LDAP1 AND SYSTEMD RESOLVE THROUGH ONE GETPWNAM4 ,SYMBOL VERSIONING IS ITS QUIET SUPERPOWER3 A BINARY BUILT AGAINST GLIBC #B4AG STILL RUNS AGAINST #B4DB BECAUSE EACH SYMBOL CARRIES ITS VERSION WHICH IS ALSO WHY BINARIES CAN'T GO BACKWARDS4 ,THE FORK AND THE RIVALS GLIBC'S OWN HISTORY INCLUDES A FORK-AND-MERGE3 ,DEBIAN RAN EGLIBC "<#BJJI#BJAD"> OVER MAINTAINER DISPUTES BEFORE RE-MERGING4 ,ITS RIVALS DEFINE ITS TRADE-OFFS3 MUSL "<,ALPINE1 STATIC LINKING SMALL AND STRICT-,,POSIX">1 U,CLIBC-NG "1 ,GOOGLE'S ,BIONIC "<,ANDROID">4 ,THE ,,LFS BUILD TREATS IT AS SACRED GROUND CHAPTER #C'S --WITH-GLIBC-VERSION EXISTS BECAUSE THE TOOLCHAIN AND LIBC PIN EACH OTHER2 GET THAT RELATIONSHIP WRONG AND NOTHING COMPILES TWICE4 ,SEE ALSO - ,,LFS ,CROSS-,TOOLCHAIN THE BOOTSTRAP THAT BUILDS IT - ;,C ,TOOLCHAIN THE PIPELINE IT TERMINATES - ,INSIDE A ,LINUX ,SYSTEM THE LOADER AT EXEC TIME - ,LINUX ,SYSTEMD ,,GNU