12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983 |
- This is libc.info, produced by makeinfo version 5.2 from libc.texinfo.
- This file documents the GNU C Library.
- This is ‘The GNU C Library Reference Manual’, for version 2.25.
- Copyright © 1993–2017 Free Software Foundation, Inc.
- Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.3 or
- any later version published by the Free Software Foundation; with the
- Invariant Sections being “Free Software Needs Free Documentation” and
- “GNU Lesser General Public License”, the Front-Cover texts being “A GNU
- Manual”, and with the Back-Cover Texts as in (a) below. A copy of the
- license is included in the section entitled "GNU Free Documentation
- License".
- (a) The FSF’s Back-Cover Text is: “You have the freedom to copy and
- modify this GNU manual. Buying copies from the FSF supports it in
- developing GNU and promoting software freedom.”
- INFO-DIR-SECTION Software libraries
- START-INFO-DIR-ENTRY
- * Libc: (libc). C library.
- END-INFO-DIR-ENTRY
- INFO-DIR-SECTION GNU C library functions and macros
- START-INFO-DIR-ENTRY
- * a64l: (libc)Encode Binary Data.
- * abort: (libc)Aborting a Program.
- * abs: (libc)Absolute Value.
- * accept: (libc)Accepting Connections.
- * access: (libc)Testing File Access.
- * acosf: (libc)Inverse Trig Functions.
- * acoshf: (libc)Hyperbolic Functions.
- * acosh: (libc)Hyperbolic Functions.
- * acoshl: (libc)Hyperbolic Functions.
- * acos: (libc)Inverse Trig Functions.
- * acosl: (libc)Inverse Trig Functions.
- * addmntent: (libc)mtab.
- * addseverity: (libc)Adding Severity Classes.
- * adjtime: (libc)High-Resolution Calendar.
- * adjtimex: (libc)High-Resolution Calendar.
- * aio_cancel64: (libc)Cancel AIO Operations.
- * aio_cancel: (libc)Cancel AIO Operations.
- * aio_error64: (libc)Status of AIO Operations.
- * aio_error: (libc)Status of AIO Operations.
- * aio_fsync64: (libc)Synchronizing AIO Operations.
- * aio_fsync: (libc)Synchronizing AIO Operations.
- * aio_init: (libc)Configuration of AIO.
- * aio_read64: (libc)Asynchronous Reads/Writes.
- * aio_read: (libc)Asynchronous Reads/Writes.
- * aio_return64: (libc)Status of AIO Operations.
- * aio_return: (libc)Status of AIO Operations.
- * aio_suspend64: (libc)Synchronizing AIO Operations.
- * aio_suspend: (libc)Synchronizing AIO Operations.
- * aio_write64: (libc)Asynchronous Reads/Writes.
- * aio_write: (libc)Asynchronous Reads/Writes.
- * alarm: (libc)Setting an Alarm.
- * aligned_alloc: (libc)Aligned Memory Blocks.
- * alloca: (libc)Variable Size Automatic.
- * alphasort64: (libc)Scanning Directory Content.
- * alphasort: (libc)Scanning Directory Content.
- * ALTWERASE: (libc)Local Modes.
- * ARG_MAX: (libc)General Limits.
- * argp_error: (libc)Argp Helper Functions.
- * ARGP_ERR_UNKNOWN: (libc)Argp Parser Functions.
- * argp_failure: (libc)Argp Helper Functions.
- * argp_help: (libc)Argp Help.
- * argp_parse: (libc)Argp.
- * argp_state_help: (libc)Argp Helper Functions.
- * argp_usage: (libc)Argp Helper Functions.
- * argz_add: (libc)Argz Functions.
- * argz_add_sep: (libc)Argz Functions.
- * argz_append: (libc)Argz Functions.
- * argz_count: (libc)Argz Functions.
- * argz_create: (libc)Argz Functions.
- * argz_create_sep: (libc)Argz Functions.
- * argz_delete: (libc)Argz Functions.
- * argz_extract: (libc)Argz Functions.
- * argz_insert: (libc)Argz Functions.
- * argz_next: (libc)Argz Functions.
- * argz_replace: (libc)Argz Functions.
- * argz_stringify: (libc)Argz Functions.
- * asctime: (libc)Formatting Calendar Time.
- * asctime_r: (libc)Formatting Calendar Time.
- * asinf: (libc)Inverse Trig Functions.
- * asinhf: (libc)Hyperbolic Functions.
- * asinh: (libc)Hyperbolic Functions.
- * asinhl: (libc)Hyperbolic Functions.
- * asin: (libc)Inverse Trig Functions.
- * asinl: (libc)Inverse Trig Functions.
- * asprintf: (libc)Dynamic Output.
- * assert: (libc)Consistency Checking.
- * assert_perror: (libc)Consistency Checking.
- * atan2f: (libc)Inverse Trig Functions.
- * atan2: (libc)Inverse Trig Functions.
- * atan2l: (libc)Inverse Trig Functions.
- * atanf: (libc)Inverse Trig Functions.
- * atanhf: (libc)Hyperbolic Functions.
- * atanh: (libc)Hyperbolic Functions.
- * atanhl: (libc)Hyperbolic Functions.
- * atan: (libc)Inverse Trig Functions.
- * atanl: (libc)Inverse Trig Functions.
- * atexit: (libc)Cleanups on Exit.
- * atof: (libc)Parsing of Floats.
- * atoi: (libc)Parsing of Integers.
- * atol: (libc)Parsing of Integers.
- * atoll: (libc)Parsing of Integers.
- * backtrace: (libc)Backtraces.
- * backtrace_symbols_fd: (libc)Backtraces.
- * backtrace_symbols: (libc)Backtraces.
- * basename: (libc)Finding Tokens in a String.
- * basename: (libc)Finding Tokens in a String.
- * BC_BASE_MAX: (libc)Utility Limits.
- * BC_DIM_MAX: (libc)Utility Limits.
- * bcmp: (libc)String/Array Comparison.
- * bcopy: (libc)Copying Strings and Arrays.
- * BC_SCALE_MAX: (libc)Utility Limits.
- * BC_STRING_MAX: (libc)Utility Limits.
- * bind: (libc)Setting Address.
- * bind_textdomain_codeset: (libc)Charset conversion in gettext.
- * bindtextdomain: (libc)Locating gettext catalog.
- * BRKINT: (libc)Input Modes.
- * brk: (libc)Resizing the Data Segment.
- * bsearch: (libc)Array Search Function.
- * btowc: (libc)Converting a Character.
- * BUFSIZ: (libc)Controlling Buffering.
- * bzero: (libc)Copying Strings and Arrays.
- * cabsf: (libc)Absolute Value.
- * cabs: (libc)Absolute Value.
- * cabsl: (libc)Absolute Value.
- * cacosf: (libc)Inverse Trig Functions.
- * cacoshf: (libc)Hyperbolic Functions.
- * cacosh: (libc)Hyperbolic Functions.
- * cacoshl: (libc)Hyperbolic Functions.
- * cacos: (libc)Inverse Trig Functions.
- * cacosl: (libc)Inverse Trig Functions.
- * calloc: (libc)Allocating Cleared Space.
- * canonicalize_file_name: (libc)Symbolic Links.
- * canonicalizef: (libc)FP Bit Twiddling.
- * canonicalize: (libc)FP Bit Twiddling.
- * canonicalizel: (libc)FP Bit Twiddling.
- * cargf: (libc)Operations on Complex.
- * carg: (libc)Operations on Complex.
- * cargl: (libc)Operations on Complex.
- * casinf: (libc)Inverse Trig Functions.
- * casinhf: (libc)Hyperbolic Functions.
- * casinh: (libc)Hyperbolic Functions.
- * casinhl: (libc)Hyperbolic Functions.
- * casin: (libc)Inverse Trig Functions.
- * casinl: (libc)Inverse Trig Functions.
- * catanf: (libc)Inverse Trig Functions.
- * catanhf: (libc)Hyperbolic Functions.
- * catanh: (libc)Hyperbolic Functions.
- * catanhl: (libc)Hyperbolic Functions.
- * catan: (libc)Inverse Trig Functions.
- * catanl: (libc)Inverse Trig Functions.
- * catclose: (libc)The catgets Functions.
- * catgets: (libc)The catgets Functions.
- * catopen: (libc)The catgets Functions.
- * cbc_crypt: (libc)DES Encryption.
- * cbrtf: (libc)Exponents and Logarithms.
- * cbrt: (libc)Exponents and Logarithms.
- * cbrtl: (libc)Exponents and Logarithms.
- * ccosf: (libc)Trig Functions.
- * ccoshf: (libc)Hyperbolic Functions.
- * ccosh: (libc)Hyperbolic Functions.
- * ccoshl: (libc)Hyperbolic Functions.
- * ccos: (libc)Trig Functions.
- * ccosl: (libc)Trig Functions.
- * CCTS_OFLOW: (libc)Control Modes.
- * ceilf: (libc)Rounding Functions.
- * ceil: (libc)Rounding Functions.
- * ceill: (libc)Rounding Functions.
- * cexpf: (libc)Exponents and Logarithms.
- * cexp: (libc)Exponents and Logarithms.
- * cexpl: (libc)Exponents and Logarithms.
- * cfgetispeed: (libc)Line Speed.
- * cfgetospeed: (libc)Line Speed.
- * cfmakeraw: (libc)Noncanonical Input.
- * cfree: (libc)Freeing after Malloc.
- * cfsetispeed: (libc)Line Speed.
- * cfsetospeed: (libc)Line Speed.
- * cfsetspeed: (libc)Line Speed.
- * chdir: (libc)Working Directory.
- * CHILD_MAX: (libc)General Limits.
- * chmod: (libc)Setting Permissions.
- * chown: (libc)File Owner.
- * CIGNORE: (libc)Control Modes.
- * cimagf: (libc)Operations on Complex.
- * cimag: (libc)Operations on Complex.
- * cimagl: (libc)Operations on Complex.
- * clearenv: (libc)Environment Access.
- * clearerr: (libc)Error Recovery.
- * clearerr_unlocked: (libc)Error Recovery.
- * CLK_TCK: (libc)Processor Time.
- * CLOCAL: (libc)Control Modes.
- * clock: (libc)CPU Time.
- * CLOCKS_PER_SEC: (libc)CPU Time.
- * clog10f: (libc)Exponents and Logarithms.
- * clog10: (libc)Exponents and Logarithms.
- * clog10l: (libc)Exponents and Logarithms.
- * clogf: (libc)Exponents and Logarithms.
- * clog: (libc)Exponents and Logarithms.
- * clogl: (libc)Exponents and Logarithms.
- * closedir: (libc)Reading/Closing Directory.
- * close: (libc)Opening and Closing Files.
- * closelog: (libc)closelog.
- * COLL_WEIGHTS_MAX: (libc)Utility Limits.
- * _Complex_I: (libc)Complex Numbers.
- * confstr: (libc)String Parameters.
- * conjf: (libc)Operations on Complex.
- * conj: (libc)Operations on Complex.
- * conjl: (libc)Operations on Complex.
- * connect: (libc)Connecting.
- * copysignf: (libc)FP Bit Twiddling.
- * copysign: (libc)FP Bit Twiddling.
- * copysignl: (libc)FP Bit Twiddling.
- * cosf: (libc)Trig Functions.
- * coshf: (libc)Hyperbolic Functions.
- * cosh: (libc)Hyperbolic Functions.
- * coshl: (libc)Hyperbolic Functions.
- * cos: (libc)Trig Functions.
- * cosl: (libc)Trig Functions.
- * cpowf: (libc)Exponents and Logarithms.
- * cpow: (libc)Exponents and Logarithms.
- * cpowl: (libc)Exponents and Logarithms.
- * cprojf: (libc)Operations on Complex.
- * cproj: (libc)Operations on Complex.
- * cprojl: (libc)Operations on Complex.
- * CPU_CLR: (libc)CPU Affinity.
- * CPU_ISSET: (libc)CPU Affinity.
- * CPU_SET: (libc)CPU Affinity.
- * CPU_SETSIZE: (libc)CPU Affinity.
- * CPU_ZERO: (libc)CPU Affinity.
- * CREAD: (libc)Control Modes.
- * crealf: (libc)Operations on Complex.
- * creal: (libc)Operations on Complex.
- * creall: (libc)Operations on Complex.
- * creat64: (libc)Opening and Closing Files.
- * creat: (libc)Opening and Closing Files.
- * CRTS_IFLOW: (libc)Control Modes.
- * crypt: (libc)crypt.
- * crypt_r: (libc)crypt.
- * CS5: (libc)Control Modes.
- * CS6: (libc)Control Modes.
- * CS7: (libc)Control Modes.
- * CS8: (libc)Control Modes.
- * csinf: (libc)Trig Functions.
- * csinhf: (libc)Hyperbolic Functions.
- * csinh: (libc)Hyperbolic Functions.
- * csinhl: (libc)Hyperbolic Functions.
- * csin: (libc)Trig Functions.
- * csinl: (libc)Trig Functions.
- * CSIZE: (libc)Control Modes.
- * csqrtf: (libc)Exponents and Logarithms.
- * csqrt: (libc)Exponents and Logarithms.
- * csqrtl: (libc)Exponents and Logarithms.
- * CSTOPB: (libc)Control Modes.
- * ctanf: (libc)Trig Functions.
- * ctanhf: (libc)Hyperbolic Functions.
- * ctanh: (libc)Hyperbolic Functions.
- * ctanhl: (libc)Hyperbolic Functions.
- * ctan: (libc)Trig Functions.
- * ctanl: (libc)Trig Functions.
- * ctermid: (libc)Identifying the Terminal.
- * ctime: (libc)Formatting Calendar Time.
- * ctime_r: (libc)Formatting Calendar Time.
- * cuserid: (libc)Who Logged In.
- * dcgettext: (libc)Translation with gettext.
- * dcngettext: (libc)Advanced gettext functions.
- * DES_FAILED: (libc)DES Encryption.
- * des_setparity: (libc)DES Encryption.
- * dgettext: (libc)Translation with gettext.
- * difftime: (libc)Elapsed Time.
- * dirfd: (libc)Opening a Directory.
- * dirname: (libc)Finding Tokens in a String.
- * div: (libc)Integer Division.
- * dngettext: (libc)Advanced gettext functions.
- * drand48: (libc)SVID Random.
- * drand48_r: (libc)SVID Random.
- * dremf: (libc)Remainder Functions.
- * drem: (libc)Remainder Functions.
- * dreml: (libc)Remainder Functions.
- * DTTOIF: (libc)Directory Entries.
- * dup2: (libc)Duplicating Descriptors.
- * dup: (libc)Duplicating Descriptors.
- * E2BIG: (libc)Error Codes.
- * EACCES: (libc)Error Codes.
- * EADDRINUSE: (libc)Error Codes.
- * EADDRNOTAVAIL: (libc)Error Codes.
- * EADV: (libc)Error Codes.
- * EAFNOSUPPORT: (libc)Error Codes.
- * EAGAIN: (libc)Error Codes.
- * EALREADY: (libc)Error Codes.
- * EAUTH: (libc)Error Codes.
- * EBACKGROUND: (libc)Error Codes.
- * EBADE: (libc)Error Codes.
- * EBADFD: (libc)Error Codes.
- * EBADF: (libc)Error Codes.
- * EBADMSG: (libc)Error Codes.
- * EBADR: (libc)Error Codes.
- * EBADRPC: (libc)Error Codes.
- * EBADRQC: (libc)Error Codes.
- * EBADSLT: (libc)Error Codes.
- * EBFONT: (libc)Error Codes.
- * EBUSY: (libc)Error Codes.
- * ECANCELED: (libc)Error Codes.
- * ecb_crypt: (libc)DES Encryption.
- * ECHILD: (libc)Error Codes.
- * ECHOCTL: (libc)Local Modes.
- * ECHOE: (libc)Local Modes.
- * ECHOKE: (libc)Local Modes.
- * ECHOK: (libc)Local Modes.
- * ECHO: (libc)Local Modes.
- * ECHONL: (libc)Local Modes.
- * ECHOPRT: (libc)Local Modes.
- * ECHRNG: (libc)Error Codes.
- * ECOMM: (libc)Error Codes.
- * ECONNABORTED: (libc)Error Codes.
- * ECONNREFUSED: (libc)Error Codes.
- * ECONNRESET: (libc)Error Codes.
- * ecvt: (libc)System V Number Conversion.
- * ecvt_r: (libc)System V Number Conversion.
- * EDEADLK: (libc)Error Codes.
- * EDEADLOCK: (libc)Error Codes.
- * EDESTADDRREQ: (libc)Error Codes.
- * EDIED: (libc)Error Codes.
- * ED: (libc)Error Codes.
- * EDOM: (libc)Error Codes.
- * EDOTDOT: (libc)Error Codes.
- * EDQUOT: (libc)Error Codes.
- * EEXIST: (libc)Error Codes.
- * EFAULT: (libc)Error Codes.
- * EFBIG: (libc)Error Codes.
- * EFTYPE: (libc)Error Codes.
- * EGRATUITOUS: (libc)Error Codes.
- * EGREGIOUS: (libc)Error Codes.
- * EHOSTDOWN: (libc)Error Codes.
- * EHOSTUNREACH: (libc)Error Codes.
- * EHWPOISON: (libc)Error Codes.
- * EIDRM: (libc)Error Codes.
- * EIEIO: (libc)Error Codes.
- * EILSEQ: (libc)Error Codes.
- * EINPROGRESS: (libc)Error Codes.
- * EINTR: (libc)Error Codes.
- * EINVAL: (libc)Error Codes.
- * EIO: (libc)Error Codes.
- * EISCONN: (libc)Error Codes.
- * EISDIR: (libc)Error Codes.
- * EISNAM: (libc)Error Codes.
- * EKEYEXPIRED: (libc)Error Codes.
- * EKEYREJECTED: (libc)Error Codes.
- * EKEYREVOKED: (libc)Error Codes.
- * EL2HLT: (libc)Error Codes.
- * EL2NSYNC: (libc)Error Codes.
- * EL3HLT: (libc)Error Codes.
- * EL3RST: (libc)Error Codes.
- * ELIBACC: (libc)Error Codes.
- * ELIBBAD: (libc)Error Codes.
- * ELIBEXEC: (libc)Error Codes.
- * ELIBMAX: (libc)Error Codes.
- * ELIBSCN: (libc)Error Codes.
- * ELNRNG: (libc)Error Codes.
- * ELOOP: (libc)Error Codes.
- * EMEDIUMTYPE: (libc)Error Codes.
- * EMFILE: (libc)Error Codes.
- * EMLINK: (libc)Error Codes.
- * EMSGSIZE: (libc)Error Codes.
- * EMULTIHOP: (libc)Error Codes.
- * ENAMETOOLONG: (libc)Error Codes.
- * ENAVAIL: (libc)Error Codes.
- * encrypt: (libc)DES Encryption.
- * encrypt_r: (libc)DES Encryption.
- * endfsent: (libc)fstab.
- * endgrent: (libc)Scanning All Groups.
- * endhostent: (libc)Host Names.
- * endmntent: (libc)mtab.
- * endnetent: (libc)Networks Database.
- * endnetgrent: (libc)Lookup Netgroup.
- * endprotoent: (libc)Protocols Database.
- * endpwent: (libc)Scanning All Users.
- * endservent: (libc)Services Database.
- * endutent: (libc)Manipulating the Database.
- * endutxent: (libc)XPG Functions.
- * ENEEDAUTH: (libc)Error Codes.
- * ENETDOWN: (libc)Error Codes.
- * ENETRESET: (libc)Error Codes.
- * ENETUNREACH: (libc)Error Codes.
- * ENFILE: (libc)Error Codes.
- * ENOANO: (libc)Error Codes.
- * ENOBUFS: (libc)Error Codes.
- * ENOCSI: (libc)Error Codes.
- * ENODATA: (libc)Error Codes.
- * ENODEV: (libc)Error Codes.
- * ENOENT: (libc)Error Codes.
- * ENOEXEC: (libc)Error Codes.
- * ENOKEY: (libc)Error Codes.
- * ENOLCK: (libc)Error Codes.
- * ENOLINK: (libc)Error Codes.
- * ENOMEDIUM: (libc)Error Codes.
- * ENOMEM: (libc)Error Codes.
- * ENOMSG: (libc)Error Codes.
- * ENONET: (libc)Error Codes.
- * ENOPKG: (libc)Error Codes.
- * ENOPROTOOPT: (libc)Error Codes.
- * ENOSPC: (libc)Error Codes.
- * ENOSR: (libc)Error Codes.
- * ENOSTR: (libc)Error Codes.
- * ENOSYS: (libc)Error Codes.
- * ENOTBLK: (libc)Error Codes.
- * ENOTCONN: (libc)Error Codes.
- * ENOTDIR: (libc)Error Codes.
- * ENOTEMPTY: (libc)Error Codes.
- * ENOTNAM: (libc)Error Codes.
- * ENOTRECOVERABLE: (libc)Error Codes.
- * ENOTSOCK: (libc)Error Codes.
- * ENOTSUP: (libc)Error Codes.
- * ENOTTY: (libc)Error Codes.
- * ENOTUNIQ: (libc)Error Codes.
- * envz_add: (libc)Envz Functions.
- * envz_entry: (libc)Envz Functions.
- * envz_get: (libc)Envz Functions.
- * envz_merge: (libc)Envz Functions.
- * envz_remove: (libc)Envz Functions.
- * envz_strip: (libc)Envz Functions.
- * ENXIO: (libc)Error Codes.
- * EOF: (libc)EOF and Errors.
- * EOPNOTSUPP: (libc)Error Codes.
- * EOVERFLOW: (libc)Error Codes.
- * EOWNERDEAD: (libc)Error Codes.
- * EPERM: (libc)Error Codes.
- * EPFNOSUPPORT: (libc)Error Codes.
- * EPIPE: (libc)Error Codes.
- * EPROCLIM: (libc)Error Codes.
- * EPROCUNAVAIL: (libc)Error Codes.
- * EPROGMISMATCH: (libc)Error Codes.
- * EPROGUNAVAIL: (libc)Error Codes.
- * EPROTO: (libc)Error Codes.
- * EPROTONOSUPPORT: (libc)Error Codes.
- * EPROTOTYPE: (libc)Error Codes.
- * EQUIV_CLASS_MAX: (libc)Utility Limits.
- * erand48: (libc)SVID Random.
- * erand48_r: (libc)SVID Random.
- * ERANGE: (libc)Error Codes.
- * EREMCHG: (libc)Error Codes.
- * EREMOTEIO: (libc)Error Codes.
- * EREMOTE: (libc)Error Codes.
- * ERESTART: (libc)Error Codes.
- * erfcf: (libc)Special Functions.
- * erfc: (libc)Special Functions.
- * erfcl: (libc)Special Functions.
- * erff: (libc)Special Functions.
- * ERFKILL: (libc)Error Codes.
- * erf: (libc)Special Functions.
- * erfl: (libc)Special Functions.
- * EROFS: (libc)Error Codes.
- * ERPCMISMATCH: (libc)Error Codes.
- * err: (libc)Error Messages.
- * errno: (libc)Checking for Errors.
- * error_at_line: (libc)Error Messages.
- * error: (libc)Error Messages.
- * errx: (libc)Error Messages.
- * ESHUTDOWN: (libc)Error Codes.
- * ESOCKTNOSUPPORT: (libc)Error Codes.
- * ESPIPE: (libc)Error Codes.
- * ESRCH: (libc)Error Codes.
- * ESRMNT: (libc)Error Codes.
- * ESTALE: (libc)Error Codes.
- * ESTRPIPE: (libc)Error Codes.
- * ETIMEDOUT: (libc)Error Codes.
- * ETIME: (libc)Error Codes.
- * ETOOMANYREFS: (libc)Error Codes.
- * ETXTBSY: (libc)Error Codes.
- * EUCLEAN: (libc)Error Codes.
- * EUNATCH: (libc)Error Codes.
- * EUSERS: (libc)Error Codes.
- * EWOULDBLOCK: (libc)Error Codes.
- * EXDEV: (libc)Error Codes.
- * execle: (libc)Executing a File.
- * execl: (libc)Executing a File.
- * execlp: (libc)Executing a File.
- * execve: (libc)Executing a File.
- * execv: (libc)Executing a File.
- * execvp: (libc)Executing a File.
- * EXFULL: (libc)Error Codes.
- * EXIT_FAILURE: (libc)Exit Status.
- * exit: (libc)Normal Termination.
- * _exit: (libc)Termination Internals.
- * _Exit: (libc)Termination Internals.
- * EXIT_SUCCESS: (libc)Exit Status.
- * exp10f: (libc)Exponents and Logarithms.
- * exp10: (libc)Exponents and Logarithms.
- * exp10l: (libc)Exponents and Logarithms.
- * exp2f: (libc)Exponents and Logarithms.
- * exp2: (libc)Exponents and Logarithms.
- * exp2l: (libc)Exponents and Logarithms.
- * expf: (libc)Exponents and Logarithms.
- * exp: (libc)Exponents and Logarithms.
- * explicit_bzero: (libc)Erasing Sensitive Data.
- * expl: (libc)Exponents and Logarithms.
- * expm1f: (libc)Exponents and Logarithms.
- * expm1: (libc)Exponents and Logarithms.
- * expm1l: (libc)Exponents and Logarithms.
- * EXPR_NEST_MAX: (libc)Utility Limits.
- * fabsf: (libc)Absolute Value.
- * fabs: (libc)Absolute Value.
- * fabsl: (libc)Absolute Value.
- * __fbufsize: (libc)Controlling Buffering.
- * fchdir: (libc)Working Directory.
- * fchmod: (libc)Setting Permissions.
- * fchown: (libc)File Owner.
- * fcloseall: (libc)Closing Streams.
- * fclose: (libc)Closing Streams.
- * fcntl: (libc)Control Operations.
- * fcvt: (libc)System V Number Conversion.
- * fcvt_r: (libc)System V Number Conversion.
- * fdatasync: (libc)Synchronizing I/O.
- * FD_CLOEXEC: (libc)Descriptor Flags.
- * FD_CLR: (libc)Waiting for I/O.
- * fdimf: (libc)Misc FP Arithmetic.
- * fdim: (libc)Misc FP Arithmetic.
- * fdiml: (libc)Misc FP Arithmetic.
- * FD_ISSET: (libc)Waiting for I/O.
- * fdopendir: (libc)Opening a Directory.
- * fdopen: (libc)Descriptors and Streams.
- * FD_SET: (libc)Waiting for I/O.
- * FD_SETSIZE: (libc)Waiting for I/O.
- * F_DUPFD: (libc)Duplicating Descriptors.
- * FD_ZERO: (libc)Waiting for I/O.
- * feclearexcept: (libc)Status bit operations.
- * fedisableexcept: (libc)Control Functions.
- * feenableexcept: (libc)Control Functions.
- * fegetenv: (libc)Control Functions.
- * fegetexceptflag: (libc)Status bit operations.
- * fegetexcept: (libc)Control Functions.
- * fegetmode: (libc)Control Functions.
- * fegetround: (libc)Rounding.
- * feholdexcept: (libc)Control Functions.
- * feof: (libc)EOF and Errors.
- * feof_unlocked: (libc)EOF and Errors.
- * feraiseexcept: (libc)Status bit operations.
- * ferror: (libc)EOF and Errors.
- * ferror_unlocked: (libc)EOF and Errors.
- * fesetenv: (libc)Control Functions.
- * fesetexceptflag: (libc)Status bit operations.
- * fesetexcept: (libc)Status bit operations.
- * fesetmode: (libc)Control Functions.
- * fesetround: (libc)Rounding.
- * FE_SNANS_ALWAYS_SIGNAL: (libc)Infinity and NaN.
- * fetestexceptflag: (libc)Status bit operations.
- * fetestexcept: (libc)Status bit operations.
- * feupdateenv: (libc)Control Functions.
- * fflush: (libc)Flushing Buffers.
- * fflush_unlocked: (libc)Flushing Buffers.
- * fgetc: (libc)Character Input.
- * fgetc_unlocked: (libc)Character Input.
- * F_GETFD: (libc)Descriptor Flags.
- * F_GETFL: (libc)Getting File Status Flags.
- * fgetgrent: (libc)Scanning All Groups.
- * fgetgrent_r: (libc)Scanning All Groups.
- * F_GETLK: (libc)File Locks.
- * F_GETOWN: (libc)Interrupt Input.
- * fgetpos64: (libc)Portable Positioning.
- * fgetpos: (libc)Portable Positioning.
- * fgetpwent: (libc)Scanning All Users.
- * fgetpwent_r: (libc)Scanning All Users.
- * fgets: (libc)Line Input.
- * fgets_unlocked: (libc)Line Input.
- * fgetwc: (libc)Character Input.
- * fgetwc_unlocked: (libc)Character Input.
- * fgetws: (libc)Line Input.
- * fgetws_unlocked: (libc)Line Input.
- * FILENAME_MAX: (libc)Limits for Files.
- * fileno: (libc)Descriptors and Streams.
- * fileno_unlocked: (libc)Descriptors and Streams.
- * finitef: (libc)Floating Point Classes.
- * finite: (libc)Floating Point Classes.
- * finitel: (libc)Floating Point Classes.
- * __flbf: (libc)Controlling Buffering.
- * flockfile: (libc)Streams and Threads.
- * floorf: (libc)Rounding Functions.
- * floor: (libc)Rounding Functions.
- * floorl: (libc)Rounding Functions.
- * _flushlbf: (libc)Flushing Buffers.
- * FLUSHO: (libc)Local Modes.
- * fmaf: (libc)Misc FP Arithmetic.
- * fma: (libc)Misc FP Arithmetic.
- * fmal: (libc)Misc FP Arithmetic.
- * fmaxf: (libc)Misc FP Arithmetic.
- * fmax: (libc)Misc FP Arithmetic.
- * fmaxl: (libc)Misc FP Arithmetic.
- * fmaxmagf: (libc)Misc FP Arithmetic.
- * fmaxmag: (libc)Misc FP Arithmetic.
- * fmaxmagl: (libc)Misc FP Arithmetic.
- * fmemopen: (libc)String Streams.
- * fminf: (libc)Misc FP Arithmetic.
- * fmin: (libc)Misc FP Arithmetic.
- * fminl: (libc)Misc FP Arithmetic.
- * fminmagf: (libc)Misc FP Arithmetic.
- * fminmag: (libc)Misc FP Arithmetic.
- * fminmagl: (libc)Misc FP Arithmetic.
- * fmodf: (libc)Remainder Functions.
- * fmod: (libc)Remainder Functions.
- * fmodl: (libc)Remainder Functions.
- * fmtmsg: (libc)Printing Formatted Messages.
- * fnmatch: (libc)Wildcard Matching.
- * F_OFD_GETLK: (libc)Open File Description Locks.
- * F_OFD_SETLK: (libc)Open File Description Locks.
- * F_OFD_SETLKW: (libc)Open File Description Locks.
- * F_OK: (libc)Testing File Access.
- * fopen64: (libc)Opening Streams.
- * fopencookie: (libc)Streams and Cookies.
- * fopen: (libc)Opening Streams.
- * FOPEN_MAX: (libc)Opening Streams.
- * fork: (libc)Creating a Process.
- * forkpty: (libc)Pseudo-Terminal Pairs.
- * fpathconf: (libc)Pathconf.
- * fpclassify: (libc)Floating Point Classes.
- * __fpending: (libc)Controlling Buffering.
- * FP_ILOGB0: (libc)Exponents and Logarithms.
- * FP_ILOGBNAN: (libc)Exponents and Logarithms.
- * FP_LLOGB0: (libc)Exponents and Logarithms.
- * FP_LLOGBNAN: (libc)Exponents and Logarithms.
- * fprintf: (libc)Formatted Output Functions.
- * __fpurge: (libc)Flushing Buffers.
- * fputc: (libc)Simple Output.
- * fputc_unlocked: (libc)Simple Output.
- * fputs: (libc)Simple Output.
- * fputs_unlocked: (libc)Simple Output.
- * fputwc: (libc)Simple Output.
- * fputwc_unlocked: (libc)Simple Output.
- * fputws: (libc)Simple Output.
- * fputws_unlocked: (libc)Simple Output.
- * __freadable: (libc)Opening Streams.
- * __freading: (libc)Opening Streams.
- * fread: (libc)Block Input/Output.
- * fread_unlocked: (libc)Block Input/Output.
- * free: (libc)Freeing after Malloc.
- * freopen64: (libc)Opening Streams.
- * freopen: (libc)Opening Streams.
- * frexpf: (libc)Normalization Functions.
- * frexp: (libc)Normalization Functions.
- * frexpl: (libc)Normalization Functions.
- * fromfpf: (libc)Rounding Functions.
- * fromfp: (libc)Rounding Functions.
- * fromfpl: (libc)Rounding Functions.
- * fromfpxf: (libc)Rounding Functions.
- * fromfpx: (libc)Rounding Functions.
- * fromfpxl: (libc)Rounding Functions.
- * fscanf: (libc)Formatted Input Functions.
- * fseek: (libc)File Positioning.
- * fseeko64: (libc)File Positioning.
- * fseeko: (libc)File Positioning.
- * F_SETFD: (libc)Descriptor Flags.
- * F_SETFL: (libc)Getting File Status Flags.
- * F_SETLK: (libc)File Locks.
- * F_SETLKW: (libc)File Locks.
- * __fsetlocking: (libc)Streams and Threads.
- * F_SETOWN: (libc)Interrupt Input.
- * fsetpos64: (libc)Portable Positioning.
- * fsetpos: (libc)Portable Positioning.
- * fstat64: (libc)Reading Attributes.
- * fstat: (libc)Reading Attributes.
- * fsync: (libc)Synchronizing I/O.
- * ftell: (libc)File Positioning.
- * ftello64: (libc)File Positioning.
- * ftello: (libc)File Positioning.
- * ftruncate64: (libc)File Size.
- * ftruncate: (libc)File Size.
- * ftrylockfile: (libc)Streams and Threads.
- * ftw64: (libc)Working with Directory Trees.
- * ftw: (libc)Working with Directory Trees.
- * funlockfile: (libc)Streams and Threads.
- * futimes: (libc)File Times.
- * fwide: (libc)Streams and I18N.
- * fwprintf: (libc)Formatted Output Functions.
- * __fwritable: (libc)Opening Streams.
- * fwrite: (libc)Block Input/Output.
- * fwrite_unlocked: (libc)Block Input/Output.
- * __fwriting: (libc)Opening Streams.
- * fwscanf: (libc)Formatted Input Functions.
- * gammaf: (libc)Special Functions.
- * gamma: (libc)Special Functions.
- * gammal: (libc)Special Functions.
- * __gconv_end_fct: (libc)glibc iconv Implementation.
- * __gconv_fct: (libc)glibc iconv Implementation.
- * __gconv_init_fct: (libc)glibc iconv Implementation.
- * gcvt: (libc)System V Number Conversion.
- * getauxval: (libc)Auxiliary Vector.
- * get_avphys_pages: (libc)Query Memory Parameters.
- * getchar: (libc)Character Input.
- * getchar_unlocked: (libc)Character Input.
- * getc: (libc)Character Input.
- * getcontext: (libc)System V contexts.
- * getc_unlocked: (libc)Character Input.
- * get_current_dir_name: (libc)Working Directory.
- * getcwd: (libc)Working Directory.
- * getdate: (libc)General Time String Parsing.
- * getdate_r: (libc)General Time String Parsing.
- * getdelim: (libc)Line Input.
- * getdomainnname: (libc)Host Identification.
- * getegid: (libc)Reading Persona.
- * getentropy: (libc)Unpredictable Bytes.
- * getenv: (libc)Environment Access.
- * geteuid: (libc)Reading Persona.
- * getfsent: (libc)fstab.
- * getfsfile: (libc)fstab.
- * getfsspec: (libc)fstab.
- * getgid: (libc)Reading Persona.
- * getgrent: (libc)Scanning All Groups.
- * getgrent_r: (libc)Scanning All Groups.
- * getgrgid: (libc)Lookup Group.
- * getgrgid_r: (libc)Lookup Group.
- * getgrnam: (libc)Lookup Group.
- * getgrnam_r: (libc)Lookup Group.
- * getgrouplist: (libc)Setting Groups.
- * getgroups: (libc)Reading Persona.
- * gethostbyaddr: (libc)Host Names.
- * gethostbyaddr_r: (libc)Host Names.
- * gethostbyname2: (libc)Host Names.
- * gethostbyname2_r: (libc)Host Names.
- * gethostbyname: (libc)Host Names.
- * gethostbyname_r: (libc)Host Names.
- * gethostent: (libc)Host Names.
- * gethostid: (libc)Host Identification.
- * gethostname: (libc)Host Identification.
- * getitimer: (libc)Setting an Alarm.
- * getline: (libc)Line Input.
- * getloadavg: (libc)Processor Resources.
- * getlogin: (libc)Who Logged In.
- * getmntent: (libc)mtab.
- * getmntent_r: (libc)mtab.
- * getnetbyaddr: (libc)Networks Database.
- * getnetbyname: (libc)Networks Database.
- * getnetent: (libc)Networks Database.
- * getnetgrent: (libc)Lookup Netgroup.
- * getnetgrent_r: (libc)Lookup Netgroup.
- * get_nprocs_conf: (libc)Processor Resources.
- * get_nprocs: (libc)Processor Resources.
- * getopt: (libc)Using Getopt.
- * getopt_long: (libc)Getopt Long Options.
- * getopt_long_only: (libc)Getopt Long Options.
- * getpagesize: (libc)Query Memory Parameters.
- * getpass: (libc)getpass.
- * getpayloadf: (libc)FP Bit Twiddling.
- * getpayload: (libc)FP Bit Twiddling.
- * getpayloadl: (libc)FP Bit Twiddling.
- * getpeername: (libc)Who is Connected.
- * getpgid: (libc)Process Group Functions.
- * getpgrp: (libc)Process Group Functions.
- * get_phys_pages: (libc)Query Memory Parameters.
- * getpid: (libc)Process Identification.
- * getppid: (libc)Process Identification.
- * getpriority: (libc)Traditional Scheduling Functions.
- * getprotobyname: (libc)Protocols Database.
- * getprotobynumber: (libc)Protocols Database.
- * getprotoent: (libc)Protocols Database.
- * getpt: (libc)Allocation.
- * getpwent: (libc)Scanning All Users.
- * getpwent_r: (libc)Scanning All Users.
- * getpwnam: (libc)Lookup User.
- * getpwnam_r: (libc)Lookup User.
- * getpwuid: (libc)Lookup User.
- * getpwuid_r: (libc)Lookup User.
- * getrandom: (libc)Unpredictable Bytes.
- * getrlimit64: (libc)Limits on Resources.
- * getrlimit: (libc)Limits on Resources.
- * getrusage: (libc)Resource Usage.
- * getservbyname: (libc)Services Database.
- * getservbyport: (libc)Services Database.
- * getservent: (libc)Services Database.
- * getsid: (libc)Process Group Functions.
- * gets: (libc)Line Input.
- * getsockname: (libc)Reading Address.
- * getsockopt: (libc)Socket Option Functions.
- * getsubopt: (libc)Suboptions.
- * gettext: (libc)Translation with gettext.
- * gettimeofday: (libc)High-Resolution Calendar.
- * getuid: (libc)Reading Persona.
- * getumask: (libc)Setting Permissions.
- * getutent: (libc)Manipulating the Database.
- * getutent_r: (libc)Manipulating the Database.
- * getutid: (libc)Manipulating the Database.
- * getutid_r: (libc)Manipulating the Database.
- * getutline: (libc)Manipulating the Database.
- * getutline_r: (libc)Manipulating the Database.
- * getutmp: (libc)XPG Functions.
- * getutmpx: (libc)XPG Functions.
- * getutxent: (libc)XPG Functions.
- * getutxid: (libc)XPG Functions.
- * getutxline: (libc)XPG Functions.
- * getwchar: (libc)Character Input.
- * getwchar_unlocked: (libc)Character Input.
- * getwc: (libc)Character Input.
- * getwc_unlocked: (libc)Character Input.
- * getwd: (libc)Working Directory.
- * getw: (libc)Character Input.
- * glob64: (libc)Calling Glob.
- * globfree64: (libc)More Flags for Globbing.
- * globfree: (libc)More Flags for Globbing.
- * glob: (libc)Calling Glob.
- * gmtime: (libc)Broken-down Time.
- * gmtime_r: (libc)Broken-down Time.
- * grantpt: (libc)Allocation.
- * gsignal: (libc)Signaling Yourself.
- * gtty: (libc)BSD Terminal Modes.
- * hasmntopt: (libc)mtab.
- * hcreate: (libc)Hash Search Function.
- * hcreate_r: (libc)Hash Search Function.
- * hdestroy: (libc)Hash Search Function.
- * hdestroy_r: (libc)Hash Search Function.
- * hsearch: (libc)Hash Search Function.
- * hsearch_r: (libc)Hash Search Function.
- * htonl: (libc)Byte Order.
- * htons: (libc)Byte Order.
- * HUGE_VALF: (libc)Math Error Reporting.
- * HUGE_VAL: (libc)Math Error Reporting.
- * HUGE_VALL: (libc)Math Error Reporting.
- * HUPCL: (libc)Control Modes.
- * hypotf: (libc)Exponents and Logarithms.
- * hypot: (libc)Exponents and Logarithms.
- * hypotl: (libc)Exponents and Logarithms.
- * ICANON: (libc)Local Modes.
- * iconv_close: (libc)Generic Conversion Interface.
- * iconv: (libc)Generic Conversion Interface.
- * iconv_open: (libc)Generic Conversion Interface.
- * ICRNL: (libc)Input Modes.
- * IEXTEN: (libc)Local Modes.
- * if_freenameindex: (libc)Interface Naming.
- * if_indextoname: (libc)Interface Naming.
- * if_nameindex: (libc)Interface Naming.
- * if_nametoindex: (libc)Interface Naming.
- * IFNAMSIZ: (libc)Interface Naming.
- * IFTODT: (libc)Directory Entries.
- * IGNBRK: (libc)Input Modes.
- * IGNCR: (libc)Input Modes.
- * IGNPAR: (libc)Input Modes.
- * I: (libc)Complex Numbers.
- * ilogbf: (libc)Exponents and Logarithms.
- * ilogb: (libc)Exponents and Logarithms.
- * ilogbl: (libc)Exponents and Logarithms.
- * _Imaginary_I: (libc)Complex Numbers.
- * imaxabs: (libc)Absolute Value.
- * IMAXBEL: (libc)Input Modes.
- * imaxdiv: (libc)Integer Division.
- * in6addr_any: (libc)Host Address Data Type.
- * in6addr_loopback: (libc)Host Address Data Type.
- * INADDR_ANY: (libc)Host Address Data Type.
- * INADDR_BROADCAST: (libc)Host Address Data Type.
- * INADDR_LOOPBACK: (libc)Host Address Data Type.
- * INADDR_NONE: (libc)Host Address Data Type.
- * index: (libc)Search Functions.
- * inet_addr: (libc)Host Address Functions.
- * inet_aton: (libc)Host Address Functions.
- * inet_lnaof: (libc)Host Address Functions.
- * inet_makeaddr: (libc)Host Address Functions.
- * inet_netof: (libc)Host Address Functions.
- * inet_network: (libc)Host Address Functions.
- * inet_ntoa: (libc)Host Address Functions.
- * inet_ntop: (libc)Host Address Functions.
- * inet_pton: (libc)Host Address Functions.
- * INFINITY: (libc)Infinity and NaN.
- * initgroups: (libc)Setting Groups.
- * initstate: (libc)BSD Random.
- * initstate_r: (libc)BSD Random.
- * INLCR: (libc)Input Modes.
- * innetgr: (libc)Netgroup Membership.
- * INPCK: (libc)Input Modes.
- * ioctl: (libc)IOCTLs.
- * _IOFBF: (libc)Controlling Buffering.
- * _IOLBF: (libc)Controlling Buffering.
- * _IONBF: (libc)Controlling Buffering.
- * IPPORT_RESERVED: (libc)Ports.
- * IPPORT_USERRESERVED: (libc)Ports.
- * isalnum: (libc)Classification of Characters.
- * isalpha: (libc)Classification of Characters.
- * isascii: (libc)Classification of Characters.
- * isatty: (libc)Is It a Terminal.
- * isblank: (libc)Classification of Characters.
- * iscanonical: (libc)Floating Point Classes.
- * iscntrl: (libc)Classification of Characters.
- * isdigit: (libc)Classification of Characters.
- * iseqsig: (libc)FP Comparison Functions.
- * isfinite: (libc)Floating Point Classes.
- * isgraph: (libc)Classification of Characters.
- * isgreaterequal: (libc)FP Comparison Functions.
- * isgreater: (libc)FP Comparison Functions.
- * ISIG: (libc)Local Modes.
- * isinff: (libc)Floating Point Classes.
- * isinf: (libc)Floating Point Classes.
- * isinfl: (libc)Floating Point Classes.
- * islessequal: (libc)FP Comparison Functions.
- * islessgreater: (libc)FP Comparison Functions.
- * isless: (libc)FP Comparison Functions.
- * islower: (libc)Classification of Characters.
- * isnanf: (libc)Floating Point Classes.
- * isnan: (libc)Floating Point Classes.
- * isnan: (libc)Floating Point Classes.
- * isnanl: (libc)Floating Point Classes.
- * isnormal: (libc)Floating Point Classes.
- * isprint: (libc)Classification of Characters.
- * ispunct: (libc)Classification of Characters.
- * issignaling: (libc)Floating Point Classes.
- * isspace: (libc)Classification of Characters.
- * issubnormal: (libc)Floating Point Classes.
- * ISTRIP: (libc)Input Modes.
- * isunordered: (libc)FP Comparison Functions.
- * isupper: (libc)Classification of Characters.
- * iswalnum: (libc)Classification of Wide Characters.
- * iswalpha: (libc)Classification of Wide Characters.
- * iswblank: (libc)Classification of Wide Characters.
- * iswcntrl: (libc)Classification of Wide Characters.
- * iswctype: (libc)Classification of Wide Characters.
- * iswdigit: (libc)Classification of Wide Characters.
- * iswgraph: (libc)Classification of Wide Characters.
- * iswlower: (libc)Classification of Wide Characters.
- * iswprint: (libc)Classification of Wide Characters.
- * iswpunct: (libc)Classification of Wide Characters.
- * iswspace: (libc)Classification of Wide Characters.
- * iswupper: (libc)Classification of Wide Characters.
- * iswxdigit: (libc)Classification of Wide Characters.
- * isxdigit: (libc)Classification of Characters.
- * iszero: (libc)Floating Point Classes.
- * IXANY: (libc)Input Modes.
- * IXOFF: (libc)Input Modes.
- * IXON: (libc)Input Modes.
- * j0f: (libc)Special Functions.
- * j0: (libc)Special Functions.
- * j0l: (libc)Special Functions.
- * j1f: (libc)Special Functions.
- * j1: (libc)Special Functions.
- * j1l: (libc)Special Functions.
- * jnf: (libc)Special Functions.
- * jn: (libc)Special Functions.
- * jnl: (libc)Special Functions.
- * jrand48: (libc)SVID Random.
- * jrand48_r: (libc)SVID Random.
- * kill: (libc)Signaling Another Process.
- * killpg: (libc)Signaling Another Process.
- * l64a: (libc)Encode Binary Data.
- * labs: (libc)Absolute Value.
- * lcong48: (libc)SVID Random.
- * lcong48_r: (libc)SVID Random.
- * L_ctermid: (libc)Identifying the Terminal.
- * L_cuserid: (libc)Who Logged In.
- * ldexpf: (libc)Normalization Functions.
- * ldexp: (libc)Normalization Functions.
- * ldexpl: (libc)Normalization Functions.
- * ldiv: (libc)Integer Division.
- * lfind: (libc)Array Search Function.
- * lgammaf: (libc)Special Functions.
- * lgammaf_r: (libc)Special Functions.
- * lgamma: (libc)Special Functions.
- * lgammal: (libc)Special Functions.
- * lgammal_r: (libc)Special Functions.
- * lgamma_r: (libc)Special Functions.
- * LINE_MAX: (libc)Utility Limits.
- * link: (libc)Hard Links.
- * LINK_MAX: (libc)Limits for Files.
- * lio_listio64: (libc)Asynchronous Reads/Writes.
- * lio_listio: (libc)Asynchronous Reads/Writes.
- * listen: (libc)Listening.
- * llabs: (libc)Absolute Value.
- * lldiv: (libc)Integer Division.
- * llogbf: (libc)Exponents and Logarithms.
- * llogb: (libc)Exponents and Logarithms.
- * llogbl: (libc)Exponents and Logarithms.
- * llrintf: (libc)Rounding Functions.
- * llrint: (libc)Rounding Functions.
- * llrintl: (libc)Rounding Functions.
- * llroundf: (libc)Rounding Functions.
- * llround: (libc)Rounding Functions.
- * llroundl: (libc)Rounding Functions.
- * localeconv: (libc)The Lame Way to Locale Data.
- * localtime: (libc)Broken-down Time.
- * localtime_r: (libc)Broken-down Time.
- * log10f: (libc)Exponents and Logarithms.
- * log10: (libc)Exponents and Logarithms.
- * log10l: (libc)Exponents and Logarithms.
- * log1pf: (libc)Exponents and Logarithms.
- * log1p: (libc)Exponents and Logarithms.
- * log1pl: (libc)Exponents and Logarithms.
- * log2f: (libc)Exponents and Logarithms.
- * log2: (libc)Exponents and Logarithms.
- * log2l: (libc)Exponents and Logarithms.
- * logbf: (libc)Exponents and Logarithms.
- * logb: (libc)Exponents and Logarithms.
- * logbl: (libc)Exponents and Logarithms.
- * logf: (libc)Exponents and Logarithms.
- * login: (libc)Logging In and Out.
- * login_tty: (libc)Logging In and Out.
- * log: (libc)Exponents and Logarithms.
- * logl: (libc)Exponents and Logarithms.
- * logout: (libc)Logging In and Out.
- * logwtmp: (libc)Logging In and Out.
- * longjmp: (libc)Non-Local Details.
- * lrand48: (libc)SVID Random.
- * lrand48_r: (libc)SVID Random.
- * lrintf: (libc)Rounding Functions.
- * lrint: (libc)Rounding Functions.
- * lrintl: (libc)Rounding Functions.
- * lroundf: (libc)Rounding Functions.
- * lround: (libc)Rounding Functions.
- * lroundl: (libc)Rounding Functions.
- * lsearch: (libc)Array Search Function.
- * lseek64: (libc)File Position Primitive.
- * lseek: (libc)File Position Primitive.
- * lstat64: (libc)Reading Attributes.
- * lstat: (libc)Reading Attributes.
- * L_tmpnam: (libc)Temporary Files.
- * lutimes: (libc)File Times.
- * madvise: (libc)Memory-mapped I/O.
- * makecontext: (libc)System V contexts.
- * mallinfo: (libc)Statistics of Malloc.
- * malloc: (libc)Basic Allocation.
- * mallopt: (libc)Malloc Tunable Parameters.
- * MAX_CANON: (libc)Limits for Files.
- * MAX_INPUT: (libc)Limits for Files.
- * MAXNAMLEN: (libc)Limits for Files.
- * MAXSYMLINKS: (libc)Symbolic Links.
- * MB_CUR_MAX: (libc)Selecting the Conversion.
- * mblen: (libc)Non-reentrant Character Conversion.
- * MB_LEN_MAX: (libc)Selecting the Conversion.
- * mbrlen: (libc)Converting a Character.
- * mbrtowc: (libc)Converting a Character.
- * mbsinit: (libc)Keeping the state.
- * mbsnrtowcs: (libc)Converting Strings.
- * mbsrtowcs: (libc)Converting Strings.
- * mbstowcs: (libc)Non-reentrant String Conversion.
- * mbtowc: (libc)Non-reentrant Character Conversion.
- * mcheck: (libc)Heap Consistency Checking.
- * MDMBUF: (libc)Control Modes.
- * memalign: (libc)Aligned Memory Blocks.
- * memccpy: (libc)Copying Strings and Arrays.
- * memchr: (libc)Search Functions.
- * memcmp: (libc)String/Array Comparison.
- * memcpy: (libc)Copying Strings and Arrays.
- * memfrob: (libc)Trivial Encryption.
- * memmem: (libc)Search Functions.
- * memmove: (libc)Copying Strings and Arrays.
- * mempcpy: (libc)Copying Strings and Arrays.
- * memrchr: (libc)Search Functions.
- * memset: (libc)Copying Strings and Arrays.
- * mkdir: (libc)Creating Directories.
- * mkdtemp: (libc)Temporary Files.
- * mkfifo: (libc)FIFO Special Files.
- * mknod: (libc)Making Special Files.
- * mkstemp: (libc)Temporary Files.
- * mktemp: (libc)Temporary Files.
- * mktime: (libc)Broken-down Time.
- * mlockall: (libc)Page Lock Functions.
- * mlock: (libc)Page Lock Functions.
- * mmap64: (libc)Memory-mapped I/O.
- * mmap: (libc)Memory-mapped I/O.
- * modff: (libc)Rounding Functions.
- * modf: (libc)Rounding Functions.
- * modfl: (libc)Rounding Functions.
- * mount: (libc)Mount-Unmount-Remount.
- * mprobe: (libc)Heap Consistency Checking.
- * mrand48: (libc)SVID Random.
- * mrand48_r: (libc)SVID Random.
- * mremap: (libc)Memory-mapped I/O.
- * MSG_DONTROUTE: (libc)Socket Data Options.
- * MSG_OOB: (libc)Socket Data Options.
- * MSG_PEEK: (libc)Socket Data Options.
- * msync: (libc)Memory-mapped I/O.
- * mtrace: (libc)Tracing malloc.
- * munlockall: (libc)Page Lock Functions.
- * munlock: (libc)Page Lock Functions.
- * munmap: (libc)Memory-mapped I/O.
- * muntrace: (libc)Tracing malloc.
- * NAME_MAX: (libc)Limits for Files.
- * nanf: (libc)FP Bit Twiddling.
- * nan: (libc)FP Bit Twiddling.
- * NAN: (libc)Infinity and NaN.
- * nanl: (libc)FP Bit Twiddling.
- * nanosleep: (libc)Sleeping.
- * NCCS: (libc)Mode Data Types.
- * nearbyintf: (libc)Rounding Functions.
- * nearbyint: (libc)Rounding Functions.
- * nearbyintl: (libc)Rounding Functions.
- * nextafterf: (libc)FP Bit Twiddling.
- * nextafter: (libc)FP Bit Twiddling.
- * nextafterl: (libc)FP Bit Twiddling.
- * nextdownf: (libc)FP Bit Twiddling.
- * nextdown: (libc)FP Bit Twiddling.
- * nextdownl: (libc)FP Bit Twiddling.
- * nexttowardf: (libc)FP Bit Twiddling.
- * nexttoward: (libc)FP Bit Twiddling.
- * nexttowardl: (libc)FP Bit Twiddling.
- * nextupf: (libc)FP Bit Twiddling.
- * nextup: (libc)FP Bit Twiddling.
- * nextupl: (libc)FP Bit Twiddling.
- * nftw64: (libc)Working with Directory Trees.
- * nftw: (libc)Working with Directory Trees.
- * ngettext: (libc)Advanced gettext functions.
- * NGROUPS_MAX: (libc)General Limits.
- * nice: (libc)Traditional Scheduling Functions.
- * nl_langinfo: (libc)The Elegant and Fast Way.
- * NOFLSH: (libc)Local Modes.
- * NOKERNINFO: (libc)Local Modes.
- * nrand48: (libc)SVID Random.
- * nrand48_r: (libc)SVID Random.
- * NSIG: (libc)Standard Signals.
- * ntohl: (libc)Byte Order.
- * ntohs: (libc)Byte Order.
- * ntp_adjtime: (libc)High Accuracy Clock.
- * ntp_gettime: (libc)High Accuracy Clock.
- * NULL: (libc)Null Pointer Constant.
- * O_ACCMODE: (libc)Access Modes.
- * O_APPEND: (libc)Operating Modes.
- * O_ASYNC: (libc)Operating Modes.
- * obstack_1grow_fast: (libc)Extra Fast Growing.
- * obstack_1grow: (libc)Growing Objects.
- * obstack_alignment_mask: (libc)Obstacks Data Alignment.
- * obstack_alloc: (libc)Allocation in an Obstack.
- * obstack_base: (libc)Status of an Obstack.
- * obstack_blank_fast: (libc)Extra Fast Growing.
- * obstack_blank: (libc)Growing Objects.
- * obstack_chunk_size: (libc)Obstack Chunks.
- * obstack_copy0: (libc)Allocation in an Obstack.
- * obstack_copy: (libc)Allocation in an Obstack.
- * obstack_finish: (libc)Growing Objects.
- * obstack_free: (libc)Freeing Obstack Objects.
- * obstack_grow0: (libc)Growing Objects.
- * obstack_grow: (libc)Growing Objects.
- * obstack_init: (libc)Preparing for Obstacks.
- * obstack_int_grow_fast: (libc)Extra Fast Growing.
- * obstack_int_grow: (libc)Growing Objects.
- * obstack_next_free: (libc)Status of an Obstack.
- * obstack_object_size: (libc)Growing Objects.
- * obstack_object_size: (libc)Status of an Obstack.
- * obstack_printf: (libc)Dynamic Output.
- * obstack_ptr_grow_fast: (libc)Extra Fast Growing.
- * obstack_ptr_grow: (libc)Growing Objects.
- * obstack_room: (libc)Extra Fast Growing.
- * obstack_vprintf: (libc)Variable Arguments Output.
- * O_CREAT: (libc)Open-time Flags.
- * O_EXCL: (libc)Open-time Flags.
- * O_EXEC: (libc)Access Modes.
- * O_EXLOCK: (libc)Open-time Flags.
- * offsetof: (libc)Structure Measurement.
- * O_FSYNC: (libc)Operating Modes.
- * O_IGNORE_CTTY: (libc)Open-time Flags.
- * O_NDELAY: (libc)Operating Modes.
- * on_exit: (libc)Cleanups on Exit.
- * ONLCR: (libc)Output Modes.
- * O_NOATIME: (libc)Operating Modes.
- * O_NOCTTY: (libc)Open-time Flags.
- * ONOEOT: (libc)Output Modes.
- * O_NOLINK: (libc)Open-time Flags.
- * O_NONBLOCK: (libc)Open-time Flags.
- * O_NONBLOCK: (libc)Operating Modes.
- * O_NOTRANS: (libc)Open-time Flags.
- * open64: (libc)Opening and Closing Files.
- * opendir: (libc)Opening a Directory.
- * open: (libc)Opening and Closing Files.
- * openlog: (libc)openlog.
- * OPEN_MAX: (libc)General Limits.
- * open_memstream: (libc)String Streams.
- * openpty: (libc)Pseudo-Terminal Pairs.
- * OPOST: (libc)Output Modes.
- * O_RDONLY: (libc)Access Modes.
- * O_RDWR: (libc)Access Modes.
- * O_READ: (libc)Access Modes.
- * O_SHLOCK: (libc)Open-time Flags.
- * O_SYNC: (libc)Operating Modes.
- * O_TRUNC: (libc)Open-time Flags.
- * O_WRITE: (libc)Access Modes.
- * O_WRONLY: (libc)Access Modes.
- * OXTABS: (libc)Output Modes.
- * PA_FLAG_MASK: (libc)Parsing a Template String.
- * PARENB: (libc)Control Modes.
- * PARMRK: (libc)Input Modes.
- * PARODD: (libc)Control Modes.
- * parse_printf_format: (libc)Parsing a Template String.
- * pathconf: (libc)Pathconf.
- * PATH_MAX: (libc)Limits for Files.
- * _PATH_UTMP: (libc)Manipulating the Database.
- * _PATH_WTMP: (libc)Manipulating the Database.
- * pause: (libc)Using Pause.
- * pclose: (libc)Pipe to a Subprocess.
- * PENDIN: (libc)Local Modes.
- * perror: (libc)Error Messages.
- * PF_FILE: (libc)Local Namespace Details.
- * PF_INET6: (libc)Internet Namespace.
- * PF_INET: (libc)Internet Namespace.
- * PF_LOCAL: (libc)Local Namespace Details.
- * PF_UNIX: (libc)Local Namespace Details.
- * PIPE_BUF: (libc)Limits for Files.
- * pipe: (libc)Creating a Pipe.
- * popen: (libc)Pipe to a Subprocess.
- * _POSIX2_C_DEV: (libc)System Options.
- * _POSIX2_C_VERSION: (libc)Version Supported.
- * _POSIX2_FORT_DEV: (libc)System Options.
- * _POSIX2_FORT_RUN: (libc)System Options.
- * _POSIX2_LOCALEDEF: (libc)System Options.
- * _POSIX2_SW_DEV: (libc)System Options.
- * _POSIX_CHOWN_RESTRICTED: (libc)Options for Files.
- * posix_fallocate64: (libc)Storage Allocation.
- * posix_fallocate: (libc)Storage Allocation.
- * _POSIX_JOB_CONTROL: (libc)System Options.
- * posix_memalign: (libc)Aligned Memory Blocks.
- * _POSIX_NO_TRUNC: (libc)Options for Files.
- * _POSIX_SAVED_IDS: (libc)System Options.
- * _POSIX_VDISABLE: (libc)Options for Files.
- * _POSIX_VERSION: (libc)Version Supported.
- * pow10f: (libc)Exponents and Logarithms.
- * pow10: (libc)Exponents and Logarithms.
- * pow10l: (libc)Exponents and Logarithms.
- * powf: (libc)Exponents and Logarithms.
- * pow: (libc)Exponents and Logarithms.
- * powl: (libc)Exponents and Logarithms.
- * __ppc_get_timebase_freq: (libc)PowerPC.
- * __ppc_get_timebase: (libc)PowerPC.
- * __ppc_mdoio: (libc)PowerPC.
- * __ppc_mdoom: (libc)PowerPC.
- * __ppc_set_ppr_low: (libc)PowerPC.
- * __ppc_set_ppr_med_high: (libc)PowerPC.
- * __ppc_set_ppr_med: (libc)PowerPC.
- * __ppc_set_ppr_med_low: (libc)PowerPC.
- * __ppc_set_ppr_very_low: (libc)PowerPC.
- * __ppc_yield: (libc)PowerPC.
- * pread64: (libc)I/O Primitives.
- * pread: (libc)I/O Primitives.
- * printf: (libc)Formatted Output Functions.
- * printf_size_info: (libc)Predefined Printf Handlers.
- * printf_size: (libc)Predefined Printf Handlers.
- * psignal: (libc)Signal Messages.
- * pthread_getattr_default_np: (libc)Default Thread Attributes.
- * pthread_getspecific: (libc)Thread-specific Data.
- * pthread_key_create: (libc)Thread-specific Data.
- * pthread_key_delete: (libc)Thread-specific Data.
- * pthread_setattr_default_np: (libc)Default Thread Attributes.
- * pthread_setspecific: (libc)Thread-specific Data.
- * P_tmpdir: (libc)Temporary Files.
- * ptsname: (libc)Allocation.
- * ptsname_r: (libc)Allocation.
- * putchar: (libc)Simple Output.
- * putchar_unlocked: (libc)Simple Output.
- * putc: (libc)Simple Output.
- * putc_unlocked: (libc)Simple Output.
- * putenv: (libc)Environment Access.
- * putpwent: (libc)Writing a User Entry.
- * puts: (libc)Simple Output.
- * pututline: (libc)Manipulating the Database.
- * pututxline: (libc)XPG Functions.
- * putwchar: (libc)Simple Output.
- * putwchar_unlocked: (libc)Simple Output.
- * putwc: (libc)Simple Output.
- * putwc_unlocked: (libc)Simple Output.
- * putw: (libc)Simple Output.
- * pwrite64: (libc)I/O Primitives.
- * pwrite: (libc)I/O Primitives.
- * qecvt: (libc)System V Number Conversion.
- * qecvt_r: (libc)System V Number Conversion.
- * qfcvt: (libc)System V Number Conversion.
- * qfcvt_r: (libc)System V Number Conversion.
- * qgcvt: (libc)System V Number Conversion.
- * qsort: (libc)Array Sort Function.
- * raise: (libc)Signaling Yourself.
- * rand: (libc)ISO Random.
- * RAND_MAX: (libc)ISO Random.
- * random: (libc)BSD Random.
- * random_r: (libc)BSD Random.
- * rand_r: (libc)ISO Random.
- * rawmemchr: (libc)Search Functions.
- * readdir64: (libc)Reading/Closing Directory.
- * readdir64_r: (libc)Reading/Closing Directory.
- * readdir: (libc)Reading/Closing Directory.
- * readdir_r: (libc)Reading/Closing Directory.
- * read: (libc)I/O Primitives.
- * readlink: (libc)Symbolic Links.
- * readv: (libc)Scatter-Gather.
- * realloc: (libc)Changing Block Size.
- * realpath: (libc)Symbolic Links.
- * recvfrom: (libc)Receiving Datagrams.
- * recv: (libc)Receiving Data.
- * recvmsg: (libc)Receiving Datagrams.
- * RE_DUP_MAX: (libc)General Limits.
- * regcomp: (libc)POSIX Regexp Compilation.
- * regerror: (libc)Regexp Cleanup.
- * regexec: (libc)Matching POSIX Regexps.
- * regfree: (libc)Regexp Cleanup.
- * register_printf_function: (libc)Registering New Conversions.
- * remainderf: (libc)Remainder Functions.
- * remainder: (libc)Remainder Functions.
- * remainderl: (libc)Remainder Functions.
- * remove: (libc)Deleting Files.
- * rename: (libc)Renaming Files.
- * rewinddir: (libc)Random Access Directory.
- * rewind: (libc)File Positioning.
- * rindex: (libc)Search Functions.
- * rintf: (libc)Rounding Functions.
- * rint: (libc)Rounding Functions.
- * rintl: (libc)Rounding Functions.
- * RLIM_INFINITY: (libc)Limits on Resources.
- * rmdir: (libc)Deleting Files.
- * R_OK: (libc)Testing File Access.
- * roundevenf: (libc)Rounding Functions.
- * roundeven: (libc)Rounding Functions.
- * roundevenl: (libc)Rounding Functions.
- * roundf: (libc)Rounding Functions.
- * round: (libc)Rounding Functions.
- * roundl: (libc)Rounding Functions.
- * rpmatch: (libc)Yes-or-No Questions.
- * SA_NOCLDSTOP: (libc)Flags for Sigaction.
- * SA_ONSTACK: (libc)Flags for Sigaction.
- * SA_RESTART: (libc)Flags for Sigaction.
- * sbrk: (libc)Resizing the Data Segment.
- * scalbf: (libc)Normalization Functions.
- * scalb: (libc)Normalization Functions.
- * scalbl: (libc)Normalization Functions.
- * scalblnf: (libc)Normalization Functions.
- * scalbln: (libc)Normalization Functions.
- * scalblnl: (libc)Normalization Functions.
- * scalbnf: (libc)Normalization Functions.
- * scalbn: (libc)Normalization Functions.
- * scalbnl: (libc)Normalization Functions.
- * scandir64: (libc)Scanning Directory Content.
- * scandir: (libc)Scanning Directory Content.
- * scanf: (libc)Formatted Input Functions.
- * sched_getaffinity: (libc)CPU Affinity.
- * sched_getparam: (libc)Basic Scheduling Functions.
- * sched_get_priority_max: (libc)Basic Scheduling Functions.
- * sched_get_priority_min: (libc)Basic Scheduling Functions.
- * sched_getscheduler: (libc)Basic Scheduling Functions.
- * sched_rr_get_interval: (libc)Basic Scheduling Functions.
- * sched_setaffinity: (libc)CPU Affinity.
- * sched_setparam: (libc)Basic Scheduling Functions.
- * sched_setscheduler: (libc)Basic Scheduling Functions.
- * sched_yield: (libc)Basic Scheduling Functions.
- * secure_getenv: (libc)Environment Access.
- * seed48: (libc)SVID Random.
- * seed48_r: (libc)SVID Random.
- * SEEK_CUR: (libc)File Positioning.
- * seekdir: (libc)Random Access Directory.
- * SEEK_END: (libc)File Positioning.
- * SEEK_SET: (libc)File Positioning.
- * select: (libc)Waiting for I/O.
- * sem_close: (libc)Semaphores.
- * semctl: (libc)Semaphores.
- * sem_destroy: (libc)Semaphores.
- * semget: (libc)Semaphores.
- * sem_getvalue: (libc)Semaphores.
- * sem_init: (libc)Semaphores.
- * sem_open: (libc)Semaphores.
- * semop: (libc)Semaphores.
- * sem_post: (libc)Semaphores.
- * semtimedop: (libc)Semaphores.
- * sem_timedwait: (libc)Semaphores.
- * sem_trywait: (libc)Semaphores.
- * sem_unlink: (libc)Semaphores.
- * sem_wait: (libc)Semaphores.
- * send: (libc)Sending Data.
- * sendmsg: (libc)Receiving Datagrams.
- * sendto: (libc)Sending Datagrams.
- * setbuffer: (libc)Controlling Buffering.
- * setbuf: (libc)Controlling Buffering.
- * setcontext: (libc)System V contexts.
- * setdomainname: (libc)Host Identification.
- * setegid: (libc)Setting Groups.
- * setenv: (libc)Environment Access.
- * seteuid: (libc)Setting User ID.
- * setfsent: (libc)fstab.
- * setgid: (libc)Setting Groups.
- * setgrent: (libc)Scanning All Groups.
- * setgroups: (libc)Setting Groups.
- * sethostent: (libc)Host Names.
- * sethostid: (libc)Host Identification.
- * sethostname: (libc)Host Identification.
- * setitimer: (libc)Setting an Alarm.
- * setjmp: (libc)Non-Local Details.
- * setkey: (libc)DES Encryption.
- * setkey_r: (libc)DES Encryption.
- * setlinebuf: (libc)Controlling Buffering.
- * setlocale: (libc)Setting the Locale.
- * setlogmask: (libc)setlogmask.
- * setmntent: (libc)mtab.
- * setnetent: (libc)Networks Database.
- * setnetgrent: (libc)Lookup Netgroup.
- * setpayloadf: (libc)FP Bit Twiddling.
- * setpayload: (libc)FP Bit Twiddling.
- * setpayloadl: (libc)FP Bit Twiddling.
- * setpayloadsigf: (libc)FP Bit Twiddling.
- * setpayloadsig: (libc)FP Bit Twiddling.
- * setpayloadsigl: (libc)FP Bit Twiddling.
- * setpgid: (libc)Process Group Functions.
- * setpgrp: (libc)Process Group Functions.
- * setpriority: (libc)Traditional Scheduling Functions.
- * setprotoent: (libc)Protocols Database.
- * setpwent: (libc)Scanning All Users.
- * setregid: (libc)Setting Groups.
- * setreuid: (libc)Setting User ID.
- * setrlimit64: (libc)Limits on Resources.
- * setrlimit: (libc)Limits on Resources.
- * setservent: (libc)Services Database.
- * setsid: (libc)Process Group Functions.
- * setsockopt: (libc)Socket Option Functions.
- * setstate: (libc)BSD Random.
- * setstate_r: (libc)BSD Random.
- * settimeofday: (libc)High-Resolution Calendar.
- * setuid: (libc)Setting User ID.
- * setutent: (libc)Manipulating the Database.
- * setutxent: (libc)XPG Functions.
- * setvbuf: (libc)Controlling Buffering.
- * shm_open: (libc)Memory-mapped I/O.
- * shm_unlink: (libc)Memory-mapped I/O.
- * shutdown: (libc)Closing a Socket.
- * S_IFMT: (libc)Testing File Type.
- * SIGABRT: (libc)Program Error Signals.
- * sigaction: (libc)Advanced Signal Handling.
- * sigaddset: (libc)Signal Sets.
- * SIGALRM: (libc)Alarm Signals.
- * sigaltstack: (libc)Signal Stack.
- * sigblock: (libc)BSD Signal Handling.
- * SIGBUS: (libc)Program Error Signals.
- * SIGCHLD: (libc)Job Control Signals.
- * SIGCLD: (libc)Job Control Signals.
- * SIGCONT: (libc)Job Control Signals.
- * sigdelset: (libc)Signal Sets.
- * sigemptyset: (libc)Signal Sets.
- * SIGEMT: (libc)Program Error Signals.
- * SIG_ERR: (libc)Basic Signal Handling.
- * sigfillset: (libc)Signal Sets.
- * SIGFPE: (libc)Program Error Signals.
- * SIGHUP: (libc)Termination Signals.
- * SIGILL: (libc)Program Error Signals.
- * SIGINFO: (libc)Miscellaneous Signals.
- * siginterrupt: (libc)BSD Signal Handling.
- * SIGINT: (libc)Termination Signals.
- * SIGIO: (libc)Asynchronous I/O Signals.
- * SIGIOT: (libc)Program Error Signals.
- * sigismember: (libc)Signal Sets.
- * SIGKILL: (libc)Termination Signals.
- * siglongjmp: (libc)Non-Local Exits and Signals.
- * SIGLOST: (libc)Operation Error Signals.
- * sigmask: (libc)BSD Signal Handling.
- * signal: (libc)Basic Signal Handling.
- * signbit: (libc)FP Bit Twiddling.
- * significandf: (libc)Normalization Functions.
- * significand: (libc)Normalization Functions.
- * significandl: (libc)Normalization Functions.
- * sigpause: (libc)BSD Signal Handling.
- * sigpending: (libc)Checking for Pending Signals.
- * SIGPIPE: (libc)Operation Error Signals.
- * SIGPOLL: (libc)Asynchronous I/O Signals.
- * sigprocmask: (libc)Process Signal Mask.
- * SIGPROF: (libc)Alarm Signals.
- * SIGQUIT: (libc)Termination Signals.
- * SIGSEGV: (libc)Program Error Signals.
- * sigsetjmp: (libc)Non-Local Exits and Signals.
- * sigsetmask: (libc)BSD Signal Handling.
- * sigstack: (libc)Signal Stack.
- * SIGSTOP: (libc)Job Control Signals.
- * sigsuspend: (libc)Sigsuspend.
- * SIGSYS: (libc)Program Error Signals.
- * SIGTERM: (libc)Termination Signals.
- * SIGTRAP: (libc)Program Error Signals.
- * SIGTSTP: (libc)Job Control Signals.
- * SIGTTIN: (libc)Job Control Signals.
- * SIGTTOU: (libc)Job Control Signals.
- * SIGURG: (libc)Asynchronous I/O Signals.
- * SIGUSR1: (libc)Miscellaneous Signals.
- * SIGUSR2: (libc)Miscellaneous Signals.
- * SIGVTALRM: (libc)Alarm Signals.
- * SIGWINCH: (libc)Miscellaneous Signals.
- * SIGXCPU: (libc)Operation Error Signals.
- * SIGXFSZ: (libc)Operation Error Signals.
- * sincosf: (libc)Trig Functions.
- * sincos: (libc)Trig Functions.
- * sincosl: (libc)Trig Functions.
- * sinf: (libc)Trig Functions.
- * sinhf: (libc)Hyperbolic Functions.
- * sinh: (libc)Hyperbolic Functions.
- * sinhl: (libc)Hyperbolic Functions.
- * sin: (libc)Trig Functions.
- * sinl: (libc)Trig Functions.
- * S_ISBLK: (libc)Testing File Type.
- * S_ISCHR: (libc)Testing File Type.
- * S_ISDIR: (libc)Testing File Type.
- * S_ISFIFO: (libc)Testing File Type.
- * S_ISLNK: (libc)Testing File Type.
- * S_ISREG: (libc)Testing File Type.
- * S_ISSOCK: (libc)Testing File Type.
- * sleep: (libc)Sleeping.
- * SNANF: (libc)Infinity and NaN.
- * SNAN: (libc)Infinity and NaN.
- * SNANL: (libc)Infinity and NaN.
- * snprintf: (libc)Formatted Output Functions.
- * SOCK_DGRAM: (libc)Communication Styles.
- * socket: (libc)Creating a Socket.
- * socketpair: (libc)Socket Pairs.
- * SOCK_RAW: (libc)Communication Styles.
- * SOCK_RDM: (libc)Communication Styles.
- * SOCK_SEQPACKET: (libc)Communication Styles.
- * SOCK_STREAM: (libc)Communication Styles.
- * SOL_SOCKET: (libc)Socket-Level Options.
- * sprintf: (libc)Formatted Output Functions.
- * sqrtf: (libc)Exponents and Logarithms.
- * sqrt: (libc)Exponents and Logarithms.
- * sqrtl: (libc)Exponents and Logarithms.
- * srand48: (libc)SVID Random.
- * srand48_r: (libc)SVID Random.
- * srand: (libc)ISO Random.
- * srandom: (libc)BSD Random.
- * srandom_r: (libc)BSD Random.
- * sscanf: (libc)Formatted Input Functions.
- * ssignal: (libc)Basic Signal Handling.
- * SSIZE_MAX: (libc)General Limits.
- * stat64: (libc)Reading Attributes.
- * stat: (libc)Reading Attributes.
- * stime: (libc)Simple Calendar Time.
- * stpcpy: (libc)Copying Strings and Arrays.
- * stpncpy: (libc)Truncating Strings.
- * strcasecmp: (libc)String/Array Comparison.
- * strcasestr: (libc)Search Functions.
- * strcat: (libc)Concatenating Strings.
- * strchr: (libc)Search Functions.
- * strchrnul: (libc)Search Functions.
- * strcmp: (libc)String/Array Comparison.
- * strcoll: (libc)Collation Functions.
- * strcpy: (libc)Copying Strings and Arrays.
- * strcspn: (libc)Search Functions.
- * strdupa: (libc)Copying Strings and Arrays.
- * strdup: (libc)Copying Strings and Arrays.
- * STREAM_MAX: (libc)General Limits.
- * strerror: (libc)Error Messages.
- * strerror_r: (libc)Error Messages.
- * strfmon: (libc)Formatting Numbers.
- * strfromd: (libc)Printing of Floats.
- * strfromf: (libc)Printing of Floats.
- * strfroml: (libc)Printing of Floats.
- * strfry: (libc)strfry.
- * strftime: (libc)Formatting Calendar Time.
- * strlen: (libc)String Length.
- * strncasecmp: (libc)String/Array Comparison.
- * strncat: (libc)Truncating Strings.
- * strncmp: (libc)String/Array Comparison.
- * strncpy: (libc)Truncating Strings.
- * strndupa: (libc)Truncating Strings.
- * strndup: (libc)Truncating Strings.
- * strnlen: (libc)String Length.
- * strpbrk: (libc)Search Functions.
- * strptime: (libc)Low-Level Time String Parsing.
- * strrchr: (libc)Search Functions.
- * strsep: (libc)Finding Tokens in a String.
- * strsignal: (libc)Signal Messages.
- * strspn: (libc)Search Functions.
- * strstr: (libc)Search Functions.
- * strtod: (libc)Parsing of Floats.
- * strtof: (libc)Parsing of Floats.
- * strtoimax: (libc)Parsing of Integers.
- * strtok: (libc)Finding Tokens in a String.
- * strtok_r: (libc)Finding Tokens in a String.
- * strtold: (libc)Parsing of Floats.
- * strtol: (libc)Parsing of Integers.
- * strtoll: (libc)Parsing of Integers.
- * strtoq: (libc)Parsing of Integers.
- * strtoul: (libc)Parsing of Integers.
- * strtoull: (libc)Parsing of Integers.
- * strtoumax: (libc)Parsing of Integers.
- * strtouq: (libc)Parsing of Integers.
- * strverscmp: (libc)String/Array Comparison.
- * strxfrm: (libc)Collation Functions.
- * stty: (libc)BSD Terminal Modes.
- * S_TYPEISMQ: (libc)Testing File Type.
- * S_TYPEISSEM: (libc)Testing File Type.
- * S_TYPEISSHM: (libc)Testing File Type.
- * SUN_LEN: (libc)Local Namespace Details.
- * swapcontext: (libc)System V contexts.
- * swprintf: (libc)Formatted Output Functions.
- * swscanf: (libc)Formatted Input Functions.
- * symlink: (libc)Symbolic Links.
- * sync: (libc)Synchronizing I/O.
- * syscall: (libc)System Calls.
- * sysconf: (libc)Sysconf Definition.
- * sysctl: (libc)System Parameters.
- * syslog: (libc)syslog; vsyslog.
- * system: (libc)Running a Command.
- * sysv_signal: (libc)Basic Signal Handling.
- * tanf: (libc)Trig Functions.
- * tanhf: (libc)Hyperbolic Functions.
- * tanh: (libc)Hyperbolic Functions.
- * tanhl: (libc)Hyperbolic Functions.
- * tan: (libc)Trig Functions.
- * tanl: (libc)Trig Functions.
- * tcdrain: (libc)Line Control.
- * tcflow: (libc)Line Control.
- * tcflush: (libc)Line Control.
- * tcgetattr: (libc)Mode Functions.
- * tcgetpgrp: (libc)Terminal Access Functions.
- * tcgetsid: (libc)Terminal Access Functions.
- * tcsendbreak: (libc)Line Control.
- * tcsetattr: (libc)Mode Functions.
- * tcsetpgrp: (libc)Terminal Access Functions.
- * tdelete: (libc)Tree Search Function.
- * tdestroy: (libc)Tree Search Function.
- * telldir: (libc)Random Access Directory.
- * tempnam: (libc)Temporary Files.
- * textdomain: (libc)Locating gettext catalog.
- * tfind: (libc)Tree Search Function.
- * tgammaf: (libc)Special Functions.
- * tgamma: (libc)Special Functions.
- * tgammal: (libc)Special Functions.
- * timegm: (libc)Broken-down Time.
- * time: (libc)Simple Calendar Time.
- * timelocal: (libc)Broken-down Time.
- * times: (libc)Processor Time.
- * tmpfile64: (libc)Temporary Files.
- * tmpfile: (libc)Temporary Files.
- * TMP_MAX: (libc)Temporary Files.
- * tmpnam: (libc)Temporary Files.
- * tmpnam_r: (libc)Temporary Files.
- * toascii: (libc)Case Conversion.
- * _tolower: (libc)Case Conversion.
- * tolower: (libc)Case Conversion.
- * TOSTOP: (libc)Local Modes.
- * totalorderf: (libc)FP Comparison Functions.
- * totalorder: (libc)FP Comparison Functions.
- * totalorderl: (libc)FP Comparison Functions.
- * totalordermagf: (libc)FP Comparison Functions.
- * totalordermag: (libc)FP Comparison Functions.
- * totalordermagl: (libc)FP Comparison Functions.
- * _toupper: (libc)Case Conversion.
- * toupper: (libc)Case Conversion.
- * towctrans: (libc)Wide Character Case Conversion.
- * towlower: (libc)Wide Character Case Conversion.
- * towupper: (libc)Wide Character Case Conversion.
- * truncate64: (libc)File Size.
- * truncate: (libc)File Size.
- * truncf: (libc)Rounding Functions.
- * trunc: (libc)Rounding Functions.
- * truncl: (libc)Rounding Functions.
- * tsearch: (libc)Tree Search Function.
- * ttyname: (libc)Is It a Terminal.
- * ttyname_r: (libc)Is It a Terminal.
- * twalk: (libc)Tree Search Function.
- * TZNAME_MAX: (libc)General Limits.
- * tzset: (libc)Time Zone Functions.
- * ufromfpf: (libc)Rounding Functions.
- * ufromfp: (libc)Rounding Functions.
- * ufromfpl: (libc)Rounding Functions.
- * ufromfpxf: (libc)Rounding Functions.
- * ufromfpx: (libc)Rounding Functions.
- * ufromfpxl: (libc)Rounding Functions.
- * ulimit: (libc)Limits on Resources.
- * umask: (libc)Setting Permissions.
- * umount2: (libc)Mount-Unmount-Remount.
- * umount: (libc)Mount-Unmount-Remount.
- * uname: (libc)Platform Type.
- * ungetc: (libc)How Unread.
- * ungetwc: (libc)How Unread.
- * unlink: (libc)Deleting Files.
- * unlockpt: (libc)Allocation.
- * unsetenv: (libc)Environment Access.
- * updwtmp: (libc)Manipulating the Database.
- * utime: (libc)File Times.
- * utimes: (libc)File Times.
- * utmpname: (libc)Manipulating the Database.
- * utmpxname: (libc)XPG Functions.
- * va_arg: (libc)Argument Macros.
- * __va_copy: (libc)Argument Macros.
- * va_copy: (libc)Argument Macros.
- * va_end: (libc)Argument Macros.
- * valloc: (libc)Aligned Memory Blocks.
- * vasprintf: (libc)Variable Arguments Output.
- * va_start: (libc)Argument Macros.
- * VDISCARD: (libc)Other Special.
- * VDSUSP: (libc)Signal Characters.
- * VEOF: (libc)Editing Characters.
- * VEOL2: (libc)Editing Characters.
- * VEOL: (libc)Editing Characters.
- * VERASE: (libc)Editing Characters.
- * verr: (libc)Error Messages.
- * verrx: (libc)Error Messages.
- * versionsort64: (libc)Scanning Directory Content.
- * versionsort: (libc)Scanning Directory Content.
- * vfork: (libc)Creating a Process.
- * vfprintf: (libc)Variable Arguments Output.
- * vfscanf: (libc)Variable Arguments Input.
- * vfwprintf: (libc)Variable Arguments Output.
- * vfwscanf: (libc)Variable Arguments Input.
- * VINTR: (libc)Signal Characters.
- * VKILL: (libc)Editing Characters.
- * vlimit: (libc)Limits on Resources.
- * VLNEXT: (libc)Other Special.
- * VMIN: (libc)Noncanonical Input.
- * vprintf: (libc)Variable Arguments Output.
- * VQUIT: (libc)Signal Characters.
- * VREPRINT: (libc)Editing Characters.
- * vscanf: (libc)Variable Arguments Input.
- * vsnprintf: (libc)Variable Arguments Output.
- * vsprintf: (libc)Variable Arguments Output.
- * vsscanf: (libc)Variable Arguments Input.
- * VSTART: (libc)Start/Stop Characters.
- * VSTATUS: (libc)Other Special.
- * VSTOP: (libc)Start/Stop Characters.
- * VSUSP: (libc)Signal Characters.
- * vswprintf: (libc)Variable Arguments Output.
- * vswscanf: (libc)Variable Arguments Input.
- * vsyslog: (libc)syslog; vsyslog.
- * VTIME: (libc)Noncanonical Input.
- * vtimes: (libc)Resource Usage.
- * vwarn: (libc)Error Messages.
- * vwarnx: (libc)Error Messages.
- * VWERASE: (libc)Editing Characters.
- * vwprintf: (libc)Variable Arguments Output.
- * vwscanf: (libc)Variable Arguments Input.
- * wait3: (libc)BSD Wait Functions.
- * wait4: (libc)Process Completion.
- * wait: (libc)Process Completion.
- * waitpid: (libc)Process Completion.
- * warn: (libc)Error Messages.
- * warnx: (libc)Error Messages.
- * WCHAR_MAX: (libc)Extended Char Intro.
- * WCHAR_MIN: (libc)Extended Char Intro.
- * WCOREDUMP: (libc)Process Completion Status.
- * wcpcpy: (libc)Copying Strings and Arrays.
- * wcpncpy: (libc)Truncating Strings.
- * wcrtomb: (libc)Converting a Character.
- * wcscasecmp: (libc)String/Array Comparison.
- * wcscat: (libc)Concatenating Strings.
- * wcschr: (libc)Search Functions.
- * wcschrnul: (libc)Search Functions.
- * wcscmp: (libc)String/Array Comparison.
- * wcscoll: (libc)Collation Functions.
- * wcscpy: (libc)Copying Strings and Arrays.
- * wcscspn: (libc)Search Functions.
- * wcsdup: (libc)Copying Strings and Arrays.
- * wcsftime: (libc)Formatting Calendar Time.
- * wcslen: (libc)String Length.
- * wcsncasecmp: (libc)String/Array Comparison.
- * wcsncat: (libc)Truncating Strings.
- * wcsncmp: (libc)String/Array Comparison.
- * wcsncpy: (libc)Truncating Strings.
- * wcsnlen: (libc)String Length.
- * wcsnrtombs: (libc)Converting Strings.
- * wcspbrk: (libc)Search Functions.
- * wcsrchr: (libc)Search Functions.
- * wcsrtombs: (libc)Converting Strings.
- * wcsspn: (libc)Search Functions.
- * wcsstr: (libc)Search Functions.
- * wcstod: (libc)Parsing of Floats.
- * wcstof: (libc)Parsing of Floats.
- * wcstoimax: (libc)Parsing of Integers.
- * wcstok: (libc)Finding Tokens in a String.
- * wcstold: (libc)Parsing of Floats.
- * wcstol: (libc)Parsing of Integers.
- * wcstoll: (libc)Parsing of Integers.
- * wcstombs: (libc)Non-reentrant String Conversion.
- * wcstoq: (libc)Parsing of Integers.
- * wcstoul: (libc)Parsing of Integers.
- * wcstoull: (libc)Parsing of Integers.
- * wcstoumax: (libc)Parsing of Integers.
- * wcstouq: (libc)Parsing of Integers.
- * wcswcs: (libc)Search Functions.
- * wcsxfrm: (libc)Collation Functions.
- * wctob: (libc)Converting a Character.
- * wctomb: (libc)Non-reentrant Character Conversion.
- * wctrans: (libc)Wide Character Case Conversion.
- * wctype: (libc)Classification of Wide Characters.
- * WEOF: (libc)EOF and Errors.
- * WEOF: (libc)Extended Char Intro.
- * WEXITSTATUS: (libc)Process Completion Status.
- * WIFEXITED: (libc)Process Completion Status.
- * WIFSIGNALED: (libc)Process Completion Status.
- * WIFSTOPPED: (libc)Process Completion Status.
- * wmemchr: (libc)Search Functions.
- * wmemcmp: (libc)String/Array Comparison.
- * wmemcpy: (libc)Copying Strings and Arrays.
- * wmemmove: (libc)Copying Strings and Arrays.
- * wmempcpy: (libc)Copying Strings and Arrays.
- * wmemset: (libc)Copying Strings and Arrays.
- * W_OK: (libc)Testing File Access.
- * wordexp: (libc)Calling Wordexp.
- * wordfree: (libc)Calling Wordexp.
- * wprintf: (libc)Formatted Output Functions.
- * write: (libc)I/O Primitives.
- * writev: (libc)Scatter-Gather.
- * wscanf: (libc)Formatted Input Functions.
- * WSTOPSIG: (libc)Process Completion Status.
- * WTERMSIG: (libc)Process Completion Status.
- * X_OK: (libc)Testing File Access.
- * y0f: (libc)Special Functions.
- * y0: (libc)Special Functions.
- * y0l: (libc)Special Functions.
- * y1f: (libc)Special Functions.
- * y1: (libc)Special Functions.
- * y1l: (libc)Special Functions.
- * ynf: (libc)Special Functions.
- * yn: (libc)Special Functions.
- * ynl: (libc)Special Functions.
- END-INFO-DIR-ENTRY
- File: libc.info, Node: Installation, Next: Maintenance, Prev: Library Summary, Up: Top
- Appendix C Installing the GNU C Library
- ***************************************
- Before you do anything else, you should read the FAQ at
- <http://sourceware.org/glibc/wiki/FAQ>. It answers common questions and
- describes problems you may experience with compilation and installation.
- Features can be added to the GNU C Library via "add-on" bundles.
- These are separate tar files, which you unpack into the top level of the
- source tree. Then you give ‘configure’ the ‘--enable-add-ons’ option to
- activate them, and they will be compiled into the library.
- You will need recent versions of several GNU tools: definitely GCC
- and GNU Make, and possibly others. *Note Tools for Compilation::,
- below.
- * Menu:
- * Configuring and compiling:: How to compile and test GNU libc.
- * Running make install:: How to install it once you’ve got it
- compiled.
- * Tools for Compilation:: You’ll need these first.
- * Linux:: Specific advice for GNU/Linux systems.
- * Reporting Bugs:: So they’ll get fixed.
- File: libc.info, Node: Configuring and compiling, Next: Running make install, Up: Installation
- C.1 Configuring and compiling the GNU C Library
- ===============================================
- The GNU C Library cannot be compiled in the source directory. You must
- build it in a separate build directory. For example, if you have
- unpacked the GNU C Library sources in ‘/src/gnu/glibc-VERSION’, create a
- directory ‘/src/gnu/glibc-build’ to put the object files in. This
- allows removing the whole build directory in case an error occurs, which
- is the safest way to get a fresh start and should always be done.
- From your object directory, run the shell script ‘configure’ located
- at the top level of the source tree. In the scenario above, you’d type
- $ ../glibc-VERSION/configure ARGS…
- Please note that even though you’re building in a separate build
- directory, the compilation may need to create or modify files and
- directories in the source directory.
- ‘configure’ takes many options, but the only one that is usually
- mandatory is ‘--prefix’. This option tells ‘configure’ where you want
- the GNU C Library installed. This defaults to ‘/usr/local’, but the
- normal setting to install as the standard system library is
- ‘--prefix=/usr’ for GNU/Linux systems and ‘--prefix=’ (an empty prefix)
- for GNU/Hurd systems.
- It may also be useful to set the CC and CFLAGS variables in the
- environment when running ‘configure’. CC selects the C compiler that
- will be used, and CFLAGS sets optimization options for the compiler.
- The following list describes all of the available options for
- ‘configure’:
- ‘--prefix=DIRECTORY’
- Install machine-independent data files in subdirectories of
- ‘DIRECTORY’. The default is to install in ‘/usr/local’.
- ‘--exec-prefix=DIRECTORY’
- Install the library and other machine-dependent files in
- subdirectories of ‘DIRECTORY’. The default is to the ‘--prefix’
- directory if that option is specified, or ‘/usr/local’ otherwise.
- ‘--with-headers=DIRECTORY’
- Look for kernel header files in DIRECTORY, not ‘/usr/include’. The
- GNU C Library needs information from the kernel’s header files
- describing the interface to the kernel. The GNU C Library will
- normally look in ‘/usr/include’ for them, but if you specify this
- option, it will look in DIRECTORY instead.
- This option is primarily of use on a system where the headers in
- ‘/usr/include’ come from an older version of the GNU C Library.
- Conflicts can occasionally happen in this case. You can also use
- this option if you want to compile the GNU C Library with a newer
- set of kernel headers than the ones found in ‘/usr/include’.
- ‘--enable-add-ons[=LIST]’
- Specify add-on packages to include in the build. If this option is
- specified with no list, it enables all the add-on packages it finds
- in the main source directory; this is the default behavior. You
- may specify an explicit list of add-ons to use in LIST, separated
- by spaces or commas (if you use spaces, remember to quote them from
- the shell). Each add-on in LIST can be an absolute directory name
- or can be a directory name relative to the main source directory,
- or relative to the build directory (that is, the current working
- directory). For example,
- ‘--enable-add-ons=nptl,../glibc-libidn-VERSION’.
- ‘--enable-kernel=VERSION’
- This option is currently only useful on GNU/Linux systems. The
- VERSION parameter should have the form X.Y.Z and describes the
- smallest version of the Linux kernel the generated library is
- expected to support. The higher the VERSION number is, the less
- compatibility code is added, and the faster the code gets.
- ‘--with-binutils=DIRECTORY’
- Use the binutils (assembler and linker) in ‘DIRECTORY’, not the
- ones the C compiler would default to. You can use this option if
- the default binutils on your system cannot deal with all the
- constructs in the GNU C Library. In that case, ‘configure’ will
- detect the problem and suppress these constructs, so that the
- library will still be usable, but functionality may be lost—for
- example, you can’t build a shared libc with old binutils.
- ‘--without-fp’
- Use this option if your computer lacks hardware floating-point
- support and your operating system does not emulate an FPU.
- ‘--disable-shared’
- Don’t build shared libraries even if it is possible. Not all
- systems support shared libraries; you need ELF support and
- (currently) the GNU linker.
- ‘--disable-profile’
- Don’t build libraries with profiling information. You may want to
- use this option if you don’t plan to do profiling.
- ‘--enable-static-nss’
- Compile static versions of the NSS (Name Service Switch) libraries.
- This is not recommended because it defeats the purpose of NSS; a
- program linked statically with the NSS libraries cannot be
- dynamically reconfigured to use a different name database.
- ‘--enable-hardcoded-path-in-tests’
- By default, dynamic tests are linked to run with the installed C
- library. This option hardcodes the newly built C library path in
- dynamic tests so that they can be invoked directly.
- ‘--disable-timezone-tools’
- By default, timezone related utilities (‘zic’, ‘zdump’, and
- ‘tzselect’) are installed with the GNU C Library. If you are
- building these independently (e.g. by using the ‘tzcode’ package),
- then this option will allow disabling the install of these.
- Note that you need to make sure the external tools are kept in sync
- with the versions that the GNU C Library expects as the data
- formats may change over time. Consult the ‘timezone’ subdirectory
- for more details.
- ‘--enable-lock-elision=yes’
- Enable lock elision for pthread mutexes by default.
- ‘--enable-stack-protector’
- ‘--enable-stack-protector=strong’
- ‘--enable-stack-protector=all’
- Compile the C library and all other parts of the glibc package
- (including the threading and math libraries, NSS modules, and
- transliteration modules) using the GCC ‘-fstack-protector’,
- ‘-fstack-protector-strong’ or ‘-fstack-protector-all’ options to
- detect stack overruns. Only the dynamic linker and a small number
- of routines called directly from assembler are excluded from this
- protection.
- ‘--enable-bind-now’
- Disable lazy binding for installed shared objects. This provides
- additional security hardening because it enables full RELRO and a
- read-only global offset table (GOT), at the cost of slightly
- increased program load times.
- ‘--enable-pt_chown’
- The file ‘pt_chown’ is a helper binary for ‘grantpt’ (*note
- Pseudo-Terminals: Allocation.) that is installed setuid root to fix
- up pseudo-terminal ownership. It is not built by default because
- systems using the Linux kernel are commonly built with the ‘devpts’
- filesystem enabled and mounted at ‘/dev/pts’, which manages
- pseudo-terminal ownership automatically. By using
- ‘--enable-pt_chown’, you may build ‘pt_chown’ and install it setuid
- and owned by ‘root’. The use of ‘pt_chown’ introduces additional
- security risks to the system and you should enable it only if you
- understand and accept those risks.
- ‘--disable-werror’
- By default, the GNU C Library is built with ‘-Werror’. If you wish
- to build without this option (for example, if building with a newer
- version of GCC than this version of the GNU C Library was tested
- with, so new warnings cause the build with ‘-Werror’ to fail), you
- can configure with ‘--disable-werror’.
- ‘--disable-mathvec’
- By default for x86_64, the GNU C Library is built with the vector
- math library. Use this option to disable the vector math library.
- ‘--enable-tunables’
- Tunables support allows additional library parameters to be
- customized at runtime. This is an experimental feature and affects
- startup time and is thus disabled by default. This option can take
- the following values:
- ‘no’
- This is the default if the option is not passed to configure.
- This disables tunables.
- ‘yes’
- This is the default if the option is passed to configure.
- This enables tunables and selects the default frontend
- (currently ‘valstring’).
- ‘valstring’
- This enables tunables and selects the ‘valstring’ frontend for
- tunables. This frontend allows users to specify tunables as a
- colon-separated list in a single environment variable
- ‘GLIBC_TUNABLES’.
- ‘--build=BUILD-SYSTEM’
- ‘--host=HOST-SYSTEM’
- These options are for cross-compiling. If you specify both options
- and BUILD-SYSTEM is different from HOST-SYSTEM, ‘configure’ will
- prepare to cross-compile the GNU C Library from BUILD-SYSTEM to be
- used on HOST-SYSTEM. You’ll probably need the ‘--with-headers’
- option too, and you may have to override CONFIGURE’s selection of
- the compiler and/or binutils.
- If you only specify ‘--host’, ‘configure’ will prepare for a native
- compile but use what you specify instead of guessing what your
- system is. This is most useful to change the CPU submodel. For
- example, if ‘configure’ guesses your machine as ‘i686-pc-linux-gnu’
- but you want to compile a library for 586es, give
- ‘--host=i586-pc-linux-gnu’ or just ‘--host=i586-linux’ and add the
- appropriate compiler flags (‘-mcpu=i586’ will do the trick) to
- CFLAGS.
- If you specify just ‘--build’, ‘configure’ will get confused.
- ‘--with-pkgversion=VERSION’
- Specify a description, possibly including a build number or build
- date, of the binaries being built, to be included in ‘--version’
- output from programs installed with the GNU C Library. For
- example, ‘--with-pkgversion='FooBar GNU/Linux glibc build 123'’.
- The default value is ‘GNU libc’.
- ‘--with-bugurl=URL’
- Specify the URL that users should visit if they wish to report a
- bug, to be included in ‘--help’ output from programs installed with
- the GNU C Library. The default value refers to the main
- bug-reporting information for the GNU C Library.
- To build the library and related programs, type ‘make’. This will
- produce a lot of output, some of which may look like errors from ‘make’
- but aren’t. Look for error messages from ‘make’ containing ‘***’.
- Those indicate that something is seriously wrong.
- The compilation process can take a long time, depending on the
- configuration and the speed of your machine. Some complex modules may
- take a very long time to compile, as much as several minutes on slower
- machines. Do not panic if the compiler appears to hang.
- If you want to run a parallel make, simply pass the ‘-j’ option with
- an appropriate numeric parameter to ‘make’. You need a recent GNU
- ‘make’ version, though.
- To build and run test programs which exercise some of the library
- facilities, type ‘make check’. If it does not complete successfully, do
- not use the built library, and report a bug after verifying that the
- problem is not already known. *Note Reporting Bugs::, for instructions
- on reporting bugs. Note that some of the tests assume they are not
- being run by ‘root’. We recommend you compile and test the GNU C
- Library as an unprivileged user.
- Before reporting bugs make sure there is no problem with your system.
- The tests (and later installation) use some pre-existing files of the
- system such as ‘/etc/passwd’, ‘/etc/nsswitch.conf’ and others. These
- files must all contain correct and sensible content.
- Normally, ‘make check’ will run all the tests before reporting all
- problems found and exiting with error status if any problems occurred.
- You can specify ‘stop-on-test-failure=y’ when running ‘make check’ to
- make the test run stop and exit with an error status immediately when a
- failure occurs.
- The GNU C Library pretty printers come with their own set of scripts
- for testing, which run together with the rest of the testsuite through
- ‘make check’. These scripts require the following tools to run
- successfully:
- • Python 2.7.6/3.4.3 or later
- Python is required for running the printers’ test scripts.
- • PExpect 4.0
- The printer tests drive GDB through test programs and compare its
- output to the printers’. PExpect is used to capture the output of
- GDB, and should be compatible with the Python version in your
- system.
- • GDB 7.8 or later with support for Python 2.7.6/3.4.3 or later
- GDB itself needs to be configured with Python support in order to
- use the pretty printers. Notice that your system having Python
- available doesn’t imply that GDB supports it, nor that your
- system’s Python and GDB’s have the same version.
- If these tools are absent, the printer tests will report themselves as
- ‘UNSUPPORTED’. Notice that some of the printer tests require the GNU C
- Library to be compiled with debugging symbols.
- To format the ‘GNU C Library Reference Manual’ for printing, type
- ‘make dvi’. You need a working TeX installation to do this. The
- distribution builds the on-line formatted version of the manual, as Info
- files, as part of the build process. You can build them manually with
- ‘make info’.
- The library has a number of special-purpose configuration parameters
- which you can find in ‘Makeconfig’. These can be overwritten with the
- file ‘configparms’. To change them, create a ‘configparms’ in your
- build directory and add values as appropriate for your system. The file
- is included and parsed by ‘make’ and has to follow the conventions for
- makefiles.
- It is easy to configure the GNU C Library for cross-compilation by
- setting a few variables in ‘configparms’. Set ‘CC’ to the
- cross-compiler for the target you configured the library for; it is
- important to use this same ‘CC’ value when running ‘configure’, like
- this: ‘CC=TARGET-gcc configure TARGET’. Set ‘BUILD_CC’ to the compiler
- to use for programs run on the build system as part of compiling the
- library. You may need to set ‘AR’ to cross-compiling versions of ‘ar’
- if the native tools are not configured to work with object files for the
- target you configured for. When cross-compiling the GNU C Library, it
- may be tested using ‘make check
- test-wrapper="SRCDIR/scripts/cross-test-ssh.sh HOSTNAME"’, where SRCDIR
- is the absolute directory name for the main source directory and
- HOSTNAME is the host name of a system that can run the newly built
- binaries of the GNU C Library. The source and build directories must be
- visible at the same locations on both the build system and HOSTNAME.
- In general, when testing the GNU C Library, ‘test-wrapper’ may be set
- to the name and arguments of any program to run newly built binaries.
- This program must preserve the arguments to the binary being run, its
- working directory and the standard input, output and error file
- descriptors. If ‘TEST-WRAPPER env’ will not work to run a program with
- environment variables set, then ‘test-wrapper-env’ must be set to a
- program that runs a newly built program with environment variable
- assignments in effect, those assignments being specified as ‘VAR=VALUE’
- before the name of the program to be run. If multiple assignments to
- the same variable are specified, the last assignment specified must take
- precedence. Similarly, if ‘TEST-WRAPPER env -i’ will not work to run a
- program with an environment completely empty of variables except those
- directly assigned, then ‘test-wrapper-env-only’ must be set; its use has
- the same syntax as ‘test-wrapper-env’, the only difference in its
- semantics being starting with an empty set of environment variables
- rather than the ambient set.
- File: libc.info, Node: Running make install, Next: Tools for Compilation, Prev: Configuring and compiling, Up: Installation
- C.2 Installing the C Library
- ============================
- To install the library and its header files, and the Info files of the
- manual, type ‘make install’. This will build things, if necessary,
- before installing them; however, you should still compile everything
- first. If you are installing the GNU C Library as your primary C
- library, we recommend that you shut the system down to single-user mode
- first, and reboot afterward. This minimizes the risk of breaking things
- when the library changes out from underneath.
- ‘make install’ will do the entire job of upgrading from a previous
- installation of the GNU C Library version 2.x. There may sometimes be
- headers left behind from the previous installation, but those are
- generally harmless. If you want to avoid leaving headers behind you can
- do things in the following order.
- You must first build the library (‘make’), optionally check it (‘make
- check’), switch the include directories and then install (‘make
- install’). The steps must be done in this order. Not moving the
- directory before install will result in an unusable mixture of header
- files from both libraries, but configuring, building, and checking the
- library requires the ability to compile and run programs against the old
- library. The new ‘/usr/include’, after switching the include
- directories and before installing the library should contain the Linux
- headers, but nothing else. If you do this, you will need to restore any
- headers from libraries other than the GNU C Library yourself after
- installing the library.
- You can install the GNU C Library somewhere other than where you
- configured it to go by setting the ‘DESTDIR’ GNU standard make variable
- on the command line for ‘make install’. The value of this variable is
- prepended to all the paths for installation. This is useful when
- setting up a chroot environment or preparing a binary distribution. The
- directory should be specified with an absolute file name. Installing
- with the ‘prefix’ and ‘exec_prefix’ GNU standard make variables set is
- not supported.
- The GNU C Library includes a daemon called ‘nscd’, which you may or
- may not want to run. ‘nscd’ caches name service lookups; it can
- dramatically improve performance with NIS+, and may help with DNS as
- well.
- One auxiliary program, ‘/usr/libexec/pt_chown’, is installed setuid
- ‘root’ if the ‘--enable-pt_chown’ configuration option is used. This
- program is invoked by the ‘grantpt’ function; it sets the permissions on
- a pseudoterminal so it can be used by the calling process. If you are
- using a Linux kernel with the ‘devpts’ filesystem enabled and mounted at
- ‘/dev/pts’, you don’t need this program.
- After installation you might want to configure the timezone and
- locale installation of your system. The GNU C Library comes with a
- locale database which gets configured with ‘localedef’. For example, to
- set up a German locale with name ‘de_DE’, simply issue the command
- ‘localedef -i de_DE -f ISO-8859-1 de_DE’. To configure all locales that
- are supported by the GNU C Library, you can issue from your build
- directory the command ‘make localedata/install-locales’.
- To configure the locally used timezone, set the ‘TZ’ environment
- variable. The script ‘tzselect’ helps you to select the right value.
- As an example, for Germany, ‘tzselect’ would tell you to use
- ‘TZ='Europe/Berlin'’. For a system wide installation (the given paths
- are for an installation with ‘--prefix=/usr’), link the timezone file
- which is in ‘/usr/share/zoneinfo’ to the file ‘/etc/localtime’. For
- Germany, you might execute ‘ln -s /usr/share/zoneinfo/Europe/Berlin
- /etc/localtime’.
- File: libc.info, Node: Tools for Compilation, Next: Linux, Prev: Running make install, Up: Installation
- C.3 Recommended Tools for Compilation
- =====================================
- We recommend installing the following GNU tools before attempting to
- build the GNU C Library:
- • GNU ‘make’ 3.79 or newer
- You need the latest version of GNU ‘make’. Modifying the GNU C
- Library to work with other ‘make’ programs would be so difficult
- that we recommend you port GNU ‘make’ instead. *Really.* We
- recommend GNU ‘make’ version 3.79. All earlier versions have
- severe bugs or lack features.
- • GCC 4.7 or newer
- GCC 4.7 or higher is required. In general it is recommended to use
- the newest version of the compiler that is known to work for
- building the GNU C Library, as newer compilers usually produce
- better code. As of release time, GCC 6.3 is the newest compiler
- verified to work to build the GNU C Library.
- For multi-arch support it is recommended to use a GCC which has
- been built with support for GNU indirect functions. This ensures
- that correct debugging information is generated for functions
- selected by IFUNC resolvers. This support can either be enabled by
- configuring GCC with ‘--enable-gnu-indirect-function’, or by
- enabling it by default by setting ‘default_gnu_indirect_function’
- variable for a particular architecture in the GCC source file
- ‘gcc/config.gcc’.
- You can use whatever compiler you like to compile programs that use
- the GNU C Library.
- Check the FAQ for any special compiler issues on particular
- platforms.
- • GNU ‘binutils’ 2.22 or later
- You must use GNU ‘binutils’ (as and ld) to build the GNU C Library.
- No other assembler or linker has the necessary functionality at the
- moment. As of release time, GNU ‘binutils’ 2.25 is the newest
- verified to work to build the GNU C Library.
- • GNU ‘texinfo’ 4.7 or later
- To correctly translate and install the Texinfo documentation you
- need this version of the ‘texinfo’ package. Earlier versions do
- not understand all the tags used in the document, and the
- installation mechanism for the info files is not present or works
- differently. As of release time, ‘texinfo’ 6.0 is the newest
- verified to work to build the GNU C Library.
- • GNU ‘awk’ 3.1.2, or higher
- ‘awk’ is used in several places to generate files. Some ‘gawk’
- extensions are used, including the ‘asorti’ function, which was
- introduced in version 3.1.2 of ‘gawk’. As of release time, ‘gawk’
- version 4.1.3 is the newest verified to work to build the GNU C
- Library.
- • Perl 5
- Perl is not required, but it is used if present to test the
- installation. We may decide to use it elsewhere in the future.
- • GNU ‘sed’ 3.02 or newer
- ‘Sed’ is used in several places to generate files. Most scripts
- work with any version of ‘sed’. As of release time, ‘sed’ version
- 4.2.2 is the newest verified to work to build the GNU C Library.
- If you change any of the ‘configure.ac’ files you will also need
- • GNU ‘autoconf’ 2.69 (exactly)
- and if you change any of the message translation files you will need
- • GNU ‘gettext’ 0.10.36 or later
- If you wish to regenerate the ‘yacc’ parser code in the ‘intl’
- subdirectory you will need
- • GNU ‘bison’ 2.7 or later
- You may also need these packages if you upgrade your source tree using
- patches, although we try to avoid this.
- File: libc.info, Node: Linux, Next: Reporting Bugs, Prev: Tools for Compilation, Up: Installation
- C.4 Specific advice for GNU/Linux systems
- =========================================
- If you are installing the GNU C Library on GNU/Linux systems, you need
- to have the header files from a 3.2 or newer kernel around for
- reference. These headers must be installed using ‘make
- headers_install’; the headers present in the kernel source directory are
- not suitable for direct use by the GNU C Library. You do not need to
- use that kernel, just have its headers installed where the GNU C Library
- can access them, referred to here as INSTALL-DIRECTORY. The easiest way
- to do this is to unpack it in a directory such as
- ‘/usr/src/linux-VERSION’. In that directory, run ‘make headers_install
- INSTALL_HDR_PATH=INSTALL-DIRECTORY’. Finally, configure the GNU C
- Library with the option ‘--with-headers=INSTALL-DIRECTORY/include’. Use
- the most recent kernel you can get your hands on. (If you are
- cross-compiling the GNU C Library, you need to specify
- ‘ARCH=ARCHITECTURE’ in the ‘make headers_install’ command, where
- ARCHITECTURE is the architecture name used by the Linux kernel, such as
- ‘x86’ or ‘powerpc’.)
- After installing the GNU C Library, you may need to remove or rename
- directories such as ‘/usr/include/linux’ and ‘/usr/include/asm’, and
- replace them with copies of directories such as ‘linux’ and ‘asm’ from
- ‘INSTALL-DIRECTORY/include’. All directories present in
- ‘INSTALL-DIRECTORY/include’ should be copied, except that the GNU C
- Library provides its own version of ‘/usr/include/scsi’; the files
- provided by the kernel should be copied without replacing those provided
- by the GNU C Library. The ‘linux’, ‘asm’ and ‘asm-generic’ directories
- are required to compile programs using the GNU C Library; the other
- directories describe interfaces to the kernel but are not required if
- not compiling programs using those interfaces. You do not need to copy
- kernel headers if you did not specify an alternate kernel header source
- using ‘--with-headers’.
- The Filesystem Hierarchy Standard for GNU/Linux systems expects some
- components of the GNU C Library installation to be in ‘/lib’ and some in
- ‘/usr/lib’. This is handled automatically if you configure the GNU C
- Library with ‘--prefix=/usr’. If you set some other prefix or allow it
- to default to ‘/usr/local’, then all the components are installed there.
- File: libc.info, Node: Reporting Bugs, Prev: Linux, Up: Installation
- C.5 Reporting Bugs
- ==================
- There are probably bugs in the GNU C Library. There are certainly
- errors and omissions in this manual. If you report them, they will get
- fixed. If you don’t, no one will ever know about them and they will
- remain unfixed for all eternity, if not longer.
- It is a good idea to verify that the problem has not already been
- reported. Bugs are documented in two places: The file ‘BUGS’ describes
- a number of well known bugs and the central GNU C Library bug tracking
- system has a WWW interface at <http://sourceware.org/bugzilla/>. The
- WWW interface gives you access to open and closed reports. A closed
- report normally includes a patch or a hint on solving the problem.
- To report a bug, first you must find it. With any luck, this will be
- the hard part. Once you’ve found a bug, make sure it’s really a bug. A
- good way to do this is to see if the GNU C Library behaves the same way
- some other C library does. If so, probably you are wrong and the
- libraries are right (but not necessarily). If not, one of the libraries
- is probably wrong. It might not be the GNU C Library. Many historical
- Unix C libraries permit things that we don’t, such as closing a file
- twice.
- If you think you have found some way in which the GNU C Library does
- not conform to the ISO and POSIX standards (*note Standards and
- Portability::), that is definitely a bug. Report it!
- Once you’re sure you’ve found a bug, try to narrow it down to the
- smallest test case that reproduces the problem. In the case of a C
- library, you really only need to narrow it down to one library function
- call, if possible. This should not be too difficult.
- The final step when you have a simple test case is to report the bug.
- Do this at <http://www.gnu.org/software/libc/bugs.html>.
- If you are not sure how a function should behave, and this manual
- doesn’t tell you, that’s a bug in the manual. Report that too! If the
- function’s behavior disagrees with the manual, then either the library
- or the manual has a bug, so report the disagreement. If you find any
- errors or omissions in this manual, please report them to the bug
- database. If you refer to specific sections of the manual, please
- include the section names for easier identification.
- File: libc.info, Node: Maintenance, Next: Platform, Prev: Installation, Up: Top
- Appendix D Library Maintenance
- ******************************
- * Menu:
- * Source Layout:: How to add new functions or header files
- to the GNU C Library.
- * Porting:: How to port the GNU C Library to
- a new machine or operating system.
- File: libc.info, Node: Source Layout, Next: Porting, Up: Maintenance
- D.1 Adding New Functions
- ========================
- The process of building the library is driven by the makefiles, which
- make heavy use of special features of GNU ‘make’. The makefiles are
- very complex, and you probably don’t want to try to understand them.
- But what they do is fairly straightforward, and only requires that you
- define a few variables in the right places.
- The library sources are divided into subdirectories, grouped by
- topic.
- The ‘string’ subdirectory has all the string-manipulation functions,
- ‘math’ has all the mathematical functions, etc.
- Each subdirectory contains a simple makefile, called ‘Makefile’,
- which defines a few ‘make’ variables and then includes the global
- makefile ‘Rules’ with a line like:
- include ../Rules
- The basic variables that a subdirectory makefile defines are:
- ‘subdir’
- The name of the subdirectory, for example ‘stdio’. This variable
- *must* be defined.
- ‘headers’
- The names of the header files in this section of the library, such
- as ‘stdio.h’.
- ‘routines’
- ‘aux’
- The names of the modules (source files) in this section of the
- library. These should be simple names, such as ‘strlen’ (rather
- than complete file names, such as ‘strlen.c’). Use ‘routines’ for
- modules that define functions in the library, and ‘aux’ for
- auxiliary modules containing things like data definitions. But the
- values of ‘routines’ and ‘aux’ are just concatenated, so there
- really is no practical difference.
- ‘tests’
- The names of test programs for this section of the library. These
- should be simple names, such as ‘tester’ (rather than complete file
- names, such as ‘tester.c’). ‘make tests’ will build and run all
- the test programs. If a test program needs input, put the test
- data in a file called ‘TEST-PROGRAM.input’; it will be given to the
- test program on its standard input. If a test program wants to be
- run with arguments, put the arguments (all on a single line) in a
- file called ‘TEST-PROGRAM.args’. Test programs should exit with
- zero status when the test passes, and nonzero status when the test
- indicates a bug in the library or error in building.
- ‘others’
- The names of “other” programs associated with this section of the
- library. These are programs which are not tests per se, but are
- other small programs included with the library. They are built by
- ‘make others’.
- ‘install-lib’
- ‘install-data’
- ‘install’
- Files to be installed by ‘make install’. Files listed in
- ‘install-lib’ are installed in the directory specified by ‘libdir’
- in ‘configparms’ or ‘Makeconfig’ (*note Installation::). Files
- listed in ‘install-data’ are installed in the directory specified
- by ‘datadir’ in ‘configparms’ or ‘Makeconfig’. Files listed in
- ‘install’ are installed in the directory specified by ‘bindir’ in
- ‘configparms’ or ‘Makeconfig’.
- ‘distribute’
- Other files from this subdirectory which should be put into a
- distribution tar file. You need not list here the makefile itself
- or the source and header files listed in the other standard
- variables. Only define ‘distribute’ if there are files used in an
- unusual way that should go into the distribution.
- ‘generated’
- Files which are generated by ‘Makefile’ in this subdirectory.
- These files will be removed by ‘make clean’, and they will never go
- into a distribution.
- ‘extra-objs’
- Extra object files which are built by ‘Makefile’ in this
- subdirectory. This should be a list of file names like ‘foo.o’;
- the files will actually be found in whatever directory object files
- are being built in. These files will be removed by ‘make clean’.
- This variable is used for secondary object files needed to build
- ‘others’ or ‘tests’.
- * Menu:
- * Platform: Adding Platform-specific. Adding platform-specific
- features.
- File: libc.info, Node: Adding Platform-specific, Up: Source Layout
- D.1.1 Platform-specific types, macros and functions
- ---------------------------------------------------
- It’s sometimes necessary to provide nonstandard, platform-specific
- features to developers. The C library is traditionally the lowest
- library layer, so it makes sense for it to provide these low-level
- features. However, including these features in the C library may be a
- disadvantage if another package provides them as well as there will be
- two conflicting versions of them. Also, the features won’t be available
- to projects that do not use the GNU C Library but use other GNU tools,
- like GCC.
- The current guidelines are:
- • If the header file provides features that only make sense on a
- particular machine architecture and have nothing to do with an
- operating system, then the features should ultimately be provided
- as GCC built-in functions. Until then, the GNU C Library may
- provide them in the header file. When the GCC built-in functions
- become available, those provided in the header file should be made
- conditionally available prior to the GCC version in which the
- built-in function was made available.
- • If the header file provides features that are specific to an
- operating system, both GCC and the GNU C Library could provide it,
- but the GNU C Library is preferred as it already has a lot of
- information about the operating system.
- • If the header file provides features that are specific to an
- operating system but used by the GNU C Library, then the GNU C
- Library should provide them.
- The general solution for providing low-level features is to export
- them as follows:
- • A nonstandard, low-level header file that defines macros and inline
- functions should be called ‘sys/platform/NAME.h’.
- • Each header file’s name should include the platform name, to avoid
- users thinking there is anything in common between the different
- header files for different platforms. For example, a
- ‘sys/platform/ARCH.h’ name such as ‘sys/platform/ppc.h’ is better
- than ‘sys/platform.h’.
- • A platform-specific header file provided by the GNU C Library
- should coordinate with GCC such that compiler built-in versions of
- the functions and macros are preferred if available. This means
- that user programs will only ever need to include
- ‘sys/platform/ARCH.h’, keeping the same names of types, macros, and
- functions for convenience and portability.
- • Each included symbol must have the prefix ‘__ARCH_’, such as
- ‘__ppc_get_timebase’.
- The easiest way to provide a header file is to add it to the
- ‘sysdep_headers’ variable. For example, the combination of
- Linux-specific header files on PowerPC could be provided like this:
- sysdep_headers += sys/platform/ppc.h
- Then ensure that you have added a ‘sys/platform/ppc.h’ header file in
- the machine-specific directory, e.g.,
- ‘sysdeps/powerpc/sys/platform/ppc.h’.
- File: libc.info, Node: Porting, Prev: Source Layout, Up: Maintenance
- D.2 Porting the GNU C Library
- =============================
- The GNU C Library is written to be easily portable to a variety of
- machines and operating systems. Machine- and operating system-dependent
- functions are well separated to make it easy to add implementations for
- new machines or operating systems. This section describes the layout of
- the library source tree and explains the mechanisms used to select
- machine-dependent code to use.
- All the machine-dependent and operating system-dependent files in the
- library are in the subdirectory ‘sysdeps’ under the top-level library
- source directory. This directory contains a hierarchy of subdirectories
- (*note Hierarchy Conventions::).
- Each subdirectory of ‘sysdeps’ contains source files for a particular
- machine or operating system, or for a class of machine or operating
- system (for example, systems by a particular vendor, or all machines
- that use IEEE 754 floating-point format). A configuration specifies an
- ordered list of these subdirectories. Each subdirectory implicitly
- appends its parent directory to the list. For example, specifying the
- list ‘unix/bsd/vax’ is equivalent to specifying the list ‘unix/bsd/vax
- unix/bsd unix’. A subdirectory can also specify that it implies other
- subdirectories which are not directly above it in the directory
- hierarchy. If the file ‘Implies’ exists in a subdirectory, it lists
- other subdirectories of ‘sysdeps’ which are appended to the list,
- appearing after the subdirectory containing the ‘Implies’ file. Lines
- in an ‘Implies’ file that begin with a ‘#’ character are ignored as
- comments. For example, ‘unix/bsd/Implies’ contains:
- # BSD has Internet-related things.
- unix/inet
- and ‘unix/Implies’ contains:
- posix
- So the final list is ‘unix/bsd/vax unix/bsd unix/inet unix posix’.
- ‘sysdeps’ has a “special” subdirectory called ‘generic’. It is
- always implicitly appended to the list of subdirectories, so you needn’t
- put it in an ‘Implies’ file, and you should not create any
- subdirectories under it intended to be new specific categories.
- ‘generic’ serves two purposes. First, the makefiles do not bother to
- look for a system-dependent version of a file that’s not in ‘generic’.
- This means that any system-dependent source file must have an analogue
- in ‘generic’, even if the routines defined by that file are not
- implemented on other platforms. Second, the ‘generic’ version of a
- system-dependent file is used if the makefiles do not find a version
- specific to the system you’re compiling for.
- If it is possible to implement the routines in a ‘generic’ file in
- machine-independent C, using only other machine-independent functions in
- the C library, then you should do so. Otherwise, make them stubs. A
- "stub" function is a function which cannot be implemented on a
- particular machine or operating system. Stub functions always return an
- error, and set ‘errno’ to ‘ENOSYS’ (Function not implemented). *Note
- Error Reporting::. If you define a stub function, you must place the
- statement ‘stub_warning(FUNCTION)’, where FUNCTION is the name of your
- function, after its definition. This causes the function to be listed
- in the installed ‘<gnu/stubs.h>’, and makes GNU ld warn when the
- function is used.
- Some rare functions are only useful on specific systems and aren’t
- defined at all on others; these do not appear anywhere in the
- system-independent source code or makefiles (including the ‘generic’
- directory), only in the system-dependent ‘Makefile’ in the specific
- system’s subdirectory.
- If you come across a file that is in one of the main source
- directories (‘string’, ‘stdio’, etc.), and you want to write a machine-
- or operating system-dependent version of it, move the file into
- ‘sysdeps/generic’ and write your new implementation in the appropriate
- system-specific subdirectory. Note that if a file is to be
- system-dependent, it *must not* appear in one of the main source
- directories.
- There are a few special files that may exist in each subdirectory of
- ‘sysdeps’:
- ‘Makefile’
- A makefile for this machine or operating system, or class of
- machine or operating system. This file is included by the library
- makefile ‘Makerules’, which is used by the top-level makefile and
- the subdirectory makefiles. It can change the variables set in the
- including makefile or add new rules. It can use GNU ‘make’
- conditional directives based on the variable ‘subdir’ (see above)
- to select different sets of variables and rules for different
- sections of the library. It can also set the ‘make’ variable
- ‘sysdep-routines’, to specify extra modules to be included in the
- library. You should use ‘sysdep-routines’ rather than adding
- modules to ‘routines’ because the latter is used in determining
- what to distribute for each subdirectory of the main source tree.
- Each makefile in a subdirectory in the ordered list of
- subdirectories to be searched is included in order. Since several
- system-dependent makefiles may be included, each should append to
- ‘sysdep-routines’ rather than simply setting it:
- sysdep-routines := $(sysdep-routines) foo bar
- ‘Subdirs’
- This file contains the names of new whole subdirectories under the
- top-level library source tree that should be included for this
- system. These subdirectories are treated just like the
- system-independent subdirectories in the library source tree, such
- as ‘stdio’ and ‘math’.
- Use this when there are completely new sets of functions and header
- files that should go into the library for the system this
- subdirectory of ‘sysdeps’ implements. For example,
- ‘sysdeps/unix/inet/Subdirs’ contains ‘inet’; the ‘inet’ directory
- contains various network-oriented operations which only make sense
- to put in the library on systems that support the Internet.
- ‘configure’
- This file is a shell script fragment to be run at configuration
- time. The top-level ‘configure’ script uses the shell ‘.’ command
- to read the ‘configure’ file in each system-dependent directory
- chosen, in order. The ‘configure’ files are often generated from
- ‘configure.ac’ files using Autoconf.
- A system-dependent ‘configure’ script will usually add things to
- the shell variables ‘DEFS’ and ‘config_vars’; see the top-level
- ‘configure’ script for details. The script can check for ‘--with-PACKAGE’
- options that were passed to the top-level ‘configure’. For an
- option ‘--with-PACKAGE=VALUE’ ‘configure’ sets the shell variable ‘with_PACKAGE’
- (with any dashes in PACKAGE converted to underscores) to VALUE; if
- the option is just ‘--with-PACKAGE’ (no argument), then it sets ‘with_PACKAGE’
- to ‘yes’.
- ‘configure.ac’
- This file is an Autoconf input fragment to be processed into the
- file ‘configure’ in this subdirectory. *Note
- (autoconf.info)Introduction::, for a description of Autoconf. You
- should write either ‘configure’ or ‘configure.ac’, but not both.
- The first line of ‘configure.ac’ should invoke the ‘m4’ macro
- ‘GLIBC_PROVIDES’. This macro does several ‘AC_PROVIDE’ calls for
- Autoconf macros which are used by the top-level ‘configure’ script;
- without this, those macros might be invoked again unnecessarily by
- Autoconf.
- That is the general system for how system-dependencies are isolated.
- * Menu:
- * Hierarchy Conventions:: The layout of the ‘sysdeps’ hierarchy.
- * Porting to Unix:: Porting the library to an average
- Unix-like system.
- File: libc.info, Node: Hierarchy Conventions, Next: Porting to Unix, Up: Porting
- D.2.1 Layout of the ‘sysdeps’ Directory Hierarchy
- -------------------------------------------------
- A GNU configuration name has three parts: the CPU type, the
- manufacturer’s name, and the operating system. ‘configure’ uses these
- to pick the list of system-dependent directories to look for. If the
- ‘--nfp’ option is _not_ passed to ‘configure’, the directory
- ‘MACHINE/fpu’ is also used. The operating system often has a "base
- operating system"; for example, if the operating system is ‘Linux’, the
- base operating system is ‘unix/sysv’. The algorithm used to pick the
- list of directories is simple: ‘configure’ makes a list of the base
- operating system, manufacturer, CPU type, and operating system, in that
- order. It then concatenates all these together with slashes in between,
- to produce a directory name; for example, the configuration ‘i686-linux-gnu’
- results in ‘unix/sysv/linux/i386/i686’. ‘configure’ then tries removing
- each element of the list in turn, so ‘unix/sysv/linux’ and ‘unix/sysv’
- are also tried, among others. Since the precise version number of the
- operating system is often not important, and it would be very
- inconvenient, for example, to have identical ‘irix6.2’ and ‘irix6.3’
- directories, ‘configure’ tries successively less specific operating
- system names by removing trailing suffixes starting with a period.
- As an example, here is the complete list of directories that would be
- tried for the configuration ‘i686-linux-gnu’ (with the ‘crypt’ and
- ‘linuxthreads’ add-on):
- sysdeps/i386/elf
- crypt/sysdeps/unix
- linuxthreads/sysdeps/unix/sysv/linux
- linuxthreads/sysdeps/pthread
- linuxthreads/sysdeps/unix/sysv
- linuxthreads/sysdeps/unix
- linuxthreads/sysdeps/i386/i686
- linuxthreads/sysdeps/i386
- linuxthreads/sysdeps/pthread/no-cmpxchg
- sysdeps/unix/sysv/linux/i386
- sysdeps/unix/sysv/linux
- sysdeps/gnu
- sysdeps/unix/common
- sysdeps/unix/mman
- sysdeps/unix/inet
- sysdeps/unix/sysv/i386/i686
- sysdeps/unix/sysv/i386
- sysdeps/unix/sysv
- sysdeps/unix/i386
- sysdeps/unix
- sysdeps/posix
- sysdeps/i386/i686
- sysdeps/i386/i486
- sysdeps/libm-i387/i686
- sysdeps/i386/fpu
- sysdeps/libm-i387
- sysdeps/i386
- sysdeps/wordsize-32
- sysdeps/ieee754
- sysdeps/libm-ieee754
- sysdeps/generic
- Different machine architectures are conventionally subdirectories at
- the top level of the ‘sysdeps’ directory tree. For example, ‘sysdeps/sparc’
- and ‘sysdeps/m68k’. These contain files specific to those machine
- architectures, but not specific to any particular operating system.
- There might be subdirectories for specializations of those
- architectures, such as ‘sysdeps/m68k/68020’. Code which is specific to
- the floating-point coprocessor used with a particular machine should go
- in ‘sysdeps/MACHINE/fpu’.
- There are a few directories at the top level of the ‘sysdeps’
- hierarchy that are not for particular machine architectures.
- ‘generic’
- As described above (*note Porting::), this is the subdirectory that
- every configuration implicitly uses after all others.
- ‘ieee754’
- This directory is for code using the IEEE 754 floating-point
- format, where the C type ‘float’ is IEEE 754 single-precision
- format, and ‘double’ is IEEE 754 double-precision format. Usually
- this directory is referred to in the ‘Implies’ file in a machine
- architecture-specific directory, such as ‘m68k/Implies’.
- ‘libm-ieee754’
- This directory contains an implementation of a mathematical library
- usable on platforms which use IEEE 754 conformant floating-point
- arithmetic.
- ‘libm-i387’
- This is a special case. Ideally the code should be in
- ‘sysdeps/i386/fpu’ but for various reasons it is kept aside.
- ‘posix’
- This directory contains implementations of things in the library in
- terms of POSIX.1 functions. This includes some of the POSIX.1
- functions themselves. Of course, POSIX.1 cannot be completely
- implemented in terms of itself, so a configuration using just
- ‘posix’ cannot be complete.
- ‘unix’
- This is the directory for Unix-like things. *Note Porting to
- Unix::. ‘unix’ implies ‘posix’. There are some special-purpose
- subdirectories of ‘unix’:
- ‘unix/common’
- This directory is for things common to both BSD and System V
- release 4. Both ‘unix/bsd’ and ‘unix/sysv/sysv4’ imply
- ‘unix/common’.
- ‘unix/inet’
- This directory is for ‘socket’ and related functions on Unix
- systems. ‘unix/inet/Subdirs’ enables the ‘inet’ top-level
- subdirectory. ‘unix/common’ implies ‘unix/inet’.
- ‘mach’
- This is the directory for things based on the Mach microkernel from
- CMU (including GNU/Hurd systems). Other basic operating systems
- (VMS, for example) would have their own directories at the top
- level of the ‘sysdeps’ hierarchy, parallel to ‘unix’ and ‘mach’.
- File: libc.info, Node: Porting to Unix, Prev: Hierarchy Conventions, Up: Porting
- D.2.2 Porting the GNU C Library to Unix Systems
- -----------------------------------------------
- Most Unix systems are fundamentally very similar. There are variations
- between different machines, and variations in what facilities are
- provided by the kernel. But the interface to the operating system
- facilities is, for the most part, pretty uniform and simple.
- The code for Unix systems is in the directory ‘unix’, at the top
- level of the ‘sysdeps’ hierarchy. This directory contains
- subdirectories (and subdirectory trees) for various Unix variants.
- The functions which are system calls in most Unix systems are
- implemented in assembly code, which is generated automatically from
- specifications in files named ‘syscalls.list’. There are several such
- files, one in ‘sysdeps/unix’ and others in its subdirectories. Some
- special system calls are implemented in files that are named with a
- suffix of ‘.S’; for example, ‘_exit.S’. Files ending in ‘.S’ are run
- through the C preprocessor before being fed to the assembler.
- These files all use a set of macros that should be defined in
- ‘sysdep.h’. The ‘sysdep.h’ file in ‘sysdeps/unix’ partially defines
- them; a ‘sysdep.h’ file in another directory must finish defining them
- for the particular machine and operating system variant. See
- ‘sysdeps/unix/sysdep.h’ and the machine-specific ‘sysdep.h’
- implementations to see what these macros are and what they should do.
- The system-specific makefile for the ‘unix’ directory
- (‘sysdeps/unix/Makefile’) gives rules to generate several files from the
- Unix system you are building the library on (which is assumed to be the
- target system you are building the library _for_). All the generated
- files are put in the directory where the object files are kept; they
- should not affect the source tree itself. The files generated are
- ‘ioctls.h’, ‘errnos.h’, ‘sys/param.h’, and ‘errlist.c’ (for the ‘stdio’
- section of the library).
- File: libc.info, Node: Platform, Next: Contributors, Prev: Maintenance, Up: Top
- Appendix E Platform-specific facilities
- ***************************************
- The GNU C Library can provide machine-specific functionality.
- * Menu:
- * PowerPC:: Facilities Specific to the PowerPC Architecture
- File: libc.info, Node: PowerPC, Up: Platform
- E.1 PowerPC-specific Facilities
- ===============================
- Facilities specific to PowerPC that are not specific to a particular
- operating system are declared in ‘sys/platform/ppc.h’.
- -- Function: uint64_t __ppc_get_timebase (void)
- Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
- Concepts::.
- Read the current value of the Time Base Register.
- The "Time Base Register" is a 64-bit register that stores a
- monotonically incremented value updated at a system-dependent
- frequency that may be different from the processor frequency. More
- information is available in ‘Power ISA 2.06b - Book II - Section
- 5.2’.
- ‘__ppc_get_timebase’ uses the processor’s time base facility
- directly without requiring assistance from the operating system, so
- it is very efficient.
- -- Function: uint64_t __ppc_get_timebase_freq (void)
- Preliminary: | MT-Unsafe init | AS-Unsafe corrupt:init | AC-Unsafe
- corrupt:init | *Note POSIX Safety Concepts::.
- Read the current frequency at which the Time Base Register is
- updated.
- This frequency is not related to the processor clock or the bus
- clock. It is also possible that this frequency is not constant.
- More information is available in ‘Power ISA 2.06b - Book II -
- Section 5.2’.
- The following functions provide hints about the usage of resources
- that are shared with other processors. They can be used, for example,
- if a program waiting on a lock intends to divert the shared resources to
- be used by other processors. More information is available in ‘Power
- ISA 2.06b - Book II - Section 3.2’.
- -- Function: void __ppc_yield (void)
- Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
- Concepts::.
- Provide a hint that performance will probably be improved if shared
- resources dedicated to the executing processor are released for use
- by other processors.
- -- Function: void __ppc_mdoio (void)
- Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
- Concepts::.
- Provide a hint that performance will probably be improved if shared
- resources dedicated to the executing processor are released until
- all outstanding storage accesses to caching-inhibited storage have
- been completed.
- -- Function: void __ppc_mdoom (void)
- Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
- Concepts::.
- Provide a hint that performance will probably be improved if shared
- resources dedicated to the executing processor are released until
- all outstanding storage accesses to cacheable storage for which the
- data is not in the cache have been completed.
- -- Function: void __ppc_set_ppr_med (void)
- Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
- Concepts::.
- Set the Program Priority Register to medium value (default).
- The "Program Priority Register" (PPR) is a 64-bit register that
- controls the program’s priority. By adjusting the PPR value the
- programmer may improve system throughput by causing the system
- resources to be used more efficiently, especially in contention
- situations. The three unprivileged states available are covered by
- the functions ‘__ppc_set_ppr_med’ (medium – default),
- ‘__ppc_set_ppc_low’ (low) and ‘__ppc_set_ppc_med_low’ (medium low).
- More information available in ‘Power ISA 2.06b - Book II - Section
- 3.1’.
- -- Function: void __ppc_set_ppr_low (void)
- Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
- Concepts::.
- Set the Program Priority Register to low value.
- -- Function: void __ppc_set_ppr_med_low (void)
- Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
- Concepts::.
- Set the Program Priority Register to medium low value.
- Power ISA 2.07 extends the priorities that can be set to the Program
- Priority Register (PPR). The following functions implement the new
- priority levels: very low and medium high.
- -- Function: void __ppc_set_ppr_very_low (void)
- Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
- Concepts::.
- Set the Program Priority Register to very low value.
- -- Function: void __ppc_set_ppr_med_high (void)
- Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
- Concepts::.
- Set the Program Priority Register to medium high value. The medium
- high priority is privileged and may only be set during certain time
- intervals by problem-state programs. If the program priority is
- medium high when the time interval expires or if an attempt is made
- to set the priority to medium high when it is not allowed, the
- priority is set to medium.
- File: libc.info, Node: Contributors, Next: Free Manuals, Prev: Platform, Up: Top
- Appendix F Contributors to the GNU C Library
- ********************************************
- The GNU C Library project would like to thank its many contributors.
- Without them the project would not have been nearly as successful as it
- has been. Any omissions in this list are accidental. Feel free to file
- a bug in bugzilla if you have been left out or some of your
- contributions are not listed. Please keep this list in alphabetical
- order.
- • Nick Alcock for contributing fixes to allow the GNU C Library to be
- built with the stack smashing protector enabled.
- • Ryan S. Arnold for his improvements for Linux on PowerPC and his
- direction as FSF Project Steward for the GNU C Library.
- • Miles Bader for writing the ‘argp’ argument-parsing package, and
- the ‘argz’/‘envz’ interfaces.
- • Jeff Bailey for his maintainership of the HPPA architecture.
- • Petr Baudis for bug fixes and testing.
- • Stephen R. van den Berg for contributing a highly-optimized
- ‘strstr’ function.
- • Ondrej Bilka for contributing optimized string routines for x64 and
- various fixes.
- • Eric Blake for adding O(n) implementations of ‘memmem’, ‘strstr’
- and ‘strcasestr’.
- • Philip Blundell for the ports to Linux/ARM
- (‘arm-ANYTHING-linuxaout’) and ARM standalone
- (‘arm-ANYTHING-none’), as well as for parts of the IPv6 support
- code.
- • Per Bothner for the implementation of the ‘libio’ library which is
- used to implement ‘stdio’ functions.
- • Mark Brown for his direction as part of the GNU C Library steering
- committee.
- • Thomas Bushnell for his contributions to Hurd.
- • Wilco Dijkstra for various fixes.
- • Liubov Dmitrieva for optimized string and math functions on x86-64
- and x86.
- • Ulrich Drepper for his many contributions in almost all parts of
- the GNU C Library, including:
- • internationalization support, including the ‘locale’ and
- ‘localedef’ utilities.
- • Linux i386/ELF support
- • the ‘hsearch’ and ‘drand48’ families of functions, reentrant
- ‘…‘_r’’ versions of the ‘random’ family; System V shared
- memory and IPC support code
- • several highly-optimized string functions for iX86 processors
- • many math functions
- • the character conversion functions (‘iconv’)
- • the ‘ftw’ and ‘nftw’ functions
- • the floating-point printing function used by ‘printf’ and
- friends and the floating-point reading function used by
- ‘scanf’, ‘strtod’ and friends
- • the ‘catgets’ support and the entire suite of multi-byte and
- wide-character support functions (‘wctype.h’, ‘wchar.h’,
- etc.).
- • versioning of objects on the symbol level
- • Wilco Dijkstra for various fixes.
- • Richard Earnshaw for continued support and fixes to the various ARM
- machine files.
- • Paul Eggert for the ‘mktime’ function and for his direction as part
- of the GNU C Library steering committee.
- • Steve Ellcey for various fixes.
- • Tulio Magno Quites Machado Filho for adding a new class of
- installed headers for low-level platform-specific functionality and
- one such for PowerPC and various fixes.
- • Mike Frysinger for his maintaining of the IA64 architecture and for
- testing and bug fixing.
- • Martin Galvan for contributing gdb pretty printer support to glibc
- and adding an initial set of pretty printers for structures in the
- POSIX Threads library.
- • Michael Glad for the DES encryption function ‘crypt’ and related
- functions.
- • Wolfram Gloger for contributing the memory allocation functions
- functions ‘malloc’, ‘realloc’ and ‘free’ and related code.
- • Torbjörn Granlund for fast implementations of many of the string
- functions (‘memcpy’, ‘strlen’, etc.).
- • Michael J. Haertel for writing the merge sort function ‘qsort’ and
- malloc checking functions like ‘mcheck’.
- • Bruno Haible for his improvements to the ‘iconv’ and locale
- implementations.
- • Richard Henderson for the port to Linux on Alpha
- (‘alpha-ANYTHING-linux’).
- • David Holsgrove for the port to Linux on MicroBlaze.
- • Daniel Jacobowitz for various fixes and enhancements.
- • Andreas Jaeger for the port to Linux on x86-64
- (‘x86_64-ANYTHING-linux’ and his work on Linux for MIPS
- (‘mips-ANYTHING-linux’), implementing the ‘ldconfig’ program,
- providing a test suite for the math library and for his direction
- as part of the GNU C Library steering committee.
- • Aurelien Jarno for various fixes.
- • Rical Jasan for contributing various fixes in the GNU C Library
- manual.
- • Jakub Jelinek for implementing a number of checking functions and
- for his direction as part of the GNU C Library steering committee.
- • Geoffrey Keating for the port to Linux on PowerPC
- (‘powerpc-ANYTHING-linux’).
- • Brendan Kehoe for contributing the port to the MIPS DECStation
- running Ultrix 4 (‘mips-dec-ultrix4’) and the port to the DEC Alpha
- running OSF/1 (‘alpha-dec-osf1’).
- • Mark Kettenis for implementing the ‘utmpx’ interface and a utmp
- daemon, and for a Hesiod NSS module.
- • Andi Kleen for implementing pthreads lock elision with TSX.
- • Kazumoto Kojima for the port of the Mach and Hurd code to the MIPS
- architecture (‘mips-ANYTHING-gnu’) and for his work on the SH
- architecture.
- • Maxim Kuvyrkov for various fixes.
- • Andreas Krebbel for his work on Linux for s390 and s390x.
- • Thorsten Kukuk for providing an implementation for NIS (YP) and
- NIS+, securelevel 0, 1 and 2 and for the implementation for a
- caching daemon for NSS (‘nscd’).
- • Jeff Law for various fixes.
- • Doug Lea for contributing the memory allocation functions ‘malloc’,
- ‘realloc’ and ‘free’ and related code.
- • Chris Leonard for various fixes and enhancements to localedata.
- • Stefan Liebler for various fixes.
- • Hongjiu Lu for providing the support for a Linux 32-bit runtime
- environment under x86-64 (x32), for porting to Linux on IA64, for
- improved string functions, a framework for testing IFUNC
- implementations, and many bug fixes.
- • Luis Machado for optimized functions on PowerPC.
- • David J. MacKenzie for his contribution to the ‘getopt’ function
- and writing the ‘tar.h’ header.
- • Greg McGary for adding runtime support for bounds checking.
- • Roland McGrath for writing most of the GNU C Library originally,
- for his work on the Hurd port, his direction as part of the GNU C
- Library steering committee and as FSF Project Steward for the GNU C
- Library, and for many bug fixes and reviewing of contributions.
- • Allan McRae for various fixes.
- • Jason Merrill for the port to the Sequent Symmetry running Dynix
- version 3 (‘i386-sequent-bsd’).
- • Chris Metcalf for the port to Linux/Tile (‘tilegx-ANYTHING-linux’
- and ‘tilepro-ANYTHING-linux’).
- • David Miller for contributing the port to Linux/Sparc
- (‘sparc*-ANYTHING-linux’).
- • Alan Modra for his improvements for Linux on PowerPC.
- • David Mosberger-Tang for contributing the port to Linux/Alpha
- (‘alpha-ANYTHING-linux’).
- • Stephen Moshier for implementing some 128-bit long double format
- math functions.
- • Stephen Munroe for his port to Linux on PowerPC64
- (‘powerpc64-ANYTHING-linux’) and for adding optimized
- implementations for PowerPC.
- • Paul E. Murphy for various fixes on PowerPC.
- • Joseph S. Myers for numerous bug fixes for the libm functions, for
- his maintainership of the ARM and MIPS architectures, improving
- cross-compilation and cross-testing of the GNU C Library, expanded
- coverage of conformtest, merging the ports/ subdirectory into the
- GNU C Library main repository and his direction as FSF Project
- Steward for the GNU C Library.
- • Szabolcs Nagy for various fixes.
- • Will Newton for contributing some optimized string functions and
- pointer encryption support for ARM and various fixes.
- • Carlos O’Donell for his maintainership of the HPPA architecture,
- for maintaining the GNU C Library web pages and wiki, for his
- direction as FSF Project Steward for the GNU C Library and various
- bug fixes.
- • Alexandre Oliva for adding TLS descriptors for LD and GD on x86 and
- x86-64, for the am33 port, for completing the MIPS n64/n32/o32
- multilib port, for thread-safety, async-signal safety and
- async-cancellation safety documentation in the manual, for his
- direction as FSF Project Maintainer and for various fixes.
- • Paul Pluzhnikov for various fixes.
- • Marek Polacek for various fixes.
- • Siddhesh Poyarekar for various fixes, an implementation of a
- framework for performance benchmarking of functions and
- implementating the tunables infrastructure.
- • Tom Quinn for contributing the startup code to support SunOS shared
- libraries and the port to SGI machines running Irix 4
- (‘mips-sgi-irix4’).
- • Torvald Riegel for the implementation of new algorithms for
- semaphores, pthread_rwlock and condition variables.
- • Maciej W. Rozycki for various fixes.
- • Pravin Satpute for writing sorting rules for some Indian languages.
- • Douglas C. Schmidt for writing the quick sort function used as a
- fallback by ‘qsort’.
- • Will Schmidt for optimized string functions on PowerPC.
- • Andreas Schwab for the port to Linux/m68k (‘m68k-ANYTHING-linux’)
- and for his direction as part of the GNU C Library steering
- committee.
- • Martin Schwidefsky for porting to Linux on s390
- (‘s390-ANYTHING-linux’) and s390x (‘s390x-ANYTHING-linux’).
- • Thomas Schwinge for his contribution to Hurd and the SH
- architecture.
- • Andrew Senkevich for contributing vector math function
- implementations for x86.
- • Carlos Eduardo Seo for optimized functions on PowerPC.
- • Marcus Shawcroft for contributing the AArch64 port.
- • Franz Sirl for various fixes.
- • Jes Sorensen for porting to Linux on IA64 (‘ia64-ANYTHING-linux’).
- • Rajalakshmi Srinivasaraghavan for various fixes and optimizations
- on PowerPC.
- • Richard Stallman for his contribution to the ‘getopt’ function.
- • Alfred M. Szmidt for various fixes.
- • Ian Lance Taylor for contributing the port to the MIPS DECStation
- running Ultrix 4 (‘mips-dec-ultrix4’).
- • Samuel Thibault for improving the Hurd port.
- • Tim Waugh for the implementation of the POSIX.2 ‘wordexp’ function
- family.
- • Zack Weinberg for the ‘explicit_bzero’ implementation and for
- various fixes.
- • Eric Youngdale for implementing versioning of objects on the symbol
- level.
- • Adhemerval Zanella for optimized functions on PowerPC and various
- fixes.
- Some code in the GNU C Library comes from other projects and might be
- under a different license:
- • The timezone support code is derived from the public-domain
- timezone package by Arthur David Olson and his many contributors.
- • Some of the support code for Mach is taken from Mach 3.0 by CMU;
- the file ‘if_ppp.h’ is also copyright by CMU, but under a different
- license; see the file ‘LICENSES’ for the text of the licenses.
- • The random number generation functions ‘random’, ‘srandom’,
- ‘setstate’ and ‘initstate’, which are also the basis for the ‘rand’
- and ‘srand’ functions, were written by Earl T. Cohen for the
- University of California at Berkeley and are copyrighted by the
- Regents of the University of California. They have undergone minor
- changes to fit into the GNU C Library and to fit the ISO C
- standard, but the functional code is Berkeley’s.
- • The Internet-related code (most of the ‘inet’ subdirectory) and
- several other miscellaneous functions and header files have been
- included from 4.4 BSD with little or no modification. The copying
- permission notice for this code can be found in the file ‘LICENSES’
- in the source distribution.
- • The ‘getaddrinfo’ and ‘getnameinfo’ functions and supporting code
- were written by Craig Metz; see the file ‘LICENSES’ for details on
- their licensing.
- • The DNS resolver code is taken directly from BIND 4.9.5, which
- includes copyrighted code from UC Berkeley and from Digital
- Equipment Corporation. See the file ‘LICENSES’ for the text of the
- DEC license.
- • The code to support Sun RPC is taken verbatim from Sun’s RPCSRC-4.0
- distribution; see the file ‘LICENSES’ for the text of the license.
- • The math functions are taken from ‘fdlibm-5.1’ by Sun Microsystems,
- as modified by J.T. Conklin, Ian Lance Taylor, Ulrich Drepper,
- Andreas Schwab, and Roland McGrath.
- • Many of the IEEE 64-bit double precision math functions (in the
- ‘sysdeps/ieee754/dbl-64’ subdirectory) come from the IBM Accurate
- Mathematical Library, contributed by IBM.
- • Many of the IA64 math functions are taken from a collection of
- “Highly Optimized Mathematical Functions for Itanium” that Intel
- makes available under a free license; see the file ‘LICENSES’ for
- details.
- File: libc.info, Node: Free Manuals, Next: Copying, Prev: Contributors, Up: Top
- Appendix G Free Software Needs Free Documentation
- *************************************************
- The biggest deficiency in the free software community today is not in
- the software—it is the lack of good free documentation that we can
- include with the free software. Many of our most important programs do
- not come with free reference manuals and free introductory texts.
- Documentation is an essential part of any software package; when an
- important free software package does not come with a free manual and a
- free tutorial, that is a major gap. We have many such gaps today.
- Consider Perl, for instance. The tutorial manuals that people
- normally use are non-free. How did this come about? Because the
- authors of those manuals published them with restrictive terms—no
- copying, no modification, source files not available—which exclude them
- from the free software world.
- That wasn’t the first time this sort of thing happened, and it was
- far from the last. Many times we have heard a GNU user eagerly describe
- a manual that he is writing, his intended contribution to the community,
- only to learn that he had ruined everything by signing a publication
- contract to make it non-free.
- Free documentation, like free software, is a matter of freedom, not
- price. The problem with the non-free manual is not that publishers
- charge a price for printed copies—that in itself is fine. (The Free
- Software Foundation sells printed copies of manuals, too.) The problem
- is the restrictions on the use of the manual. Free manuals are
- available in source code form, and give you permission to copy and
- modify. Non-free manuals do not allow this.
- The criteria of freedom for a free manual are roughly the same as for
- free software. Redistribution (including the normal kinds of commercial
- redistribution) must be permitted, so that the manual can accompany
- every copy of the program, both on-line and on paper.
- Permission for modification of the technical content is crucial too.
- When people modify the software, adding or changing features, if they
- are conscientious they will change the manual too—so they can provide
- accurate and clear documentation for the modified program. A manual
- that leaves you no choice but to write a new manual to document a
- changed version of the program is not really available to our community.
- Some kinds of limits on the way modification is handled are
- acceptable. For example, requirements to preserve the original author’s
- copyright notice, the distribution terms, or the list of authors, are
- ok. It is also no problem to require modified versions to include
- notice that they were modified. Even entire sections that may not be
- deleted or changed are acceptable, as long as they deal with
- nontechnical topics (like this one). These kinds of restrictions are
- acceptable because they don’t obstruct the community’s normal use of the
- manual.
- However, it must be possible to modify all the _technical_ content of
- the manual, and then distribute the result in all the usual media,
- through all the usual channels. Otherwise, the restrictions obstruct
- the use of the manual, it is not free, and we need another manual to
- replace it.
- Please spread the word about this issue. Our community continues to
- lose manuals to proprietary publishing. If we spread the word that free
- software needs free reference manuals and free tutorials, perhaps the
- next person who wants to contribute by writing documentation will
- realize, before it is too late, that only free manuals contribute to the
- free software community.
- If you are writing documentation, please insist on publishing it
- under the GNU Free Documentation License or another free documentation
- license. Remember that this decision requires your approval—you don’t
- have to let the publisher decide. Some commercial publishers will use a
- free license if you insist, but they will not propose the option; it is
- up to you to raise the issue and say firmly that this is what you want.
- If the publisher you are dealing with refuses, please try other
- publishers. If you’re not sure whether a proposed license is free,
- write to <licensing@gnu.org>.
- You can encourage commercial publishers to sell more free, copylefted
- manuals and tutorials by buying them, and particularly by buying copies
- from the publishers that paid for their writing or for major
- improvements. Meanwhile, try to avoid buying non-free documentation at
- all. Check the distribution terms of a manual before you buy it, and
- insist that whoever seeks your business must respect your freedom.
- Check the history of the book, and try reward the publishers that have
- paid or pay the authors to work on it.
- The Free Software Foundation maintains a list of free documentation
- published by other publishers, at
- <http://www.fsf.org/doc/other-free-books.html>.
- File: libc.info, Node: Copying, Next: Documentation License, Prev: Free Manuals, Up: Top
- Appendix H GNU Lesser General Public License
- ********************************************
- Version 2.1, February 1999
- Copyright © 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
- [This is the first released version of the Lesser GPL. It also counts
- as the successor of the GNU Library Public License, version 2, hence the
- version number 2.1.]
- Preamble
- --------
- The licenses for most software are designed to take away your freedom to
- share and change it. By contrast, the GNU General Public Licenses are
- intended to guarantee your freedom to share and change free software—to
- make sure the software is free for all its users.
- This license, the Lesser General Public License, applies to some
- specially designated software—typically libraries—of the Free Software
- Foundation and other authors who decide to use it. You can use it too,
- but we suggest you first think carefully about whether this license or
- the ordinary General Public License is the better strategy to use in any
- particular case, based on the explanations below.
- When we speak of free software, we are referring to freedom of use,
- not price. Our General Public Licenses are designed to make sure that
- you have the freedom to distribute copies of free software (and charge
- for this service if you wish); that you receive source code or can get
- it if you want it; that you can change the software and use pieces of it
- in new free programs; and that you are informed that you can do these
- things.
- To protect your rights, we need to make restrictions that forbid
- distributors to deny you these rights or to ask you to surrender these
- rights. These restrictions translate to certain responsibilities for
- you if you distribute copies of the library or if you modify it.
- For example, if you distribute copies of the library, whether gratis
- or for a fee, you must give the recipients all the rights that we gave
- you. You must make sure that they, too, receive or can get the source
- code. If you link other code with the library, you must provide
- complete object files to the recipients, so that they can relink them
- with the library after making changes to the library and recompiling it.
- And you must show them these terms so they know their rights.
- We protect your rights with a two-step method: (1) we copyright the
- library, and (2) we offer you this license, which gives you legal
- permission to copy, distribute and/or modify the library.
- To protect each distributor, we want to make it very clear that there
- is no warranty for the free library. Also, if the library is modified
- by someone else and passed on, the recipients should know that what they
- have is not the original version, so that the original author’s
- reputation will not be affected by problems that might be introduced by
- others.
- Finally, software patents pose a constant threat to the existence of
- any free program. We wish to make sure that a company cannot
- effectively restrict the users of a free program by obtaining a
- restrictive license from a patent holder. Therefore, we insist that any
- patent license obtained for a version of the library must be consistent
- with the full freedom of use specified in this license.
- Most GNU software, including some libraries, is covered by the
- ordinary GNU General Public License. This license, the GNU Lesser
- General Public License, applies to certain designated libraries, and is
- quite different from the ordinary General Public License. We use this
- license for certain libraries in order to permit linking those libraries
- into non-free programs.
- When a program is linked with a library, whether statically or using
- a shared library, the combination of the two is legally speaking a
- combined work, a derivative of the original library. The ordinary
- General Public License therefore permits such linking only if the entire
- combination fits its criteria of freedom. The Lesser General Public
- License permits more lax criteria for linking other code with the
- library.
- We call this license the "Lesser" General Public License because it
- does _Less_ to protect the user’s freedom than the ordinary General
- Public License. It also provides other free software developers Less of
- an advantage over competing non-free programs. These disadvantages are
- the reason we use the ordinary General Public License for many
- libraries. However, the Lesser license provides advantages in certain
- special circumstances.
- For example, on rare occasions, there may be a special need to
- encourage the widest possible use of a certain library, so that it
- becomes a de-facto standard. To achieve this, non-free programs must be
- allowed to use the library. A more frequent case is that a free library
- does the same job as widely used non-free libraries. In this case,
- there is little to gain by limiting the free library to free software
- only, so we use the Lesser General Public License.
- In other cases, permission to use a particular library in non-free
- programs enables a greater number of people to use a large body of free
- software. For example, permission to use the GNU C Library in non-free
- programs enables many more people to use the whole GNU operating system,
- as well as its variant, the GNU/Linux operating system.
- Although the Lesser General Public License is Less protective of the
- users’ freedom, it does ensure that the user of a program that is linked
- with the Library has the freedom and the wherewithal to run that program
- using a modified version of the Library.
- The precise terms and conditions for copying, distribution and
- modification follow. Pay close attention to the difference between a
- “work based on the library” and a “work that uses the library”. The
- former contains code derived from the library, whereas the latter must
- be combined with the library in order to run.
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
- ---------------------------------------------------------------
- 0. This License Agreement applies to any software library or other
- program which contains a notice placed by the copyright holder or
- other authorized party saying it may be distributed under the terms
- of this Lesser General Public License (also called “this License”).
- Each licensee is addressed as “you”.
- A “library” means a collection of software functions and/or data
- prepared so as to be conveniently linked with application programs
- (which use some of those functions and data) to form executables.
- The “Library”, below, refers to any such software library or work
- which has been distributed under these terms. A “work based on the
- Library” means either the Library or any derivative work under
- copyright law: that is to say, a work containing the Library or a
- portion of it, either verbatim or with modifications and/or
- translated straightforwardly into another language. (Hereinafter,
- translation is included without limitation in the term
- “modification”.)
- “Source code” for a work means the preferred form of the work for
- making modifications to it. For a library, complete source code
- means all the source code for all modules it contains, plus any
- associated interface definition files, plus the scripts used to
- control compilation and installation of the library.
- Activities other than copying, distribution and modification are
- not covered by this License; they are outside its scope. The act
- of running a program using the Library is not restricted, and
- output from such a program is covered only if its contents
- constitute a work based on the Library (independent of the use of
- the Library in a tool for writing it). Whether that is true
- depends on what the Library does and what the program that uses the
- Library does.
- 1. You may copy and distribute verbatim copies of the Library’s
- complete source code as you receive it, in any medium, provided
- that you conspicuously and appropriately publish on each copy an
- appropriate copyright notice and disclaimer of warranty; keep
- intact all the notices that refer to this License and to the
- absence of any warranty; and distribute a copy of this License
- along with the Library.
- You may charge a fee for the physical act of transferring a copy,
- and you may at your option offer warranty protection in exchange
- for a fee.
- 2. You may modify your copy or copies of the Library or any portion of
- it, thus forming a work based on the Library, and copy and
- distribute such modifications or work under the terms of Section 1
- above, provided that you also meet all of these conditions:
- a. The modified work must itself be a software library.
- b. You must cause the files modified to carry prominent notices
- stating that you changed the files and the date of any change.
- c. You must cause the whole of the work to be licensed at no
- charge to all third parties under the terms of this License.
- d. If a facility in the modified Library refers to a function or
- a table of data to be supplied by an application program that
- uses the facility, other than as an argument passed when the
- facility is invoked, then you must make a good faith effort to
- ensure that, in the event an application does not supply such
- function or table, the facility still operates, and performs
- whatever part of its purpose remains meaningful.
- (For example, a function in a library to compute square roots
- has a purpose that is entirely well-defined independent of the
- application. Therefore, Subsection 2d requires that any
- application-supplied function or table used by this function
- must be optional: if the application does not supply it, the
- square root function must still compute square roots.)
- These requirements apply to the modified work as a whole. If
- identifiable sections of that work are not derived from the
- Library, and can be reasonably considered independent and separate
- works in themselves, then this License, and its terms, do not apply
- to those sections when you distribute them as separate works. But
- when you distribute the same sections as part of a whole which is a
- work based on the Library, the distribution of the whole must be on
- the terms of this License, whose permissions for other licensees
- extend to the entire whole, and thus to each and every part
- regardless of who wrote it.
- Thus, it is not the intent of this section to claim rights or
- contest your rights to work written entirely by you; rather, the
- intent is to exercise the right to control the distribution of
- derivative or collective works based on the Library.
- In addition, mere aggregation of another work not based on the
- Library with the Library (or with a work based on the Library) on a
- volume of a storage or distribution medium does not bring the other
- work under the scope of this License.
- 3. You may opt to apply the terms of the ordinary GNU General Public
- License instead of this License to a given copy of the Library. To
- do this, you must alter all the notices that refer to this License,
- so that they refer to the ordinary GNU General Public License,
- version 2, instead of to this License. (If a newer version than
- version 2 of the ordinary GNU General Public License has appeared,
- then you can specify that version instead if you wish.) Do not
- make any other change in these notices.
- Once this change is made in a given copy, it is irreversible for
- that copy, so the ordinary GNU General Public License applies to
- all subsequent copies and derivative works made from that copy.
- This option is useful when you wish to copy part of the code of the
- Library into a program that is not a library.
- 4. You may copy and distribute the Library (or a portion or derivative
- of it, under Section 2) in object code or executable form under the
- terms of Sections 1 and 2 above provided that you accompany it with
- the complete corresponding machine-readable source code, which must
- be distributed under the terms of Sections 1 and 2 above on a
- medium customarily used for software interchange.
- If distribution of object code is made by offering access to copy
- from a designated place, then offering equivalent access to copy
- the source code from the same place satisfies the requirement to
- distribute the source code, even though third parties are not
- compelled to copy the source along with the object code.
- 5. A program that contains no derivative of any portion of the
- Library, but is designed to work with the Library by being compiled
- or linked with it, is called a “work that uses the Library”. Such
- a work, in isolation, is not a derivative work of the Library, and
- therefore falls outside the scope of this License.
- However, linking a “work that uses the Library” with the Library
- creates an executable that is a derivative of the Library (because
- it contains portions of the Library), rather than a “work that uses
- the library”. The executable is therefore covered by this License.
- Section 6 states terms for distribution of such executables.
- When a “work that uses the Library” uses material from a header
- file that is part of the Library, the object code for the work may
- be a derivative work of the Library even though the source code is
- not. Whether this is true is especially significant if the work
- can be linked without the Library, or if the work is itself a
- library. The threshold for this to be true is not precisely
- defined by law.
- If such an object file uses only numerical parameters, data
- structure layouts and accessors, and small macros and small inline
- functions (ten lines or less in length), then the use of the object
- file is unrestricted, regardless of whether it is legally a
- derivative work. (Executables containing this object code plus
- portions of the Library will still fall under Section 6.)
- Otherwise, if the work is a derivative of the Library, you may
- distribute the object code for the work under the terms of Section
- 6. Any executables containing that work also fall under Section 6,
- whether or not they are linked directly with the Library itself.
- 6. As an exception to the Sections above, you may also combine or link
- a “work that uses the Library” with the Library to produce a work
- containing portions of the Library, and distribute that work under
- terms of your choice, provided that the terms permit modification
- of the work for the customer’s own use and reverse engineering for
- debugging such modifications.
- You must give prominent notice with each copy of the work that the
- Library is used in it and that the Library and its use are covered
- by this License. You must supply a copy of this License. If the
- work during execution displays copyright notices, you must include
- the copyright notice for the Library among them, as well as a
- reference directing the user to the copy of this License. Also,
- you must do one of these things:
- a. Accompany the work with the complete corresponding
- machine-readable source code for the Library including
- whatever changes were used in the work (which must be
- distributed under Sections 1 and 2 above); and, if the work is
- an executable linked with the Library, with the complete
- machine-readable “work that uses the Library”, as object code
- and/or source code, so that the user can modify the Library
- and then relink to produce a modified executable containing
- the modified Library. (It is understood that the user who
- changes the contents of definitions files in the Library will
- not necessarily be able to recompile the application to use
- the modified definitions.)
- b. Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (1) uses at run
- time a copy of the library already present on the user’s
- computer system, rather than copying library functions into
- the executable, and (2) will operate properly with a modified
- version of the library, if the user installs one, as long as
- the modified version is interface-compatible with the version
- that the work was made with.
- c. Accompany the work with a written offer, valid for at least
- three years, to give the same user the materials specified in
- Subsection 6a, above, for a charge no more than the cost of
- performing this distribution.
- d. If distribution of the work is made by offering access to copy
- from a designated place, offer equivalent access to copy the
- above specified materials from the same place.
- e. Verify that the user has already received a copy of these
- materials or that you have already sent this user a copy.
- For an executable, the required form of the “work that uses the
- Library” must include any data and utility programs needed for
- reproducing the executable from it. However, as a special
- exception, the materials to be distributed need not include
- anything that is normally distributed (in either source or binary
- form) with the major components (compiler, kernel, and so on) of
- the operating system on which the executable runs, unless that
- component itself accompanies the executable.
- It may happen that this requirement contradicts the license
- restrictions of other proprietary libraries that do not normally
- accompany the operating system. Such a contradiction means you
- cannot use both them and the Library together in an executable that
- you distribute.
- 7. You may place library facilities that are a work based on the
- Library side-by-side in a single library together with other
- library facilities not covered by this License, and distribute such
- a combined library, provided that the separate distribution of the
- work based on the Library and of the other library facilities is
- otherwise permitted, and provided that you do these two things:
- a. Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities. This must be distributed under the terms of the
- Sections above.
- b. Give prominent notice with the combined library of the fact
- that part of it is a work based on the Library, and explaining
- where to find the accompanying uncombined form of the same
- work.
- 8. You may not copy, modify, sublicense, link with, or distribute the
- Library except as expressly provided under this License. Any
- attempt otherwise to copy, modify, sublicense, link with, or
- distribute the Library is void, and will automatically terminate
- your rights under this License. However, parties who have received
- copies, or rights, from you under this License will not have their
- licenses terminated so long as such parties remain in full
- compliance.
- 9. You are not required to accept this License, since you have not
- signed it. However, nothing else grants you permission to modify
- or distribute the Library or its derivative works. These actions
- are prohibited by law if you do not accept this License.
- Therefore, by modifying or distributing the Library (or any work
- based on the Library), you indicate your acceptance of this License
- to do so, and all its terms and conditions for copying,
- distributing or modifying the Library or works based on it.
- 10. Each time you redistribute the Library (or any work based on the
- Library), the recipient automatically receives a license from the
- original licensor to copy, distribute, link with or modify the
- Library subject to these terms and conditions. You may not impose
- any further restrictions on the recipients’ exercise of the rights
- granted herein. You are not responsible for enforcing compliance
- by third parties with this License.
- 11. If, as a consequence of a court judgment or allegation of patent
- infringement or for any other reason (not limited to patent
- issues), conditions are imposed on you (whether by court order,
- agreement or otherwise) that contradict the conditions of this
- License, they do not excuse you from the conditions of this
- License. If you cannot distribute so as to satisfy simultaneously
- your obligations under this License and any other pertinent
- obligations, then as a consequence you may not distribute the
- Library at all. For example, if a patent license would not permit
- royalty-free redistribution of the Library by all those who receive
- copies directly or indirectly through you, then the only way you
- could satisfy both it and this License would be to refrain entirely
- from distribution of the Library.
- If any portion of this section is held invalid or unenforceable
- under any particular circumstance, the balance of the section is
- intended to apply, and the section as a whole is intended to apply
- in other circumstances.
- It is not the purpose of this section to induce you to infringe any
- patents or other property right claims or to contest validity of
- any such claims; this section has the sole purpose of protecting
- the integrity of the free software distribution system which is
- implemented by public license practices. Many people have made
- generous contributions to the wide range of software distributed
- through that system in reliance on consistent application of that
- system; it is up to the author/donor to decide if he or she is
- willing to distribute software through any other system and a
- licensee cannot impose that choice.
- This section is intended to make thoroughly clear what is believed
- to be a consequence of the rest of this License.
- 12. If the distribution and/or use of the Library is restricted in
- certain countries either by patents or by copyrighted interfaces,
- the original copyright holder who places the Library under this
- License may add an explicit geographical distribution limitation
- excluding those countries, so that distribution is permitted only
- in or among countries not thus excluded. In such case, this
- License incorporates the limitation as if written in the body of
- this License.
- 13. The Free Software Foundation may publish revised and/or new
- versions of the Lesser General Public License from time to time.
- Such new versions will be similar in spirit to the present version,
- but may differ in detail to address new problems or concerns.
- Each version is given a distinguishing version number. If the
- Library specifies a version number of this License which applies to
- it and “any later version”, you have the option of following the
- terms and conditions either of that version or of any later version
- published by the Free Software Foundation. If the Library does not
- specify a license version number, you may choose any version ever
- published by the Free Software Foundation.
- 14. If you wish to incorporate parts of the Library into other free
- programs whose distribution conditions are incompatible with these,
- write to the author to ask for permission. For software which is
- copyrighted by the Free Software Foundation, write to the Free
- Software Foundation; we sometimes make exceptions for this. Our
- decision will be guided by the two goals of preserving the free
- status of all derivatives of our free software and of promoting the
- sharing and reuse of software generally.
- NO WARRANTY
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
- WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE
- LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS
- AND/OR OTHER PARTIES PROVIDE THE LIBRARY “AS IS” WITHOUT WARRANTY
- OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
- PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE
- DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR
- OR CORRECTION.
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
- WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
- MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE
- LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
- INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
- INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF
- DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU
- OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY
- OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
- ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- END OF TERMS AND CONDITIONS
- ---------------------------
- How to Apply These Terms to Your New Libraries
- ----------------------------------------------
- If you develop a new library, and you want it to be of the greatest
- possible use to the public, we recommend making it free software that
- everyone can redistribute and change. You can do so by permitting
- redistribution under these terms (or, alternatively, under the terms of
- the ordinary General Public License).
- To apply these terms, attach the following notices to the library.
- It is safest to attach them to the start of each source file to most
- effectively convey the exclusion of warranty; and each file should have
- at least the “copyright” line and a pointer to where the full notice is
- found.
- ONE LINE TO GIVE THE LIBRARY'S NAME AND AN IDEA OF WHAT IT DOES.
- Copyright (C) YEAR NAME OF AUTHOR
- This library is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as published by
- the Free Software Foundation; either version 2.1 of the License, or (at
- your option) any later version.
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- USA.
- Also add information on how to contact you by electronic and paper
- mail.
- You should also get your employer (if you work as a programmer) or
- your school, if any, to sign a “copyright disclaimer” for the library,
- if necessary. Here is a sample; alter the names:
- Yoyodyne, Inc., hereby disclaims all copyright interest in the library
- `Frob' (a library for tweaking knobs) written by James Random Hacker.
- SIGNATURE OF TY COON, 1 April 1990
- Ty Coon, President of Vice
- That’s all there is to it!
|