libc.info-13 169 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983
  1. This is libc.info, produced by makeinfo version 5.2 from libc.texinfo.
  2. This file documents the GNU C Library.
  3. This is ‘The GNU C Library Reference Manual’, for version 2.25.
  4. Copyright © 1993–2017 Free Software Foundation, Inc.
  5. Permission is granted to copy, distribute and/or modify this document
  6. under the terms of the GNU Free Documentation License, Version 1.3 or
  7. any later version published by the Free Software Foundation; with the
  8. Invariant Sections being “Free Software Needs Free Documentation” and
  9. “GNU Lesser General Public License”, the Front-Cover texts being “A GNU
  10. Manual”, and with the Back-Cover Texts as in (a) below. A copy of the
  11. license is included in the section entitled "GNU Free Documentation
  12. License".
  13. (a) The FSF’s Back-Cover Text is: “You have the freedom to copy and
  14. modify this GNU manual. Buying copies from the FSF supports it in
  15. developing GNU and promoting software freedom.”
  16. INFO-DIR-SECTION Software libraries
  17. START-INFO-DIR-ENTRY
  18. * Libc: (libc). C library.
  19. END-INFO-DIR-ENTRY
  20. INFO-DIR-SECTION GNU C library functions and macros
  21. START-INFO-DIR-ENTRY
  22. * a64l: (libc)Encode Binary Data.
  23. * abort: (libc)Aborting a Program.
  24. * abs: (libc)Absolute Value.
  25. * accept: (libc)Accepting Connections.
  26. * access: (libc)Testing File Access.
  27. * acosf: (libc)Inverse Trig Functions.
  28. * acoshf: (libc)Hyperbolic Functions.
  29. * acosh: (libc)Hyperbolic Functions.
  30. * acoshl: (libc)Hyperbolic Functions.
  31. * acos: (libc)Inverse Trig Functions.
  32. * acosl: (libc)Inverse Trig Functions.
  33. * addmntent: (libc)mtab.
  34. * addseverity: (libc)Adding Severity Classes.
  35. * adjtime: (libc)High-Resolution Calendar.
  36. * adjtimex: (libc)High-Resolution Calendar.
  37. * aio_cancel64: (libc)Cancel AIO Operations.
  38. * aio_cancel: (libc)Cancel AIO Operations.
  39. * aio_error64: (libc)Status of AIO Operations.
  40. * aio_error: (libc)Status of AIO Operations.
  41. * aio_fsync64: (libc)Synchronizing AIO Operations.
  42. * aio_fsync: (libc)Synchronizing AIO Operations.
  43. * aio_init: (libc)Configuration of AIO.
  44. * aio_read64: (libc)Asynchronous Reads/Writes.
  45. * aio_read: (libc)Asynchronous Reads/Writes.
  46. * aio_return64: (libc)Status of AIO Operations.
  47. * aio_return: (libc)Status of AIO Operations.
  48. * aio_suspend64: (libc)Synchronizing AIO Operations.
  49. * aio_suspend: (libc)Synchronizing AIO Operations.
  50. * aio_write64: (libc)Asynchronous Reads/Writes.
  51. * aio_write: (libc)Asynchronous Reads/Writes.
  52. * alarm: (libc)Setting an Alarm.
  53. * aligned_alloc: (libc)Aligned Memory Blocks.
  54. * alloca: (libc)Variable Size Automatic.
  55. * alphasort64: (libc)Scanning Directory Content.
  56. * alphasort: (libc)Scanning Directory Content.
  57. * ALTWERASE: (libc)Local Modes.
  58. * ARG_MAX: (libc)General Limits.
  59. * argp_error: (libc)Argp Helper Functions.
  60. * ARGP_ERR_UNKNOWN: (libc)Argp Parser Functions.
  61. * argp_failure: (libc)Argp Helper Functions.
  62. * argp_help: (libc)Argp Help.
  63. * argp_parse: (libc)Argp.
  64. * argp_state_help: (libc)Argp Helper Functions.
  65. * argp_usage: (libc)Argp Helper Functions.
  66. * argz_add: (libc)Argz Functions.
  67. * argz_add_sep: (libc)Argz Functions.
  68. * argz_append: (libc)Argz Functions.
  69. * argz_count: (libc)Argz Functions.
  70. * argz_create: (libc)Argz Functions.
  71. * argz_create_sep: (libc)Argz Functions.
  72. * argz_delete: (libc)Argz Functions.
  73. * argz_extract: (libc)Argz Functions.
  74. * argz_insert: (libc)Argz Functions.
  75. * argz_next: (libc)Argz Functions.
  76. * argz_replace: (libc)Argz Functions.
  77. * argz_stringify: (libc)Argz Functions.
  78. * asctime: (libc)Formatting Calendar Time.
  79. * asctime_r: (libc)Formatting Calendar Time.
  80. * asinf: (libc)Inverse Trig Functions.
  81. * asinhf: (libc)Hyperbolic Functions.
  82. * asinh: (libc)Hyperbolic Functions.
  83. * asinhl: (libc)Hyperbolic Functions.
  84. * asin: (libc)Inverse Trig Functions.
  85. * asinl: (libc)Inverse Trig Functions.
  86. * asprintf: (libc)Dynamic Output.
  87. * assert: (libc)Consistency Checking.
  88. * assert_perror: (libc)Consistency Checking.
  89. * atan2f: (libc)Inverse Trig Functions.
  90. * atan2: (libc)Inverse Trig Functions.
  91. * atan2l: (libc)Inverse Trig Functions.
  92. * atanf: (libc)Inverse Trig Functions.
  93. * atanhf: (libc)Hyperbolic Functions.
  94. * atanh: (libc)Hyperbolic Functions.
  95. * atanhl: (libc)Hyperbolic Functions.
  96. * atan: (libc)Inverse Trig Functions.
  97. * atanl: (libc)Inverse Trig Functions.
  98. * atexit: (libc)Cleanups on Exit.
  99. * atof: (libc)Parsing of Floats.
  100. * atoi: (libc)Parsing of Integers.
  101. * atol: (libc)Parsing of Integers.
  102. * atoll: (libc)Parsing of Integers.
  103. * backtrace: (libc)Backtraces.
  104. * backtrace_symbols_fd: (libc)Backtraces.
  105. * backtrace_symbols: (libc)Backtraces.
  106. * basename: (libc)Finding Tokens in a String.
  107. * basename: (libc)Finding Tokens in a String.
  108. * BC_BASE_MAX: (libc)Utility Limits.
  109. * BC_DIM_MAX: (libc)Utility Limits.
  110. * bcmp: (libc)String/Array Comparison.
  111. * bcopy: (libc)Copying Strings and Arrays.
  112. * BC_SCALE_MAX: (libc)Utility Limits.
  113. * BC_STRING_MAX: (libc)Utility Limits.
  114. * bind: (libc)Setting Address.
  115. * bind_textdomain_codeset: (libc)Charset conversion in gettext.
  116. * bindtextdomain: (libc)Locating gettext catalog.
  117. * BRKINT: (libc)Input Modes.
  118. * brk: (libc)Resizing the Data Segment.
  119. * bsearch: (libc)Array Search Function.
  120. * btowc: (libc)Converting a Character.
  121. * BUFSIZ: (libc)Controlling Buffering.
  122. * bzero: (libc)Copying Strings and Arrays.
  123. * cabsf: (libc)Absolute Value.
  124. * cabs: (libc)Absolute Value.
  125. * cabsl: (libc)Absolute Value.
  126. * cacosf: (libc)Inverse Trig Functions.
  127. * cacoshf: (libc)Hyperbolic Functions.
  128. * cacosh: (libc)Hyperbolic Functions.
  129. * cacoshl: (libc)Hyperbolic Functions.
  130. * cacos: (libc)Inverse Trig Functions.
  131. * cacosl: (libc)Inverse Trig Functions.
  132. * calloc: (libc)Allocating Cleared Space.
  133. * canonicalize_file_name: (libc)Symbolic Links.
  134. * canonicalizef: (libc)FP Bit Twiddling.
  135. * canonicalize: (libc)FP Bit Twiddling.
  136. * canonicalizel: (libc)FP Bit Twiddling.
  137. * cargf: (libc)Operations on Complex.
  138. * carg: (libc)Operations on Complex.
  139. * cargl: (libc)Operations on Complex.
  140. * casinf: (libc)Inverse Trig Functions.
  141. * casinhf: (libc)Hyperbolic Functions.
  142. * casinh: (libc)Hyperbolic Functions.
  143. * casinhl: (libc)Hyperbolic Functions.
  144. * casin: (libc)Inverse Trig Functions.
  145. * casinl: (libc)Inverse Trig Functions.
  146. * catanf: (libc)Inverse Trig Functions.
  147. * catanhf: (libc)Hyperbolic Functions.
  148. * catanh: (libc)Hyperbolic Functions.
  149. * catanhl: (libc)Hyperbolic Functions.
  150. * catan: (libc)Inverse Trig Functions.
  151. * catanl: (libc)Inverse Trig Functions.
  152. * catclose: (libc)The catgets Functions.
  153. * catgets: (libc)The catgets Functions.
  154. * catopen: (libc)The catgets Functions.
  155. * cbc_crypt: (libc)DES Encryption.
  156. * cbrtf: (libc)Exponents and Logarithms.
  157. * cbrt: (libc)Exponents and Logarithms.
  158. * cbrtl: (libc)Exponents and Logarithms.
  159. * ccosf: (libc)Trig Functions.
  160. * ccoshf: (libc)Hyperbolic Functions.
  161. * ccosh: (libc)Hyperbolic Functions.
  162. * ccoshl: (libc)Hyperbolic Functions.
  163. * ccos: (libc)Trig Functions.
  164. * ccosl: (libc)Trig Functions.
  165. * CCTS_OFLOW: (libc)Control Modes.
  166. * ceilf: (libc)Rounding Functions.
  167. * ceil: (libc)Rounding Functions.
  168. * ceill: (libc)Rounding Functions.
  169. * cexpf: (libc)Exponents and Logarithms.
  170. * cexp: (libc)Exponents and Logarithms.
  171. * cexpl: (libc)Exponents and Logarithms.
  172. * cfgetispeed: (libc)Line Speed.
  173. * cfgetospeed: (libc)Line Speed.
  174. * cfmakeraw: (libc)Noncanonical Input.
  175. * cfree: (libc)Freeing after Malloc.
  176. * cfsetispeed: (libc)Line Speed.
  177. * cfsetospeed: (libc)Line Speed.
  178. * cfsetspeed: (libc)Line Speed.
  179. * chdir: (libc)Working Directory.
  180. * CHILD_MAX: (libc)General Limits.
  181. * chmod: (libc)Setting Permissions.
  182. * chown: (libc)File Owner.
  183. * CIGNORE: (libc)Control Modes.
  184. * cimagf: (libc)Operations on Complex.
  185. * cimag: (libc)Operations on Complex.
  186. * cimagl: (libc)Operations on Complex.
  187. * clearenv: (libc)Environment Access.
  188. * clearerr: (libc)Error Recovery.
  189. * clearerr_unlocked: (libc)Error Recovery.
  190. * CLK_TCK: (libc)Processor Time.
  191. * CLOCAL: (libc)Control Modes.
  192. * clock: (libc)CPU Time.
  193. * CLOCKS_PER_SEC: (libc)CPU Time.
  194. * clog10f: (libc)Exponents and Logarithms.
  195. * clog10: (libc)Exponents and Logarithms.
  196. * clog10l: (libc)Exponents and Logarithms.
  197. * clogf: (libc)Exponents and Logarithms.
  198. * clog: (libc)Exponents and Logarithms.
  199. * clogl: (libc)Exponents and Logarithms.
  200. * closedir: (libc)Reading/Closing Directory.
  201. * close: (libc)Opening and Closing Files.
  202. * closelog: (libc)closelog.
  203. * COLL_WEIGHTS_MAX: (libc)Utility Limits.
  204. * _Complex_I: (libc)Complex Numbers.
  205. * confstr: (libc)String Parameters.
  206. * conjf: (libc)Operations on Complex.
  207. * conj: (libc)Operations on Complex.
  208. * conjl: (libc)Operations on Complex.
  209. * connect: (libc)Connecting.
  210. * copysignf: (libc)FP Bit Twiddling.
  211. * copysign: (libc)FP Bit Twiddling.
  212. * copysignl: (libc)FP Bit Twiddling.
  213. * cosf: (libc)Trig Functions.
  214. * coshf: (libc)Hyperbolic Functions.
  215. * cosh: (libc)Hyperbolic Functions.
  216. * coshl: (libc)Hyperbolic Functions.
  217. * cos: (libc)Trig Functions.
  218. * cosl: (libc)Trig Functions.
  219. * cpowf: (libc)Exponents and Logarithms.
  220. * cpow: (libc)Exponents and Logarithms.
  221. * cpowl: (libc)Exponents and Logarithms.
  222. * cprojf: (libc)Operations on Complex.
  223. * cproj: (libc)Operations on Complex.
  224. * cprojl: (libc)Operations on Complex.
  225. * CPU_CLR: (libc)CPU Affinity.
  226. * CPU_ISSET: (libc)CPU Affinity.
  227. * CPU_SET: (libc)CPU Affinity.
  228. * CPU_SETSIZE: (libc)CPU Affinity.
  229. * CPU_ZERO: (libc)CPU Affinity.
  230. * CREAD: (libc)Control Modes.
  231. * crealf: (libc)Operations on Complex.
  232. * creal: (libc)Operations on Complex.
  233. * creall: (libc)Operations on Complex.
  234. * creat64: (libc)Opening and Closing Files.
  235. * creat: (libc)Opening and Closing Files.
  236. * CRTS_IFLOW: (libc)Control Modes.
  237. * crypt: (libc)crypt.
  238. * crypt_r: (libc)crypt.
  239. * CS5: (libc)Control Modes.
  240. * CS6: (libc)Control Modes.
  241. * CS7: (libc)Control Modes.
  242. * CS8: (libc)Control Modes.
  243. * csinf: (libc)Trig Functions.
  244. * csinhf: (libc)Hyperbolic Functions.
  245. * csinh: (libc)Hyperbolic Functions.
  246. * csinhl: (libc)Hyperbolic Functions.
  247. * csin: (libc)Trig Functions.
  248. * csinl: (libc)Trig Functions.
  249. * CSIZE: (libc)Control Modes.
  250. * csqrtf: (libc)Exponents and Logarithms.
  251. * csqrt: (libc)Exponents and Logarithms.
  252. * csqrtl: (libc)Exponents and Logarithms.
  253. * CSTOPB: (libc)Control Modes.
  254. * ctanf: (libc)Trig Functions.
  255. * ctanhf: (libc)Hyperbolic Functions.
  256. * ctanh: (libc)Hyperbolic Functions.
  257. * ctanhl: (libc)Hyperbolic Functions.
  258. * ctan: (libc)Trig Functions.
  259. * ctanl: (libc)Trig Functions.
  260. * ctermid: (libc)Identifying the Terminal.
  261. * ctime: (libc)Formatting Calendar Time.
  262. * ctime_r: (libc)Formatting Calendar Time.
  263. * cuserid: (libc)Who Logged In.
  264. * dcgettext: (libc)Translation with gettext.
  265. * dcngettext: (libc)Advanced gettext functions.
  266. * DES_FAILED: (libc)DES Encryption.
  267. * des_setparity: (libc)DES Encryption.
  268. * dgettext: (libc)Translation with gettext.
  269. * difftime: (libc)Elapsed Time.
  270. * dirfd: (libc)Opening a Directory.
  271. * dirname: (libc)Finding Tokens in a String.
  272. * div: (libc)Integer Division.
  273. * dngettext: (libc)Advanced gettext functions.
  274. * drand48: (libc)SVID Random.
  275. * drand48_r: (libc)SVID Random.
  276. * dremf: (libc)Remainder Functions.
  277. * drem: (libc)Remainder Functions.
  278. * dreml: (libc)Remainder Functions.
  279. * DTTOIF: (libc)Directory Entries.
  280. * dup2: (libc)Duplicating Descriptors.
  281. * dup: (libc)Duplicating Descriptors.
  282. * E2BIG: (libc)Error Codes.
  283. * EACCES: (libc)Error Codes.
  284. * EADDRINUSE: (libc)Error Codes.
  285. * EADDRNOTAVAIL: (libc)Error Codes.
  286. * EADV: (libc)Error Codes.
  287. * EAFNOSUPPORT: (libc)Error Codes.
  288. * EAGAIN: (libc)Error Codes.
  289. * EALREADY: (libc)Error Codes.
  290. * EAUTH: (libc)Error Codes.
  291. * EBACKGROUND: (libc)Error Codes.
  292. * EBADE: (libc)Error Codes.
  293. * EBADFD: (libc)Error Codes.
  294. * EBADF: (libc)Error Codes.
  295. * EBADMSG: (libc)Error Codes.
  296. * EBADR: (libc)Error Codes.
  297. * EBADRPC: (libc)Error Codes.
  298. * EBADRQC: (libc)Error Codes.
  299. * EBADSLT: (libc)Error Codes.
  300. * EBFONT: (libc)Error Codes.
  301. * EBUSY: (libc)Error Codes.
  302. * ECANCELED: (libc)Error Codes.
  303. * ecb_crypt: (libc)DES Encryption.
  304. * ECHILD: (libc)Error Codes.
  305. * ECHOCTL: (libc)Local Modes.
  306. * ECHOE: (libc)Local Modes.
  307. * ECHOKE: (libc)Local Modes.
  308. * ECHOK: (libc)Local Modes.
  309. * ECHO: (libc)Local Modes.
  310. * ECHONL: (libc)Local Modes.
  311. * ECHOPRT: (libc)Local Modes.
  312. * ECHRNG: (libc)Error Codes.
  313. * ECOMM: (libc)Error Codes.
  314. * ECONNABORTED: (libc)Error Codes.
  315. * ECONNREFUSED: (libc)Error Codes.
  316. * ECONNRESET: (libc)Error Codes.
  317. * ecvt: (libc)System V Number Conversion.
  318. * ecvt_r: (libc)System V Number Conversion.
  319. * EDEADLK: (libc)Error Codes.
  320. * EDEADLOCK: (libc)Error Codes.
  321. * EDESTADDRREQ: (libc)Error Codes.
  322. * EDIED: (libc)Error Codes.
  323. * ED: (libc)Error Codes.
  324. * EDOM: (libc)Error Codes.
  325. * EDOTDOT: (libc)Error Codes.
  326. * EDQUOT: (libc)Error Codes.
  327. * EEXIST: (libc)Error Codes.
  328. * EFAULT: (libc)Error Codes.
  329. * EFBIG: (libc)Error Codes.
  330. * EFTYPE: (libc)Error Codes.
  331. * EGRATUITOUS: (libc)Error Codes.
  332. * EGREGIOUS: (libc)Error Codes.
  333. * EHOSTDOWN: (libc)Error Codes.
  334. * EHOSTUNREACH: (libc)Error Codes.
  335. * EHWPOISON: (libc)Error Codes.
  336. * EIDRM: (libc)Error Codes.
  337. * EIEIO: (libc)Error Codes.
  338. * EILSEQ: (libc)Error Codes.
  339. * EINPROGRESS: (libc)Error Codes.
  340. * EINTR: (libc)Error Codes.
  341. * EINVAL: (libc)Error Codes.
  342. * EIO: (libc)Error Codes.
  343. * EISCONN: (libc)Error Codes.
  344. * EISDIR: (libc)Error Codes.
  345. * EISNAM: (libc)Error Codes.
  346. * EKEYEXPIRED: (libc)Error Codes.
  347. * EKEYREJECTED: (libc)Error Codes.
  348. * EKEYREVOKED: (libc)Error Codes.
  349. * EL2HLT: (libc)Error Codes.
  350. * EL2NSYNC: (libc)Error Codes.
  351. * EL3HLT: (libc)Error Codes.
  352. * EL3RST: (libc)Error Codes.
  353. * ELIBACC: (libc)Error Codes.
  354. * ELIBBAD: (libc)Error Codes.
  355. * ELIBEXEC: (libc)Error Codes.
  356. * ELIBMAX: (libc)Error Codes.
  357. * ELIBSCN: (libc)Error Codes.
  358. * ELNRNG: (libc)Error Codes.
  359. * ELOOP: (libc)Error Codes.
  360. * EMEDIUMTYPE: (libc)Error Codes.
  361. * EMFILE: (libc)Error Codes.
  362. * EMLINK: (libc)Error Codes.
  363. * EMSGSIZE: (libc)Error Codes.
  364. * EMULTIHOP: (libc)Error Codes.
  365. * ENAMETOOLONG: (libc)Error Codes.
  366. * ENAVAIL: (libc)Error Codes.
  367. * encrypt: (libc)DES Encryption.
  368. * encrypt_r: (libc)DES Encryption.
  369. * endfsent: (libc)fstab.
  370. * endgrent: (libc)Scanning All Groups.
  371. * endhostent: (libc)Host Names.
  372. * endmntent: (libc)mtab.
  373. * endnetent: (libc)Networks Database.
  374. * endnetgrent: (libc)Lookup Netgroup.
  375. * endprotoent: (libc)Protocols Database.
  376. * endpwent: (libc)Scanning All Users.
  377. * endservent: (libc)Services Database.
  378. * endutent: (libc)Manipulating the Database.
  379. * endutxent: (libc)XPG Functions.
  380. * ENEEDAUTH: (libc)Error Codes.
  381. * ENETDOWN: (libc)Error Codes.
  382. * ENETRESET: (libc)Error Codes.
  383. * ENETUNREACH: (libc)Error Codes.
  384. * ENFILE: (libc)Error Codes.
  385. * ENOANO: (libc)Error Codes.
  386. * ENOBUFS: (libc)Error Codes.
  387. * ENOCSI: (libc)Error Codes.
  388. * ENODATA: (libc)Error Codes.
  389. * ENODEV: (libc)Error Codes.
  390. * ENOENT: (libc)Error Codes.
  391. * ENOEXEC: (libc)Error Codes.
  392. * ENOKEY: (libc)Error Codes.
  393. * ENOLCK: (libc)Error Codes.
  394. * ENOLINK: (libc)Error Codes.
  395. * ENOMEDIUM: (libc)Error Codes.
  396. * ENOMEM: (libc)Error Codes.
  397. * ENOMSG: (libc)Error Codes.
  398. * ENONET: (libc)Error Codes.
  399. * ENOPKG: (libc)Error Codes.
  400. * ENOPROTOOPT: (libc)Error Codes.
  401. * ENOSPC: (libc)Error Codes.
  402. * ENOSR: (libc)Error Codes.
  403. * ENOSTR: (libc)Error Codes.
  404. * ENOSYS: (libc)Error Codes.
  405. * ENOTBLK: (libc)Error Codes.
  406. * ENOTCONN: (libc)Error Codes.
  407. * ENOTDIR: (libc)Error Codes.
  408. * ENOTEMPTY: (libc)Error Codes.
  409. * ENOTNAM: (libc)Error Codes.
  410. * ENOTRECOVERABLE: (libc)Error Codes.
  411. * ENOTSOCK: (libc)Error Codes.
  412. * ENOTSUP: (libc)Error Codes.
  413. * ENOTTY: (libc)Error Codes.
  414. * ENOTUNIQ: (libc)Error Codes.
  415. * envz_add: (libc)Envz Functions.
  416. * envz_entry: (libc)Envz Functions.
  417. * envz_get: (libc)Envz Functions.
  418. * envz_merge: (libc)Envz Functions.
  419. * envz_remove: (libc)Envz Functions.
  420. * envz_strip: (libc)Envz Functions.
  421. * ENXIO: (libc)Error Codes.
  422. * EOF: (libc)EOF and Errors.
  423. * EOPNOTSUPP: (libc)Error Codes.
  424. * EOVERFLOW: (libc)Error Codes.
  425. * EOWNERDEAD: (libc)Error Codes.
  426. * EPERM: (libc)Error Codes.
  427. * EPFNOSUPPORT: (libc)Error Codes.
  428. * EPIPE: (libc)Error Codes.
  429. * EPROCLIM: (libc)Error Codes.
  430. * EPROCUNAVAIL: (libc)Error Codes.
  431. * EPROGMISMATCH: (libc)Error Codes.
  432. * EPROGUNAVAIL: (libc)Error Codes.
  433. * EPROTO: (libc)Error Codes.
  434. * EPROTONOSUPPORT: (libc)Error Codes.
  435. * EPROTOTYPE: (libc)Error Codes.
  436. * EQUIV_CLASS_MAX: (libc)Utility Limits.
  437. * erand48: (libc)SVID Random.
  438. * erand48_r: (libc)SVID Random.
  439. * ERANGE: (libc)Error Codes.
  440. * EREMCHG: (libc)Error Codes.
  441. * EREMOTEIO: (libc)Error Codes.
  442. * EREMOTE: (libc)Error Codes.
  443. * ERESTART: (libc)Error Codes.
  444. * erfcf: (libc)Special Functions.
  445. * erfc: (libc)Special Functions.
  446. * erfcl: (libc)Special Functions.
  447. * erff: (libc)Special Functions.
  448. * ERFKILL: (libc)Error Codes.
  449. * erf: (libc)Special Functions.
  450. * erfl: (libc)Special Functions.
  451. * EROFS: (libc)Error Codes.
  452. * ERPCMISMATCH: (libc)Error Codes.
  453. * err: (libc)Error Messages.
  454. * errno: (libc)Checking for Errors.
  455. * error_at_line: (libc)Error Messages.
  456. * error: (libc)Error Messages.
  457. * errx: (libc)Error Messages.
  458. * ESHUTDOWN: (libc)Error Codes.
  459. * ESOCKTNOSUPPORT: (libc)Error Codes.
  460. * ESPIPE: (libc)Error Codes.
  461. * ESRCH: (libc)Error Codes.
  462. * ESRMNT: (libc)Error Codes.
  463. * ESTALE: (libc)Error Codes.
  464. * ESTRPIPE: (libc)Error Codes.
  465. * ETIMEDOUT: (libc)Error Codes.
  466. * ETIME: (libc)Error Codes.
  467. * ETOOMANYREFS: (libc)Error Codes.
  468. * ETXTBSY: (libc)Error Codes.
  469. * EUCLEAN: (libc)Error Codes.
  470. * EUNATCH: (libc)Error Codes.
  471. * EUSERS: (libc)Error Codes.
  472. * EWOULDBLOCK: (libc)Error Codes.
  473. * EXDEV: (libc)Error Codes.
  474. * execle: (libc)Executing a File.
  475. * execl: (libc)Executing a File.
  476. * execlp: (libc)Executing a File.
  477. * execve: (libc)Executing a File.
  478. * execv: (libc)Executing a File.
  479. * execvp: (libc)Executing a File.
  480. * EXFULL: (libc)Error Codes.
  481. * EXIT_FAILURE: (libc)Exit Status.
  482. * exit: (libc)Normal Termination.
  483. * _exit: (libc)Termination Internals.
  484. * _Exit: (libc)Termination Internals.
  485. * EXIT_SUCCESS: (libc)Exit Status.
  486. * exp10f: (libc)Exponents and Logarithms.
  487. * exp10: (libc)Exponents and Logarithms.
  488. * exp10l: (libc)Exponents and Logarithms.
  489. * exp2f: (libc)Exponents and Logarithms.
  490. * exp2: (libc)Exponents and Logarithms.
  491. * exp2l: (libc)Exponents and Logarithms.
  492. * expf: (libc)Exponents and Logarithms.
  493. * exp: (libc)Exponents and Logarithms.
  494. * explicit_bzero: (libc)Erasing Sensitive Data.
  495. * expl: (libc)Exponents and Logarithms.
  496. * expm1f: (libc)Exponents and Logarithms.
  497. * expm1: (libc)Exponents and Logarithms.
  498. * expm1l: (libc)Exponents and Logarithms.
  499. * EXPR_NEST_MAX: (libc)Utility Limits.
  500. * fabsf: (libc)Absolute Value.
  501. * fabs: (libc)Absolute Value.
  502. * fabsl: (libc)Absolute Value.
  503. * __fbufsize: (libc)Controlling Buffering.
  504. * fchdir: (libc)Working Directory.
  505. * fchmod: (libc)Setting Permissions.
  506. * fchown: (libc)File Owner.
  507. * fcloseall: (libc)Closing Streams.
  508. * fclose: (libc)Closing Streams.
  509. * fcntl: (libc)Control Operations.
  510. * fcvt: (libc)System V Number Conversion.
  511. * fcvt_r: (libc)System V Number Conversion.
  512. * fdatasync: (libc)Synchronizing I/O.
  513. * FD_CLOEXEC: (libc)Descriptor Flags.
  514. * FD_CLR: (libc)Waiting for I/O.
  515. * fdimf: (libc)Misc FP Arithmetic.
  516. * fdim: (libc)Misc FP Arithmetic.
  517. * fdiml: (libc)Misc FP Arithmetic.
  518. * FD_ISSET: (libc)Waiting for I/O.
  519. * fdopendir: (libc)Opening a Directory.
  520. * fdopen: (libc)Descriptors and Streams.
  521. * FD_SET: (libc)Waiting for I/O.
  522. * FD_SETSIZE: (libc)Waiting for I/O.
  523. * F_DUPFD: (libc)Duplicating Descriptors.
  524. * FD_ZERO: (libc)Waiting for I/O.
  525. * feclearexcept: (libc)Status bit operations.
  526. * fedisableexcept: (libc)Control Functions.
  527. * feenableexcept: (libc)Control Functions.
  528. * fegetenv: (libc)Control Functions.
  529. * fegetexceptflag: (libc)Status bit operations.
  530. * fegetexcept: (libc)Control Functions.
  531. * fegetmode: (libc)Control Functions.
  532. * fegetround: (libc)Rounding.
  533. * feholdexcept: (libc)Control Functions.
  534. * feof: (libc)EOF and Errors.
  535. * feof_unlocked: (libc)EOF and Errors.
  536. * feraiseexcept: (libc)Status bit operations.
  537. * ferror: (libc)EOF and Errors.
  538. * ferror_unlocked: (libc)EOF and Errors.
  539. * fesetenv: (libc)Control Functions.
  540. * fesetexceptflag: (libc)Status bit operations.
  541. * fesetexcept: (libc)Status bit operations.
  542. * fesetmode: (libc)Control Functions.
  543. * fesetround: (libc)Rounding.
  544. * FE_SNANS_ALWAYS_SIGNAL: (libc)Infinity and NaN.
  545. * fetestexceptflag: (libc)Status bit operations.
  546. * fetestexcept: (libc)Status bit operations.
  547. * feupdateenv: (libc)Control Functions.
  548. * fflush: (libc)Flushing Buffers.
  549. * fflush_unlocked: (libc)Flushing Buffers.
  550. * fgetc: (libc)Character Input.
  551. * fgetc_unlocked: (libc)Character Input.
  552. * F_GETFD: (libc)Descriptor Flags.
  553. * F_GETFL: (libc)Getting File Status Flags.
  554. * fgetgrent: (libc)Scanning All Groups.
  555. * fgetgrent_r: (libc)Scanning All Groups.
  556. * F_GETLK: (libc)File Locks.
  557. * F_GETOWN: (libc)Interrupt Input.
  558. * fgetpos64: (libc)Portable Positioning.
  559. * fgetpos: (libc)Portable Positioning.
  560. * fgetpwent: (libc)Scanning All Users.
  561. * fgetpwent_r: (libc)Scanning All Users.
  562. * fgets: (libc)Line Input.
  563. * fgets_unlocked: (libc)Line Input.
  564. * fgetwc: (libc)Character Input.
  565. * fgetwc_unlocked: (libc)Character Input.
  566. * fgetws: (libc)Line Input.
  567. * fgetws_unlocked: (libc)Line Input.
  568. * FILENAME_MAX: (libc)Limits for Files.
  569. * fileno: (libc)Descriptors and Streams.
  570. * fileno_unlocked: (libc)Descriptors and Streams.
  571. * finitef: (libc)Floating Point Classes.
  572. * finite: (libc)Floating Point Classes.
  573. * finitel: (libc)Floating Point Classes.
  574. * __flbf: (libc)Controlling Buffering.
  575. * flockfile: (libc)Streams and Threads.
  576. * floorf: (libc)Rounding Functions.
  577. * floor: (libc)Rounding Functions.
  578. * floorl: (libc)Rounding Functions.
  579. * _flushlbf: (libc)Flushing Buffers.
  580. * FLUSHO: (libc)Local Modes.
  581. * fmaf: (libc)Misc FP Arithmetic.
  582. * fma: (libc)Misc FP Arithmetic.
  583. * fmal: (libc)Misc FP Arithmetic.
  584. * fmaxf: (libc)Misc FP Arithmetic.
  585. * fmax: (libc)Misc FP Arithmetic.
  586. * fmaxl: (libc)Misc FP Arithmetic.
  587. * fmaxmagf: (libc)Misc FP Arithmetic.
  588. * fmaxmag: (libc)Misc FP Arithmetic.
  589. * fmaxmagl: (libc)Misc FP Arithmetic.
  590. * fmemopen: (libc)String Streams.
  591. * fminf: (libc)Misc FP Arithmetic.
  592. * fmin: (libc)Misc FP Arithmetic.
  593. * fminl: (libc)Misc FP Arithmetic.
  594. * fminmagf: (libc)Misc FP Arithmetic.
  595. * fminmag: (libc)Misc FP Arithmetic.
  596. * fminmagl: (libc)Misc FP Arithmetic.
  597. * fmodf: (libc)Remainder Functions.
  598. * fmod: (libc)Remainder Functions.
  599. * fmodl: (libc)Remainder Functions.
  600. * fmtmsg: (libc)Printing Formatted Messages.
  601. * fnmatch: (libc)Wildcard Matching.
  602. * F_OFD_GETLK: (libc)Open File Description Locks.
  603. * F_OFD_SETLK: (libc)Open File Description Locks.
  604. * F_OFD_SETLKW: (libc)Open File Description Locks.
  605. * F_OK: (libc)Testing File Access.
  606. * fopen64: (libc)Opening Streams.
  607. * fopencookie: (libc)Streams and Cookies.
  608. * fopen: (libc)Opening Streams.
  609. * FOPEN_MAX: (libc)Opening Streams.
  610. * fork: (libc)Creating a Process.
  611. * forkpty: (libc)Pseudo-Terminal Pairs.
  612. * fpathconf: (libc)Pathconf.
  613. * fpclassify: (libc)Floating Point Classes.
  614. * __fpending: (libc)Controlling Buffering.
  615. * FP_ILOGB0: (libc)Exponents and Logarithms.
  616. * FP_ILOGBNAN: (libc)Exponents and Logarithms.
  617. * FP_LLOGB0: (libc)Exponents and Logarithms.
  618. * FP_LLOGBNAN: (libc)Exponents and Logarithms.
  619. * fprintf: (libc)Formatted Output Functions.
  620. * __fpurge: (libc)Flushing Buffers.
  621. * fputc: (libc)Simple Output.
  622. * fputc_unlocked: (libc)Simple Output.
  623. * fputs: (libc)Simple Output.
  624. * fputs_unlocked: (libc)Simple Output.
  625. * fputwc: (libc)Simple Output.
  626. * fputwc_unlocked: (libc)Simple Output.
  627. * fputws: (libc)Simple Output.
  628. * fputws_unlocked: (libc)Simple Output.
  629. * __freadable: (libc)Opening Streams.
  630. * __freading: (libc)Opening Streams.
  631. * fread: (libc)Block Input/Output.
  632. * fread_unlocked: (libc)Block Input/Output.
  633. * free: (libc)Freeing after Malloc.
  634. * freopen64: (libc)Opening Streams.
  635. * freopen: (libc)Opening Streams.
  636. * frexpf: (libc)Normalization Functions.
  637. * frexp: (libc)Normalization Functions.
  638. * frexpl: (libc)Normalization Functions.
  639. * fromfpf: (libc)Rounding Functions.
  640. * fromfp: (libc)Rounding Functions.
  641. * fromfpl: (libc)Rounding Functions.
  642. * fromfpxf: (libc)Rounding Functions.
  643. * fromfpx: (libc)Rounding Functions.
  644. * fromfpxl: (libc)Rounding Functions.
  645. * fscanf: (libc)Formatted Input Functions.
  646. * fseek: (libc)File Positioning.
  647. * fseeko64: (libc)File Positioning.
  648. * fseeko: (libc)File Positioning.
  649. * F_SETFD: (libc)Descriptor Flags.
  650. * F_SETFL: (libc)Getting File Status Flags.
  651. * F_SETLK: (libc)File Locks.
  652. * F_SETLKW: (libc)File Locks.
  653. * __fsetlocking: (libc)Streams and Threads.
  654. * F_SETOWN: (libc)Interrupt Input.
  655. * fsetpos64: (libc)Portable Positioning.
  656. * fsetpos: (libc)Portable Positioning.
  657. * fstat64: (libc)Reading Attributes.
  658. * fstat: (libc)Reading Attributes.
  659. * fsync: (libc)Synchronizing I/O.
  660. * ftell: (libc)File Positioning.
  661. * ftello64: (libc)File Positioning.
  662. * ftello: (libc)File Positioning.
  663. * ftruncate64: (libc)File Size.
  664. * ftruncate: (libc)File Size.
  665. * ftrylockfile: (libc)Streams and Threads.
  666. * ftw64: (libc)Working with Directory Trees.
  667. * ftw: (libc)Working with Directory Trees.
  668. * funlockfile: (libc)Streams and Threads.
  669. * futimes: (libc)File Times.
  670. * fwide: (libc)Streams and I18N.
  671. * fwprintf: (libc)Formatted Output Functions.
  672. * __fwritable: (libc)Opening Streams.
  673. * fwrite: (libc)Block Input/Output.
  674. * fwrite_unlocked: (libc)Block Input/Output.
  675. * __fwriting: (libc)Opening Streams.
  676. * fwscanf: (libc)Formatted Input Functions.
  677. * gammaf: (libc)Special Functions.
  678. * gamma: (libc)Special Functions.
  679. * gammal: (libc)Special Functions.
  680. * __gconv_end_fct: (libc)glibc iconv Implementation.
  681. * __gconv_fct: (libc)glibc iconv Implementation.
  682. * __gconv_init_fct: (libc)glibc iconv Implementation.
  683. * gcvt: (libc)System V Number Conversion.
  684. * getauxval: (libc)Auxiliary Vector.
  685. * get_avphys_pages: (libc)Query Memory Parameters.
  686. * getchar: (libc)Character Input.
  687. * getchar_unlocked: (libc)Character Input.
  688. * getc: (libc)Character Input.
  689. * getcontext: (libc)System V contexts.
  690. * getc_unlocked: (libc)Character Input.
  691. * get_current_dir_name: (libc)Working Directory.
  692. * getcwd: (libc)Working Directory.
  693. * getdate: (libc)General Time String Parsing.
  694. * getdate_r: (libc)General Time String Parsing.
  695. * getdelim: (libc)Line Input.
  696. * getdomainnname: (libc)Host Identification.
  697. * getegid: (libc)Reading Persona.
  698. * getentropy: (libc)Unpredictable Bytes.
  699. * getenv: (libc)Environment Access.
  700. * geteuid: (libc)Reading Persona.
  701. * getfsent: (libc)fstab.
  702. * getfsfile: (libc)fstab.
  703. * getfsspec: (libc)fstab.
  704. * getgid: (libc)Reading Persona.
  705. * getgrent: (libc)Scanning All Groups.
  706. * getgrent_r: (libc)Scanning All Groups.
  707. * getgrgid: (libc)Lookup Group.
  708. * getgrgid_r: (libc)Lookup Group.
  709. * getgrnam: (libc)Lookup Group.
  710. * getgrnam_r: (libc)Lookup Group.
  711. * getgrouplist: (libc)Setting Groups.
  712. * getgroups: (libc)Reading Persona.
  713. * gethostbyaddr: (libc)Host Names.
  714. * gethostbyaddr_r: (libc)Host Names.
  715. * gethostbyname2: (libc)Host Names.
  716. * gethostbyname2_r: (libc)Host Names.
  717. * gethostbyname: (libc)Host Names.
  718. * gethostbyname_r: (libc)Host Names.
  719. * gethostent: (libc)Host Names.
  720. * gethostid: (libc)Host Identification.
  721. * gethostname: (libc)Host Identification.
  722. * getitimer: (libc)Setting an Alarm.
  723. * getline: (libc)Line Input.
  724. * getloadavg: (libc)Processor Resources.
  725. * getlogin: (libc)Who Logged In.
  726. * getmntent: (libc)mtab.
  727. * getmntent_r: (libc)mtab.
  728. * getnetbyaddr: (libc)Networks Database.
  729. * getnetbyname: (libc)Networks Database.
  730. * getnetent: (libc)Networks Database.
  731. * getnetgrent: (libc)Lookup Netgroup.
  732. * getnetgrent_r: (libc)Lookup Netgroup.
  733. * get_nprocs_conf: (libc)Processor Resources.
  734. * get_nprocs: (libc)Processor Resources.
  735. * getopt: (libc)Using Getopt.
  736. * getopt_long: (libc)Getopt Long Options.
  737. * getopt_long_only: (libc)Getopt Long Options.
  738. * getpagesize: (libc)Query Memory Parameters.
  739. * getpass: (libc)getpass.
  740. * getpayloadf: (libc)FP Bit Twiddling.
  741. * getpayload: (libc)FP Bit Twiddling.
  742. * getpayloadl: (libc)FP Bit Twiddling.
  743. * getpeername: (libc)Who is Connected.
  744. * getpgid: (libc)Process Group Functions.
  745. * getpgrp: (libc)Process Group Functions.
  746. * get_phys_pages: (libc)Query Memory Parameters.
  747. * getpid: (libc)Process Identification.
  748. * getppid: (libc)Process Identification.
  749. * getpriority: (libc)Traditional Scheduling Functions.
  750. * getprotobyname: (libc)Protocols Database.
  751. * getprotobynumber: (libc)Protocols Database.
  752. * getprotoent: (libc)Protocols Database.
  753. * getpt: (libc)Allocation.
  754. * getpwent: (libc)Scanning All Users.
  755. * getpwent_r: (libc)Scanning All Users.
  756. * getpwnam: (libc)Lookup User.
  757. * getpwnam_r: (libc)Lookup User.
  758. * getpwuid: (libc)Lookup User.
  759. * getpwuid_r: (libc)Lookup User.
  760. * getrandom: (libc)Unpredictable Bytes.
  761. * getrlimit64: (libc)Limits on Resources.
  762. * getrlimit: (libc)Limits on Resources.
  763. * getrusage: (libc)Resource Usage.
  764. * getservbyname: (libc)Services Database.
  765. * getservbyport: (libc)Services Database.
  766. * getservent: (libc)Services Database.
  767. * getsid: (libc)Process Group Functions.
  768. * gets: (libc)Line Input.
  769. * getsockname: (libc)Reading Address.
  770. * getsockopt: (libc)Socket Option Functions.
  771. * getsubopt: (libc)Suboptions.
  772. * gettext: (libc)Translation with gettext.
  773. * gettimeofday: (libc)High-Resolution Calendar.
  774. * getuid: (libc)Reading Persona.
  775. * getumask: (libc)Setting Permissions.
  776. * getutent: (libc)Manipulating the Database.
  777. * getutent_r: (libc)Manipulating the Database.
  778. * getutid: (libc)Manipulating the Database.
  779. * getutid_r: (libc)Manipulating the Database.
  780. * getutline: (libc)Manipulating the Database.
  781. * getutline_r: (libc)Manipulating the Database.
  782. * getutmp: (libc)XPG Functions.
  783. * getutmpx: (libc)XPG Functions.
  784. * getutxent: (libc)XPG Functions.
  785. * getutxid: (libc)XPG Functions.
  786. * getutxline: (libc)XPG Functions.
  787. * getwchar: (libc)Character Input.
  788. * getwchar_unlocked: (libc)Character Input.
  789. * getwc: (libc)Character Input.
  790. * getwc_unlocked: (libc)Character Input.
  791. * getwd: (libc)Working Directory.
  792. * getw: (libc)Character Input.
  793. * glob64: (libc)Calling Glob.
  794. * globfree64: (libc)More Flags for Globbing.
  795. * globfree: (libc)More Flags for Globbing.
  796. * glob: (libc)Calling Glob.
  797. * gmtime: (libc)Broken-down Time.
  798. * gmtime_r: (libc)Broken-down Time.
  799. * grantpt: (libc)Allocation.
  800. * gsignal: (libc)Signaling Yourself.
  801. * gtty: (libc)BSD Terminal Modes.
  802. * hasmntopt: (libc)mtab.
  803. * hcreate: (libc)Hash Search Function.
  804. * hcreate_r: (libc)Hash Search Function.
  805. * hdestroy: (libc)Hash Search Function.
  806. * hdestroy_r: (libc)Hash Search Function.
  807. * hsearch: (libc)Hash Search Function.
  808. * hsearch_r: (libc)Hash Search Function.
  809. * htonl: (libc)Byte Order.
  810. * htons: (libc)Byte Order.
  811. * HUGE_VALF: (libc)Math Error Reporting.
  812. * HUGE_VAL: (libc)Math Error Reporting.
  813. * HUGE_VALL: (libc)Math Error Reporting.
  814. * HUPCL: (libc)Control Modes.
  815. * hypotf: (libc)Exponents and Logarithms.
  816. * hypot: (libc)Exponents and Logarithms.
  817. * hypotl: (libc)Exponents and Logarithms.
  818. * ICANON: (libc)Local Modes.
  819. * iconv_close: (libc)Generic Conversion Interface.
  820. * iconv: (libc)Generic Conversion Interface.
  821. * iconv_open: (libc)Generic Conversion Interface.
  822. * ICRNL: (libc)Input Modes.
  823. * IEXTEN: (libc)Local Modes.
  824. * if_freenameindex: (libc)Interface Naming.
  825. * if_indextoname: (libc)Interface Naming.
  826. * if_nameindex: (libc)Interface Naming.
  827. * if_nametoindex: (libc)Interface Naming.
  828. * IFNAMSIZ: (libc)Interface Naming.
  829. * IFTODT: (libc)Directory Entries.
  830. * IGNBRK: (libc)Input Modes.
  831. * IGNCR: (libc)Input Modes.
  832. * IGNPAR: (libc)Input Modes.
  833. * I: (libc)Complex Numbers.
  834. * ilogbf: (libc)Exponents and Logarithms.
  835. * ilogb: (libc)Exponents and Logarithms.
  836. * ilogbl: (libc)Exponents and Logarithms.
  837. * _Imaginary_I: (libc)Complex Numbers.
  838. * imaxabs: (libc)Absolute Value.
  839. * IMAXBEL: (libc)Input Modes.
  840. * imaxdiv: (libc)Integer Division.
  841. * in6addr_any: (libc)Host Address Data Type.
  842. * in6addr_loopback: (libc)Host Address Data Type.
  843. * INADDR_ANY: (libc)Host Address Data Type.
  844. * INADDR_BROADCAST: (libc)Host Address Data Type.
  845. * INADDR_LOOPBACK: (libc)Host Address Data Type.
  846. * INADDR_NONE: (libc)Host Address Data Type.
  847. * index: (libc)Search Functions.
  848. * inet_addr: (libc)Host Address Functions.
  849. * inet_aton: (libc)Host Address Functions.
  850. * inet_lnaof: (libc)Host Address Functions.
  851. * inet_makeaddr: (libc)Host Address Functions.
  852. * inet_netof: (libc)Host Address Functions.
  853. * inet_network: (libc)Host Address Functions.
  854. * inet_ntoa: (libc)Host Address Functions.
  855. * inet_ntop: (libc)Host Address Functions.
  856. * inet_pton: (libc)Host Address Functions.
  857. * INFINITY: (libc)Infinity and NaN.
  858. * initgroups: (libc)Setting Groups.
  859. * initstate: (libc)BSD Random.
  860. * initstate_r: (libc)BSD Random.
  861. * INLCR: (libc)Input Modes.
  862. * innetgr: (libc)Netgroup Membership.
  863. * INPCK: (libc)Input Modes.
  864. * ioctl: (libc)IOCTLs.
  865. * _IOFBF: (libc)Controlling Buffering.
  866. * _IOLBF: (libc)Controlling Buffering.
  867. * _IONBF: (libc)Controlling Buffering.
  868. * IPPORT_RESERVED: (libc)Ports.
  869. * IPPORT_USERRESERVED: (libc)Ports.
  870. * isalnum: (libc)Classification of Characters.
  871. * isalpha: (libc)Classification of Characters.
  872. * isascii: (libc)Classification of Characters.
  873. * isatty: (libc)Is It a Terminal.
  874. * isblank: (libc)Classification of Characters.
  875. * iscanonical: (libc)Floating Point Classes.
  876. * iscntrl: (libc)Classification of Characters.
  877. * isdigit: (libc)Classification of Characters.
  878. * iseqsig: (libc)FP Comparison Functions.
  879. * isfinite: (libc)Floating Point Classes.
  880. * isgraph: (libc)Classification of Characters.
  881. * isgreaterequal: (libc)FP Comparison Functions.
  882. * isgreater: (libc)FP Comparison Functions.
  883. * ISIG: (libc)Local Modes.
  884. * isinff: (libc)Floating Point Classes.
  885. * isinf: (libc)Floating Point Classes.
  886. * isinfl: (libc)Floating Point Classes.
  887. * islessequal: (libc)FP Comparison Functions.
  888. * islessgreater: (libc)FP Comparison Functions.
  889. * isless: (libc)FP Comparison Functions.
  890. * islower: (libc)Classification of Characters.
  891. * isnanf: (libc)Floating Point Classes.
  892. * isnan: (libc)Floating Point Classes.
  893. * isnan: (libc)Floating Point Classes.
  894. * isnanl: (libc)Floating Point Classes.
  895. * isnormal: (libc)Floating Point Classes.
  896. * isprint: (libc)Classification of Characters.
  897. * ispunct: (libc)Classification of Characters.
  898. * issignaling: (libc)Floating Point Classes.
  899. * isspace: (libc)Classification of Characters.
  900. * issubnormal: (libc)Floating Point Classes.
  901. * ISTRIP: (libc)Input Modes.
  902. * isunordered: (libc)FP Comparison Functions.
  903. * isupper: (libc)Classification of Characters.
  904. * iswalnum: (libc)Classification of Wide Characters.
  905. * iswalpha: (libc)Classification of Wide Characters.
  906. * iswblank: (libc)Classification of Wide Characters.
  907. * iswcntrl: (libc)Classification of Wide Characters.
  908. * iswctype: (libc)Classification of Wide Characters.
  909. * iswdigit: (libc)Classification of Wide Characters.
  910. * iswgraph: (libc)Classification of Wide Characters.
  911. * iswlower: (libc)Classification of Wide Characters.
  912. * iswprint: (libc)Classification of Wide Characters.
  913. * iswpunct: (libc)Classification of Wide Characters.
  914. * iswspace: (libc)Classification of Wide Characters.
  915. * iswupper: (libc)Classification of Wide Characters.
  916. * iswxdigit: (libc)Classification of Wide Characters.
  917. * isxdigit: (libc)Classification of Characters.
  918. * iszero: (libc)Floating Point Classes.
  919. * IXANY: (libc)Input Modes.
  920. * IXOFF: (libc)Input Modes.
  921. * IXON: (libc)Input Modes.
  922. * j0f: (libc)Special Functions.
  923. * j0: (libc)Special Functions.
  924. * j0l: (libc)Special Functions.
  925. * j1f: (libc)Special Functions.
  926. * j1: (libc)Special Functions.
  927. * j1l: (libc)Special Functions.
  928. * jnf: (libc)Special Functions.
  929. * jn: (libc)Special Functions.
  930. * jnl: (libc)Special Functions.
  931. * jrand48: (libc)SVID Random.
  932. * jrand48_r: (libc)SVID Random.
  933. * kill: (libc)Signaling Another Process.
  934. * killpg: (libc)Signaling Another Process.
  935. * l64a: (libc)Encode Binary Data.
  936. * labs: (libc)Absolute Value.
  937. * lcong48: (libc)SVID Random.
  938. * lcong48_r: (libc)SVID Random.
  939. * L_ctermid: (libc)Identifying the Terminal.
  940. * L_cuserid: (libc)Who Logged In.
  941. * ldexpf: (libc)Normalization Functions.
  942. * ldexp: (libc)Normalization Functions.
  943. * ldexpl: (libc)Normalization Functions.
  944. * ldiv: (libc)Integer Division.
  945. * lfind: (libc)Array Search Function.
  946. * lgammaf: (libc)Special Functions.
  947. * lgammaf_r: (libc)Special Functions.
  948. * lgamma: (libc)Special Functions.
  949. * lgammal: (libc)Special Functions.
  950. * lgammal_r: (libc)Special Functions.
  951. * lgamma_r: (libc)Special Functions.
  952. * LINE_MAX: (libc)Utility Limits.
  953. * link: (libc)Hard Links.
  954. * LINK_MAX: (libc)Limits for Files.
  955. * lio_listio64: (libc)Asynchronous Reads/Writes.
  956. * lio_listio: (libc)Asynchronous Reads/Writes.
  957. * listen: (libc)Listening.
  958. * llabs: (libc)Absolute Value.
  959. * lldiv: (libc)Integer Division.
  960. * llogbf: (libc)Exponents and Logarithms.
  961. * llogb: (libc)Exponents and Logarithms.
  962. * llogbl: (libc)Exponents and Logarithms.
  963. * llrintf: (libc)Rounding Functions.
  964. * llrint: (libc)Rounding Functions.
  965. * llrintl: (libc)Rounding Functions.
  966. * llroundf: (libc)Rounding Functions.
  967. * llround: (libc)Rounding Functions.
  968. * llroundl: (libc)Rounding Functions.
  969. * localeconv: (libc)The Lame Way to Locale Data.
  970. * localtime: (libc)Broken-down Time.
  971. * localtime_r: (libc)Broken-down Time.
  972. * log10f: (libc)Exponents and Logarithms.
  973. * log10: (libc)Exponents and Logarithms.
  974. * log10l: (libc)Exponents and Logarithms.
  975. * log1pf: (libc)Exponents and Logarithms.
  976. * log1p: (libc)Exponents and Logarithms.
  977. * log1pl: (libc)Exponents and Logarithms.
  978. * log2f: (libc)Exponents and Logarithms.
  979. * log2: (libc)Exponents and Logarithms.
  980. * log2l: (libc)Exponents and Logarithms.
  981. * logbf: (libc)Exponents and Logarithms.
  982. * logb: (libc)Exponents and Logarithms.
  983. * logbl: (libc)Exponents and Logarithms.
  984. * logf: (libc)Exponents and Logarithms.
  985. * login: (libc)Logging In and Out.
  986. * login_tty: (libc)Logging In and Out.
  987. * log: (libc)Exponents and Logarithms.
  988. * logl: (libc)Exponents and Logarithms.
  989. * logout: (libc)Logging In and Out.
  990. * logwtmp: (libc)Logging In and Out.
  991. * longjmp: (libc)Non-Local Details.
  992. * lrand48: (libc)SVID Random.
  993. * lrand48_r: (libc)SVID Random.
  994. * lrintf: (libc)Rounding Functions.
  995. * lrint: (libc)Rounding Functions.
  996. * lrintl: (libc)Rounding Functions.
  997. * lroundf: (libc)Rounding Functions.
  998. * lround: (libc)Rounding Functions.
  999. * lroundl: (libc)Rounding Functions.
  1000. * lsearch: (libc)Array Search Function.
  1001. * lseek64: (libc)File Position Primitive.
  1002. * lseek: (libc)File Position Primitive.
  1003. * lstat64: (libc)Reading Attributes.
  1004. * lstat: (libc)Reading Attributes.
  1005. * L_tmpnam: (libc)Temporary Files.
  1006. * lutimes: (libc)File Times.
  1007. * madvise: (libc)Memory-mapped I/O.
  1008. * makecontext: (libc)System V contexts.
  1009. * mallinfo: (libc)Statistics of Malloc.
  1010. * malloc: (libc)Basic Allocation.
  1011. * mallopt: (libc)Malloc Tunable Parameters.
  1012. * MAX_CANON: (libc)Limits for Files.
  1013. * MAX_INPUT: (libc)Limits for Files.
  1014. * MAXNAMLEN: (libc)Limits for Files.
  1015. * MAXSYMLINKS: (libc)Symbolic Links.
  1016. * MB_CUR_MAX: (libc)Selecting the Conversion.
  1017. * mblen: (libc)Non-reentrant Character Conversion.
  1018. * MB_LEN_MAX: (libc)Selecting the Conversion.
  1019. * mbrlen: (libc)Converting a Character.
  1020. * mbrtowc: (libc)Converting a Character.
  1021. * mbsinit: (libc)Keeping the state.
  1022. * mbsnrtowcs: (libc)Converting Strings.
  1023. * mbsrtowcs: (libc)Converting Strings.
  1024. * mbstowcs: (libc)Non-reentrant String Conversion.
  1025. * mbtowc: (libc)Non-reentrant Character Conversion.
  1026. * mcheck: (libc)Heap Consistency Checking.
  1027. * MDMBUF: (libc)Control Modes.
  1028. * memalign: (libc)Aligned Memory Blocks.
  1029. * memccpy: (libc)Copying Strings and Arrays.
  1030. * memchr: (libc)Search Functions.
  1031. * memcmp: (libc)String/Array Comparison.
  1032. * memcpy: (libc)Copying Strings and Arrays.
  1033. * memfrob: (libc)Trivial Encryption.
  1034. * memmem: (libc)Search Functions.
  1035. * memmove: (libc)Copying Strings and Arrays.
  1036. * mempcpy: (libc)Copying Strings and Arrays.
  1037. * memrchr: (libc)Search Functions.
  1038. * memset: (libc)Copying Strings and Arrays.
  1039. * mkdir: (libc)Creating Directories.
  1040. * mkdtemp: (libc)Temporary Files.
  1041. * mkfifo: (libc)FIFO Special Files.
  1042. * mknod: (libc)Making Special Files.
  1043. * mkstemp: (libc)Temporary Files.
  1044. * mktemp: (libc)Temporary Files.
  1045. * mktime: (libc)Broken-down Time.
  1046. * mlockall: (libc)Page Lock Functions.
  1047. * mlock: (libc)Page Lock Functions.
  1048. * mmap64: (libc)Memory-mapped I/O.
  1049. * mmap: (libc)Memory-mapped I/O.
  1050. * modff: (libc)Rounding Functions.
  1051. * modf: (libc)Rounding Functions.
  1052. * modfl: (libc)Rounding Functions.
  1053. * mount: (libc)Mount-Unmount-Remount.
  1054. * mprobe: (libc)Heap Consistency Checking.
  1055. * mrand48: (libc)SVID Random.
  1056. * mrand48_r: (libc)SVID Random.
  1057. * mremap: (libc)Memory-mapped I/O.
  1058. * MSG_DONTROUTE: (libc)Socket Data Options.
  1059. * MSG_OOB: (libc)Socket Data Options.
  1060. * MSG_PEEK: (libc)Socket Data Options.
  1061. * msync: (libc)Memory-mapped I/O.
  1062. * mtrace: (libc)Tracing malloc.
  1063. * munlockall: (libc)Page Lock Functions.
  1064. * munlock: (libc)Page Lock Functions.
  1065. * munmap: (libc)Memory-mapped I/O.
  1066. * muntrace: (libc)Tracing malloc.
  1067. * NAME_MAX: (libc)Limits for Files.
  1068. * nanf: (libc)FP Bit Twiddling.
  1069. * nan: (libc)FP Bit Twiddling.
  1070. * NAN: (libc)Infinity and NaN.
  1071. * nanl: (libc)FP Bit Twiddling.
  1072. * nanosleep: (libc)Sleeping.
  1073. * NCCS: (libc)Mode Data Types.
  1074. * nearbyintf: (libc)Rounding Functions.
  1075. * nearbyint: (libc)Rounding Functions.
  1076. * nearbyintl: (libc)Rounding Functions.
  1077. * nextafterf: (libc)FP Bit Twiddling.
  1078. * nextafter: (libc)FP Bit Twiddling.
  1079. * nextafterl: (libc)FP Bit Twiddling.
  1080. * nextdownf: (libc)FP Bit Twiddling.
  1081. * nextdown: (libc)FP Bit Twiddling.
  1082. * nextdownl: (libc)FP Bit Twiddling.
  1083. * nexttowardf: (libc)FP Bit Twiddling.
  1084. * nexttoward: (libc)FP Bit Twiddling.
  1085. * nexttowardl: (libc)FP Bit Twiddling.
  1086. * nextupf: (libc)FP Bit Twiddling.
  1087. * nextup: (libc)FP Bit Twiddling.
  1088. * nextupl: (libc)FP Bit Twiddling.
  1089. * nftw64: (libc)Working with Directory Trees.
  1090. * nftw: (libc)Working with Directory Trees.
  1091. * ngettext: (libc)Advanced gettext functions.
  1092. * NGROUPS_MAX: (libc)General Limits.
  1093. * nice: (libc)Traditional Scheduling Functions.
  1094. * nl_langinfo: (libc)The Elegant and Fast Way.
  1095. * NOFLSH: (libc)Local Modes.
  1096. * NOKERNINFO: (libc)Local Modes.
  1097. * nrand48: (libc)SVID Random.
  1098. * nrand48_r: (libc)SVID Random.
  1099. * NSIG: (libc)Standard Signals.
  1100. * ntohl: (libc)Byte Order.
  1101. * ntohs: (libc)Byte Order.
  1102. * ntp_adjtime: (libc)High Accuracy Clock.
  1103. * ntp_gettime: (libc)High Accuracy Clock.
  1104. * NULL: (libc)Null Pointer Constant.
  1105. * O_ACCMODE: (libc)Access Modes.
  1106. * O_APPEND: (libc)Operating Modes.
  1107. * O_ASYNC: (libc)Operating Modes.
  1108. * obstack_1grow_fast: (libc)Extra Fast Growing.
  1109. * obstack_1grow: (libc)Growing Objects.
  1110. * obstack_alignment_mask: (libc)Obstacks Data Alignment.
  1111. * obstack_alloc: (libc)Allocation in an Obstack.
  1112. * obstack_base: (libc)Status of an Obstack.
  1113. * obstack_blank_fast: (libc)Extra Fast Growing.
  1114. * obstack_blank: (libc)Growing Objects.
  1115. * obstack_chunk_size: (libc)Obstack Chunks.
  1116. * obstack_copy0: (libc)Allocation in an Obstack.
  1117. * obstack_copy: (libc)Allocation in an Obstack.
  1118. * obstack_finish: (libc)Growing Objects.
  1119. * obstack_free: (libc)Freeing Obstack Objects.
  1120. * obstack_grow0: (libc)Growing Objects.
  1121. * obstack_grow: (libc)Growing Objects.
  1122. * obstack_init: (libc)Preparing for Obstacks.
  1123. * obstack_int_grow_fast: (libc)Extra Fast Growing.
  1124. * obstack_int_grow: (libc)Growing Objects.
  1125. * obstack_next_free: (libc)Status of an Obstack.
  1126. * obstack_object_size: (libc)Growing Objects.
  1127. * obstack_object_size: (libc)Status of an Obstack.
  1128. * obstack_printf: (libc)Dynamic Output.
  1129. * obstack_ptr_grow_fast: (libc)Extra Fast Growing.
  1130. * obstack_ptr_grow: (libc)Growing Objects.
  1131. * obstack_room: (libc)Extra Fast Growing.
  1132. * obstack_vprintf: (libc)Variable Arguments Output.
  1133. * O_CREAT: (libc)Open-time Flags.
  1134. * O_EXCL: (libc)Open-time Flags.
  1135. * O_EXEC: (libc)Access Modes.
  1136. * O_EXLOCK: (libc)Open-time Flags.
  1137. * offsetof: (libc)Structure Measurement.
  1138. * O_FSYNC: (libc)Operating Modes.
  1139. * O_IGNORE_CTTY: (libc)Open-time Flags.
  1140. * O_NDELAY: (libc)Operating Modes.
  1141. * on_exit: (libc)Cleanups on Exit.
  1142. * ONLCR: (libc)Output Modes.
  1143. * O_NOATIME: (libc)Operating Modes.
  1144. * O_NOCTTY: (libc)Open-time Flags.
  1145. * ONOEOT: (libc)Output Modes.
  1146. * O_NOLINK: (libc)Open-time Flags.
  1147. * O_NONBLOCK: (libc)Open-time Flags.
  1148. * O_NONBLOCK: (libc)Operating Modes.
  1149. * O_NOTRANS: (libc)Open-time Flags.
  1150. * open64: (libc)Opening and Closing Files.
  1151. * opendir: (libc)Opening a Directory.
  1152. * open: (libc)Opening and Closing Files.
  1153. * openlog: (libc)openlog.
  1154. * OPEN_MAX: (libc)General Limits.
  1155. * open_memstream: (libc)String Streams.
  1156. * openpty: (libc)Pseudo-Terminal Pairs.
  1157. * OPOST: (libc)Output Modes.
  1158. * O_RDONLY: (libc)Access Modes.
  1159. * O_RDWR: (libc)Access Modes.
  1160. * O_READ: (libc)Access Modes.
  1161. * O_SHLOCK: (libc)Open-time Flags.
  1162. * O_SYNC: (libc)Operating Modes.
  1163. * O_TRUNC: (libc)Open-time Flags.
  1164. * O_WRITE: (libc)Access Modes.
  1165. * O_WRONLY: (libc)Access Modes.
  1166. * OXTABS: (libc)Output Modes.
  1167. * PA_FLAG_MASK: (libc)Parsing a Template String.
  1168. * PARENB: (libc)Control Modes.
  1169. * PARMRK: (libc)Input Modes.
  1170. * PARODD: (libc)Control Modes.
  1171. * parse_printf_format: (libc)Parsing a Template String.
  1172. * pathconf: (libc)Pathconf.
  1173. * PATH_MAX: (libc)Limits for Files.
  1174. * _PATH_UTMP: (libc)Manipulating the Database.
  1175. * _PATH_WTMP: (libc)Manipulating the Database.
  1176. * pause: (libc)Using Pause.
  1177. * pclose: (libc)Pipe to a Subprocess.
  1178. * PENDIN: (libc)Local Modes.
  1179. * perror: (libc)Error Messages.
  1180. * PF_FILE: (libc)Local Namespace Details.
  1181. * PF_INET6: (libc)Internet Namespace.
  1182. * PF_INET: (libc)Internet Namespace.
  1183. * PF_LOCAL: (libc)Local Namespace Details.
  1184. * PF_UNIX: (libc)Local Namespace Details.
  1185. * PIPE_BUF: (libc)Limits for Files.
  1186. * pipe: (libc)Creating a Pipe.
  1187. * popen: (libc)Pipe to a Subprocess.
  1188. * _POSIX2_C_DEV: (libc)System Options.
  1189. * _POSIX2_C_VERSION: (libc)Version Supported.
  1190. * _POSIX2_FORT_DEV: (libc)System Options.
  1191. * _POSIX2_FORT_RUN: (libc)System Options.
  1192. * _POSIX2_LOCALEDEF: (libc)System Options.
  1193. * _POSIX2_SW_DEV: (libc)System Options.
  1194. * _POSIX_CHOWN_RESTRICTED: (libc)Options for Files.
  1195. * posix_fallocate64: (libc)Storage Allocation.
  1196. * posix_fallocate: (libc)Storage Allocation.
  1197. * _POSIX_JOB_CONTROL: (libc)System Options.
  1198. * posix_memalign: (libc)Aligned Memory Blocks.
  1199. * _POSIX_NO_TRUNC: (libc)Options for Files.
  1200. * _POSIX_SAVED_IDS: (libc)System Options.
  1201. * _POSIX_VDISABLE: (libc)Options for Files.
  1202. * _POSIX_VERSION: (libc)Version Supported.
  1203. * pow10f: (libc)Exponents and Logarithms.
  1204. * pow10: (libc)Exponents and Logarithms.
  1205. * pow10l: (libc)Exponents and Logarithms.
  1206. * powf: (libc)Exponents and Logarithms.
  1207. * pow: (libc)Exponents and Logarithms.
  1208. * powl: (libc)Exponents and Logarithms.
  1209. * __ppc_get_timebase_freq: (libc)PowerPC.
  1210. * __ppc_get_timebase: (libc)PowerPC.
  1211. * __ppc_mdoio: (libc)PowerPC.
  1212. * __ppc_mdoom: (libc)PowerPC.
  1213. * __ppc_set_ppr_low: (libc)PowerPC.
  1214. * __ppc_set_ppr_med_high: (libc)PowerPC.
  1215. * __ppc_set_ppr_med: (libc)PowerPC.
  1216. * __ppc_set_ppr_med_low: (libc)PowerPC.
  1217. * __ppc_set_ppr_very_low: (libc)PowerPC.
  1218. * __ppc_yield: (libc)PowerPC.
  1219. * pread64: (libc)I/O Primitives.
  1220. * pread: (libc)I/O Primitives.
  1221. * printf: (libc)Formatted Output Functions.
  1222. * printf_size_info: (libc)Predefined Printf Handlers.
  1223. * printf_size: (libc)Predefined Printf Handlers.
  1224. * psignal: (libc)Signal Messages.
  1225. * pthread_getattr_default_np: (libc)Default Thread Attributes.
  1226. * pthread_getspecific: (libc)Thread-specific Data.
  1227. * pthread_key_create: (libc)Thread-specific Data.
  1228. * pthread_key_delete: (libc)Thread-specific Data.
  1229. * pthread_setattr_default_np: (libc)Default Thread Attributes.
  1230. * pthread_setspecific: (libc)Thread-specific Data.
  1231. * P_tmpdir: (libc)Temporary Files.
  1232. * ptsname: (libc)Allocation.
  1233. * ptsname_r: (libc)Allocation.
  1234. * putchar: (libc)Simple Output.
  1235. * putchar_unlocked: (libc)Simple Output.
  1236. * putc: (libc)Simple Output.
  1237. * putc_unlocked: (libc)Simple Output.
  1238. * putenv: (libc)Environment Access.
  1239. * putpwent: (libc)Writing a User Entry.
  1240. * puts: (libc)Simple Output.
  1241. * pututline: (libc)Manipulating the Database.
  1242. * pututxline: (libc)XPG Functions.
  1243. * putwchar: (libc)Simple Output.
  1244. * putwchar_unlocked: (libc)Simple Output.
  1245. * putwc: (libc)Simple Output.
  1246. * putwc_unlocked: (libc)Simple Output.
  1247. * putw: (libc)Simple Output.
  1248. * pwrite64: (libc)I/O Primitives.
  1249. * pwrite: (libc)I/O Primitives.
  1250. * qecvt: (libc)System V Number Conversion.
  1251. * qecvt_r: (libc)System V Number Conversion.
  1252. * qfcvt: (libc)System V Number Conversion.
  1253. * qfcvt_r: (libc)System V Number Conversion.
  1254. * qgcvt: (libc)System V Number Conversion.
  1255. * qsort: (libc)Array Sort Function.
  1256. * raise: (libc)Signaling Yourself.
  1257. * rand: (libc)ISO Random.
  1258. * RAND_MAX: (libc)ISO Random.
  1259. * random: (libc)BSD Random.
  1260. * random_r: (libc)BSD Random.
  1261. * rand_r: (libc)ISO Random.
  1262. * rawmemchr: (libc)Search Functions.
  1263. * readdir64: (libc)Reading/Closing Directory.
  1264. * readdir64_r: (libc)Reading/Closing Directory.
  1265. * readdir: (libc)Reading/Closing Directory.
  1266. * readdir_r: (libc)Reading/Closing Directory.
  1267. * read: (libc)I/O Primitives.
  1268. * readlink: (libc)Symbolic Links.
  1269. * readv: (libc)Scatter-Gather.
  1270. * realloc: (libc)Changing Block Size.
  1271. * realpath: (libc)Symbolic Links.
  1272. * recvfrom: (libc)Receiving Datagrams.
  1273. * recv: (libc)Receiving Data.
  1274. * recvmsg: (libc)Receiving Datagrams.
  1275. * RE_DUP_MAX: (libc)General Limits.
  1276. * regcomp: (libc)POSIX Regexp Compilation.
  1277. * regerror: (libc)Regexp Cleanup.
  1278. * regexec: (libc)Matching POSIX Regexps.
  1279. * regfree: (libc)Regexp Cleanup.
  1280. * register_printf_function: (libc)Registering New Conversions.
  1281. * remainderf: (libc)Remainder Functions.
  1282. * remainder: (libc)Remainder Functions.
  1283. * remainderl: (libc)Remainder Functions.
  1284. * remove: (libc)Deleting Files.
  1285. * rename: (libc)Renaming Files.
  1286. * rewinddir: (libc)Random Access Directory.
  1287. * rewind: (libc)File Positioning.
  1288. * rindex: (libc)Search Functions.
  1289. * rintf: (libc)Rounding Functions.
  1290. * rint: (libc)Rounding Functions.
  1291. * rintl: (libc)Rounding Functions.
  1292. * RLIM_INFINITY: (libc)Limits on Resources.
  1293. * rmdir: (libc)Deleting Files.
  1294. * R_OK: (libc)Testing File Access.
  1295. * roundevenf: (libc)Rounding Functions.
  1296. * roundeven: (libc)Rounding Functions.
  1297. * roundevenl: (libc)Rounding Functions.
  1298. * roundf: (libc)Rounding Functions.
  1299. * round: (libc)Rounding Functions.
  1300. * roundl: (libc)Rounding Functions.
  1301. * rpmatch: (libc)Yes-or-No Questions.
  1302. * SA_NOCLDSTOP: (libc)Flags for Sigaction.
  1303. * SA_ONSTACK: (libc)Flags for Sigaction.
  1304. * SA_RESTART: (libc)Flags for Sigaction.
  1305. * sbrk: (libc)Resizing the Data Segment.
  1306. * scalbf: (libc)Normalization Functions.
  1307. * scalb: (libc)Normalization Functions.
  1308. * scalbl: (libc)Normalization Functions.
  1309. * scalblnf: (libc)Normalization Functions.
  1310. * scalbln: (libc)Normalization Functions.
  1311. * scalblnl: (libc)Normalization Functions.
  1312. * scalbnf: (libc)Normalization Functions.
  1313. * scalbn: (libc)Normalization Functions.
  1314. * scalbnl: (libc)Normalization Functions.
  1315. * scandir64: (libc)Scanning Directory Content.
  1316. * scandir: (libc)Scanning Directory Content.
  1317. * scanf: (libc)Formatted Input Functions.
  1318. * sched_getaffinity: (libc)CPU Affinity.
  1319. * sched_getparam: (libc)Basic Scheduling Functions.
  1320. * sched_get_priority_max: (libc)Basic Scheduling Functions.
  1321. * sched_get_priority_min: (libc)Basic Scheduling Functions.
  1322. * sched_getscheduler: (libc)Basic Scheduling Functions.
  1323. * sched_rr_get_interval: (libc)Basic Scheduling Functions.
  1324. * sched_setaffinity: (libc)CPU Affinity.
  1325. * sched_setparam: (libc)Basic Scheduling Functions.
  1326. * sched_setscheduler: (libc)Basic Scheduling Functions.
  1327. * sched_yield: (libc)Basic Scheduling Functions.
  1328. * secure_getenv: (libc)Environment Access.
  1329. * seed48: (libc)SVID Random.
  1330. * seed48_r: (libc)SVID Random.
  1331. * SEEK_CUR: (libc)File Positioning.
  1332. * seekdir: (libc)Random Access Directory.
  1333. * SEEK_END: (libc)File Positioning.
  1334. * SEEK_SET: (libc)File Positioning.
  1335. * select: (libc)Waiting for I/O.
  1336. * sem_close: (libc)Semaphores.
  1337. * semctl: (libc)Semaphores.
  1338. * sem_destroy: (libc)Semaphores.
  1339. * semget: (libc)Semaphores.
  1340. * sem_getvalue: (libc)Semaphores.
  1341. * sem_init: (libc)Semaphores.
  1342. * sem_open: (libc)Semaphores.
  1343. * semop: (libc)Semaphores.
  1344. * sem_post: (libc)Semaphores.
  1345. * semtimedop: (libc)Semaphores.
  1346. * sem_timedwait: (libc)Semaphores.
  1347. * sem_trywait: (libc)Semaphores.
  1348. * sem_unlink: (libc)Semaphores.
  1349. * sem_wait: (libc)Semaphores.
  1350. * send: (libc)Sending Data.
  1351. * sendmsg: (libc)Receiving Datagrams.
  1352. * sendto: (libc)Sending Datagrams.
  1353. * setbuffer: (libc)Controlling Buffering.
  1354. * setbuf: (libc)Controlling Buffering.
  1355. * setcontext: (libc)System V contexts.
  1356. * setdomainname: (libc)Host Identification.
  1357. * setegid: (libc)Setting Groups.
  1358. * setenv: (libc)Environment Access.
  1359. * seteuid: (libc)Setting User ID.
  1360. * setfsent: (libc)fstab.
  1361. * setgid: (libc)Setting Groups.
  1362. * setgrent: (libc)Scanning All Groups.
  1363. * setgroups: (libc)Setting Groups.
  1364. * sethostent: (libc)Host Names.
  1365. * sethostid: (libc)Host Identification.
  1366. * sethostname: (libc)Host Identification.
  1367. * setitimer: (libc)Setting an Alarm.
  1368. * setjmp: (libc)Non-Local Details.
  1369. * setkey: (libc)DES Encryption.
  1370. * setkey_r: (libc)DES Encryption.
  1371. * setlinebuf: (libc)Controlling Buffering.
  1372. * setlocale: (libc)Setting the Locale.
  1373. * setlogmask: (libc)setlogmask.
  1374. * setmntent: (libc)mtab.
  1375. * setnetent: (libc)Networks Database.
  1376. * setnetgrent: (libc)Lookup Netgroup.
  1377. * setpayloadf: (libc)FP Bit Twiddling.
  1378. * setpayload: (libc)FP Bit Twiddling.
  1379. * setpayloadl: (libc)FP Bit Twiddling.
  1380. * setpayloadsigf: (libc)FP Bit Twiddling.
  1381. * setpayloadsig: (libc)FP Bit Twiddling.
  1382. * setpayloadsigl: (libc)FP Bit Twiddling.
  1383. * setpgid: (libc)Process Group Functions.
  1384. * setpgrp: (libc)Process Group Functions.
  1385. * setpriority: (libc)Traditional Scheduling Functions.
  1386. * setprotoent: (libc)Protocols Database.
  1387. * setpwent: (libc)Scanning All Users.
  1388. * setregid: (libc)Setting Groups.
  1389. * setreuid: (libc)Setting User ID.
  1390. * setrlimit64: (libc)Limits on Resources.
  1391. * setrlimit: (libc)Limits on Resources.
  1392. * setservent: (libc)Services Database.
  1393. * setsid: (libc)Process Group Functions.
  1394. * setsockopt: (libc)Socket Option Functions.
  1395. * setstate: (libc)BSD Random.
  1396. * setstate_r: (libc)BSD Random.
  1397. * settimeofday: (libc)High-Resolution Calendar.
  1398. * setuid: (libc)Setting User ID.
  1399. * setutent: (libc)Manipulating the Database.
  1400. * setutxent: (libc)XPG Functions.
  1401. * setvbuf: (libc)Controlling Buffering.
  1402. * shm_open: (libc)Memory-mapped I/O.
  1403. * shm_unlink: (libc)Memory-mapped I/O.
  1404. * shutdown: (libc)Closing a Socket.
  1405. * S_IFMT: (libc)Testing File Type.
  1406. * SIGABRT: (libc)Program Error Signals.
  1407. * sigaction: (libc)Advanced Signal Handling.
  1408. * sigaddset: (libc)Signal Sets.
  1409. * SIGALRM: (libc)Alarm Signals.
  1410. * sigaltstack: (libc)Signal Stack.
  1411. * sigblock: (libc)BSD Signal Handling.
  1412. * SIGBUS: (libc)Program Error Signals.
  1413. * SIGCHLD: (libc)Job Control Signals.
  1414. * SIGCLD: (libc)Job Control Signals.
  1415. * SIGCONT: (libc)Job Control Signals.
  1416. * sigdelset: (libc)Signal Sets.
  1417. * sigemptyset: (libc)Signal Sets.
  1418. * SIGEMT: (libc)Program Error Signals.
  1419. * SIG_ERR: (libc)Basic Signal Handling.
  1420. * sigfillset: (libc)Signal Sets.
  1421. * SIGFPE: (libc)Program Error Signals.
  1422. * SIGHUP: (libc)Termination Signals.
  1423. * SIGILL: (libc)Program Error Signals.
  1424. * SIGINFO: (libc)Miscellaneous Signals.
  1425. * siginterrupt: (libc)BSD Signal Handling.
  1426. * SIGINT: (libc)Termination Signals.
  1427. * SIGIO: (libc)Asynchronous I/O Signals.
  1428. * SIGIOT: (libc)Program Error Signals.
  1429. * sigismember: (libc)Signal Sets.
  1430. * SIGKILL: (libc)Termination Signals.
  1431. * siglongjmp: (libc)Non-Local Exits and Signals.
  1432. * SIGLOST: (libc)Operation Error Signals.
  1433. * sigmask: (libc)BSD Signal Handling.
  1434. * signal: (libc)Basic Signal Handling.
  1435. * signbit: (libc)FP Bit Twiddling.
  1436. * significandf: (libc)Normalization Functions.
  1437. * significand: (libc)Normalization Functions.
  1438. * significandl: (libc)Normalization Functions.
  1439. * sigpause: (libc)BSD Signal Handling.
  1440. * sigpending: (libc)Checking for Pending Signals.
  1441. * SIGPIPE: (libc)Operation Error Signals.
  1442. * SIGPOLL: (libc)Asynchronous I/O Signals.
  1443. * sigprocmask: (libc)Process Signal Mask.
  1444. * SIGPROF: (libc)Alarm Signals.
  1445. * SIGQUIT: (libc)Termination Signals.
  1446. * SIGSEGV: (libc)Program Error Signals.
  1447. * sigsetjmp: (libc)Non-Local Exits and Signals.
  1448. * sigsetmask: (libc)BSD Signal Handling.
  1449. * sigstack: (libc)Signal Stack.
  1450. * SIGSTOP: (libc)Job Control Signals.
  1451. * sigsuspend: (libc)Sigsuspend.
  1452. * SIGSYS: (libc)Program Error Signals.
  1453. * SIGTERM: (libc)Termination Signals.
  1454. * SIGTRAP: (libc)Program Error Signals.
  1455. * SIGTSTP: (libc)Job Control Signals.
  1456. * SIGTTIN: (libc)Job Control Signals.
  1457. * SIGTTOU: (libc)Job Control Signals.
  1458. * SIGURG: (libc)Asynchronous I/O Signals.
  1459. * SIGUSR1: (libc)Miscellaneous Signals.
  1460. * SIGUSR2: (libc)Miscellaneous Signals.
  1461. * SIGVTALRM: (libc)Alarm Signals.
  1462. * SIGWINCH: (libc)Miscellaneous Signals.
  1463. * SIGXCPU: (libc)Operation Error Signals.
  1464. * SIGXFSZ: (libc)Operation Error Signals.
  1465. * sincosf: (libc)Trig Functions.
  1466. * sincos: (libc)Trig Functions.
  1467. * sincosl: (libc)Trig Functions.
  1468. * sinf: (libc)Trig Functions.
  1469. * sinhf: (libc)Hyperbolic Functions.
  1470. * sinh: (libc)Hyperbolic Functions.
  1471. * sinhl: (libc)Hyperbolic Functions.
  1472. * sin: (libc)Trig Functions.
  1473. * sinl: (libc)Trig Functions.
  1474. * S_ISBLK: (libc)Testing File Type.
  1475. * S_ISCHR: (libc)Testing File Type.
  1476. * S_ISDIR: (libc)Testing File Type.
  1477. * S_ISFIFO: (libc)Testing File Type.
  1478. * S_ISLNK: (libc)Testing File Type.
  1479. * S_ISREG: (libc)Testing File Type.
  1480. * S_ISSOCK: (libc)Testing File Type.
  1481. * sleep: (libc)Sleeping.
  1482. * SNANF: (libc)Infinity and NaN.
  1483. * SNAN: (libc)Infinity and NaN.
  1484. * SNANL: (libc)Infinity and NaN.
  1485. * snprintf: (libc)Formatted Output Functions.
  1486. * SOCK_DGRAM: (libc)Communication Styles.
  1487. * socket: (libc)Creating a Socket.
  1488. * socketpair: (libc)Socket Pairs.
  1489. * SOCK_RAW: (libc)Communication Styles.
  1490. * SOCK_RDM: (libc)Communication Styles.
  1491. * SOCK_SEQPACKET: (libc)Communication Styles.
  1492. * SOCK_STREAM: (libc)Communication Styles.
  1493. * SOL_SOCKET: (libc)Socket-Level Options.
  1494. * sprintf: (libc)Formatted Output Functions.
  1495. * sqrtf: (libc)Exponents and Logarithms.
  1496. * sqrt: (libc)Exponents and Logarithms.
  1497. * sqrtl: (libc)Exponents and Logarithms.
  1498. * srand48: (libc)SVID Random.
  1499. * srand48_r: (libc)SVID Random.
  1500. * srand: (libc)ISO Random.
  1501. * srandom: (libc)BSD Random.
  1502. * srandom_r: (libc)BSD Random.
  1503. * sscanf: (libc)Formatted Input Functions.
  1504. * ssignal: (libc)Basic Signal Handling.
  1505. * SSIZE_MAX: (libc)General Limits.
  1506. * stat64: (libc)Reading Attributes.
  1507. * stat: (libc)Reading Attributes.
  1508. * stime: (libc)Simple Calendar Time.
  1509. * stpcpy: (libc)Copying Strings and Arrays.
  1510. * stpncpy: (libc)Truncating Strings.
  1511. * strcasecmp: (libc)String/Array Comparison.
  1512. * strcasestr: (libc)Search Functions.
  1513. * strcat: (libc)Concatenating Strings.
  1514. * strchr: (libc)Search Functions.
  1515. * strchrnul: (libc)Search Functions.
  1516. * strcmp: (libc)String/Array Comparison.
  1517. * strcoll: (libc)Collation Functions.
  1518. * strcpy: (libc)Copying Strings and Arrays.
  1519. * strcspn: (libc)Search Functions.
  1520. * strdupa: (libc)Copying Strings and Arrays.
  1521. * strdup: (libc)Copying Strings and Arrays.
  1522. * STREAM_MAX: (libc)General Limits.
  1523. * strerror: (libc)Error Messages.
  1524. * strerror_r: (libc)Error Messages.
  1525. * strfmon: (libc)Formatting Numbers.
  1526. * strfromd: (libc)Printing of Floats.
  1527. * strfromf: (libc)Printing of Floats.
  1528. * strfroml: (libc)Printing of Floats.
  1529. * strfry: (libc)strfry.
  1530. * strftime: (libc)Formatting Calendar Time.
  1531. * strlen: (libc)String Length.
  1532. * strncasecmp: (libc)String/Array Comparison.
  1533. * strncat: (libc)Truncating Strings.
  1534. * strncmp: (libc)String/Array Comparison.
  1535. * strncpy: (libc)Truncating Strings.
  1536. * strndupa: (libc)Truncating Strings.
  1537. * strndup: (libc)Truncating Strings.
  1538. * strnlen: (libc)String Length.
  1539. * strpbrk: (libc)Search Functions.
  1540. * strptime: (libc)Low-Level Time String Parsing.
  1541. * strrchr: (libc)Search Functions.
  1542. * strsep: (libc)Finding Tokens in a String.
  1543. * strsignal: (libc)Signal Messages.
  1544. * strspn: (libc)Search Functions.
  1545. * strstr: (libc)Search Functions.
  1546. * strtod: (libc)Parsing of Floats.
  1547. * strtof: (libc)Parsing of Floats.
  1548. * strtoimax: (libc)Parsing of Integers.
  1549. * strtok: (libc)Finding Tokens in a String.
  1550. * strtok_r: (libc)Finding Tokens in a String.
  1551. * strtold: (libc)Parsing of Floats.
  1552. * strtol: (libc)Parsing of Integers.
  1553. * strtoll: (libc)Parsing of Integers.
  1554. * strtoq: (libc)Parsing of Integers.
  1555. * strtoul: (libc)Parsing of Integers.
  1556. * strtoull: (libc)Parsing of Integers.
  1557. * strtoumax: (libc)Parsing of Integers.
  1558. * strtouq: (libc)Parsing of Integers.
  1559. * strverscmp: (libc)String/Array Comparison.
  1560. * strxfrm: (libc)Collation Functions.
  1561. * stty: (libc)BSD Terminal Modes.
  1562. * S_TYPEISMQ: (libc)Testing File Type.
  1563. * S_TYPEISSEM: (libc)Testing File Type.
  1564. * S_TYPEISSHM: (libc)Testing File Type.
  1565. * SUN_LEN: (libc)Local Namespace Details.
  1566. * swapcontext: (libc)System V contexts.
  1567. * swprintf: (libc)Formatted Output Functions.
  1568. * swscanf: (libc)Formatted Input Functions.
  1569. * symlink: (libc)Symbolic Links.
  1570. * sync: (libc)Synchronizing I/O.
  1571. * syscall: (libc)System Calls.
  1572. * sysconf: (libc)Sysconf Definition.
  1573. * sysctl: (libc)System Parameters.
  1574. * syslog: (libc)syslog; vsyslog.
  1575. * system: (libc)Running a Command.
  1576. * sysv_signal: (libc)Basic Signal Handling.
  1577. * tanf: (libc)Trig Functions.
  1578. * tanhf: (libc)Hyperbolic Functions.
  1579. * tanh: (libc)Hyperbolic Functions.
  1580. * tanhl: (libc)Hyperbolic Functions.
  1581. * tan: (libc)Trig Functions.
  1582. * tanl: (libc)Trig Functions.
  1583. * tcdrain: (libc)Line Control.
  1584. * tcflow: (libc)Line Control.
  1585. * tcflush: (libc)Line Control.
  1586. * tcgetattr: (libc)Mode Functions.
  1587. * tcgetpgrp: (libc)Terminal Access Functions.
  1588. * tcgetsid: (libc)Terminal Access Functions.
  1589. * tcsendbreak: (libc)Line Control.
  1590. * tcsetattr: (libc)Mode Functions.
  1591. * tcsetpgrp: (libc)Terminal Access Functions.
  1592. * tdelete: (libc)Tree Search Function.
  1593. * tdestroy: (libc)Tree Search Function.
  1594. * telldir: (libc)Random Access Directory.
  1595. * tempnam: (libc)Temporary Files.
  1596. * textdomain: (libc)Locating gettext catalog.
  1597. * tfind: (libc)Tree Search Function.
  1598. * tgammaf: (libc)Special Functions.
  1599. * tgamma: (libc)Special Functions.
  1600. * tgammal: (libc)Special Functions.
  1601. * timegm: (libc)Broken-down Time.
  1602. * time: (libc)Simple Calendar Time.
  1603. * timelocal: (libc)Broken-down Time.
  1604. * times: (libc)Processor Time.
  1605. * tmpfile64: (libc)Temporary Files.
  1606. * tmpfile: (libc)Temporary Files.
  1607. * TMP_MAX: (libc)Temporary Files.
  1608. * tmpnam: (libc)Temporary Files.
  1609. * tmpnam_r: (libc)Temporary Files.
  1610. * toascii: (libc)Case Conversion.
  1611. * _tolower: (libc)Case Conversion.
  1612. * tolower: (libc)Case Conversion.
  1613. * TOSTOP: (libc)Local Modes.
  1614. * totalorderf: (libc)FP Comparison Functions.
  1615. * totalorder: (libc)FP Comparison Functions.
  1616. * totalorderl: (libc)FP Comparison Functions.
  1617. * totalordermagf: (libc)FP Comparison Functions.
  1618. * totalordermag: (libc)FP Comparison Functions.
  1619. * totalordermagl: (libc)FP Comparison Functions.
  1620. * _toupper: (libc)Case Conversion.
  1621. * toupper: (libc)Case Conversion.
  1622. * towctrans: (libc)Wide Character Case Conversion.
  1623. * towlower: (libc)Wide Character Case Conversion.
  1624. * towupper: (libc)Wide Character Case Conversion.
  1625. * truncate64: (libc)File Size.
  1626. * truncate: (libc)File Size.
  1627. * truncf: (libc)Rounding Functions.
  1628. * trunc: (libc)Rounding Functions.
  1629. * truncl: (libc)Rounding Functions.
  1630. * tsearch: (libc)Tree Search Function.
  1631. * ttyname: (libc)Is It a Terminal.
  1632. * ttyname_r: (libc)Is It a Terminal.
  1633. * twalk: (libc)Tree Search Function.
  1634. * TZNAME_MAX: (libc)General Limits.
  1635. * tzset: (libc)Time Zone Functions.
  1636. * ufromfpf: (libc)Rounding Functions.
  1637. * ufromfp: (libc)Rounding Functions.
  1638. * ufromfpl: (libc)Rounding Functions.
  1639. * ufromfpxf: (libc)Rounding Functions.
  1640. * ufromfpx: (libc)Rounding Functions.
  1641. * ufromfpxl: (libc)Rounding Functions.
  1642. * ulimit: (libc)Limits on Resources.
  1643. * umask: (libc)Setting Permissions.
  1644. * umount2: (libc)Mount-Unmount-Remount.
  1645. * umount: (libc)Mount-Unmount-Remount.
  1646. * uname: (libc)Platform Type.
  1647. * ungetc: (libc)How Unread.
  1648. * ungetwc: (libc)How Unread.
  1649. * unlink: (libc)Deleting Files.
  1650. * unlockpt: (libc)Allocation.
  1651. * unsetenv: (libc)Environment Access.
  1652. * updwtmp: (libc)Manipulating the Database.
  1653. * utime: (libc)File Times.
  1654. * utimes: (libc)File Times.
  1655. * utmpname: (libc)Manipulating the Database.
  1656. * utmpxname: (libc)XPG Functions.
  1657. * va_arg: (libc)Argument Macros.
  1658. * __va_copy: (libc)Argument Macros.
  1659. * va_copy: (libc)Argument Macros.
  1660. * va_end: (libc)Argument Macros.
  1661. * valloc: (libc)Aligned Memory Blocks.
  1662. * vasprintf: (libc)Variable Arguments Output.
  1663. * va_start: (libc)Argument Macros.
  1664. * VDISCARD: (libc)Other Special.
  1665. * VDSUSP: (libc)Signal Characters.
  1666. * VEOF: (libc)Editing Characters.
  1667. * VEOL2: (libc)Editing Characters.
  1668. * VEOL: (libc)Editing Characters.
  1669. * VERASE: (libc)Editing Characters.
  1670. * verr: (libc)Error Messages.
  1671. * verrx: (libc)Error Messages.
  1672. * versionsort64: (libc)Scanning Directory Content.
  1673. * versionsort: (libc)Scanning Directory Content.
  1674. * vfork: (libc)Creating a Process.
  1675. * vfprintf: (libc)Variable Arguments Output.
  1676. * vfscanf: (libc)Variable Arguments Input.
  1677. * vfwprintf: (libc)Variable Arguments Output.
  1678. * vfwscanf: (libc)Variable Arguments Input.
  1679. * VINTR: (libc)Signal Characters.
  1680. * VKILL: (libc)Editing Characters.
  1681. * vlimit: (libc)Limits on Resources.
  1682. * VLNEXT: (libc)Other Special.
  1683. * VMIN: (libc)Noncanonical Input.
  1684. * vprintf: (libc)Variable Arguments Output.
  1685. * VQUIT: (libc)Signal Characters.
  1686. * VREPRINT: (libc)Editing Characters.
  1687. * vscanf: (libc)Variable Arguments Input.
  1688. * vsnprintf: (libc)Variable Arguments Output.
  1689. * vsprintf: (libc)Variable Arguments Output.
  1690. * vsscanf: (libc)Variable Arguments Input.
  1691. * VSTART: (libc)Start/Stop Characters.
  1692. * VSTATUS: (libc)Other Special.
  1693. * VSTOP: (libc)Start/Stop Characters.
  1694. * VSUSP: (libc)Signal Characters.
  1695. * vswprintf: (libc)Variable Arguments Output.
  1696. * vswscanf: (libc)Variable Arguments Input.
  1697. * vsyslog: (libc)syslog; vsyslog.
  1698. * VTIME: (libc)Noncanonical Input.
  1699. * vtimes: (libc)Resource Usage.
  1700. * vwarn: (libc)Error Messages.
  1701. * vwarnx: (libc)Error Messages.
  1702. * VWERASE: (libc)Editing Characters.
  1703. * vwprintf: (libc)Variable Arguments Output.
  1704. * vwscanf: (libc)Variable Arguments Input.
  1705. * wait3: (libc)BSD Wait Functions.
  1706. * wait4: (libc)Process Completion.
  1707. * wait: (libc)Process Completion.
  1708. * waitpid: (libc)Process Completion.
  1709. * warn: (libc)Error Messages.
  1710. * warnx: (libc)Error Messages.
  1711. * WCHAR_MAX: (libc)Extended Char Intro.
  1712. * WCHAR_MIN: (libc)Extended Char Intro.
  1713. * WCOREDUMP: (libc)Process Completion Status.
  1714. * wcpcpy: (libc)Copying Strings and Arrays.
  1715. * wcpncpy: (libc)Truncating Strings.
  1716. * wcrtomb: (libc)Converting a Character.
  1717. * wcscasecmp: (libc)String/Array Comparison.
  1718. * wcscat: (libc)Concatenating Strings.
  1719. * wcschr: (libc)Search Functions.
  1720. * wcschrnul: (libc)Search Functions.
  1721. * wcscmp: (libc)String/Array Comparison.
  1722. * wcscoll: (libc)Collation Functions.
  1723. * wcscpy: (libc)Copying Strings and Arrays.
  1724. * wcscspn: (libc)Search Functions.
  1725. * wcsdup: (libc)Copying Strings and Arrays.
  1726. * wcsftime: (libc)Formatting Calendar Time.
  1727. * wcslen: (libc)String Length.
  1728. * wcsncasecmp: (libc)String/Array Comparison.
  1729. * wcsncat: (libc)Truncating Strings.
  1730. * wcsncmp: (libc)String/Array Comparison.
  1731. * wcsncpy: (libc)Truncating Strings.
  1732. * wcsnlen: (libc)String Length.
  1733. * wcsnrtombs: (libc)Converting Strings.
  1734. * wcspbrk: (libc)Search Functions.
  1735. * wcsrchr: (libc)Search Functions.
  1736. * wcsrtombs: (libc)Converting Strings.
  1737. * wcsspn: (libc)Search Functions.
  1738. * wcsstr: (libc)Search Functions.
  1739. * wcstod: (libc)Parsing of Floats.
  1740. * wcstof: (libc)Parsing of Floats.
  1741. * wcstoimax: (libc)Parsing of Integers.
  1742. * wcstok: (libc)Finding Tokens in a String.
  1743. * wcstold: (libc)Parsing of Floats.
  1744. * wcstol: (libc)Parsing of Integers.
  1745. * wcstoll: (libc)Parsing of Integers.
  1746. * wcstombs: (libc)Non-reentrant String Conversion.
  1747. * wcstoq: (libc)Parsing of Integers.
  1748. * wcstoul: (libc)Parsing of Integers.
  1749. * wcstoull: (libc)Parsing of Integers.
  1750. * wcstoumax: (libc)Parsing of Integers.
  1751. * wcstouq: (libc)Parsing of Integers.
  1752. * wcswcs: (libc)Search Functions.
  1753. * wcsxfrm: (libc)Collation Functions.
  1754. * wctob: (libc)Converting a Character.
  1755. * wctomb: (libc)Non-reentrant Character Conversion.
  1756. * wctrans: (libc)Wide Character Case Conversion.
  1757. * wctype: (libc)Classification of Wide Characters.
  1758. * WEOF: (libc)EOF and Errors.
  1759. * WEOF: (libc)Extended Char Intro.
  1760. * WEXITSTATUS: (libc)Process Completion Status.
  1761. * WIFEXITED: (libc)Process Completion Status.
  1762. * WIFSIGNALED: (libc)Process Completion Status.
  1763. * WIFSTOPPED: (libc)Process Completion Status.
  1764. * wmemchr: (libc)Search Functions.
  1765. * wmemcmp: (libc)String/Array Comparison.
  1766. * wmemcpy: (libc)Copying Strings and Arrays.
  1767. * wmemmove: (libc)Copying Strings and Arrays.
  1768. * wmempcpy: (libc)Copying Strings and Arrays.
  1769. * wmemset: (libc)Copying Strings and Arrays.
  1770. * W_OK: (libc)Testing File Access.
  1771. * wordexp: (libc)Calling Wordexp.
  1772. * wordfree: (libc)Calling Wordexp.
  1773. * wprintf: (libc)Formatted Output Functions.
  1774. * write: (libc)I/O Primitives.
  1775. * writev: (libc)Scatter-Gather.
  1776. * wscanf: (libc)Formatted Input Functions.
  1777. * WSTOPSIG: (libc)Process Completion Status.
  1778. * WTERMSIG: (libc)Process Completion Status.
  1779. * X_OK: (libc)Testing File Access.
  1780. * y0f: (libc)Special Functions.
  1781. * y0: (libc)Special Functions.
  1782. * y0l: (libc)Special Functions.
  1783. * y1f: (libc)Special Functions.
  1784. * y1: (libc)Special Functions.
  1785. * y1l: (libc)Special Functions.
  1786. * ynf: (libc)Special Functions.
  1787. * yn: (libc)Special Functions.
  1788. * ynl: (libc)Special Functions.
  1789. END-INFO-DIR-ENTRY
  1790. 
  1791. File: libc.info, Node: Installation, Next: Maintenance, Prev: Library Summary, Up: Top
  1792. Appendix C Installing the GNU C Library
  1793. ***************************************
  1794. Before you do anything else, you should read the FAQ at
  1795. <http://sourceware.org/glibc/wiki/FAQ>. It answers common questions and
  1796. describes problems you may experience with compilation and installation.
  1797. Features can be added to the GNU C Library via "add-on" bundles.
  1798. These are separate tar files, which you unpack into the top level of the
  1799. source tree. Then you give ‘configure’ the ‘--enable-add-ons’ option to
  1800. activate them, and they will be compiled into the library.
  1801. You will need recent versions of several GNU tools: definitely GCC
  1802. and GNU Make, and possibly others. *Note Tools for Compilation::,
  1803. below.
  1804. * Menu:
  1805. * Configuring and compiling:: How to compile and test GNU libc.
  1806. * Running make install:: How to install it once you’ve got it
  1807. compiled.
  1808. * Tools for Compilation:: You’ll need these first.
  1809. * Linux:: Specific advice for GNU/Linux systems.
  1810. * Reporting Bugs:: So they’ll get fixed.
  1811. 
  1812. File: libc.info, Node: Configuring and compiling, Next: Running make install, Up: Installation
  1813. C.1 Configuring and compiling the GNU C Library
  1814. ===============================================
  1815. The GNU C Library cannot be compiled in the source directory. You must
  1816. build it in a separate build directory. For example, if you have
  1817. unpacked the GNU C Library sources in ‘/src/gnu/glibc-VERSION’, create a
  1818. directory ‘/src/gnu/glibc-build’ to put the object files in. This
  1819. allows removing the whole build directory in case an error occurs, which
  1820. is the safest way to get a fresh start and should always be done.
  1821. From your object directory, run the shell script ‘configure’ located
  1822. at the top level of the source tree. In the scenario above, you’d type
  1823. $ ../glibc-VERSION/configure ARGS…
  1824. Please note that even though you’re building in a separate build
  1825. directory, the compilation may need to create or modify files and
  1826. directories in the source directory.
  1827. ‘configure’ takes many options, but the only one that is usually
  1828. mandatory is ‘--prefix’. This option tells ‘configure’ where you want
  1829. the GNU C Library installed. This defaults to ‘/usr/local’, but the
  1830. normal setting to install as the standard system library is
  1831. ‘--prefix=/usr’ for GNU/Linux systems and ‘--prefix=’ (an empty prefix)
  1832. for GNU/Hurd systems.
  1833. It may also be useful to set the CC and CFLAGS variables in the
  1834. environment when running ‘configure’. CC selects the C compiler that
  1835. will be used, and CFLAGS sets optimization options for the compiler.
  1836. The following list describes all of the available options for
  1837. ‘configure’:
  1838. ‘--prefix=DIRECTORY’
  1839. Install machine-independent data files in subdirectories of
  1840. ‘DIRECTORY’. The default is to install in ‘/usr/local’.
  1841. ‘--exec-prefix=DIRECTORY’
  1842. Install the library and other machine-dependent files in
  1843. subdirectories of ‘DIRECTORY’. The default is to the ‘--prefix’
  1844. directory if that option is specified, or ‘/usr/local’ otherwise.
  1845. ‘--with-headers=DIRECTORY’
  1846. Look for kernel header files in DIRECTORY, not ‘/usr/include’. The
  1847. GNU C Library needs information from the kernel’s header files
  1848. describing the interface to the kernel. The GNU C Library will
  1849. normally look in ‘/usr/include’ for them, but if you specify this
  1850. option, it will look in DIRECTORY instead.
  1851. This option is primarily of use on a system where the headers in
  1852. ‘/usr/include’ come from an older version of the GNU C Library.
  1853. Conflicts can occasionally happen in this case. You can also use
  1854. this option if you want to compile the GNU C Library with a newer
  1855. set of kernel headers than the ones found in ‘/usr/include’.
  1856. ‘--enable-add-ons[=LIST]’
  1857. Specify add-on packages to include in the build. If this option is
  1858. specified with no list, it enables all the add-on packages it finds
  1859. in the main source directory; this is the default behavior. You
  1860. may specify an explicit list of add-ons to use in LIST, separated
  1861. by spaces or commas (if you use spaces, remember to quote them from
  1862. the shell). Each add-on in LIST can be an absolute directory name
  1863. or can be a directory name relative to the main source directory,
  1864. or relative to the build directory (that is, the current working
  1865. directory). For example,
  1866. ‘--enable-add-ons=nptl,../glibc-libidn-VERSION’.
  1867. ‘--enable-kernel=VERSION’
  1868. This option is currently only useful on GNU/Linux systems. The
  1869. VERSION parameter should have the form X.Y.Z and describes the
  1870. smallest version of the Linux kernel the generated library is
  1871. expected to support. The higher the VERSION number is, the less
  1872. compatibility code is added, and the faster the code gets.
  1873. ‘--with-binutils=DIRECTORY’
  1874. Use the binutils (assembler and linker) in ‘DIRECTORY’, not the
  1875. ones the C compiler would default to. You can use this option if
  1876. the default binutils on your system cannot deal with all the
  1877. constructs in the GNU C Library. In that case, ‘configure’ will
  1878. detect the problem and suppress these constructs, so that the
  1879. library will still be usable, but functionality may be lost—for
  1880. example, you can’t build a shared libc with old binutils.
  1881. ‘--without-fp’
  1882. Use this option if your computer lacks hardware floating-point
  1883. support and your operating system does not emulate an FPU.
  1884. ‘--disable-shared’
  1885. Don’t build shared libraries even if it is possible. Not all
  1886. systems support shared libraries; you need ELF support and
  1887. (currently) the GNU linker.
  1888. ‘--disable-profile’
  1889. Don’t build libraries with profiling information. You may want to
  1890. use this option if you don’t plan to do profiling.
  1891. ‘--enable-static-nss’
  1892. Compile static versions of the NSS (Name Service Switch) libraries.
  1893. This is not recommended because it defeats the purpose of NSS; a
  1894. program linked statically with the NSS libraries cannot be
  1895. dynamically reconfigured to use a different name database.
  1896. ‘--enable-hardcoded-path-in-tests’
  1897. By default, dynamic tests are linked to run with the installed C
  1898. library. This option hardcodes the newly built C library path in
  1899. dynamic tests so that they can be invoked directly.
  1900. ‘--disable-timezone-tools’
  1901. By default, timezone related utilities (‘zic’, ‘zdump’, and
  1902. ‘tzselect’) are installed with the GNU C Library. If you are
  1903. building these independently (e.g. by using the ‘tzcode’ package),
  1904. then this option will allow disabling the install of these.
  1905. Note that you need to make sure the external tools are kept in sync
  1906. with the versions that the GNU C Library expects as the data
  1907. formats may change over time. Consult the ‘timezone’ subdirectory
  1908. for more details.
  1909. ‘--enable-lock-elision=yes’
  1910. Enable lock elision for pthread mutexes by default.
  1911. ‘--enable-stack-protector’
  1912. ‘--enable-stack-protector=strong’
  1913. ‘--enable-stack-protector=all’
  1914. Compile the C library and all other parts of the glibc package
  1915. (including the threading and math libraries, NSS modules, and
  1916. transliteration modules) using the GCC ‘-fstack-protector’,
  1917. ‘-fstack-protector-strong’ or ‘-fstack-protector-all’ options to
  1918. detect stack overruns. Only the dynamic linker and a small number
  1919. of routines called directly from assembler are excluded from this
  1920. protection.
  1921. ‘--enable-bind-now’
  1922. Disable lazy binding for installed shared objects. This provides
  1923. additional security hardening because it enables full RELRO and a
  1924. read-only global offset table (GOT), at the cost of slightly
  1925. increased program load times.
  1926. ‘--enable-pt_chown’
  1927. The file ‘pt_chown’ is a helper binary for ‘grantpt’ (*note
  1928. Pseudo-Terminals: Allocation.) that is installed setuid root to fix
  1929. up pseudo-terminal ownership. It is not built by default because
  1930. systems using the Linux kernel are commonly built with the ‘devpts’
  1931. filesystem enabled and mounted at ‘/dev/pts’, which manages
  1932. pseudo-terminal ownership automatically. By using
  1933. ‘--enable-pt_chown’, you may build ‘pt_chown’ and install it setuid
  1934. and owned by ‘root’. The use of ‘pt_chown’ introduces additional
  1935. security risks to the system and you should enable it only if you
  1936. understand and accept those risks.
  1937. ‘--disable-werror’
  1938. By default, the GNU C Library is built with ‘-Werror’. If you wish
  1939. to build without this option (for example, if building with a newer
  1940. version of GCC than this version of the GNU C Library was tested
  1941. with, so new warnings cause the build with ‘-Werror’ to fail), you
  1942. can configure with ‘--disable-werror’.
  1943. ‘--disable-mathvec’
  1944. By default for x86_64, the GNU C Library is built with the vector
  1945. math library. Use this option to disable the vector math library.
  1946. ‘--enable-tunables’
  1947. Tunables support allows additional library parameters to be
  1948. customized at runtime. This is an experimental feature and affects
  1949. startup time and is thus disabled by default. This option can take
  1950. the following values:
  1951. ‘no’
  1952. This is the default if the option is not passed to configure.
  1953. This disables tunables.
  1954. ‘yes’
  1955. This is the default if the option is passed to configure.
  1956. This enables tunables and selects the default frontend
  1957. (currently ‘valstring’).
  1958. ‘valstring’
  1959. This enables tunables and selects the ‘valstring’ frontend for
  1960. tunables. This frontend allows users to specify tunables as a
  1961. colon-separated list in a single environment variable
  1962. ‘GLIBC_TUNABLES’.
  1963. ‘--build=BUILD-SYSTEM’
  1964. ‘--host=HOST-SYSTEM’
  1965. These options are for cross-compiling. If you specify both options
  1966. and BUILD-SYSTEM is different from HOST-SYSTEM, ‘configure’ will
  1967. prepare to cross-compile the GNU C Library from BUILD-SYSTEM to be
  1968. used on HOST-SYSTEM. You’ll probably need the ‘--with-headers’
  1969. option too, and you may have to override CONFIGURE’s selection of
  1970. the compiler and/or binutils.
  1971. If you only specify ‘--host’, ‘configure’ will prepare for a native
  1972. compile but use what you specify instead of guessing what your
  1973. system is. This is most useful to change the CPU submodel. For
  1974. example, if ‘configure’ guesses your machine as ‘i686-pc-linux-gnu’
  1975. but you want to compile a library for 586es, give
  1976. ‘--host=i586-pc-linux-gnu’ or just ‘--host=i586-linux’ and add the
  1977. appropriate compiler flags (‘-mcpu=i586’ will do the trick) to
  1978. CFLAGS.
  1979. If you specify just ‘--build’, ‘configure’ will get confused.
  1980. ‘--with-pkgversion=VERSION’
  1981. Specify a description, possibly including a build number or build
  1982. date, of the binaries being built, to be included in ‘--version’
  1983. output from programs installed with the GNU C Library. For
  1984. example, ‘--with-pkgversion='FooBar GNU/Linux glibc build 123'’.
  1985. The default value is ‘GNU libc’.
  1986. ‘--with-bugurl=URL’
  1987. Specify the URL that users should visit if they wish to report a
  1988. bug, to be included in ‘--help’ output from programs installed with
  1989. the GNU C Library. The default value refers to the main
  1990. bug-reporting information for the GNU C Library.
  1991. To build the library and related programs, type ‘make’. This will
  1992. produce a lot of output, some of which may look like errors from ‘make’
  1993. but aren’t. Look for error messages from ‘make’ containing ‘***’.
  1994. Those indicate that something is seriously wrong.
  1995. The compilation process can take a long time, depending on the
  1996. configuration and the speed of your machine. Some complex modules may
  1997. take a very long time to compile, as much as several minutes on slower
  1998. machines. Do not panic if the compiler appears to hang.
  1999. If you want to run a parallel make, simply pass the ‘-j’ option with
  2000. an appropriate numeric parameter to ‘make’. You need a recent GNU
  2001. ‘make’ version, though.
  2002. To build and run test programs which exercise some of the library
  2003. facilities, type ‘make check’. If it does not complete successfully, do
  2004. not use the built library, and report a bug after verifying that the
  2005. problem is not already known. *Note Reporting Bugs::, for instructions
  2006. on reporting bugs. Note that some of the tests assume they are not
  2007. being run by ‘root’. We recommend you compile and test the GNU C
  2008. Library as an unprivileged user.
  2009. Before reporting bugs make sure there is no problem with your system.
  2010. The tests (and later installation) use some pre-existing files of the
  2011. system such as ‘/etc/passwd’, ‘/etc/nsswitch.conf’ and others. These
  2012. files must all contain correct and sensible content.
  2013. Normally, ‘make check’ will run all the tests before reporting all
  2014. problems found and exiting with error status if any problems occurred.
  2015. You can specify ‘stop-on-test-failure=y’ when running ‘make check’ to
  2016. make the test run stop and exit with an error status immediately when a
  2017. failure occurs.
  2018. The GNU C Library pretty printers come with their own set of scripts
  2019. for testing, which run together with the rest of the testsuite through
  2020. ‘make check’. These scripts require the following tools to run
  2021. successfully:
  2022. • Python 2.7.6/3.4.3 or later
  2023. Python is required for running the printers’ test scripts.
  2024. • PExpect 4.0
  2025. The printer tests drive GDB through test programs and compare its
  2026. output to the printers’. PExpect is used to capture the output of
  2027. GDB, and should be compatible with the Python version in your
  2028. system.
  2029. • GDB 7.8 or later with support for Python 2.7.6/3.4.3 or later
  2030. GDB itself needs to be configured with Python support in order to
  2031. use the pretty printers. Notice that your system having Python
  2032. available doesn’t imply that GDB supports it, nor that your
  2033. system’s Python and GDB’s have the same version.
  2034. If these tools are absent, the printer tests will report themselves as
  2035. ‘UNSUPPORTED’. Notice that some of the printer tests require the GNU C
  2036. Library to be compiled with debugging symbols.
  2037. To format the ‘GNU C Library Reference Manual’ for printing, type
  2038. ‘make dvi’. You need a working TeX installation to do this. The
  2039. distribution builds the on-line formatted version of the manual, as Info
  2040. files, as part of the build process. You can build them manually with
  2041. ‘make info’.
  2042. The library has a number of special-purpose configuration parameters
  2043. which you can find in ‘Makeconfig’. These can be overwritten with the
  2044. file ‘configparms’. To change them, create a ‘configparms’ in your
  2045. build directory and add values as appropriate for your system. The file
  2046. is included and parsed by ‘make’ and has to follow the conventions for
  2047. makefiles.
  2048. It is easy to configure the GNU C Library for cross-compilation by
  2049. setting a few variables in ‘configparms’. Set ‘CC’ to the
  2050. cross-compiler for the target you configured the library for; it is
  2051. important to use this same ‘CC’ value when running ‘configure’, like
  2052. this: ‘CC=TARGET-gcc configure TARGET’. Set ‘BUILD_CC’ to the compiler
  2053. to use for programs run on the build system as part of compiling the
  2054. library. You may need to set ‘AR’ to cross-compiling versions of ‘ar’
  2055. if the native tools are not configured to work with object files for the
  2056. target you configured for. When cross-compiling the GNU C Library, it
  2057. may be tested using ‘make check
  2058. test-wrapper="SRCDIR/scripts/cross-test-ssh.sh HOSTNAME"’, where SRCDIR
  2059. is the absolute directory name for the main source directory and
  2060. HOSTNAME is the host name of a system that can run the newly built
  2061. binaries of the GNU C Library. The source and build directories must be
  2062. visible at the same locations on both the build system and HOSTNAME.
  2063. In general, when testing the GNU C Library, ‘test-wrapper’ may be set
  2064. to the name and arguments of any program to run newly built binaries.
  2065. This program must preserve the arguments to the binary being run, its
  2066. working directory and the standard input, output and error file
  2067. descriptors. If ‘TEST-WRAPPER env’ will not work to run a program with
  2068. environment variables set, then ‘test-wrapper-env’ must be set to a
  2069. program that runs a newly built program with environment variable
  2070. assignments in effect, those assignments being specified as ‘VAR=VALUE’
  2071. before the name of the program to be run. If multiple assignments to
  2072. the same variable are specified, the last assignment specified must take
  2073. precedence. Similarly, if ‘TEST-WRAPPER env -i’ will not work to run a
  2074. program with an environment completely empty of variables except those
  2075. directly assigned, then ‘test-wrapper-env-only’ must be set; its use has
  2076. the same syntax as ‘test-wrapper-env’, the only difference in its
  2077. semantics being starting with an empty set of environment variables
  2078. rather than the ambient set.
  2079. 
  2080. File: libc.info, Node: Running make install, Next: Tools for Compilation, Prev: Configuring and compiling, Up: Installation
  2081. C.2 Installing the C Library
  2082. ============================
  2083. To install the library and its header files, and the Info files of the
  2084. manual, type ‘make install’. This will build things, if necessary,
  2085. before installing them; however, you should still compile everything
  2086. first. If you are installing the GNU C Library as your primary C
  2087. library, we recommend that you shut the system down to single-user mode
  2088. first, and reboot afterward. This minimizes the risk of breaking things
  2089. when the library changes out from underneath.
  2090. ‘make install’ will do the entire job of upgrading from a previous
  2091. installation of the GNU C Library version 2.x. There may sometimes be
  2092. headers left behind from the previous installation, but those are
  2093. generally harmless. If you want to avoid leaving headers behind you can
  2094. do things in the following order.
  2095. You must first build the library (‘make’), optionally check it (‘make
  2096. check’), switch the include directories and then install (‘make
  2097. install’). The steps must be done in this order. Not moving the
  2098. directory before install will result in an unusable mixture of header
  2099. files from both libraries, but configuring, building, and checking the
  2100. library requires the ability to compile and run programs against the old
  2101. library. The new ‘/usr/include’, after switching the include
  2102. directories and before installing the library should contain the Linux
  2103. headers, but nothing else. If you do this, you will need to restore any
  2104. headers from libraries other than the GNU C Library yourself after
  2105. installing the library.
  2106. You can install the GNU C Library somewhere other than where you
  2107. configured it to go by setting the ‘DESTDIR’ GNU standard make variable
  2108. on the command line for ‘make install’. The value of this variable is
  2109. prepended to all the paths for installation. This is useful when
  2110. setting up a chroot environment or preparing a binary distribution. The
  2111. directory should be specified with an absolute file name. Installing
  2112. with the ‘prefix’ and ‘exec_prefix’ GNU standard make variables set is
  2113. not supported.
  2114. The GNU C Library includes a daemon called ‘nscd’, which you may or
  2115. may not want to run. ‘nscd’ caches name service lookups; it can
  2116. dramatically improve performance with NIS+, and may help with DNS as
  2117. well.
  2118. One auxiliary program, ‘/usr/libexec/pt_chown’, is installed setuid
  2119. ‘root’ if the ‘--enable-pt_chown’ configuration option is used. This
  2120. program is invoked by the ‘grantpt’ function; it sets the permissions on
  2121. a pseudoterminal so it can be used by the calling process. If you are
  2122. using a Linux kernel with the ‘devpts’ filesystem enabled and mounted at
  2123. ‘/dev/pts’, you don’t need this program.
  2124. After installation you might want to configure the timezone and
  2125. locale installation of your system. The GNU C Library comes with a
  2126. locale database which gets configured with ‘localedef’. For example, to
  2127. set up a German locale with name ‘de_DE’, simply issue the command
  2128. ‘localedef -i de_DE -f ISO-8859-1 de_DE’. To configure all locales that
  2129. are supported by the GNU C Library, you can issue from your build
  2130. directory the command ‘make localedata/install-locales’.
  2131. To configure the locally used timezone, set the ‘TZ’ environment
  2132. variable. The script ‘tzselect’ helps you to select the right value.
  2133. As an example, for Germany, ‘tzselect’ would tell you to use
  2134. ‘TZ='Europe/Berlin'’. For a system wide installation (the given paths
  2135. are for an installation with ‘--prefix=/usr’), link the timezone file
  2136. which is in ‘/usr/share/zoneinfo’ to the file ‘/etc/localtime’. For
  2137. Germany, you might execute ‘ln -s /usr/share/zoneinfo/Europe/Berlin
  2138. /etc/localtime’.
  2139. 
  2140. File: libc.info, Node: Tools for Compilation, Next: Linux, Prev: Running make install, Up: Installation
  2141. C.3 Recommended Tools for Compilation
  2142. =====================================
  2143. We recommend installing the following GNU tools before attempting to
  2144. build the GNU C Library:
  2145. • GNU ‘make’ 3.79 or newer
  2146. You need the latest version of GNU ‘make’. Modifying the GNU C
  2147. Library to work with other ‘make’ programs would be so difficult
  2148. that we recommend you port GNU ‘make’ instead. *Really.* We
  2149. recommend GNU ‘make’ version 3.79. All earlier versions have
  2150. severe bugs or lack features.
  2151. • GCC 4.7 or newer
  2152. GCC 4.7 or higher is required. In general it is recommended to use
  2153. the newest version of the compiler that is known to work for
  2154. building the GNU C Library, as newer compilers usually produce
  2155. better code. As of release time, GCC 6.3 is the newest compiler
  2156. verified to work to build the GNU C Library.
  2157. For multi-arch support it is recommended to use a GCC which has
  2158. been built with support for GNU indirect functions. This ensures
  2159. that correct debugging information is generated for functions
  2160. selected by IFUNC resolvers. This support can either be enabled by
  2161. configuring GCC with ‘--enable-gnu-indirect-function’, or by
  2162. enabling it by default by setting ‘default_gnu_indirect_function’
  2163. variable for a particular architecture in the GCC source file
  2164. ‘gcc/config.gcc’.
  2165. You can use whatever compiler you like to compile programs that use
  2166. the GNU C Library.
  2167. Check the FAQ for any special compiler issues on particular
  2168. platforms.
  2169. • GNU ‘binutils’ 2.22 or later
  2170. You must use GNU ‘binutils’ (as and ld) to build the GNU C Library.
  2171. No other assembler or linker has the necessary functionality at the
  2172. moment. As of release time, GNU ‘binutils’ 2.25 is the newest
  2173. verified to work to build the GNU C Library.
  2174. • GNU ‘texinfo’ 4.7 or later
  2175. To correctly translate and install the Texinfo documentation you
  2176. need this version of the ‘texinfo’ package. Earlier versions do
  2177. not understand all the tags used in the document, and the
  2178. installation mechanism for the info files is not present or works
  2179. differently. As of release time, ‘texinfo’ 6.0 is the newest
  2180. verified to work to build the GNU C Library.
  2181. • GNU ‘awk’ 3.1.2, or higher
  2182. ‘awk’ is used in several places to generate files. Some ‘gawk’
  2183. extensions are used, including the ‘asorti’ function, which was
  2184. introduced in version 3.1.2 of ‘gawk’. As of release time, ‘gawk’
  2185. version 4.1.3 is the newest verified to work to build the GNU C
  2186. Library.
  2187. • Perl 5
  2188. Perl is not required, but it is used if present to test the
  2189. installation. We may decide to use it elsewhere in the future.
  2190. • GNU ‘sed’ 3.02 or newer
  2191. ‘Sed’ is used in several places to generate files. Most scripts
  2192. work with any version of ‘sed’. As of release time, ‘sed’ version
  2193. 4.2.2 is the newest verified to work to build the GNU C Library.
  2194. If you change any of the ‘configure.ac’ files you will also need
  2195. • GNU ‘autoconf’ 2.69 (exactly)
  2196. and if you change any of the message translation files you will need
  2197. • GNU ‘gettext’ 0.10.36 or later
  2198. If you wish to regenerate the ‘yacc’ parser code in the ‘intl’
  2199. subdirectory you will need
  2200. • GNU ‘bison’ 2.7 or later
  2201. You may also need these packages if you upgrade your source tree using
  2202. patches, although we try to avoid this.
  2203. 
  2204. File: libc.info, Node: Linux, Next: Reporting Bugs, Prev: Tools for Compilation, Up: Installation
  2205. C.4 Specific advice for GNU/Linux systems
  2206. =========================================
  2207. If you are installing the GNU C Library on GNU/Linux systems, you need
  2208. to have the header files from a 3.2 or newer kernel around for
  2209. reference. These headers must be installed using ‘make
  2210. headers_install’; the headers present in the kernel source directory are
  2211. not suitable for direct use by the GNU C Library. You do not need to
  2212. use that kernel, just have its headers installed where the GNU C Library
  2213. can access them, referred to here as INSTALL-DIRECTORY. The easiest way
  2214. to do this is to unpack it in a directory such as
  2215. ‘/usr/src/linux-VERSION’. In that directory, run ‘make headers_install
  2216. INSTALL_HDR_PATH=INSTALL-DIRECTORY’. Finally, configure the GNU C
  2217. Library with the option ‘--with-headers=INSTALL-DIRECTORY/include’. Use
  2218. the most recent kernel you can get your hands on. (If you are
  2219. cross-compiling the GNU C Library, you need to specify
  2220. ‘ARCH=ARCHITECTURE’ in the ‘make headers_install’ command, where
  2221. ARCHITECTURE is the architecture name used by the Linux kernel, such as
  2222. ‘x86’ or ‘powerpc’.)
  2223. After installing the GNU C Library, you may need to remove or rename
  2224. directories such as ‘/usr/include/linux’ and ‘/usr/include/asm’, and
  2225. replace them with copies of directories such as ‘linux’ and ‘asm’ from
  2226. ‘INSTALL-DIRECTORY/include’. All directories present in
  2227. ‘INSTALL-DIRECTORY/include’ should be copied, except that the GNU C
  2228. Library provides its own version of ‘/usr/include/scsi’; the files
  2229. provided by the kernel should be copied without replacing those provided
  2230. by the GNU C Library. The ‘linux’, ‘asm’ and ‘asm-generic’ directories
  2231. are required to compile programs using the GNU C Library; the other
  2232. directories describe interfaces to the kernel but are not required if
  2233. not compiling programs using those interfaces. You do not need to copy
  2234. kernel headers if you did not specify an alternate kernel header source
  2235. using ‘--with-headers’.
  2236. The Filesystem Hierarchy Standard for GNU/Linux systems expects some
  2237. components of the GNU C Library installation to be in ‘/lib’ and some in
  2238. ‘/usr/lib’. This is handled automatically if you configure the GNU C
  2239. Library with ‘--prefix=/usr’. If you set some other prefix or allow it
  2240. to default to ‘/usr/local’, then all the components are installed there.
  2241. 
  2242. File: libc.info, Node: Reporting Bugs, Prev: Linux, Up: Installation
  2243. C.5 Reporting Bugs
  2244. ==================
  2245. There are probably bugs in the GNU C Library. There are certainly
  2246. errors and omissions in this manual. If you report them, they will get
  2247. fixed. If you don’t, no one will ever know about them and they will
  2248. remain unfixed for all eternity, if not longer.
  2249. It is a good idea to verify that the problem has not already been
  2250. reported. Bugs are documented in two places: The file ‘BUGS’ describes
  2251. a number of well known bugs and the central GNU C Library bug tracking
  2252. system has a WWW interface at <http://sourceware.org/bugzilla/>. The
  2253. WWW interface gives you access to open and closed reports. A closed
  2254. report normally includes a patch or a hint on solving the problem.
  2255. To report a bug, first you must find it. With any luck, this will be
  2256. the hard part. Once you’ve found a bug, make sure it’s really a bug. A
  2257. good way to do this is to see if the GNU C Library behaves the same way
  2258. some other C library does. If so, probably you are wrong and the
  2259. libraries are right (but not necessarily). If not, one of the libraries
  2260. is probably wrong. It might not be the GNU C Library. Many historical
  2261. Unix C libraries permit things that we don’t, such as closing a file
  2262. twice.
  2263. If you think you have found some way in which the GNU C Library does
  2264. not conform to the ISO and POSIX standards (*note Standards and
  2265. Portability::), that is definitely a bug. Report it!
  2266. Once you’re sure you’ve found a bug, try to narrow it down to the
  2267. smallest test case that reproduces the problem. In the case of a C
  2268. library, you really only need to narrow it down to one library function
  2269. call, if possible. This should not be too difficult.
  2270. The final step when you have a simple test case is to report the bug.
  2271. Do this at <http://www.gnu.org/software/libc/bugs.html>.
  2272. If you are not sure how a function should behave, and this manual
  2273. doesn’t tell you, that’s a bug in the manual. Report that too! If the
  2274. function’s behavior disagrees with the manual, then either the library
  2275. or the manual has a bug, so report the disagreement. If you find any
  2276. errors or omissions in this manual, please report them to the bug
  2277. database. If you refer to specific sections of the manual, please
  2278. include the section names for easier identification.
  2279. 
  2280. File: libc.info, Node: Maintenance, Next: Platform, Prev: Installation, Up: Top
  2281. Appendix D Library Maintenance
  2282. ******************************
  2283. * Menu:
  2284. * Source Layout:: How to add new functions or header files
  2285. to the GNU C Library.
  2286. * Porting:: How to port the GNU C Library to
  2287. a new machine or operating system.
  2288. 
  2289. File: libc.info, Node: Source Layout, Next: Porting, Up: Maintenance
  2290. D.1 Adding New Functions
  2291. ========================
  2292. The process of building the library is driven by the makefiles, which
  2293. make heavy use of special features of GNU ‘make’. The makefiles are
  2294. very complex, and you probably don’t want to try to understand them.
  2295. But what they do is fairly straightforward, and only requires that you
  2296. define a few variables in the right places.
  2297. The library sources are divided into subdirectories, grouped by
  2298. topic.
  2299. The ‘string’ subdirectory has all the string-manipulation functions,
  2300. ‘math’ has all the mathematical functions, etc.
  2301. Each subdirectory contains a simple makefile, called ‘Makefile’,
  2302. which defines a few ‘make’ variables and then includes the global
  2303. makefile ‘Rules’ with a line like:
  2304. include ../Rules
  2305. The basic variables that a subdirectory makefile defines are:
  2306. ‘subdir’
  2307. The name of the subdirectory, for example ‘stdio’. This variable
  2308. *must* be defined.
  2309. ‘headers’
  2310. The names of the header files in this section of the library, such
  2311. as ‘stdio.h’.
  2312. ‘routines’
  2313. ‘aux’
  2314. The names of the modules (source files) in this section of the
  2315. library. These should be simple names, such as ‘strlen’ (rather
  2316. than complete file names, such as ‘strlen.c’). Use ‘routines’ for
  2317. modules that define functions in the library, and ‘aux’ for
  2318. auxiliary modules containing things like data definitions. But the
  2319. values of ‘routines’ and ‘aux’ are just concatenated, so there
  2320. really is no practical difference.
  2321. ‘tests’
  2322. The names of test programs for this section of the library. These
  2323. should be simple names, such as ‘tester’ (rather than complete file
  2324. names, such as ‘tester.c’). ‘make tests’ will build and run all
  2325. the test programs. If a test program needs input, put the test
  2326. data in a file called ‘TEST-PROGRAM.input’; it will be given to the
  2327. test program on its standard input. If a test program wants to be
  2328. run with arguments, put the arguments (all on a single line) in a
  2329. file called ‘TEST-PROGRAM.args’. Test programs should exit with
  2330. zero status when the test passes, and nonzero status when the test
  2331. indicates a bug in the library or error in building.
  2332. ‘others’
  2333. The names of “other” programs associated with this section of the
  2334. library. These are programs which are not tests per se, but are
  2335. other small programs included with the library. They are built by
  2336. ‘make others’.
  2337. ‘install-lib’
  2338. ‘install-data’
  2339. ‘install’
  2340. Files to be installed by ‘make install’. Files listed in
  2341. ‘install-lib’ are installed in the directory specified by ‘libdir’
  2342. in ‘configparms’ or ‘Makeconfig’ (*note Installation::). Files
  2343. listed in ‘install-data’ are installed in the directory specified
  2344. by ‘datadir’ in ‘configparms’ or ‘Makeconfig’. Files listed in
  2345. ‘install’ are installed in the directory specified by ‘bindir’ in
  2346. ‘configparms’ or ‘Makeconfig’.
  2347. ‘distribute’
  2348. Other files from this subdirectory which should be put into a
  2349. distribution tar file. You need not list here the makefile itself
  2350. or the source and header files listed in the other standard
  2351. variables. Only define ‘distribute’ if there are files used in an
  2352. unusual way that should go into the distribution.
  2353. ‘generated’
  2354. Files which are generated by ‘Makefile’ in this subdirectory.
  2355. These files will be removed by ‘make clean’, and they will never go
  2356. into a distribution.
  2357. ‘extra-objs’
  2358. Extra object files which are built by ‘Makefile’ in this
  2359. subdirectory. This should be a list of file names like ‘foo.o’;
  2360. the files will actually be found in whatever directory object files
  2361. are being built in. These files will be removed by ‘make clean’.
  2362. This variable is used for secondary object files needed to build
  2363. ‘others’ or ‘tests’.
  2364. * Menu:
  2365. * Platform: Adding Platform-specific. Adding platform-specific
  2366. features.
  2367. 
  2368. File: libc.info, Node: Adding Platform-specific, Up: Source Layout
  2369. D.1.1 Platform-specific types, macros and functions
  2370. ---------------------------------------------------
  2371. It’s sometimes necessary to provide nonstandard, platform-specific
  2372. features to developers. The C library is traditionally the lowest
  2373. library layer, so it makes sense for it to provide these low-level
  2374. features. However, including these features in the C library may be a
  2375. disadvantage if another package provides them as well as there will be
  2376. two conflicting versions of them. Also, the features won’t be available
  2377. to projects that do not use the GNU C Library but use other GNU tools,
  2378. like GCC.
  2379. The current guidelines are:
  2380. • If the header file provides features that only make sense on a
  2381. particular machine architecture and have nothing to do with an
  2382. operating system, then the features should ultimately be provided
  2383. as GCC built-in functions. Until then, the GNU C Library may
  2384. provide them in the header file. When the GCC built-in functions
  2385. become available, those provided in the header file should be made
  2386. conditionally available prior to the GCC version in which the
  2387. built-in function was made available.
  2388. • If the header file provides features that are specific to an
  2389. operating system, both GCC and the GNU C Library could provide it,
  2390. but the GNU C Library is preferred as it already has a lot of
  2391. information about the operating system.
  2392. • If the header file provides features that are specific to an
  2393. operating system but used by the GNU C Library, then the GNU C
  2394. Library should provide them.
  2395. The general solution for providing low-level features is to export
  2396. them as follows:
  2397. • A nonstandard, low-level header file that defines macros and inline
  2398. functions should be called ‘sys/platform/NAME.h’.
  2399. • Each header file’s name should include the platform name, to avoid
  2400. users thinking there is anything in common between the different
  2401. header files for different platforms. For example, a
  2402. ‘sys/platform/ARCH.h’ name such as ‘sys/platform/ppc.h’ is better
  2403. than ‘sys/platform.h’.
  2404. • A platform-specific header file provided by the GNU C Library
  2405. should coordinate with GCC such that compiler built-in versions of
  2406. the functions and macros are preferred if available. This means
  2407. that user programs will only ever need to include
  2408. ‘sys/platform/ARCH.h’, keeping the same names of types, macros, and
  2409. functions for convenience and portability.
  2410. • Each included symbol must have the prefix ‘__ARCH_’, such as
  2411. ‘__ppc_get_timebase’.
  2412. The easiest way to provide a header file is to add it to the
  2413. ‘sysdep_headers’ variable. For example, the combination of
  2414. Linux-specific header files on PowerPC could be provided like this:
  2415. sysdep_headers += sys/platform/ppc.h
  2416. Then ensure that you have added a ‘sys/platform/ppc.h’ header file in
  2417. the machine-specific directory, e.g.,
  2418. ‘sysdeps/powerpc/sys/platform/ppc.h’.
  2419. 
  2420. File: libc.info, Node: Porting, Prev: Source Layout, Up: Maintenance
  2421. D.2 Porting the GNU C Library
  2422. =============================
  2423. The GNU C Library is written to be easily portable to a variety of
  2424. machines and operating systems. Machine- and operating system-dependent
  2425. functions are well separated to make it easy to add implementations for
  2426. new machines or operating systems. This section describes the layout of
  2427. the library source tree and explains the mechanisms used to select
  2428. machine-dependent code to use.
  2429. All the machine-dependent and operating system-dependent files in the
  2430. library are in the subdirectory ‘sysdeps’ under the top-level library
  2431. source directory. This directory contains a hierarchy of subdirectories
  2432. (*note Hierarchy Conventions::).
  2433. Each subdirectory of ‘sysdeps’ contains source files for a particular
  2434. machine or operating system, or for a class of machine or operating
  2435. system (for example, systems by a particular vendor, or all machines
  2436. that use IEEE 754 floating-point format). A configuration specifies an
  2437. ordered list of these subdirectories. Each subdirectory implicitly
  2438. appends its parent directory to the list. For example, specifying the
  2439. list ‘unix/bsd/vax’ is equivalent to specifying the list ‘unix/bsd/vax
  2440. unix/bsd unix’. A subdirectory can also specify that it implies other
  2441. subdirectories which are not directly above it in the directory
  2442. hierarchy. If the file ‘Implies’ exists in a subdirectory, it lists
  2443. other subdirectories of ‘sysdeps’ which are appended to the list,
  2444. appearing after the subdirectory containing the ‘Implies’ file. Lines
  2445. in an ‘Implies’ file that begin with a ‘#’ character are ignored as
  2446. comments. For example, ‘unix/bsd/Implies’ contains:
  2447. # BSD has Internet-related things.
  2448. unix/inet
  2449. and ‘unix/Implies’ contains:
  2450. posix
  2451. So the final list is ‘unix/bsd/vax unix/bsd unix/inet unix posix’.
  2452. ‘sysdeps’ has a “special” subdirectory called ‘generic’. It is
  2453. always implicitly appended to the list of subdirectories, so you needn’t
  2454. put it in an ‘Implies’ file, and you should not create any
  2455. subdirectories under it intended to be new specific categories.
  2456. ‘generic’ serves two purposes. First, the makefiles do not bother to
  2457. look for a system-dependent version of a file that’s not in ‘generic’.
  2458. This means that any system-dependent source file must have an analogue
  2459. in ‘generic’, even if the routines defined by that file are not
  2460. implemented on other platforms. Second, the ‘generic’ version of a
  2461. system-dependent file is used if the makefiles do not find a version
  2462. specific to the system you’re compiling for.
  2463. If it is possible to implement the routines in a ‘generic’ file in
  2464. machine-independent C, using only other machine-independent functions in
  2465. the C library, then you should do so. Otherwise, make them stubs. A
  2466. "stub" function is a function which cannot be implemented on a
  2467. particular machine or operating system. Stub functions always return an
  2468. error, and set ‘errno’ to ‘ENOSYS’ (Function not implemented). *Note
  2469. Error Reporting::. If you define a stub function, you must place the
  2470. statement ‘stub_warning(FUNCTION)’, where FUNCTION is the name of your
  2471. function, after its definition. This causes the function to be listed
  2472. in the installed ‘<gnu/stubs.h>’, and makes GNU ld warn when the
  2473. function is used.
  2474. Some rare functions are only useful on specific systems and aren’t
  2475. defined at all on others; these do not appear anywhere in the
  2476. system-independent source code or makefiles (including the ‘generic’
  2477. directory), only in the system-dependent ‘Makefile’ in the specific
  2478. system’s subdirectory.
  2479. If you come across a file that is in one of the main source
  2480. directories (‘string’, ‘stdio’, etc.), and you want to write a machine-
  2481. or operating system-dependent version of it, move the file into
  2482. ‘sysdeps/generic’ and write your new implementation in the appropriate
  2483. system-specific subdirectory. Note that if a file is to be
  2484. system-dependent, it *must not* appear in one of the main source
  2485. directories.
  2486. There are a few special files that may exist in each subdirectory of
  2487. ‘sysdeps’:
  2488. ‘Makefile’
  2489. A makefile for this machine or operating system, or class of
  2490. machine or operating system. This file is included by the library
  2491. makefile ‘Makerules’, which is used by the top-level makefile and
  2492. the subdirectory makefiles. It can change the variables set in the
  2493. including makefile or add new rules. It can use GNU ‘make’
  2494. conditional directives based on the variable ‘subdir’ (see above)
  2495. to select different sets of variables and rules for different
  2496. sections of the library. It can also set the ‘make’ variable
  2497. ‘sysdep-routines’, to specify extra modules to be included in the
  2498. library. You should use ‘sysdep-routines’ rather than adding
  2499. modules to ‘routines’ because the latter is used in determining
  2500. what to distribute for each subdirectory of the main source tree.
  2501. Each makefile in a subdirectory in the ordered list of
  2502. subdirectories to be searched is included in order. Since several
  2503. system-dependent makefiles may be included, each should append to
  2504. ‘sysdep-routines’ rather than simply setting it:
  2505. sysdep-routines := $(sysdep-routines) foo bar
  2506. ‘Subdirs’
  2507. This file contains the names of new whole subdirectories under the
  2508. top-level library source tree that should be included for this
  2509. system. These subdirectories are treated just like the
  2510. system-independent subdirectories in the library source tree, such
  2511. as ‘stdio’ and ‘math’.
  2512. Use this when there are completely new sets of functions and header
  2513. files that should go into the library for the system this
  2514. subdirectory of ‘sysdeps’ implements. For example,
  2515. ‘sysdeps/unix/inet/Subdirs’ contains ‘inet’; the ‘inet’ directory
  2516. contains various network-oriented operations which only make sense
  2517. to put in the library on systems that support the Internet.
  2518. ‘configure’
  2519. This file is a shell script fragment to be run at configuration
  2520. time. The top-level ‘configure’ script uses the shell ‘.’ command
  2521. to read the ‘configure’ file in each system-dependent directory
  2522. chosen, in order. The ‘configure’ files are often generated from
  2523. ‘configure.ac’ files using Autoconf.
  2524. A system-dependent ‘configure’ script will usually add things to
  2525. the shell variables ‘DEFS’ and ‘config_vars’; see the top-level
  2526. ‘configure’ script for details. The script can check for ‘--with-PACKAGE’
  2527. options that were passed to the top-level ‘configure’. For an
  2528. option ‘--with-PACKAGE=VALUE’ ‘configure’ sets the shell variable ‘with_PACKAGE’
  2529. (with any dashes in PACKAGE converted to underscores) to VALUE; if
  2530. the option is just ‘--with-PACKAGE’ (no argument), then it sets ‘with_PACKAGE’
  2531. to ‘yes’.
  2532. ‘configure.ac’
  2533. This file is an Autoconf input fragment to be processed into the
  2534. file ‘configure’ in this subdirectory. *Note
  2535. (autoconf.info)Introduction::, for a description of Autoconf. You
  2536. should write either ‘configure’ or ‘configure.ac’, but not both.
  2537. The first line of ‘configure.ac’ should invoke the ‘m4’ macro
  2538. ‘GLIBC_PROVIDES’. This macro does several ‘AC_PROVIDE’ calls for
  2539. Autoconf macros which are used by the top-level ‘configure’ script;
  2540. without this, those macros might be invoked again unnecessarily by
  2541. Autoconf.
  2542. That is the general system for how system-dependencies are isolated.
  2543. * Menu:
  2544. * Hierarchy Conventions:: The layout of the ‘sysdeps’ hierarchy.
  2545. * Porting to Unix:: Porting the library to an average
  2546. Unix-like system.
  2547. 
  2548. File: libc.info, Node: Hierarchy Conventions, Next: Porting to Unix, Up: Porting
  2549. D.2.1 Layout of the ‘sysdeps’ Directory Hierarchy
  2550. -------------------------------------------------
  2551. A GNU configuration name has three parts: the CPU type, the
  2552. manufacturer’s name, and the operating system. ‘configure’ uses these
  2553. to pick the list of system-dependent directories to look for. If the
  2554. ‘--nfp’ option is _not_ passed to ‘configure’, the directory
  2555. ‘MACHINE/fpu’ is also used. The operating system often has a "base
  2556. operating system"; for example, if the operating system is ‘Linux’, the
  2557. base operating system is ‘unix/sysv’. The algorithm used to pick the
  2558. list of directories is simple: ‘configure’ makes a list of the base
  2559. operating system, manufacturer, CPU type, and operating system, in that
  2560. order. It then concatenates all these together with slashes in between,
  2561. to produce a directory name; for example, the configuration ‘i686-linux-gnu’
  2562. results in ‘unix/sysv/linux/i386/i686’. ‘configure’ then tries removing
  2563. each element of the list in turn, so ‘unix/sysv/linux’ and ‘unix/sysv’
  2564. are also tried, among others. Since the precise version number of the
  2565. operating system is often not important, and it would be very
  2566. inconvenient, for example, to have identical ‘irix6.2’ and ‘irix6.3’
  2567. directories, ‘configure’ tries successively less specific operating
  2568. system names by removing trailing suffixes starting with a period.
  2569. As an example, here is the complete list of directories that would be
  2570. tried for the configuration ‘i686-linux-gnu’ (with the ‘crypt’ and
  2571. ‘linuxthreads’ add-on):
  2572. sysdeps/i386/elf
  2573. crypt/sysdeps/unix
  2574. linuxthreads/sysdeps/unix/sysv/linux
  2575. linuxthreads/sysdeps/pthread
  2576. linuxthreads/sysdeps/unix/sysv
  2577. linuxthreads/sysdeps/unix
  2578. linuxthreads/sysdeps/i386/i686
  2579. linuxthreads/sysdeps/i386
  2580. linuxthreads/sysdeps/pthread/no-cmpxchg
  2581. sysdeps/unix/sysv/linux/i386
  2582. sysdeps/unix/sysv/linux
  2583. sysdeps/gnu
  2584. sysdeps/unix/common
  2585. sysdeps/unix/mman
  2586. sysdeps/unix/inet
  2587. sysdeps/unix/sysv/i386/i686
  2588. sysdeps/unix/sysv/i386
  2589. sysdeps/unix/sysv
  2590. sysdeps/unix/i386
  2591. sysdeps/unix
  2592. sysdeps/posix
  2593. sysdeps/i386/i686
  2594. sysdeps/i386/i486
  2595. sysdeps/libm-i387/i686
  2596. sysdeps/i386/fpu
  2597. sysdeps/libm-i387
  2598. sysdeps/i386
  2599. sysdeps/wordsize-32
  2600. sysdeps/ieee754
  2601. sysdeps/libm-ieee754
  2602. sysdeps/generic
  2603. Different machine architectures are conventionally subdirectories at
  2604. the top level of the ‘sysdeps’ directory tree. For example, ‘sysdeps/sparc’
  2605. and ‘sysdeps/m68k’. These contain files specific to those machine
  2606. architectures, but not specific to any particular operating system.
  2607. There might be subdirectories for specializations of those
  2608. architectures, such as ‘sysdeps/m68k/68020’. Code which is specific to
  2609. the floating-point coprocessor used with a particular machine should go
  2610. in ‘sysdeps/MACHINE/fpu’.
  2611. There are a few directories at the top level of the ‘sysdeps’
  2612. hierarchy that are not for particular machine architectures.
  2613. ‘generic’
  2614. As described above (*note Porting::), this is the subdirectory that
  2615. every configuration implicitly uses after all others.
  2616. ‘ieee754’
  2617. This directory is for code using the IEEE 754 floating-point
  2618. format, where the C type ‘float’ is IEEE 754 single-precision
  2619. format, and ‘double’ is IEEE 754 double-precision format. Usually
  2620. this directory is referred to in the ‘Implies’ file in a machine
  2621. architecture-specific directory, such as ‘m68k/Implies’.
  2622. ‘libm-ieee754’
  2623. This directory contains an implementation of a mathematical library
  2624. usable on platforms which use IEEE 754 conformant floating-point
  2625. arithmetic.
  2626. ‘libm-i387’
  2627. This is a special case. Ideally the code should be in
  2628. ‘sysdeps/i386/fpu’ but for various reasons it is kept aside.
  2629. ‘posix’
  2630. This directory contains implementations of things in the library in
  2631. terms of POSIX.1 functions. This includes some of the POSIX.1
  2632. functions themselves. Of course, POSIX.1 cannot be completely
  2633. implemented in terms of itself, so a configuration using just
  2634. ‘posix’ cannot be complete.
  2635. ‘unix’
  2636. This is the directory for Unix-like things. *Note Porting to
  2637. Unix::. ‘unix’ implies ‘posix’. There are some special-purpose
  2638. subdirectories of ‘unix’:
  2639. ‘unix/common’
  2640. This directory is for things common to both BSD and System V
  2641. release 4. Both ‘unix/bsd’ and ‘unix/sysv/sysv4’ imply
  2642. ‘unix/common’.
  2643. ‘unix/inet’
  2644. This directory is for ‘socket’ and related functions on Unix
  2645. systems. ‘unix/inet/Subdirs’ enables the ‘inet’ top-level
  2646. subdirectory. ‘unix/common’ implies ‘unix/inet’.
  2647. ‘mach’
  2648. This is the directory for things based on the Mach microkernel from
  2649. CMU (including GNU/Hurd systems). Other basic operating systems
  2650. (VMS, for example) would have their own directories at the top
  2651. level of the ‘sysdeps’ hierarchy, parallel to ‘unix’ and ‘mach’.
  2652. 
  2653. File: libc.info, Node: Porting to Unix, Prev: Hierarchy Conventions, Up: Porting
  2654. D.2.2 Porting the GNU C Library to Unix Systems
  2655. -----------------------------------------------
  2656. Most Unix systems are fundamentally very similar. There are variations
  2657. between different machines, and variations in what facilities are
  2658. provided by the kernel. But the interface to the operating system
  2659. facilities is, for the most part, pretty uniform and simple.
  2660. The code for Unix systems is in the directory ‘unix’, at the top
  2661. level of the ‘sysdeps’ hierarchy. This directory contains
  2662. subdirectories (and subdirectory trees) for various Unix variants.
  2663. The functions which are system calls in most Unix systems are
  2664. implemented in assembly code, which is generated automatically from
  2665. specifications in files named ‘syscalls.list’. There are several such
  2666. files, one in ‘sysdeps/unix’ and others in its subdirectories. Some
  2667. special system calls are implemented in files that are named with a
  2668. suffix of ‘.S’; for example, ‘_exit.S’. Files ending in ‘.S’ are run
  2669. through the C preprocessor before being fed to the assembler.
  2670. These files all use a set of macros that should be defined in
  2671. ‘sysdep.h’. The ‘sysdep.h’ file in ‘sysdeps/unix’ partially defines
  2672. them; a ‘sysdep.h’ file in another directory must finish defining them
  2673. for the particular machine and operating system variant. See
  2674. ‘sysdeps/unix/sysdep.h’ and the machine-specific ‘sysdep.h’
  2675. implementations to see what these macros are and what they should do.
  2676. The system-specific makefile for the ‘unix’ directory
  2677. (‘sysdeps/unix/Makefile’) gives rules to generate several files from the
  2678. Unix system you are building the library on (which is assumed to be the
  2679. target system you are building the library _for_). All the generated
  2680. files are put in the directory where the object files are kept; they
  2681. should not affect the source tree itself. The files generated are
  2682. ‘ioctls.h’, ‘errnos.h’, ‘sys/param.h’, and ‘errlist.c’ (for the ‘stdio’
  2683. section of the library).
  2684. 
  2685. File: libc.info, Node: Platform, Next: Contributors, Prev: Maintenance, Up: Top
  2686. Appendix E Platform-specific facilities
  2687. ***************************************
  2688. The GNU C Library can provide machine-specific functionality.
  2689. * Menu:
  2690. * PowerPC:: Facilities Specific to the PowerPC Architecture
  2691. 
  2692. File: libc.info, Node: PowerPC, Up: Platform
  2693. E.1 PowerPC-specific Facilities
  2694. ===============================
  2695. Facilities specific to PowerPC that are not specific to a particular
  2696. operating system are declared in ‘sys/platform/ppc.h’.
  2697. -- Function: uint64_t __ppc_get_timebase (void)
  2698. Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
  2699. Concepts::.
  2700. Read the current value of the Time Base Register.
  2701. The "Time Base Register" is a 64-bit register that stores a
  2702. monotonically incremented value updated at a system-dependent
  2703. frequency that may be different from the processor frequency. More
  2704. information is available in ‘Power ISA 2.06b - Book II - Section
  2705. 5.2’.
  2706. ‘__ppc_get_timebase’ uses the processor’s time base facility
  2707. directly without requiring assistance from the operating system, so
  2708. it is very efficient.
  2709. -- Function: uint64_t __ppc_get_timebase_freq (void)
  2710. Preliminary: | MT-Unsafe init | AS-Unsafe corrupt:init | AC-Unsafe
  2711. corrupt:init | *Note POSIX Safety Concepts::.
  2712. Read the current frequency at which the Time Base Register is
  2713. updated.
  2714. This frequency is not related to the processor clock or the bus
  2715. clock. It is also possible that this frequency is not constant.
  2716. More information is available in ‘Power ISA 2.06b - Book II -
  2717. Section 5.2’.
  2718. The following functions provide hints about the usage of resources
  2719. that are shared with other processors. They can be used, for example,
  2720. if a program waiting on a lock intends to divert the shared resources to
  2721. be used by other processors. More information is available in ‘Power
  2722. ISA 2.06b - Book II - Section 3.2’.
  2723. -- Function: void __ppc_yield (void)
  2724. Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
  2725. Concepts::.
  2726. Provide a hint that performance will probably be improved if shared
  2727. resources dedicated to the executing processor are released for use
  2728. by other processors.
  2729. -- Function: void __ppc_mdoio (void)
  2730. Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
  2731. Concepts::.
  2732. Provide a hint that performance will probably be improved if shared
  2733. resources dedicated to the executing processor are released until
  2734. all outstanding storage accesses to caching-inhibited storage have
  2735. been completed.
  2736. -- Function: void __ppc_mdoom (void)
  2737. Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
  2738. Concepts::.
  2739. Provide a hint that performance will probably be improved if shared
  2740. resources dedicated to the executing processor are released until
  2741. all outstanding storage accesses to cacheable storage for which the
  2742. data is not in the cache have been completed.
  2743. -- Function: void __ppc_set_ppr_med (void)
  2744. Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
  2745. Concepts::.
  2746. Set the Program Priority Register to medium value (default).
  2747. The "Program Priority Register" (PPR) is a 64-bit register that
  2748. controls the program’s priority. By adjusting the PPR value the
  2749. programmer may improve system throughput by causing the system
  2750. resources to be used more efficiently, especially in contention
  2751. situations. The three unprivileged states available are covered by
  2752. the functions ‘__ppc_set_ppr_med’ (medium – default),
  2753. ‘__ppc_set_ppc_low’ (low) and ‘__ppc_set_ppc_med_low’ (medium low).
  2754. More information available in ‘Power ISA 2.06b - Book II - Section
  2755. 3.1’.
  2756. -- Function: void __ppc_set_ppr_low (void)
  2757. Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
  2758. Concepts::.
  2759. Set the Program Priority Register to low value.
  2760. -- Function: void __ppc_set_ppr_med_low (void)
  2761. Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
  2762. Concepts::.
  2763. Set the Program Priority Register to medium low value.
  2764. Power ISA 2.07 extends the priorities that can be set to the Program
  2765. Priority Register (PPR). The following functions implement the new
  2766. priority levels: very low and medium high.
  2767. -- Function: void __ppc_set_ppr_very_low (void)
  2768. Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
  2769. Concepts::.
  2770. Set the Program Priority Register to very low value.
  2771. -- Function: void __ppc_set_ppr_med_high (void)
  2772. Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
  2773. Concepts::.
  2774. Set the Program Priority Register to medium high value. The medium
  2775. high priority is privileged and may only be set during certain time
  2776. intervals by problem-state programs. If the program priority is
  2777. medium high when the time interval expires or if an attempt is made
  2778. to set the priority to medium high when it is not allowed, the
  2779. priority is set to medium.
  2780. 
  2781. File: libc.info, Node: Contributors, Next: Free Manuals, Prev: Platform, Up: Top
  2782. Appendix F Contributors to the GNU C Library
  2783. ********************************************
  2784. The GNU C Library project would like to thank its many contributors.
  2785. Without them the project would not have been nearly as successful as it
  2786. has been. Any omissions in this list are accidental. Feel free to file
  2787. a bug in bugzilla if you have been left out or some of your
  2788. contributions are not listed. Please keep this list in alphabetical
  2789. order.
  2790. • Nick Alcock for contributing fixes to allow the GNU C Library to be
  2791. built with the stack smashing protector enabled.
  2792. • Ryan S. Arnold for his improvements for Linux on PowerPC and his
  2793. direction as FSF Project Steward for the GNU C Library.
  2794. • Miles Bader for writing the ‘argp’ argument-parsing package, and
  2795. the ‘argz’/‘envz’ interfaces.
  2796. • Jeff Bailey for his maintainership of the HPPA architecture.
  2797. • Petr Baudis for bug fixes and testing.
  2798. • Stephen R. van den Berg for contributing a highly-optimized
  2799. ‘strstr’ function.
  2800. • Ondrej Bilka for contributing optimized string routines for x64 and
  2801. various fixes.
  2802. • Eric Blake for adding O(n) implementations of ‘memmem’, ‘strstr’
  2803. and ‘strcasestr’.
  2804. • Philip Blundell for the ports to Linux/ARM
  2805. (‘arm-ANYTHING-linuxaout’) and ARM standalone
  2806. (‘arm-ANYTHING-none’), as well as for parts of the IPv6 support
  2807. code.
  2808. • Per Bothner for the implementation of the ‘libio’ library which is
  2809. used to implement ‘stdio’ functions.
  2810. • Mark Brown for his direction as part of the GNU C Library steering
  2811. committee.
  2812. • Thomas Bushnell for his contributions to Hurd.
  2813. • Wilco Dijkstra for various fixes.
  2814. • Liubov Dmitrieva for optimized string and math functions on x86-64
  2815. and x86.
  2816. • Ulrich Drepper for his many contributions in almost all parts of
  2817. the GNU C Library, including:
  2818. • internationalization support, including the ‘locale’ and
  2819. ‘localedef’ utilities.
  2820. • Linux i386/ELF support
  2821. • the ‘hsearch’ and ‘drand48’ families of functions, reentrant
  2822. ‘…‘_r’’ versions of the ‘random’ family; System V shared
  2823. memory and IPC support code
  2824. • several highly-optimized string functions for iX86 processors
  2825. • many math functions
  2826. • the character conversion functions (‘iconv’)
  2827. • the ‘ftw’ and ‘nftw’ functions
  2828. • the floating-point printing function used by ‘printf’ and
  2829. friends and the floating-point reading function used by
  2830. ‘scanf’, ‘strtod’ and friends
  2831. • the ‘catgets’ support and the entire suite of multi-byte and
  2832. wide-character support functions (‘wctype.h’, ‘wchar.h’,
  2833. etc.).
  2834. • versioning of objects on the symbol level
  2835. • Wilco Dijkstra for various fixes.
  2836. • Richard Earnshaw for continued support and fixes to the various ARM
  2837. machine files.
  2838. • Paul Eggert for the ‘mktime’ function and for his direction as part
  2839. of the GNU C Library steering committee.
  2840. • Steve Ellcey for various fixes.
  2841. • Tulio Magno Quites Machado Filho for adding a new class of
  2842. installed headers for low-level platform-specific functionality and
  2843. one such for PowerPC and various fixes.
  2844. • Mike Frysinger for his maintaining of the IA64 architecture and for
  2845. testing and bug fixing.
  2846. • Martin Galvan for contributing gdb pretty printer support to glibc
  2847. and adding an initial set of pretty printers for structures in the
  2848. POSIX Threads library.
  2849. • Michael Glad for the DES encryption function ‘crypt’ and related
  2850. functions.
  2851. • Wolfram Gloger for contributing the memory allocation functions
  2852. functions ‘malloc’, ‘realloc’ and ‘free’ and related code.
  2853. • Torbjörn Granlund for fast implementations of many of the string
  2854. functions (‘memcpy’, ‘strlen’, etc.).
  2855. • Michael J. Haertel for writing the merge sort function ‘qsort’ and
  2856. malloc checking functions like ‘mcheck’.
  2857. • Bruno Haible for his improvements to the ‘iconv’ and locale
  2858. implementations.
  2859. • Richard Henderson for the port to Linux on Alpha
  2860. (‘alpha-ANYTHING-linux’).
  2861. • David Holsgrove for the port to Linux on MicroBlaze.
  2862. • Daniel Jacobowitz for various fixes and enhancements.
  2863. • Andreas Jaeger for the port to Linux on x86-64
  2864. (‘x86_64-ANYTHING-linux’ and his work on Linux for MIPS
  2865. (‘mips-ANYTHING-linux’), implementing the ‘ldconfig’ program,
  2866. providing a test suite for the math library and for his direction
  2867. as part of the GNU C Library steering committee.
  2868. • Aurelien Jarno for various fixes.
  2869. • Rical Jasan for contributing various fixes in the GNU C Library
  2870. manual.
  2871. • Jakub Jelinek for implementing a number of checking functions and
  2872. for his direction as part of the GNU C Library steering committee.
  2873. • Geoffrey Keating for the port to Linux on PowerPC
  2874. (‘powerpc-ANYTHING-linux’).
  2875. • Brendan Kehoe for contributing the port to the MIPS DECStation
  2876. running Ultrix 4 (‘mips-dec-ultrix4’) and the port to the DEC Alpha
  2877. running OSF/1 (‘alpha-dec-osf1’).
  2878. • Mark Kettenis for implementing the ‘utmpx’ interface and a utmp
  2879. daemon, and for a Hesiod NSS module.
  2880. • Andi Kleen for implementing pthreads lock elision with TSX.
  2881. • Kazumoto Kojima for the port of the Mach and Hurd code to the MIPS
  2882. architecture (‘mips-ANYTHING-gnu’) and for his work on the SH
  2883. architecture.
  2884. • Maxim Kuvyrkov for various fixes.
  2885. • Andreas Krebbel for his work on Linux for s390 and s390x.
  2886. • Thorsten Kukuk for providing an implementation for NIS (YP) and
  2887. NIS+, securelevel 0, 1 and 2 and for the implementation for a
  2888. caching daemon for NSS (‘nscd’).
  2889. • Jeff Law for various fixes.
  2890. • Doug Lea for contributing the memory allocation functions ‘malloc’,
  2891. ‘realloc’ and ‘free’ and related code.
  2892. • Chris Leonard for various fixes and enhancements to localedata.
  2893. • Stefan Liebler for various fixes.
  2894. • Hongjiu Lu for providing the support for a Linux 32-bit runtime
  2895. environment under x86-64 (x32), for porting to Linux on IA64, for
  2896. improved string functions, a framework for testing IFUNC
  2897. implementations, and many bug fixes.
  2898. • Luis Machado for optimized functions on PowerPC.
  2899. • David J. MacKenzie for his contribution to the ‘getopt’ function
  2900. and writing the ‘tar.h’ header.
  2901. • Greg McGary for adding runtime support for bounds checking.
  2902. • Roland McGrath for writing most of the GNU C Library originally,
  2903. for his work on the Hurd port, his direction as part of the GNU C
  2904. Library steering committee and as FSF Project Steward for the GNU C
  2905. Library, and for many bug fixes and reviewing of contributions.
  2906. • Allan McRae for various fixes.
  2907. • Jason Merrill for the port to the Sequent Symmetry running Dynix
  2908. version 3 (‘i386-sequent-bsd’).
  2909. • Chris Metcalf for the port to Linux/Tile (‘tilegx-ANYTHING-linux’
  2910. and ‘tilepro-ANYTHING-linux’).
  2911. • David Miller for contributing the port to Linux/Sparc
  2912. (‘sparc*-ANYTHING-linux’).
  2913. • Alan Modra for his improvements for Linux on PowerPC.
  2914. • David Mosberger-Tang for contributing the port to Linux/Alpha
  2915. (‘alpha-ANYTHING-linux’).
  2916. • Stephen Moshier for implementing some 128-bit long double format
  2917. math functions.
  2918. • Stephen Munroe for his port to Linux on PowerPC64
  2919. (‘powerpc64-ANYTHING-linux’) and for adding optimized
  2920. implementations for PowerPC.
  2921. • Paul E. Murphy for various fixes on PowerPC.
  2922. • Joseph S. Myers for numerous bug fixes for the libm functions, for
  2923. his maintainership of the ARM and MIPS architectures, improving
  2924. cross-compilation and cross-testing of the GNU C Library, expanded
  2925. coverage of conformtest, merging the ports/ subdirectory into the
  2926. GNU C Library main repository and his direction as FSF Project
  2927. Steward for the GNU C Library.
  2928. • Szabolcs Nagy for various fixes.
  2929. • Will Newton for contributing some optimized string functions and
  2930. pointer encryption support for ARM and various fixes.
  2931. • Carlos O’Donell for his maintainership of the HPPA architecture,
  2932. for maintaining the GNU C Library web pages and wiki, for his
  2933. direction as FSF Project Steward for the GNU C Library and various
  2934. bug fixes.
  2935. • Alexandre Oliva for adding TLS descriptors for LD and GD on x86 and
  2936. x86-64, for the am33 port, for completing the MIPS n64/n32/o32
  2937. multilib port, for thread-safety, async-signal safety and
  2938. async-cancellation safety documentation in the manual, for his
  2939. direction as FSF Project Maintainer and for various fixes.
  2940. • Paul Pluzhnikov for various fixes.
  2941. • Marek Polacek for various fixes.
  2942. • Siddhesh Poyarekar for various fixes, an implementation of a
  2943. framework for performance benchmarking of functions and
  2944. implementating the tunables infrastructure.
  2945. • Tom Quinn for contributing the startup code to support SunOS shared
  2946. libraries and the port to SGI machines running Irix 4
  2947. (‘mips-sgi-irix4’).
  2948. • Torvald Riegel for the implementation of new algorithms for
  2949. semaphores, pthread_rwlock and condition variables.
  2950. • Maciej W. Rozycki for various fixes.
  2951. • Pravin Satpute for writing sorting rules for some Indian languages.
  2952. • Douglas C. Schmidt for writing the quick sort function used as a
  2953. fallback by ‘qsort’.
  2954. • Will Schmidt for optimized string functions on PowerPC.
  2955. • Andreas Schwab for the port to Linux/m68k (‘m68k-ANYTHING-linux’)
  2956. and for his direction as part of the GNU C Library steering
  2957. committee.
  2958. • Martin Schwidefsky for porting to Linux on s390
  2959. (‘s390-ANYTHING-linux’) and s390x (‘s390x-ANYTHING-linux’).
  2960. • Thomas Schwinge for his contribution to Hurd and the SH
  2961. architecture.
  2962. • Andrew Senkevich for contributing vector math function
  2963. implementations for x86.
  2964. • Carlos Eduardo Seo for optimized functions on PowerPC.
  2965. • Marcus Shawcroft for contributing the AArch64 port.
  2966. • Franz Sirl for various fixes.
  2967. • Jes Sorensen for porting to Linux on IA64 (‘ia64-ANYTHING-linux’).
  2968. • Rajalakshmi Srinivasaraghavan for various fixes and optimizations
  2969. on PowerPC.
  2970. • Richard Stallman for his contribution to the ‘getopt’ function.
  2971. • Alfred M. Szmidt for various fixes.
  2972. • Ian Lance Taylor for contributing the port to the MIPS DECStation
  2973. running Ultrix 4 (‘mips-dec-ultrix4’).
  2974. • Samuel Thibault for improving the Hurd port.
  2975. • Tim Waugh for the implementation of the POSIX.2 ‘wordexp’ function
  2976. family.
  2977. • Zack Weinberg for the ‘explicit_bzero’ implementation and for
  2978. various fixes.
  2979. • Eric Youngdale for implementing versioning of objects on the symbol
  2980. level.
  2981. • Adhemerval Zanella for optimized functions on PowerPC and various
  2982. fixes.
  2983. Some code in the GNU C Library comes from other projects and might be
  2984. under a different license:
  2985. • The timezone support code is derived from the public-domain
  2986. timezone package by Arthur David Olson and his many contributors.
  2987. • Some of the support code for Mach is taken from Mach 3.0 by CMU;
  2988. the file ‘if_ppp.h’ is also copyright by CMU, but under a different
  2989. license; see the file ‘LICENSES’ for the text of the licenses.
  2990. • The random number generation functions ‘random’, ‘srandom’,
  2991. ‘setstate’ and ‘initstate’, which are also the basis for the ‘rand’
  2992. and ‘srand’ functions, were written by Earl T. Cohen for the
  2993. University of California at Berkeley and are copyrighted by the
  2994. Regents of the University of California. They have undergone minor
  2995. changes to fit into the GNU C Library and to fit the ISO C
  2996. standard, but the functional code is Berkeley’s.
  2997. • The Internet-related code (most of the ‘inet’ subdirectory) and
  2998. several other miscellaneous functions and header files have been
  2999. included from 4.4 BSD with little or no modification. The copying
  3000. permission notice for this code can be found in the file ‘LICENSES’
  3001. in the source distribution.
  3002. • The ‘getaddrinfo’ and ‘getnameinfo’ functions and supporting code
  3003. were written by Craig Metz; see the file ‘LICENSES’ for details on
  3004. their licensing.
  3005. • The DNS resolver code is taken directly from BIND 4.9.5, which
  3006. includes copyrighted code from UC Berkeley and from Digital
  3007. Equipment Corporation. See the file ‘LICENSES’ for the text of the
  3008. DEC license.
  3009. • The code to support Sun RPC is taken verbatim from Sun’s RPCSRC-4.0
  3010. distribution; see the file ‘LICENSES’ for the text of the license.
  3011. • The math functions are taken from ‘fdlibm-5.1’ by Sun Microsystems,
  3012. as modified by J.T. Conklin, Ian Lance Taylor, Ulrich Drepper,
  3013. Andreas Schwab, and Roland McGrath.
  3014. • Many of the IEEE 64-bit double precision math functions (in the
  3015. ‘sysdeps/ieee754/dbl-64’ subdirectory) come from the IBM Accurate
  3016. Mathematical Library, contributed by IBM.
  3017. • Many of the IA64 math functions are taken from a collection of
  3018. “Highly Optimized Mathematical Functions for Itanium” that Intel
  3019. makes available under a free license; see the file ‘LICENSES’ for
  3020. details.
  3021. 
  3022. File: libc.info, Node: Free Manuals, Next: Copying, Prev: Contributors, Up: Top
  3023. Appendix G Free Software Needs Free Documentation
  3024. *************************************************
  3025. The biggest deficiency in the free software community today is not in
  3026. the software—it is the lack of good free documentation that we can
  3027. include with the free software. Many of our most important programs do
  3028. not come with free reference manuals and free introductory texts.
  3029. Documentation is an essential part of any software package; when an
  3030. important free software package does not come with a free manual and a
  3031. free tutorial, that is a major gap. We have many such gaps today.
  3032. Consider Perl, for instance. The tutorial manuals that people
  3033. normally use are non-free. How did this come about? Because the
  3034. authors of those manuals published them with restrictive terms—no
  3035. copying, no modification, source files not available—which exclude them
  3036. from the free software world.
  3037. That wasn’t the first time this sort of thing happened, and it was
  3038. far from the last. Many times we have heard a GNU user eagerly describe
  3039. a manual that he is writing, his intended contribution to the community,
  3040. only to learn that he had ruined everything by signing a publication
  3041. contract to make it non-free.
  3042. Free documentation, like free software, is a matter of freedom, not
  3043. price. The problem with the non-free manual is not that publishers
  3044. charge a price for printed copies—that in itself is fine. (The Free
  3045. Software Foundation sells printed copies of manuals, too.) The problem
  3046. is the restrictions on the use of the manual. Free manuals are
  3047. available in source code form, and give you permission to copy and
  3048. modify. Non-free manuals do not allow this.
  3049. The criteria of freedom for a free manual are roughly the same as for
  3050. free software. Redistribution (including the normal kinds of commercial
  3051. redistribution) must be permitted, so that the manual can accompany
  3052. every copy of the program, both on-line and on paper.
  3053. Permission for modification of the technical content is crucial too.
  3054. When people modify the software, adding or changing features, if they
  3055. are conscientious they will change the manual too—so they can provide
  3056. accurate and clear documentation for the modified program. A manual
  3057. that leaves you no choice but to write a new manual to document a
  3058. changed version of the program is not really available to our community.
  3059. Some kinds of limits on the way modification is handled are
  3060. acceptable. For example, requirements to preserve the original author’s
  3061. copyright notice, the distribution terms, or the list of authors, are
  3062. ok. It is also no problem to require modified versions to include
  3063. notice that they were modified. Even entire sections that may not be
  3064. deleted or changed are acceptable, as long as they deal with
  3065. nontechnical topics (like this one). These kinds of restrictions are
  3066. acceptable because they don’t obstruct the community’s normal use of the
  3067. manual.
  3068. However, it must be possible to modify all the _technical_ content of
  3069. the manual, and then distribute the result in all the usual media,
  3070. through all the usual channels. Otherwise, the restrictions obstruct
  3071. the use of the manual, it is not free, and we need another manual to
  3072. replace it.
  3073. Please spread the word about this issue. Our community continues to
  3074. lose manuals to proprietary publishing. If we spread the word that free
  3075. software needs free reference manuals and free tutorials, perhaps the
  3076. next person who wants to contribute by writing documentation will
  3077. realize, before it is too late, that only free manuals contribute to the
  3078. free software community.
  3079. If you are writing documentation, please insist on publishing it
  3080. under the GNU Free Documentation License or another free documentation
  3081. license. Remember that this decision requires your approval—you don’t
  3082. have to let the publisher decide. Some commercial publishers will use a
  3083. free license if you insist, but they will not propose the option; it is
  3084. up to you to raise the issue and say firmly that this is what you want.
  3085. If the publisher you are dealing with refuses, please try other
  3086. publishers. If you’re not sure whether a proposed license is free,
  3087. write to <licensing@gnu.org>.
  3088. You can encourage commercial publishers to sell more free, copylefted
  3089. manuals and tutorials by buying them, and particularly by buying copies
  3090. from the publishers that paid for their writing or for major
  3091. improvements. Meanwhile, try to avoid buying non-free documentation at
  3092. all. Check the distribution terms of a manual before you buy it, and
  3093. insist that whoever seeks your business must respect your freedom.
  3094. Check the history of the book, and try reward the publishers that have
  3095. paid or pay the authors to work on it.
  3096. The Free Software Foundation maintains a list of free documentation
  3097. published by other publishers, at
  3098. <http://www.fsf.org/doc/other-free-books.html>.
  3099. 
  3100. File: libc.info, Node: Copying, Next: Documentation License, Prev: Free Manuals, Up: Top
  3101. Appendix H GNU Lesser General Public License
  3102. ********************************************
  3103. Version 2.1, February 1999
  3104. Copyright © 1991, 1999 Free Software Foundation, Inc.
  3105. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
  3106. Everyone is permitted to copy and distribute verbatim copies
  3107. of this license document, but changing it is not allowed.
  3108. [This is the first released version of the Lesser GPL. It also counts
  3109. as the successor of the GNU Library Public License, version 2, hence the
  3110. version number 2.1.]
  3111. Preamble
  3112. --------
  3113. The licenses for most software are designed to take away your freedom to
  3114. share and change it. By contrast, the GNU General Public Licenses are
  3115. intended to guarantee your freedom to share and change free software—to
  3116. make sure the software is free for all its users.
  3117. This license, the Lesser General Public License, applies to some
  3118. specially designated software—typically libraries—of the Free Software
  3119. Foundation and other authors who decide to use it. You can use it too,
  3120. but we suggest you first think carefully about whether this license or
  3121. the ordinary General Public License is the better strategy to use in any
  3122. particular case, based on the explanations below.
  3123. When we speak of free software, we are referring to freedom of use,
  3124. not price. Our General Public Licenses are designed to make sure that
  3125. you have the freedom to distribute copies of free software (and charge
  3126. for this service if you wish); that you receive source code or can get
  3127. it if you want it; that you can change the software and use pieces of it
  3128. in new free programs; and that you are informed that you can do these
  3129. things.
  3130. To protect your rights, we need to make restrictions that forbid
  3131. distributors to deny you these rights or to ask you to surrender these
  3132. rights. These restrictions translate to certain responsibilities for
  3133. you if you distribute copies of the library or if you modify it.
  3134. For example, if you distribute copies of the library, whether gratis
  3135. or for a fee, you must give the recipients all the rights that we gave
  3136. you. You must make sure that they, too, receive or can get the source
  3137. code. If you link other code with the library, you must provide
  3138. complete object files to the recipients, so that they can relink them
  3139. with the library after making changes to the library and recompiling it.
  3140. And you must show them these terms so they know their rights.
  3141. We protect your rights with a two-step method: (1) we copyright the
  3142. library, and (2) we offer you this license, which gives you legal
  3143. permission to copy, distribute and/or modify the library.
  3144. To protect each distributor, we want to make it very clear that there
  3145. is no warranty for the free library. Also, if the library is modified
  3146. by someone else and passed on, the recipients should know that what they
  3147. have is not the original version, so that the original author’s
  3148. reputation will not be affected by problems that might be introduced by
  3149. others.
  3150. Finally, software patents pose a constant threat to the existence of
  3151. any free program. We wish to make sure that a company cannot
  3152. effectively restrict the users of a free program by obtaining a
  3153. restrictive license from a patent holder. Therefore, we insist that any
  3154. patent license obtained for a version of the library must be consistent
  3155. with the full freedom of use specified in this license.
  3156. Most GNU software, including some libraries, is covered by the
  3157. ordinary GNU General Public License. This license, the GNU Lesser
  3158. General Public License, applies to certain designated libraries, and is
  3159. quite different from the ordinary General Public License. We use this
  3160. license for certain libraries in order to permit linking those libraries
  3161. into non-free programs.
  3162. When a program is linked with a library, whether statically or using
  3163. a shared library, the combination of the two is legally speaking a
  3164. combined work, a derivative of the original library. The ordinary
  3165. General Public License therefore permits such linking only if the entire
  3166. combination fits its criteria of freedom. The Lesser General Public
  3167. License permits more lax criteria for linking other code with the
  3168. library.
  3169. We call this license the "Lesser" General Public License because it
  3170. does _Less_ to protect the user’s freedom than the ordinary General
  3171. Public License. It also provides other free software developers Less of
  3172. an advantage over competing non-free programs. These disadvantages are
  3173. the reason we use the ordinary General Public License for many
  3174. libraries. However, the Lesser license provides advantages in certain
  3175. special circumstances.
  3176. For example, on rare occasions, there may be a special need to
  3177. encourage the widest possible use of a certain library, so that it
  3178. becomes a de-facto standard. To achieve this, non-free programs must be
  3179. allowed to use the library. A more frequent case is that a free library
  3180. does the same job as widely used non-free libraries. In this case,
  3181. there is little to gain by limiting the free library to free software
  3182. only, so we use the Lesser General Public License.
  3183. In other cases, permission to use a particular library in non-free
  3184. programs enables a greater number of people to use a large body of free
  3185. software. For example, permission to use the GNU C Library in non-free
  3186. programs enables many more people to use the whole GNU operating system,
  3187. as well as its variant, the GNU/Linux operating system.
  3188. Although the Lesser General Public License is Less protective of the
  3189. users’ freedom, it does ensure that the user of a program that is linked
  3190. with the Library has the freedom and the wherewithal to run that program
  3191. using a modified version of the Library.
  3192. The precise terms and conditions for copying, distribution and
  3193. modification follow. Pay close attention to the difference between a
  3194. “work based on the library” and a “work that uses the library”. The
  3195. former contains code derived from the library, whereas the latter must
  3196. be combined with the library in order to run.
  3197. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
  3198. ---------------------------------------------------------------
  3199. 0. This License Agreement applies to any software library or other
  3200. program which contains a notice placed by the copyright holder or
  3201. other authorized party saying it may be distributed under the terms
  3202. of this Lesser General Public License (also called “this License”).
  3203. Each licensee is addressed as “you”.
  3204. A “library” means a collection of software functions and/or data
  3205. prepared so as to be conveniently linked with application programs
  3206. (which use some of those functions and data) to form executables.
  3207. The “Library”, below, refers to any such software library or work
  3208. which has been distributed under these terms. A “work based on the
  3209. Library” means either the Library or any derivative work under
  3210. copyright law: that is to say, a work containing the Library or a
  3211. portion of it, either verbatim or with modifications and/or
  3212. translated straightforwardly into another language. (Hereinafter,
  3213. translation is included without limitation in the term
  3214. “modification”.)
  3215. “Source code” for a work means the preferred form of the work for
  3216. making modifications to it. For a library, complete source code
  3217. means all the source code for all modules it contains, plus any
  3218. associated interface definition files, plus the scripts used to
  3219. control compilation and installation of the library.
  3220. Activities other than copying, distribution and modification are
  3221. not covered by this License; they are outside its scope. The act
  3222. of running a program using the Library is not restricted, and
  3223. output from such a program is covered only if its contents
  3224. constitute a work based on the Library (independent of the use of
  3225. the Library in a tool for writing it). Whether that is true
  3226. depends on what the Library does and what the program that uses the
  3227. Library does.
  3228. 1. You may copy and distribute verbatim copies of the Library’s
  3229. complete source code as you receive it, in any medium, provided
  3230. that you conspicuously and appropriately publish on each copy an
  3231. appropriate copyright notice and disclaimer of warranty; keep
  3232. intact all the notices that refer to this License and to the
  3233. absence of any warranty; and distribute a copy of this License
  3234. along with the Library.
  3235. You may charge a fee for the physical act of transferring a copy,
  3236. and you may at your option offer warranty protection in exchange
  3237. for a fee.
  3238. 2. You may modify your copy or copies of the Library or any portion of
  3239. it, thus forming a work based on the Library, and copy and
  3240. distribute such modifications or work under the terms of Section 1
  3241. above, provided that you also meet all of these conditions:
  3242. a. The modified work must itself be a software library.
  3243. b. You must cause the files modified to carry prominent notices
  3244. stating that you changed the files and the date of any change.
  3245. c. You must cause the whole of the work to be licensed at no
  3246. charge to all third parties under the terms of this License.
  3247. d. If a facility in the modified Library refers to a function or
  3248. a table of data to be supplied by an application program that
  3249. uses the facility, other than as an argument passed when the
  3250. facility is invoked, then you must make a good faith effort to
  3251. ensure that, in the event an application does not supply such
  3252. function or table, the facility still operates, and performs
  3253. whatever part of its purpose remains meaningful.
  3254. (For example, a function in a library to compute square roots
  3255. has a purpose that is entirely well-defined independent of the
  3256. application. Therefore, Subsection 2d requires that any
  3257. application-supplied function or table used by this function
  3258. must be optional: if the application does not supply it, the
  3259. square root function must still compute square roots.)
  3260. These requirements apply to the modified work as a whole. If
  3261. identifiable sections of that work are not derived from the
  3262. Library, and can be reasonably considered independent and separate
  3263. works in themselves, then this License, and its terms, do not apply
  3264. to those sections when you distribute them as separate works. But
  3265. when you distribute the same sections as part of a whole which is a
  3266. work based on the Library, the distribution of the whole must be on
  3267. the terms of this License, whose permissions for other licensees
  3268. extend to the entire whole, and thus to each and every part
  3269. regardless of who wrote it.
  3270. Thus, it is not the intent of this section to claim rights or
  3271. contest your rights to work written entirely by you; rather, the
  3272. intent is to exercise the right to control the distribution of
  3273. derivative or collective works based on the Library.
  3274. In addition, mere aggregation of another work not based on the
  3275. Library with the Library (or with a work based on the Library) on a
  3276. volume of a storage or distribution medium does not bring the other
  3277. work under the scope of this License.
  3278. 3. You may opt to apply the terms of the ordinary GNU General Public
  3279. License instead of this License to a given copy of the Library. To
  3280. do this, you must alter all the notices that refer to this License,
  3281. so that they refer to the ordinary GNU General Public License,
  3282. version 2, instead of to this License. (If a newer version than
  3283. version 2 of the ordinary GNU General Public License has appeared,
  3284. then you can specify that version instead if you wish.) Do not
  3285. make any other change in these notices.
  3286. Once this change is made in a given copy, it is irreversible for
  3287. that copy, so the ordinary GNU General Public License applies to
  3288. all subsequent copies and derivative works made from that copy.
  3289. This option is useful when you wish to copy part of the code of the
  3290. Library into a program that is not a library.
  3291. 4. You may copy and distribute the Library (or a portion or derivative
  3292. of it, under Section 2) in object code or executable form under the
  3293. terms of Sections 1 and 2 above provided that you accompany it with
  3294. the complete corresponding machine-readable source code, which must
  3295. be distributed under the terms of Sections 1 and 2 above on a
  3296. medium customarily used for software interchange.
  3297. If distribution of object code is made by offering access to copy
  3298. from a designated place, then offering equivalent access to copy
  3299. the source code from the same place satisfies the requirement to
  3300. distribute the source code, even though third parties are not
  3301. compelled to copy the source along with the object code.
  3302. 5. A program that contains no derivative of any portion of the
  3303. Library, but is designed to work with the Library by being compiled
  3304. or linked with it, is called a “work that uses the Library”. Such
  3305. a work, in isolation, is not a derivative work of the Library, and
  3306. therefore falls outside the scope of this License.
  3307. However, linking a “work that uses the Library” with the Library
  3308. creates an executable that is a derivative of the Library (because
  3309. it contains portions of the Library), rather than a “work that uses
  3310. the library”. The executable is therefore covered by this License.
  3311. Section 6 states terms for distribution of such executables.
  3312. When a “work that uses the Library” uses material from a header
  3313. file that is part of the Library, the object code for the work may
  3314. be a derivative work of the Library even though the source code is
  3315. not. Whether this is true is especially significant if the work
  3316. can be linked without the Library, or if the work is itself a
  3317. library. The threshold for this to be true is not precisely
  3318. defined by law.
  3319. If such an object file uses only numerical parameters, data
  3320. structure layouts and accessors, and small macros and small inline
  3321. functions (ten lines or less in length), then the use of the object
  3322. file is unrestricted, regardless of whether it is legally a
  3323. derivative work. (Executables containing this object code plus
  3324. portions of the Library will still fall under Section 6.)
  3325. Otherwise, if the work is a derivative of the Library, you may
  3326. distribute the object code for the work under the terms of Section
  3327. 6. Any executables containing that work also fall under Section 6,
  3328. whether or not they are linked directly with the Library itself.
  3329. 6. As an exception to the Sections above, you may also combine or link
  3330. a “work that uses the Library” with the Library to produce a work
  3331. containing portions of the Library, and distribute that work under
  3332. terms of your choice, provided that the terms permit modification
  3333. of the work for the customer’s own use and reverse engineering for
  3334. debugging such modifications.
  3335. You must give prominent notice with each copy of the work that the
  3336. Library is used in it and that the Library and its use are covered
  3337. by this License. You must supply a copy of this License. If the
  3338. work during execution displays copyright notices, you must include
  3339. the copyright notice for the Library among them, as well as a
  3340. reference directing the user to the copy of this License. Also,
  3341. you must do one of these things:
  3342. a. Accompany the work with the complete corresponding
  3343. machine-readable source code for the Library including
  3344. whatever changes were used in the work (which must be
  3345. distributed under Sections 1 and 2 above); and, if the work is
  3346. an executable linked with the Library, with the complete
  3347. machine-readable “work that uses the Library”, as object code
  3348. and/or source code, so that the user can modify the Library
  3349. and then relink to produce a modified executable containing
  3350. the modified Library. (It is understood that the user who
  3351. changes the contents of definitions files in the Library will
  3352. not necessarily be able to recompile the application to use
  3353. the modified definitions.)
  3354. b. Use a suitable shared library mechanism for linking with the
  3355. Library. A suitable mechanism is one that (1) uses at run
  3356. time a copy of the library already present on the user’s
  3357. computer system, rather than copying library functions into
  3358. the executable, and (2) will operate properly with a modified
  3359. version of the library, if the user installs one, as long as
  3360. the modified version is interface-compatible with the version
  3361. that the work was made with.
  3362. c. Accompany the work with a written offer, valid for at least
  3363. three years, to give the same user the materials specified in
  3364. Subsection 6a, above, for a charge no more than the cost of
  3365. performing this distribution.
  3366. d. If distribution of the work is made by offering access to copy
  3367. from a designated place, offer equivalent access to copy the
  3368. above specified materials from the same place.
  3369. e. Verify that the user has already received a copy of these
  3370. materials or that you have already sent this user a copy.
  3371. For an executable, the required form of the “work that uses the
  3372. Library” must include any data and utility programs needed for
  3373. reproducing the executable from it. However, as a special
  3374. exception, the materials to be distributed need not include
  3375. anything that is normally distributed (in either source or binary
  3376. form) with the major components (compiler, kernel, and so on) of
  3377. the operating system on which the executable runs, unless that
  3378. component itself accompanies the executable.
  3379. It may happen that this requirement contradicts the license
  3380. restrictions of other proprietary libraries that do not normally
  3381. accompany the operating system. Such a contradiction means you
  3382. cannot use both them and the Library together in an executable that
  3383. you distribute.
  3384. 7. You may place library facilities that are a work based on the
  3385. Library side-by-side in a single library together with other
  3386. library facilities not covered by this License, and distribute such
  3387. a combined library, provided that the separate distribution of the
  3388. work based on the Library and of the other library facilities is
  3389. otherwise permitted, and provided that you do these two things:
  3390. a. Accompany the combined library with a copy of the same work
  3391. based on the Library, uncombined with any other library
  3392. facilities. This must be distributed under the terms of the
  3393. Sections above.
  3394. b. Give prominent notice with the combined library of the fact
  3395. that part of it is a work based on the Library, and explaining
  3396. where to find the accompanying uncombined form of the same
  3397. work.
  3398. 8. You may not copy, modify, sublicense, link with, or distribute the
  3399. Library except as expressly provided under this License. Any
  3400. attempt otherwise to copy, modify, sublicense, link with, or
  3401. distribute the Library is void, and will automatically terminate
  3402. your rights under this License. However, parties who have received
  3403. copies, or rights, from you under this License will not have their
  3404. licenses terminated so long as such parties remain in full
  3405. compliance.
  3406. 9. You are not required to accept this License, since you have not
  3407. signed it. However, nothing else grants you permission to modify
  3408. or distribute the Library or its derivative works. These actions
  3409. are prohibited by law if you do not accept this License.
  3410. Therefore, by modifying or distributing the Library (or any work
  3411. based on the Library), you indicate your acceptance of this License
  3412. to do so, and all its terms and conditions for copying,
  3413. distributing or modifying the Library or works based on it.
  3414. 10. Each time you redistribute the Library (or any work based on the
  3415. Library), the recipient automatically receives a license from the
  3416. original licensor to copy, distribute, link with or modify the
  3417. Library subject to these terms and conditions. You may not impose
  3418. any further restrictions on the recipients’ exercise of the rights
  3419. granted herein. You are not responsible for enforcing compliance
  3420. by third parties with this License.
  3421. 11. If, as a consequence of a court judgment or allegation of patent
  3422. infringement or for any other reason (not limited to patent
  3423. issues), conditions are imposed on you (whether by court order,
  3424. agreement or otherwise) that contradict the conditions of this
  3425. License, they do not excuse you from the conditions of this
  3426. License. If you cannot distribute so as to satisfy simultaneously
  3427. your obligations under this License and any other pertinent
  3428. obligations, then as a consequence you may not distribute the
  3429. Library at all. For example, if a patent license would not permit
  3430. royalty-free redistribution of the Library by all those who receive
  3431. copies directly or indirectly through you, then the only way you
  3432. could satisfy both it and this License would be to refrain entirely
  3433. from distribution of the Library.
  3434. If any portion of this section is held invalid or unenforceable
  3435. under any particular circumstance, the balance of the section is
  3436. intended to apply, and the section as a whole is intended to apply
  3437. in other circumstances.
  3438. It is not the purpose of this section to induce you to infringe any
  3439. patents or other property right claims or to contest validity of
  3440. any such claims; this section has the sole purpose of protecting
  3441. the integrity of the free software distribution system which is
  3442. implemented by public license practices. Many people have made
  3443. generous contributions to the wide range of software distributed
  3444. through that system in reliance on consistent application of that
  3445. system; it is up to the author/donor to decide if he or she is
  3446. willing to distribute software through any other system and a
  3447. licensee cannot impose that choice.
  3448. This section is intended to make thoroughly clear what is believed
  3449. to be a consequence of the rest of this License.
  3450. 12. If the distribution and/or use of the Library is restricted in
  3451. certain countries either by patents or by copyrighted interfaces,
  3452. the original copyright holder who places the Library under this
  3453. License may add an explicit geographical distribution limitation
  3454. excluding those countries, so that distribution is permitted only
  3455. in or among countries not thus excluded. In such case, this
  3456. License incorporates the limitation as if written in the body of
  3457. this License.
  3458. 13. The Free Software Foundation may publish revised and/or new
  3459. versions of the Lesser General Public License from time to time.
  3460. Such new versions will be similar in spirit to the present version,
  3461. but may differ in detail to address new problems or concerns.
  3462. Each version is given a distinguishing version number. If the
  3463. Library specifies a version number of this License which applies to
  3464. it and “any later version”, you have the option of following the
  3465. terms and conditions either of that version or of any later version
  3466. published by the Free Software Foundation. If the Library does not
  3467. specify a license version number, you may choose any version ever
  3468. published by the Free Software Foundation.
  3469. 14. If you wish to incorporate parts of the Library into other free
  3470. programs whose distribution conditions are incompatible with these,
  3471. write to the author to ask for permission. For software which is
  3472. copyrighted by the Free Software Foundation, write to the Free
  3473. Software Foundation; we sometimes make exceptions for this. Our
  3474. decision will be guided by the two goals of preserving the free
  3475. status of all derivatives of our free software and of promoting the
  3476. sharing and reuse of software generally.
  3477. NO WARRANTY
  3478. 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
  3479. WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE
  3480. LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS
  3481. AND/OR OTHER PARTIES PROVIDE THE LIBRARY “AS IS” WITHOUT WARRANTY
  3482. OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
  3483. LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  3484. FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
  3485. PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE
  3486. DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR
  3487. OR CORRECTION.
  3488. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
  3489. WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
  3490. MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE
  3491. LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
  3492. INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
  3493. INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF
  3494. DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU
  3495. OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY
  3496. OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
  3497. ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  3498. END OF TERMS AND CONDITIONS
  3499. ---------------------------
  3500. How to Apply These Terms to Your New Libraries
  3501. ----------------------------------------------
  3502. If you develop a new library, and you want it to be of the greatest
  3503. possible use to the public, we recommend making it free software that
  3504. everyone can redistribute and change. You can do so by permitting
  3505. redistribution under these terms (or, alternatively, under the terms of
  3506. the ordinary General Public License).
  3507. To apply these terms, attach the following notices to the library.
  3508. It is safest to attach them to the start of each source file to most
  3509. effectively convey the exclusion of warranty; and each file should have
  3510. at least the “copyright” line and a pointer to where the full notice is
  3511. found.
  3512. ONE LINE TO GIVE THE LIBRARY'S NAME AND AN IDEA OF WHAT IT DOES.
  3513. Copyright (C) YEAR NAME OF AUTHOR
  3514. This library is free software; you can redistribute it and/or modify it
  3515. under the terms of the GNU Lesser General Public License as published by
  3516. the Free Software Foundation; either version 2.1 of the License, or (at
  3517. your option) any later version.
  3518. This library is distributed in the hope that it will be useful, but
  3519. WITHOUT ANY WARRANTY; without even the implied warranty of
  3520. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  3521. Lesser General Public License for more details.
  3522. You should have received a copy of the GNU Lesser General Public
  3523. License along with this library; if not, write to the Free Software
  3524. Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
  3525. USA.
  3526. Also add information on how to contact you by electronic and paper
  3527. mail.
  3528. You should also get your employer (if you work as a programmer) or
  3529. your school, if any, to sign a “copyright disclaimer” for the library,
  3530. if necessary. Here is a sample; alter the names:
  3531. Yoyodyne, Inc., hereby disclaims all copyright interest in the library
  3532. `Frob' (a library for tweaking knobs) written by James Random Hacker.
  3533. SIGNATURE OF TY COON, 1 April 1990
  3534. Ty Coon, President of Vice
  3535. That’s all there is to it!