%!PS-Adobe-2.0 %%Creator: dvips 5.47 Copyright 1986-91 Radical Eye Software %%Title: bfd.dvi %%Pages: 61 1 %%BoundingBox: 0 0 612 792 %%EndComments %%BeginProcSet: tex.pro /TeXDict 200 dict def TeXDict begin /N /def load def /B{bind def}N /S /exch load def /X{S N}B /TR /translate load N /isls false N /vsize 10 N /@rigin{ isls{[0 1 -1 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale Resolution VResolution vsize neg mul TR matrix currentmatrix dup dup 4 get round 4 exch put dup dup 5 get round 5 exch put setmatrix}N /@letter{/vsize 10 N}B /@landscape{/isls true N /vsize -1 N}B /@a4{/vsize 10.6929133858 N}B /@a3{ /vsize 15.5531 N}B /@ledger{/vsize 16 N}B /@legal{/vsize 13 N}B /@manualfeed{ statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx FMat N df-tail} B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ch-data dup length 3 sub get sub}B /ch-yoff{ ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]{ch-image} imagemask restore}B /D{/cc X dup type /stringtype ne{]}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin 0 0 moveto}N /eop{clear SI restore showpage userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook known{start-hook}if /VResolution X /Resolution X 1000 div /DVImag X /IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for}N /p /show load N /RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V statusdict begin /product where{pop product dup length 7 ge{0 7 getinterval(Display)eq}{pop false}ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /a{ moveto}B /delta 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{ S p tail}B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w }B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B /bos{/SS save N}B /eos{clear SS restore}B end %%EndProcSet %%BeginProcSet: special.pro TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N /vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP false N /BBcalc false N /p 3 def}B /@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{ @scaleunit div /vsc X}B /@hsize{/hs X /CLIP true N}B /@vsize{/vs X /CLIP true N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{10 div /rwi X} B /@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X /BBcalc true N}B /magscale true def end /@MacSetUp{userdict /md known{userdict /md get type /dicttype eq{md begin /letter{}N /note{}N /legal{}N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{ itransform moveto}}{transform{itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{ PaintBlack}if}N /txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if} ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp{pop pop showpage pm restore}N end}if} if}N /normalscale{Resolution 72 div VResolution 72 div neg scale magscale{ DVImag dup scale}if}N /psfts{S 65536 div N}N /startTexFig{/psf$SavedState save N userdict maxlength dict begin /magscale false def normalscale currentpoint TR /psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts /psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR /showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict begin /SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults}N /@setspecial{CLIP{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate BBcalc{rwi urx llx sub div dup scale llx neg lly neg TR}if /showpage{}N /erasepage{}N /copypage{}N newpath}N /@endspecial{grestore clear SpecialSave restore end}N /@defspecial{SDict begin}N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{/SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X /startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet TeXDict begin 1000 300 300 @start /Fa 1 59 df<70F8F8F87005057C840D>58 D E /Fb 1 59 df<78FCFCFCFC7806067B8510>58 D E /Fc 32 120 df<00FC00018200070300 0607000E02000E00000E00000E00000E00000E0000FFFF000E07000E07000E07000E07000E0700 0E07000E07000E07000E07000E07000E07000E07000E07000E07007F0FE0131A809915>12 D45 D<078018603030303060186018E01CE01CE01CE01CE01CE01CE01C E01CE01CE01CE01CE01C6018601870383030186007800E187E9713>48 D<03000700FF00070007 00070007000700070007000700070007000700070007000700070007000700070007000700FFF0 0C187D9713>I<0F80106020304038803CC01CE01C401C003C003800380070006000C001800100 020004040804100430083FF87FF8FFF80E187E9713>I<0F8010E0207060787038203800780070 0070006000C00F8000E000700038003C003CE03CE03CC03C4038407030E00F800E187E9713>I< 00300030007000F000F001700370027004700C7008701070307020704070C070FFFF0070007000 7000700070007007FF10187F9713>I<30183FF03FE03FC02000200020002000200027C0386020 3000380018001C001C401CE01CE01C80184038403030E00F800E187E9713>I<01E006100C1818 383038300070006000E000E7C0E860F030F018E018E01CE01CE01C601C601C7018301830301860 07C00E187E9713>I<40007FFE7FFC7FFC40088010801080200040004000800180018001000300 03000300030007000700070007000700070002000F197E9813>I<078018603030201860186018 601870103C303E600F8007C019F030F86038401CC00CC00CC00CC00C6008201018600FC00E187E 9713>I<07801860303070306018E018E018E01CE01CE01C601C603C303C185C0F9C001C001800 18003870307060604021801F000E187E9713>I<1FC020604030C038E038E0380038007000E001 8001000300020002000200020002000200000000000000000006000F000F0006000D1A7E9912> 63 D66 D68 D70 D<3F8070C070E0207000700070 07F01C7030707070E070E071E071E0F171FB1E3C10107E8F13>97 DI<07F80C1C 381C30087000E000E000E000E000E000E0007000300438080C1807E00E107F8F11>I<07C01C30 30187018600CE00CFFFCE000E000E000E0006000300438080C1807E00E107F8F11>101 D<01F0031807380E100E000E000E000E000E000E00FFC00E000E000E000E000E000E000E000E00 0E000E000E000E000E000E007FE00D1A80990C>I104 D<18003C003C00180000 0000000000000000000000FC001C001C001C001C001C001C001C001C001C001C001C001C001C00 1C00FF80091A80990A>I<018003C003C001800000000000000000000000000FC001C001C001C0 01C001C001C001C001C001C001C001C001C001C001C001C001C001C001C041C0E180E3007E000A 2182990C>I108 DII<07E0 1C38300C700E6006E007E007E007E007E007E0076006700E381C1C3807E010107F8F13>I114 D<1F2060E04020C020C020F0007F003FC01FE000F080708030C030C020F0408F800C107F8F0F> I<0400040004000C000C001C003C00FFC01C001C001C001C001C001C001C001C001C201C201C20 1C201C200E4003800B177F960F>I119 D E /Fd 1 59 df<60F0F06004047D830B>58 D E /Fe 42 123 df<0FC01FF03838701CE00EE00EE00E400E000E001C001C00380030007000E001C0 030006000C00180E300E7FFE7FFE0F177E9614>50 D<000E003E007C00F003E007C01F003E00F8 00F000F8003E001F0007C003E000F0007C003E000E0F137E9414>60 D<4000E000F8007C001E00 0F8007C001F000F8003E001E003E00F801F007C00F801E007C00F800E00040000F157E9514>62 D<01C00003E00003E0000360000360000770000770000770000770000630000E38000E38000E38 000E38000E38001FFC001FFC001C1C001C1C003C1E00380E00FE3F80FE3F8011177F9614>65 DI<03C60FFE1C3E181E381E700E700E600EE000E000E000E000 E000E000E000600E700E700E380C181C1C380FF003C00F177E9614>IIII< FE3F80FE3F80380E00380E00380E00380E00380E00380E00380E00380E003FFE003FFE00380E00 380E00380E00380E00380E00380E00380E00380E00380E00FE3F80FE3F8011177F9614>72 D77 DI<1F F07FFC783C701CE00EE00EE00EE00EE00EE00EE00EE00EE00EE00EE00EE00EE00EE00EE00E701C 783C7FFC1FF00F177E9614>II<7FFF80FFFF80E1C380E1C380 E1C380E1C38001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C000 01C00001C00001C00001C0000FF8000FF80011177F9614>84 D87 D<7E3E007E3E001C38001E38000E78 000F700007F00007E00003E00003C00001C00003C00003E00003E0000770000770000E78000E38 001C3C001C1C003C1E00FE3F80FE3F8011177F9614>I<1FC0007FF000707800201800001C0000 1C0007FC001FFC003C1C00701C00E01C00E01C00E01C00707C003FFF800F8F8011107E8F14>97 DI<03 F80FFC1C1C380870006000E000E000E000E00060007000380E1C1E0FFC03F00F107E8F14>I<00 7E00007E00000E00000E00000E00000E00000E0007CE000FFE001C3E00301E00700E00E00E00E0 0E00E00E00E00E00E00E00E00E00700E00301E00383E001FEFC007CFC012177F9614>I<07E00F F01C38301C700CE00EE00EFFFEFFFEE00060007000380E1C1E0FFC03F00F107E8F14>I<007C00 FE01CE03840380038003807FFEFFFE038003800380038003800380038003800380038003800380 7FFC7FFC0F177F9614>I<07CF001FFF80383B80301800701C00701C00701C003018003838003F F00037C0007000007000003FF8001FFC003FFE00700F00E00380E00380E00380E003807007003C 1E001FFC0007F00011197F8F14>II<030007800780030000000000000000007F807F80038003800380 038003800380038003800380038003800380FFFCFFFC0E187D9714>I<006000F000F000600000 0000000000001FF01FF00070007000700070007000700070007000700070007000700070007000 7000700070007040E0E0C07F803F000C207E9714>IIIII<07C01FF03C78701C701CE00E E00EE00EE00EE00EE00E701C783C3C781FF007C00F107E8F14>II114 D<0FD83FF86038C038C038F0007F803FF007F8001C6006E006F006F81CFFF8CFE0 0F107E8F14>I<030007000700070007007FFCFFFC07000700070007000700070007000700070E 070E070E070C03FC00F00F157F9414>IIII<7E3F007E3F001E38000E780007 700007E00003E00001C00003C00003E0000770000E78000E38001C1C00FE3F80FE3F8011107F8F 14>II<3FFF7FFF700E701C7038007000E001C0038007000E001C0738077007FFFFFFFF10107F 8F14>I E /Ff 70 123 df<0003F07C001E0DC600380F0F00701E0F00E01E0E00E00C0001C01C 0001C01C0001C01C0001C01C0001C01C00038038007FFFFFC00380380003803800038038000380 38000700700007007000070070000700700007007000070070000E00E0000E00E0000E00E0000E 00E0000E00E0000E00E0001C01C0001E01E000FF8FFE0020207E9F1B>11 D<0003E0001C1800381800703C00E03C00E03801C00001C00001C00001C00001C0000380007FFF F00380700380700380700380700700E00700E00700E00700E00700E00700E00E01C00E01C00E01 C00E01C00E01C00E01C01C03801E03C0FF0FF816207E9F19>I<0003F4001C1C00383C00703C00 E03C00E03801C03801C03801C03801C03801C0380380707FFFF003807003807003807003807007 00E00700E00700E00700E00700E00700E00E01C00E01C00E01C00E01C00E01C00E01C01C03801E 03C0FF9FF816207E9F19>I<0003F03F00001E09E08000380F80C000701F01E000E03E01E000E0 1E01C001C01C000001C01C000001C01C000001C01C000001C01C000003803800007FFFFFFF8003 803803800380380380038038038003803803800700700700070070070007007007000700700700 070070070007007007000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E 001C01C01C001E01E01E00FF8FF8FFC023207E9F26>I<387C7C7E3A040404080810204080070E 789F0D>39 D<00030004000800100020006000C0018001000300060006000C000C001C00180018 00380030003000700070006000600060006000E000E000E000E000E000E0006000600060006000 6000300030001000180008000C00040002000100102E7CA112>I<008000C00060002000300018 0018000C000C000C000E00060006000600060006000600060006000600060006000E000E000E00 0C000C001C001800180038003000300060006000C000C001800100030006000C00180030006000 80000F2E7FA112>I<0020000060000060000060000060007061C03843800E4E0007580001E000 01E00006B8001C9C00708700E0838001800001800001800001800001000012147AA117>I<1C3E 7E7E3A0202040408081020C0070E7D840D>44 DI<3078F8787005057C 840D>I<007E0001C3000301800701C00E00C00E00E01C00E01C00E03C01E03801E07801E07801 E07801E07801E07801E0F003C0F003C0F003C0F003C0F003C0F00380F00780E00780E00700E007 00E00E00600E00701C003038003870000FC000131F7C9D17>48 D<000C001C00FC0F3800380038 00380038003800700070007000700070007000E000E000E000E000E000E001C001C001C001C001 C001C0038003C0FFFE0F1E7C9D17>I<003F8000C1E00100F00200780400780400780F007C0F80 7C0F807C0F00780600780000F80000F00001E00001C0000380000700000E00001C000038000060 0000C0000180000300200600200800401000403FFFC07FFF80FFFF80161E7E9D17>I<007F0001 83C00201E00400F00700F00F00F00F01F00F01F00001E00001E00003C0000380000700000E0000 F800000E000007000007800007C00003C00007C03007C07807C0F807C0F807C0F00780800F0040 0E00201C0018780007E000141F7D9D17>I<0000600000600000E00001C00003C00005C0000DC0 0009C00011C000238000438000C380008380010380020380040700080700180700100700200700 400700FFFFF0000E00000E00000E00000E00000E00001C00001E0001FFE0141E7E9D17>I<0180 3001FFE003FFC003FF0003FC00020000020000020000040000040000040000047C000587000603 800C01800801C00001C00001E00001E00001E00001E07003C0F803C0F003C0E003808007804007 00400E00201C0018700007C000141F7D9D17>I<000F8000704000C0200180E00301E00701E00E 00C01E00001C00003C000038000078F800790E007A07007C0300F80380F80380F003C0F003C0F0 03C0F003C0F00780E00780E00780E00700E00F00600E00701C0030180018700007C000131F7C9D 17>I<003F0000C1C00100600200600400300C00300C00300C00300C00600E00600F80C00FC180 07F60003FC0001FC0001FF00063F800C0F801007C03003C06001C06000C0C000C0C000C0C000C0 C00080C0010060030030040018180007E000141F7D9D17>56 D<007E0001C3000301800601C00E 01C01C00C03C00E03C00E03C01E07801E07801E07801E07801E07803E07803E03803C03807C01C 0BC00C13C003E380000780000780000700000E00600E00F01C00F01800E0300080600041C0003F 0000131F7C9D17>I<0E1F1F1E0C000000000000000000003078F8787008147C930D>I<07000F80 0F800F000600000000000000000000000000000000000000000018003C007C007C003C00040004 000800080010001000200040008000091D7D930D>I<1FFFFFF83FFFFFFC000000000000000000 0000000000000000000000000000000000000000000000FFFFFFF07FFFFFE01E0C7C9023>61 D<07E01838201C401C701CF03CF03C603C0038007000E001C00180030002000600040004000800 0800080008000000000000000000000030007800F800780070000E20799F15>63 D<0000100000001800000038000000380000007800000078000000FC000001BC0000013C000003 3C0000023C0000063C0000043E0000081E0000081E0000101E0000101E0000201E0000200F0000 400F0000400F0000FFFF0000800F0001000F800100078002000780020007800400078004000780 0C0007C03E0007C0FF807FFC1E207E9F22>65 D<07FFFF00007C01C0003C01E0003C00F0007800 F8007800F8007800F8007800F8007800F8007800F000F001F000F001E000F003C000F00F8000FF FE0000F00F0001E007C001E003C001E003E001E001E001E001E001E001E003C001E003C003E003 C003E003C003C003C007C003C00F8007800F0007803E00FFFFF0001D1F7E9E20>I<0001F80800 0E061800380138007000F801E0007803C0007007800030078000300F0000301F0000301E000030 3E0000203C0000007C0000007C0000007C0000007C000000F8000000F8000000F8000000F80000 00F80000007800004078000080780000803C0000803C0001001C0002000E00020006000C000300 100001C0E000003F00001D217B9F21>I<07FFFF00007C01E0003C00F0003C00780078003C0078 003C0078001E0078001E0078001E0078001F00F0001F00F0001F00F0001F00F0001F00F0001F00 F0001F01E0001E01E0003E01E0003E01E0003E01E0003C01E0007C03C0007803C000F003C000F0 03C001E003C003C003C0078007800F0007803C00FFFFE000201F7E9E23>I<07FFFFF8007C0078 003C0038003C001800780018007800080078000800780008007800080078080800F0100000F010 0000F0100000F0300000FFF00000F0700001E0200001E0200001E0200001E0200001E0000801E0 001003C0001003C0001003C0002003C0002003C0006003C000C0078001C0078007C0FFFFFF801D 1F7E9E1F>I<07FFFFF8007C0078003C0038003C00180078001800780008007800080078000800 7800080078000800F0100000F0100000F0100000F0300000F0700000FFF00001E0600001E02000 01E0200001E0200001E0200001E0000003C0000003C0000003C0000003C0000003C0000003C000 000780000007C00000FFFE00001D1F7E9E1E>I<0001FC04000F030C003C009C0070007C00E000 3C01C0003803800018078000180F0000181F0000181E0000183E0000103C0000007C0000007C00 00007C0000007C000000F8000000F8000000F8007FFCF80003E0780001E0780001E0780003C078 0003C03C0003C03C0003C01C0003C00E0007C007000B800380118001E06080003F80001E217B9F 24>I<07FFE0007C00003C00003C0000780000780000780000780000780000780000F00000F000 00F00000F00000F00000F00001E00001E00001E00001E00001E00001E00003C00003C00003C000 03C00003C00003C00007800007C000FFFC00131F7F9E10>73 D<07FFF000007E0000003C000000 3C000000780000007800000078000000780000007800000078000000F0000000F0000000F00000 00F0000000F0000000F0000001E0000001E0000001E0000001E0000001E0008001E0010003C001 0003C0010003C0030003C0020003C0060003C0060007801E0007807C00FFFFFC00191F7E9E1C> 76 D<07FC0000FFC0007C0000F800003C00017800003C00017800004E0002F000004E0002F000 004E0004F000004E0004F000004E0008F000004E0008F00000870011E00000870011E000008700 21E00000870021E00000870041E00000838041E00001038083C00001038083C00001038103C000 01038203C0000101C203C0000101C403C0000201C40780000201C80780000201C80780000201D0 0780000200F00780000600E00780000600E00F00000F00C00F8000FFE0C1FFF8002A1F7E9E2A> I<07FC01FFC0003E003E00003E001800003E001800004F001000004F0010000047801000004780 10000043C010000043C010000083C020000081E020000081E020000080F020000080F020000080 782000010078400001007C400001003C400001003C400001001E400001001E400002000F800002 000F800002000F800002000780000200078000060003800006000300000F00010000FFE0010000 221F7E9E22>I<0003F800001E0E000038070000E0038001C001C003C001E0078000E00F0000F0 0F0000F01E0000F01E0000F83E0000F83C0000F87C0000F87C0000F87C0000F87C0000F8F80001 F0F80001F0F80001F0F80001F0F80003E0780003E0780003C0780007C07C0007803C000F003C00 1E001E001C000E0038000700F00003C3C00000FE00001D217B9F23>I<07FFFF00007C03C0003C 01E0003C00F0007800F0007800F8007800F8007800F8007800F8007800F000F001F000F001E000 F003C000F0078000F00F0000FFF80001E0000001E0000001E0000001E0000001E0000001E00000 03C0000003C0000003C0000003C0000003C0000003C000000780000007C00000FFFC00001D1F7E 9E1F>I<07FFFC00007C0700003C03C0003C01E0007801E0007801F0007801F0007801F0007801 F0007801E000F003E000F003C000F0078000F00F0000F03C0000FFF00001E0300001E0380001E0 1C0001E01C0001E01C0001E01E0003C03E0003C03E0003C03E0003C03E0003C03E0003C03E0207 803E0407C01F04FFFC0F18000003E01F207E9E21>82 D<003F040060CC01803C03801C03001C07 00180600080E00080E00080E00080E00000F00000F80000FE00007FE0003FF8001FFC0007FE000 07E00001E00000E00000F00000F04000E04000E04000E04000E06000C0600180E00380F80300C6 0C0081F80016217D9F19>I<3FFFFFF03C0780F03007803060078030400F0010400F0010C00F00 10800F0010800F0010800F0010001E0000001E0000001E0000001E0000001E0000001E0000003C 0000003C0000003C0000003C0000003C0000003C00000078000000780000007800000078000000 7800000078000000F0000001F800007FFFE0001C1F7A9E21>II87 D<00FE01FC01800180018001800180030003000300030003000300060006 0006000600060006000C000C000C000C000C000C00180018001800180018001800300030003000 300030003000600060006000600060006000FE00FE000F2D7EA10D>91 D<00FE01FC000C000C00 0C000C000C00180018001800180018001800300030003000300030003000600060006000600060 006000C000C000C000C000C000C0018001800180018001800180030003000300030003000300FE 00FE000F2D81A10D>93 D<07F8000C0C001E06001E07001C070000070000070000070000FF0007 C7001E07003C0E00780E00F00E10F00E10F00E10F01E10F02E20784F401F878014147D9317>97 D<0700003F00000F00000700000700000E00000E00000E00000E00000E00000E00001C00001C7C 001D87001E03801C01C01C01C03801C03801E03801E03801E03801E03801E07003C07003C07003 80700780700700700E00E81C00C4380083E00013207B9F19>I<01FC07060E0F1C0F380E780070 00F000F000F000F000E000E000E000E000F0027004300818300FC010147C9314>I<0000700003 F00000F00000700000700000E00000E00000E00000E00000E00000E00001C000F9C00305C00E03 C01C03C03801C0780380700380F00380F00380F00380F00380E00700E00700E00700E00700E007 00700F00301E00186F000F8FE014207C9F19>I<00F800070E000E07001C070038038078038070 0380F00380F00380FFFF80F00000E00000E00000E00000E00000F001007002003004001C180007 E00011147D9314>I<0007800018C00031E00061E000E1C000C00001C00001C00001C00001C000 01C0000380007FF800038000038000038000038000070000070000070000070000070000070000 0E00000E00000E00000E00000E00000E00001C00001E0000FFE00013207E9F0E>I<00000E003E 1100E1A301C1C20381E00780E00701E00F01E00F01E00F01E00703C007038007870004FC000800 000800001800001C00000FFF000FFFC007FFE01800F0300030600030C00030C00030C000306000 603000C01C070007FC00181F809417>I<00E00007E00001E00000E00000E00001C00001C00001 C00001C00001C00001C000038000038F800390E003A0E003C0600380600780E00700E00700E007 00E00700E00700E00E01C00E01C00E01C00E01C00E01C00E01C01C03801E03C0FFCFF815207E9F 19>I<01C003E003E003E001C000000000000000000000000003801F8007800380038007000700 07000700070007000E000E000E000E000E000E001C001E00FF800B1F7F9E0C>I<0003800007C0 0007C0000780000300000000000000000000000000000000000000000700007F00000F00000700 000700000E00000E00000E00000E00000E00000E00001C00001C00001C00001C00001C00001C00 003800003800003800003800003800003800007000607000F06000F0C0006180003F0000122883 9E0E>I<00E00007E00001E00000E00000E00001C00001C00001C00001C00001C00001C0000380 000383FC0380F00380C0038180038100070400070800071800073800077C00071C000E1C000E0E 000E0E000E0F000E07000E07801C03801E07C0FF8FF016207E9F18>I<00E007E001E000E000E0 01C001C001C001C001C001C00380038003800380038003800700070007000700070007000E000E 000E000E000E000E001C001E00FFC00B207F9F0C>I<0387C07C001F9861860007A072070003C0 34030003803803000780780700070070070007007007000700700700070070070007007007000E 00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E001C01C01C001E01E01E00 FFCFFCFFC022147E9326>I<038F801F90E007A0E003C0600380600780E00700E00700E00700E0 0700E00700E00E01C00E01C00E01C00E01C00E01C00E01C01C03801E03C0FFCFF815147E9319> I<00FC000387000E01801C00C03800E03800E07000F0F000F0F000F0F000F0F000F0E001E0E001 E0E001C0E003C0F00380700700380E001C1C0007E00014147D9317>I<00E3E007EC3800F01C00 E01E00E00E01C00E01C00F01C00F01C00F01C00F01C00F03801E03801E03801C03803C03803803 80700740E00721C0071F000700000700000700000E00000E00000E00000E00001E0000FFC00018 1D809319>I<00F040038CC00E04C01C03C03C03C0780380780380F00380F00380F00380F00380 E00700E00700E00700F00700F00F00700F00301E00186E000F8E00000E00000E00000E00001C00 001C00001C00001C00003C0001FF80121D7C9318>I<038E001FB38007C78003C7800383000780 000700000700000700000700000700000E00000E00000E00000E00000E00000E00001C00001E00 00FFE00011147E9312>I<01F2060E080618061802380438001E001FE00FF003F8003C401C400C 400C600C6018E010D0608FC00F147E9312>I<0080010001000100030007000F001E00FFF80E00 0E000E000E001C001C001C001C001C001C00380038203820382038203840384018800F000D1C7C 9B12>I<1C0380FC1F803C07801C03801C0380380700380700380700380700380700380700700E 00700E00700E00700E00701E00701E00703C00305E001F9FC012147B9319>III<1FF0FF03C07801C060 01C04000E08000E180007300007600003C00003C00001C00002E00004E00008700010700020380 0603800C01C03E03E0FF07FC18147F9318>I<0FF83F8001E00E0001C00C0001C0080000E01800 00E0100000E0200000E0200000F040000070400000708000007080000071000000390000003A00 00003E0000003C00000038000000180000001000000010000000200000002000000040000070C0 0000F0800000F1000000E20000007C000000191D809318>I<07FFE00701E00401C00C03800807 00080E00101C0000380000700000700000E00001C0000380800700800E00801C01001C01003803 00700E00FFFE0013147F9314>I E /Fg 4 12 df8 D<00000040000000C0000000C0000000C0000000 C0000000C000000180000001800000018000000180000003000000030000000600000006000000 0C00000018000000180000003000000060000000C0000003800000070000001C00000078000007 E00000FF800000F80000001A1B989A32>I<40000000C0000000C0000000C0000000C0000000C0 000000600000006000000060000000300000003000000018000000180000000C00000006000000 06000000030000000180000000C000000060000000380000001C0000000700000003C0000000F8 0000003FE0000007E01B1B809A32>I<000007E000003FE00000F8000003C00000070000001C00 00003800000060000000C00000018000000300000006000000060000000C000000180000001800 00003000000030000000600000006000000060000000C0000000C0000000C0000000C0000000C0 000000400000001B1B808132>I E /Fh 87 126 df<70F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8 70000000000070F8F8F870051C779B18>33 D<4010E038F078E038E038E038E038E038E038E038 E038E038E03860300D0E7B9C18>I<030600078F00078F00078F00078F00078F00078F007FFFC0 FFFFE0FFFFE07FFFC00F1E000F1E000F1E000F1E000F1E000F1E007FFFC0FFFFE0FFFFE07FFFC0 1E3C001E3C001E3C001E3C001E3C001E3C000C1800131C7E9B18>I<3803007C07807C0780EE0F 80EE0F00EE0F00EE1F00EE1E00EE1E00EE3E007C3C007C3C00387C0000780000780000F80000F0 0001F00001E00001E00003E00003C00003C00007C0000783800787C00F87C00F0EE00F0EE01F0E E01E0EE01E0EE03E0EE03C07C03C07C018038013247E9F18>37 D<007000F001E003C007800F00 1E001C00380038007000700070007000E000E000E000E000E000E000E000E00070007000700070 00380038001C001E000F00078003C001F000F000700C24799F18>40 D<6000F00078003C001E00 0F000780038001C001C000E000E000E000E00070007000700070007000700070007000E000E000 E000E001C001C0038007800F001E003C007800F00060000C247C9F18>I<01C00001C00001C000 01C000C1C180F1C780F9CF807FFF001FFC0007F00007F0001FFC007FFF00F9CF80F1C780C1C180 01C00001C00001C00001C00011147D9718>I<00600000F00000F00000F00000F00000F00000F0 0000F0007FFFC0FFFFE0FFFFE07FFFC000F00000F00000F00000F00000F00000F00000F0000060 0013147E9718>I<1C3E7E7F3F1F070E1E7CF860080C788518>I<7FFF00FFFF80FFFF807FFF0011 047D8F18>I<3078FCFC78300606778518>I<000300000780000780000F80000F00001F00001E00 001E00003E00003C00007C0000780000780000F80000F00001F00001E00003E00003C00003C000 07C0000780000F80000F00000F00001F00001E00003E00003C00003C00007C0000780000F80000 F00000F0000060000011247D9F18>I<01F00007FC000FFE001F1F001C07003803807803C07001 C07001C0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0F001E07001C07001 C07803C03803801C07001F1F000FFE0007FC0001F000131C7E9B18>I<01800380038007800F80 3F80FF80FB80438003800380038003800380038003800380038003800380038003800380038003 807FFCFFFE7FFC0F1C7B9B18>I<03F0000FFE003FFF007C0F807003C0E001C0F000E0F000E060 00E00000E00000E00001C00001C00003C0000780000F00001E00003C0000780000F00001E00007 C0000F80001E00E03C00E07FFFE0FFFFE07FFFE0131C7E9B18>I<07F8001FFE003FFF00780780 7803C07801C03001C00001C00003C0000380000F0003FF0003FE0003FF000007800003C00001C0 0000E00000E00000E0F000E0F000E0F001C0F003C07C07803FFF001FFE0003F800131C7E9B18> I<001F00003F0000770000770000E70001E70001C7000387000787000707000E07001E07003C07 00380700780700F00700FFFFF8FFFFF8FFFFF8000700000700000700000700000700000700007F F000FFF8007FF0151C7F9B18>I<1FFF803FFF803FFF8038000038000038000038000038000038 00003800003800003BF8003FFE003FFF003C07801803C00001C00000E00000E06000E0F000E0F0 00E0E001C07003C07C0F803FFF001FFC0003F000131C7E9B18>I<007E0001FF0007FF800F83C0 1E03C01C03C0380180380000700000700000E1F800E7FE00FFFF00FE0780F803C0F001C0F000E0 E000E0F000E07000E07000E07000E03801C03C03C01E07800FFF0007FE0001F800131C7E9B18> II<03F8000FFE001FFF003E0F803803807001C07001C070 01C07001C03803803C07801FFF0007FC000FFE001F1F003C07807001C0F001E0E000E0E000E0E0 00E0E000E07001C07803C03E0F801FFF000FFE0003F800131C7E9B18>I<03F0000FFC001FFE00 3C0F00780780700380E001C0E001C0E001C0E001E0E001E07001E07803E03C0FE01FFFE00FFEE0 03F0E00000E00001C00001C00001C0300380780780780F00783E003FFC001FF00007C000131C7E 9B18>I<3078FCFC783000000000000000003078FCFC78300614779318>I<183C7E7E3C18000000 0000000000183C7E7E3E1E0E1C3C78F060071A789318>I<000300000780001F80003F00007E00 01FC0003F00007E0001FC0003F00007E0000FC0000FC00007E00003F00001FC00007E00003F000 01FC00007E00003F00001F8000078000030011187D9918>I<7FFFC0FFFFE0FFFFE0FFFFE00000 00000000000000000000FFFFE0FFFFE0FFFFE07FFFC0130C7E9318>I<600000F00000FC00007E 00003F00001FC00007E00003F00001FC00007E00003F00001F80001F80003F00007E0001FC0003 F00007E0001FC0003F00007E0000FC0000F0000060000011187D9918>I<0FF0003FFC007FFF00 700F00F00380F00380600780000F00003E00007C0001F00001E00003C00003C00003C00003C000 03C00003800000000000000000000000000000000003800007C00007C00007C000038000111C7D 9B18>I<007C0001FE0007FF000F87801E03C03C1DC0387FC070FFE071E3E071C1E0E1C1E0E380 E0E380E0E380E0E380E0E380E0E380E0E1C1C071C1C071E3C070FF80387F003C1C001E00E00F83 E007FFC001FF80007E00131C7E9B18>I<00700000F80000F80000D80000D80001DC0001DC0001 DC00018C00038E00038E00038E00038E000306000707000707000707000707000FFF800FFF800F FF800E03800E03801C01C01C01C07F07F0FF8FF87F07F0151C7F9B18>II<00F8E003FEE007FFE00F07E01E03E03C01E03800E07000E07000E0700000E00000E000 00E00000E00000E00000E00000E00000E000007000007000E07000E03800E03C00E01E01C00F07 C007FF8003FE0000F800131C7E9B18>I<7FF800FFFE007FFF001C0F801C03C01C03C01C01E01C 00E01C00E01C00F01C00701C00701C00701C00701C00701C00701C00701C00701C00F01C00E01C 00E01C01E01C01C01C03C01C0F807FFF00FFFE007FF800141C7F9B18>III<01F1C003FDC00FFFC01F0FC01C03C03803C03801C070 01C07001C0700000E00000E00000E00000E00000E00000E00FF0E01FF0E00FF07001C07001C070 03C03803C03803C01C07C01F0FC00FFFC003FDC001F1C0141C7E9B18>I<7F07F0FF8FF87F07F0 1C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01FFFC01FFFC01FFFC01C01C0 1C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C07F07F0FF8FF87F07F0151C7F 9B18>I<7FFF00FFFF807FFF0001C00001C00001C00001C00001C00001C00001C00001C00001C0 0001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0 007FFF00FFFF807FFF00111C7D9B18>I<01FFC003FFC001FFC0000E00000E00000E00000E0000 0E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E0000 0E00000E00F00E00F00E00F03C007FFC003FF0000FC000121C7D9B18>I<7F07F0FF87F87F07F0 1C03C01C07801C07001C0E001C1E001C3C001C38001C70001CF0001DF0001DF0001FB8001FB800 1F1C001E1C001C0E001C0E001C07001C07001C03801C03801C01C07F03F0FF87F87F03F0151C7F 9B18>I<7FE000FFE0007FE0000E00000E00000E00000E00000E00000E00000E00000E00000E00 000E00000E00000E00000E00000E00000E00000E00000E00000E00700E00700E00700E00700E00 707FFFF0FFFFF07FFFF0141C7F9B18>II<7E07F0FF0FF87F07F0 1D81C01D81C01D81C01DC1C01CC1C01CC1C01CE1C01CE1C01CE1C01C61C01C71C01C71C01C31C0 1C39C01C39C01C39C01C19C01C19C01C1DC01C0DC01C0DC01C0DC07F07C0FF87C07F03C0151C7F 9B18>I<0FF8003FFE007FFF00780F00700700F00780E00380E00380E00380E00380E00380E003 80E00380E00380E00380E00380E00380E00380E00380E00380E00380E00380F00780700700780F 007FFF003FFE000FF800111C7D9B18>II<7FF800FFFE007FFF00 1C0F801C03801C03C01C01C01C01C01C01C01C03C01C03801C0F801FFF001FFE001FFE001C0F00 1C07001C03801C03801C03801C03801C03801C039C1C039C1C039C7F01F8FF81F87F00F0161C7F 9B18>82 D<03F3801FFF803FFF807C0F80700780E00380E00380E00380E000007000007800003F 00001FF00007FE0000FF00000F800003C00001C00000E00000E06000E0E000E0E001E0F001C0F8 0780FFFF80FFFE00E7F800131C7E9B18>I<7FFFF8FFFFF8FFFFF8E07038E07038E07038E07038 007000007000007000007000007000007000007000007000007000007000007000007000007000 00700000700000700000700000700007FF0007FF0007FF00151C7F9B18>IIII<7F8FE07F9FE07F8F E00E07000F0700070E00078E00039C0003DC0001F80001F80000F00000F00000700000F00000F8 0001F80001DC00039E00038E00070F000707000E07800E03801E03C07F07F0FF8FF87F07F0151C 7F9B18>II<3FFFE07FFFE07FFFE07001C07003C0700780700700 000F00001E00001C00003C0000780000700000F00001E00001C00003C0000780000700000F0000 1E00E01C00E03C00E07800E07000E0FFFFE0FFFFE0FFFFE0131C7E9B18>II<600000F00000F0 0000F800007800007C00003C00003C00003E00001E00001F00000F00000F00000F800007800007 C00003C00003C00003E00001E00001F00000F00000F800007800007800007C00003C00003E0000 1E00001E00001F00000F00000F8000078000078000030011247D9F18>II<018007C01FF07EFC F83EE00E0F067C9B18>I<7FFF00FFFF80FFFF807FFF0011047D7F18>I<1FE0003FF8007FFC0078 1E00300E0000070000070000FF0007FF001FFF007F0700780700E00700E00700E00700F00F0078 1F003FFFF01FFBF007E1F014147D9318>97 D<7E0000FE00007E00000E00000E00000E00000E00 000E00000E3E000EFF800FFFC00FC1E00F80E00F00700E00700E00380E00380E00380E00380E00 380E00380F00700F00700F80E00FC1E00FFFC00EFF80063E00151C809B18>I<01FE0007FF001F FF803E0780380300700000700000E00000E00000E00000E00000E00000E000007000007001C038 01C03E03C01FFF8007FF0001FC0012147D9318>I<001F80003F80001F80000380000380000380 00038000038003E3800FFB801FFF803C1F80380F80700780700380E00380E00380E00380E00380 E00380E00380700780700780380F803C1F801FFFF00FFBF803E3F0151C7E9B18>I<01F00007FC 001FFE003E0F00380780700380700380E001C0E001C0FFFFC0FFFFC0FFFFC0E000007000007001 C03801C03E03C01FFF8007FF0001FC0012147D9318>I<001F80007FC000FFE000E1E001C0C001 C00001C00001C0007FFFC0FFFFC0FFFFC001C00001C00001C00001C00001C00001C00001C00001 C00001C00001C00001C00001C00001C00001C0007FFF007FFF007FFF00131C7F9B18>I<01E1F0 07FFF80FFFF81E1E301C0E003807003807003807003807003807001C0E001E1E001FFC001FF800 39E0003800001C00001FFE001FFFC03FFFE07801F0700070E00038E00038E00038E000387800F0 7E03F01FFFC00FFF8001FC00151F7F9318>I<7E0000FE00007E00000E00000E00000E00000E00 000E00000E3E000EFF800FFFC00FC1C00F80E00F00E00E00E00E00E00E00E00E00E00E00E00E00 E00E00E00E00E00E00E00E00E00E00E07FC3FCFFE7FE7FC3FC171C809B18>I<03800007C00007 C00007C0000380000000000000000000000000007FC000FFC0007FC00001C00001C00001C00001 C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C000FFFF00FFFF80FF FF00111D7C9C18>I<0038007C007C007C003800000000000000000FFC1FFC0FFC001C001C001C 001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C60 38F078FFF07FE03F800E277E9C18>II<7FE000FFE0007FE00000 E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000 E00000E00000E00000E00000E00000E00000E00000E00000E0007FFFC0FFFFE07FFFC0131C7E9B 18>I<7CE0E000FFFBF8007FFFF8001F1F1C001E1E1C001E1E1C001C1C1C001C1C1C001C1C1C00 1C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C007F1F1F00FFBFBF 807F1F1F001914819318>I<7E3E00FEFF807FFFC00FC1C00F80E00F00E00E00E00E00E00E00E0 0E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E07FC3FCFFE7FE7FC3FC1714809318> I<01F0000FFE001FFF003E0F803803807001C07001C0E000E0E000E0E000E0E000E0E000E0F001 E07001C07803C03C07803E0F801FFF000FFE0001F00013147E9318>I<7E3E00FEFF807FFFC00F C1E00F80E00F00700E00700E00380E00380E00380E00380E00380E00380F00700F00700F80E00F C1E00FFFC00EFF800E3E000E00000E00000E00000E00000E00000E00000E00007FC000FFE0007F C000151E809318>I<7F87E0FF9FF07FBFF803F87803F03003E00003C00003C000038000038000 0380000380000380000380000380000380000380007FFE00FFFF007FFE0015147F9318>114 D<07F7003FFF007FFF00780F00E00700E00700E007007C00007FE0001FFC0003FE00001F006007 80E00380E00380F00380F80F00FFFF00FFFC00E7F00011147D9318>I<01800003800003800003 80000380007FFFC0FFFFC0FFFFC003800003800003800003800003800003800003800003800003 80000380400380E00380E00380E001C1C001FFC000FF80003E0013197F9818>I<7E07E0FE0FE0 7E07E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E0 0E01E00F03E007FFFC03FFFE01FCFC1714809318>I<7F8FF0FF8FF87F8FF01E03C00E03800E03 800E0380070700070700070700038E00038E00038E00038E0001DC0001DC0001DC0000F80000F8 0000700015147F9318>II< 7F8FF07F9FF07F8FF0070700078E00039E0001DC0001F80000F80000700000F00000F80001DC00 039E00038E000707000F07807F8FF0FF8FF87F8FF015147F9318>I<7F8FF0FF8FF87F8FF00E01 C00E03800E0380070380070700070700038700038600038E0001CE0001CE0000CC0000CC0000DC 0000780000780000780000700000700000700000F00000E00079E0007BC0007F80003F00001E00 00151E7F9318>I<3FFFF07FFFF07FFFF07001E07003C0700780000F00001E00003C0000F80001 F00003C0000780000F00701E00703C0070780070FFFFF0FFFFF0FFFFF014147F9318>I<0007E0 001FE0007FE000780000E00000E00000E00000E00000E00000E00000E00000E00000E00000E000 00E00001E0007FC000FF8000FF80007FC00001E00000E00000E00000E00000E00000E00000E000 00E00000E00000E00000E00000E000007800007FE0001FE00007E013247E9F18>I<60F0F0F0F0 F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0600424769F18>I<7C 0000FF0000FFC00003C00000E00000E00000E00000E00000E00000E00000E00000E00000E00000 E00000E00000F000007FC0003FE0003FE0007FC000F00000E00000E00000E00000E00000E00000 E00000E00000E00000E00000E00000E00003C000FFC000FF00007C000013247E9F18>I E /Fi 25 121 df<0001C0000003C000000FC000007FC0001FFFC000FFFFC000FFBFC000E03FC0 00003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003F C000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00000 3FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000 003FC000003FC000003FC000003FC000003FC000003FC0007FFFFFE07FFFFFE07FFFFFE01B2E7A AD28>49 D<003FE00001FFFE0007FFFF800F80FFC01E003FE038001FF07C000FF87E0007FCFF00 07FCFF8007FEFF8007FEFF8003FEFF8003FE7F0003FE3E0007FE000007FE000007FC000007FC00 000FF800000FF800000FF000001FE000001FC000003F8000007F0000007E000000F8000001F000 0003E0000007C000000F0000001E000E003C000E0038000E0070001E00E0001C01C0001C030000 3C07FFFFFC0FFFFFFC1FFFFFFC3FFFFFFC7FFFFFF8FFFFFFF8FFFFFFF8FFFFFFF81F2E7CAD28> I<001FF80000007FFF000001FFFFC00003E03FE00007800FF0000FC00FF8001FE007F8001FE007 FC001FE007FC001FE007FC001FE007FC000FC007FC00078007FC0000000FF80000000FF8000000 0FF00000001FE00000001FC00000003F80000000FE0000003FF80000003FFF800000001FE00000 0007F000000007F800000003FC00000003FE00000001FF00000001FF00000001FF80000001FF80 000001FF801C0001FF803E0001FF807F0001FF80FF8001FF80FF8001FF00FF8001FF00FF8003FE 007F0003FE007E0007FC003C0007F8001FC01FF0000FFFFFC00003FFFF0000003FF80000212E7D AD28>I66 D<000003FF80018000003FFFF003800001FFFFFC07800007FF003F0F80001FF800079F80 003FC00001FF8000FF800000FF8001FE0000007F8003FC0000003F8007FC0000001F8007F80000 000F800FF00000000F801FF000000007801FF000000007803FE000000007803FE000000003807F E000000003807FE000000003807FC000000000007FC00000000000FFC00000000000FFC0000000 0000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC0 0000000000FFC000000000007FC000000000007FC000000000007FE000000000007FE000000003 803FE000000003803FE000000003801FF000000003801FF000000007800FF0000000070007F800 0000070007FC0000000E0003FC0000001E0001FE0000001C0000FF8000007800003FC00000F000 001FF80003E0000007FF003F80000001FFFFFE000000003FFFF80000000003FF80000031317CB0 3A>II70 D73 D<7FFFFFFFFFFF007FFFFFFFFFFF007FFFFFFFFFFF007FC00FF801FF007E 000FF8003F007C000FF8001F0078000FF8000F0078000FF8000F0070000FF8000700F0000FF800 0780F0000FF8000780F0000FF8000780E0000FF8000380E0000FF8000380E0000FF8000380E000 0FF8000380E0000FF800038000000FF800000000000FF800000000000FF800000000000FF80000 0000000FF800000000000FF800000000000FF800000000000FF800000000000FF800000000000F F800000000000FF800000000000FF800000000000FF800000000000FF800000000000FF8000000 00000FF800000000000FF800000000000FF800000000000FF800000000000FF800000000000FF8 00000000000FF800000000000FF800000000000FF800000000000FF800000000000FF800000000 000FF800000000000FF8000000007FFFFFFF0000007FFFFFFF0000007FFFFFFF000031307DAF38 >84 D<00FFF0000003FFFE00000F803F80000FC00FE0001FE007F0001FE007F0001FE003F8000F C003FC00078003FC00000003FC00000003FC00000003FC00000003FC000000FFFC00001FFFFC00 00FFE3FC0003FC03FC000FF003FC001FC003FC003FC003FC007F8003FC007F8003FC00FF0003FC 00FF0003FC00FF0003FC00FF0007FC00FF0007FC007F800DFC003FC019FE001FE070FFF007FFE0 7FF000FF803FF024207E9F27>97 D<01F8000000FFF8000000FFF8000000FFF80000000FF80000 0007F800000007F800000007F800000007F800000007F800000007F800000007F800000007F800 000007F800000007F800000007F800000007F800000007F800000007F83FE00007F8FFFC0007FB E07F0007FF001F8007FE000FC007FC000FE007F80007F007F80007F807F80007F807F80003FC07 F80003FC07F80003FC07F80003FE07F80003FE07F80003FE07F80003FE07F80003FE07F80003FE 07F80003FE07F80003FE07F80003FC07F80003FC07F80003FC07F80007F807F80007F807F80007 F007FC000FE007FE000FC007E7003F8007C3C0FE000780FFF80007003FC00027327EB12D>I<00 0FFF00007FFFC001FC01F003F003F007E007F80FE007F81FC007F83FC003F03FC001E07F800000 7F8000007F800000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF8000 007F8000007F8000007F8000003FC0001C3FC0001C1FC000380FE0003807E0007003F001E001FC 07C0007FFF00000FF8001E207D9F24>I<0000000FC0000007FFC0000007FFC0000007FFC00000 007FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC000 00003FC00000003FC00000003FC00000003FC00000003FC00000003FC00007F83FC0003FFF3FC0 00FE07BFC003F801FFC007E0007FC00FE0007FC01FC0003FC03FC0003FC03FC0003FC07F80003F C07F80003FC07F80003FC0FF80003FC0FF80003FC0FF80003FC0FF80003FC0FF80003FC0FF8000 3FC0FF80003FC0FF80003FC07F80003FC07F80003FC07F80003FC03FC0003FC03FC0003FC01FC0 003FC00FE0007FC007E000FFC003F003FFE001FC0F3FFE007FFE3FFE000FF03FFE27327DB12D> I<000FFC00007FFF8001FC0FC003F003E007E001F00FE001F81FC000FC3FC000FE3FC000FE7F80 007E7F80007F7F80007FFF80007FFF80007FFFFFFFFFFFFFFFFFFF800000FF800000FF800000FF 8000007F8000007F8000007F8000003FC000071FC000071FC0000E0FE0000E07F0001C03F80078 00FE03E0003FFFC00007FE0020207E9F25>I<0001FE00000FFF80001FC3C0007F07E000FE0FF0 01FE0FF001FC0FF003FC0FF003FC07E003FC018003FC000003FC000003FC000003FC000003FC00 0003FC000003FC000003FC0000FFFFFC00FFFFFC00FFFFFC0003FC000003FC000003FC000003FC 000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003 FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC0000 03FC000003FC000003FC00007FFFF0007FFFF0007FFFF0001C327EB119>I<03C00007E0000FF0 001FF8001FF8001FF8001FF8000FF00007E00003C0000000000000000000000000000000000000 0000000000000000000001F800FFF800FFF800FFF8000FF80007F80007F80007F80007F80007F8 0007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F8 0007F80007F80007F80007F80007F80007F800FFFF80FFFF80FFFF8011337DB217>105 D<01F8000000FFF8000000FFF8000000FFF80000000FF800000007F800000007F800000007F800 000007F800000007F800000007F800000007F800000007F800000007F800000007F800000007F8 00000007F800000007F800000007F801FFF807F801FFF807F801FFF807F8003F0007F8003C0007 F800780007F800F00007F803C00007F807800007F80F000007F81E000007F878000007F8FC0000 07F9FE000007FBFE000007FFFF000007FE7F800007FC7FC00007F83FC00007F01FE00007F00FF0 0007F00FF80007F007FC0007F003FC0007F001FE0007F000FF0007F000FF8007F0007F8007F000 7FC0FFFF81FFFEFFFF81FFFEFFFF81FFFE27327EB12B>107 D<01F800FFF800FFF800FFF8000F F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007 F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007 F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007 F80007F80007F80007F800FFFFC0FFFFC0FFFFC012327DB117>I<03F007F800FFF03FFE00FFF0 783F00FFF0C03F800FF1801FC007F3001FC007F6001FE007FC001FE007FC001FE007FC001FE007 F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE0 07F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001F E007F8001FE007F8001FE007F8001FE0FFFFC3FFFFFFFFC3FFFFFFFFC3FFFF28207D9F2D>110 D<0007FC0000007FFFC00001FC07F00003F001F80007E000FC000FC0007E001FC0007F003FC000 7F803F80003F807F80003FC07F80003FC07F80003FC0FF80003FE0FF80003FE0FF80003FE0FF80 003FE0FF80003FE0FF80003FE0FF80003FE0FF80003FE07F80003FC07F80003FC07F80003FC03F C0007F803FC0007F801FC0007F000FE000FE0007E000FC0003F803F80001FE0FF000007FFFC000 0007FC000023207E9F28>I<03F03F00FFF07FC0FFF1C3E0FFF187E00FF30FF007F60FF007F60F F007FC07E007FC03C007FC000007FC000007F8000007F8000007F8000007F8000007F8000007F8 000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007 F8000007F8000007F80000FFFFE000FFFFE000FFFFE0001C207E9F21>114 D<01FF860007FFFE001F00FE003C003E0078001E0078000E00F8000E00F8000E00F8000E00FC00 0000FF800000FFFC00007FFFC0007FFFF0003FFFF8001FFFFC0007FFFE0001FFFF00003FFF0000 00FF8000003F8060001F80E0000F80E0000F80F0000F80F0000F00F8000F00FC001E00FE001C00 FF807800F3FFF000C07F800019207D9F20>I<001C0000001C0000001C0000001C0000001C0000 003C0000003C0000003C0000007C0000007C000000FC000001FC000003FC000007FC00001FFFFE 00FFFFFE00FFFFFE0003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC 000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC038003 FC038003FC038003FC038003FC038003FC038003FC038001FC038001FC070000FE0700007F0E00 003FFC000007F000192E7FAD1F>I<01F80007E0FFF803FFE0FFF803FFE0FFF803FFE00FF8003F E007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F800 1FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8 001FE007F8001FE007F8001FE007F8001FE007F8003FE007F8003FE003F8007FE003F8007FE001 FC00DFF000FE039FFF007FFF1FFF000FFC1FFF28207D9F2D>I<7FFF807FFC7FFF807FFC7FFF80 7FFC03FE000F0001FE001E0000FF003C0000FF807800007FC07800003FE0F000001FE1E000000F F3C000000FFF80000007FF00000003FE00000001FE00000000FF00000000FF80000000FFC00000 01FFC0000003DFE00000078FF00000078FF800000F07FC00001E03FC00003C01FE00007800FF00 00F000FF8000E0007FC001E0003FC0FFFC01FFFFFFFC01FFFFFFFC01FFFF28207F9F2B>120 D E /Fj 18 117 df<387CFEFEFE7C3807077D860D>46 D<03F0000FFC001F3E003E1F003C0F00 7C0F807C0F807C0F80FC0FC0FC0FC0FC0FC0FC0FC0FC0FC0FC0FC0FC0FC0FC0FC0FC0FC0FC0FC0 FC0FC0FC0FC0FC0FC07C0F807C0F807C0F803C0F003E1F001F3E000FFC0003F000121D7E9C17> 48 D<00E001E00FE0FFE0F3E003E003E003E003E003E003E003E003E003E003E003E003E003E0 03E003E003E003E003E003E003E003E003E07FFF7FFF101D7D9C17>I<07F0001FFC00387E007C 3F00FE1F80FE1F80FE1FC0FE0FC07C0FC0380FC0001FC0001F80001F80003F00003E00007C0000 780000E00001C0000380000700C00600C00C00C01801C03FFF803FFF807FFF80FFFF80FFFF8012 1D7E9C17>I<07F0000FFC001C3E003C3F007E1F807E1F807E1F807E1F803C3F00003F00003E00 007C0003F80003F000003C00003F00001F80001F80001FC0381FC07C1FC0FE1FC0FE1FC0FE1F80 FC1F80783F00383E001FFC0007F000121D7E9C17>I<000700000F00000F00001F00003F00003F 00006F0000EF0001CF00018F00038F00070F00060F000C0F001C0F00380F00300F00700F00E00F 00FFFFF0FFFFF0001F00001F00001F00001F00001F00001F0001FFF001FFF0141D7F9C17>I<38 03003FFF003FFE003FFC003FF8003FE0003F000030000030000030000030000033F00037FC003C 1E00380F00100F80000F80000FC0000FC0780FC0FC0FC0FC0FC0FC0FC0FC0F80780F80601F0038 3E001FFC0007E000121D7E9C17>I<00FC0003FE000783000F0F801E1F803E1F803C1F807C1F80 7C0F007C0000FC0000FDFC00FFFE00FE0F00FE0F80FC0F80FC0FC0FC0FC0FC0FC0FC0FC0FC0FC0 7C0FC07C0FC07C0F803C0F803E0F001E1E000FFC0003F000121D7E9C17>I<6000007FFFC07FFF C07FFF807FFF007FFE00E00600C00C00C01800C0180000300000600000E00000E00001E00001C0 0003C00003C00003C00007C00007C00007C0000FC0000FC0000FC0000FC0000FC0000FC0000780 00030000121E7D9D17>I<03F0000FFC001E1E00380F003807807807807807807C07807E07807F 0F003FCE003FFC001FF8000FFE000FFF001FFF003C7F80783FC0700FC0F007C0F003C0F003C0F0 03C0F003807803807807003E0E001FFC0007F000121D7E9C17>I<03F0000FFC001E1E003C1F00 7C0F007C0F80FC0F80FC0F80FC0FC0FC0FC0FC0FC0FC0FC0FC0FC07C0FC07C1FC03C1FC01FFFC0 0FEFC0000FC0000F803C0F807E0F807E0F007E1F007E1E007C3C003878001FF0000FC000121D7E 9C17>I<07F0001FFC003F1E003F1F003F0F803F0F800C0F80000F8000FF800FFF801F0F807C0F 807C0F80F80F80F80F80F80F80F817807C37803FE3F00F81F014147F9316>97 DI<03F00FFC1E7E3E7E7C7E7C7EFC 18FC00FC00FC00FC00FC00FC00FC007C007E033E031F0E0FFC03F010147E9314>I<1C003E007F 007F007F003E001C00000000000000000000000000FF00FF001F001F001F001F001F001F001F00 1F001F001F001F001F001F001F001F001F00FFE0FFE00B217FA00C>105 D109 D112 D<0300030003000300070007000F000F003F00FFF8 FFF81F001F001F001F001F001F001F001F001F001F001F181F181F181F181F180F3007F003E00D 1D7F9C12>116 D E /Fk 34 122 df46 D<01800780FF80FF800F800F 800F800F800F800F800F800F800F800F800F800F800F800F800F800F800F807FE07FE00B177D96 12>49 D<1F803FC07FE0F1F0F0F860F820F800F800F800F001F001E003C0078007000E001E001C 0038007000FFF8FFF87FF80D177E9612>I<1F803FC07FE0F1F061F041F001F001F001E003C00F 800FC001E000F000F800F800F880F8C0F8E1F07FF03FE01F800D177E9612>I<3FF83FF83FF83E 003E003E003E003E003E003FE03FF03C783878007C007C007C007C407C607CF0F87FF03FE00FC0 0E177F9612>53 D58 D<01FC0001FC0003FE0003FE0003DE0007DF0007DF00079F00078F000F8F800F8F800F0F801F07 C01F07C01F07C03FFFE03FFFE03FFFE07C03F07C01F07C01F0F801F8F800F815177F9618>65 D<7FF800FFFE00FFFF00F81F00F80F80F80F80F80F80F80F80F80F80F81F00FFFE00FFFE00F81F 80F80F80F807C0F807C0F807C0F807C0F807C0F81F80FFFF80FFFF007FFC0012177D9618>I<01 FF0007FFC00FFFC01F83C03E00807C00007C0000F80000F80000F80000F80000F80000F80000F8 0000F80000F800007C00007C00403E00C01F81C00FFFC007FF8001FE0012177E9617>I<7FF800 FFFF00FFFF80F81FC0F807C0F803E0F803E0F801F0F801F0F801F0F801F0F801F0F801F0F801F0 F801F0F801F0F803E0F803E0F807E0F80FC0FFFF80FFFF007FF80014177D961A>I<7FFCFFFCFF FCF800F800F800F800F800F800F800FFF8FFF8FFF8F800F800F800F800F800F800F800F800F800 78000E177D9614>70 D<78F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F87805177D960B> 73 D<7FF800FFFE00FFFF00F81F00F80F80F80F80F80F80F80F80F80F80F81F00FFFE00FFF800 F8F800F8F800F87C00F87C00F83E00F83E00F81F00F81F00F80F80F80F807807C012177D9617> 82 D<7FFFF8FFFFF8FFFFF800F80000F80000F80000F80000F80000F80000F80000F80000F800 00F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000780015177F9618> 84 D<0FC03FF030F820F800F800F81FF83EF878F8F8F8F8F8F8F879F87FF81EF80D0F7F8E11> 97 D<7800F800F800F800F800F800F800F800FBE0FFF8F87CF83CF83EF83EF83EF83EF83EF83E F83EF83CF878FFF07BE00F177E9613>I<0FE01FF83C387808F800F800F800F800F800F800F800 78083C381FF80FE00D0F7F8E10>I<003E003E003E003E003E003E003E003E0FBE1FFE3C3E783E F83EF83EF83EF83EF83EF83EF83E783E7C3E3FFE0FBE0F177F9613>I<0FC01FF03C787878F83C F83CFFFCFFFCF800F800780078043C1C1FFC07F00E0F7F8E11>I<03F00FF00F101F001F001F00 1F001F007F80FF801F001F001F001F001F001F001F001F001F001F001F001F000F000C1780960B >I<1FCE3FFE78F0F8F8F8F8F8F8F8F878F03FE07FC0600060007FF07FF83FFC7FFEE00EE00EE0 0E701C3FF81FF00F167F8E12>I<7800F800F800F800F800F800F800F800F9F0FBF8FE7CFC7CF8 7CF87CF87CF87CF87CF87CF87CF87CF87CF87C787C0E177E9613>II<7000F000F000F000F000F000F000F000F078F0 F8F3E0F7C0FF80FF00FF00FF80FFC0F3E0F1E0F0F0F0F8F07C703C0E177E9612>107 D<79F0FBF8FE7CFC7CF87CF87CF87CF87CF87CF87CF87CF87CF87CF87C787C0E0F7E8E13>110 D<0FE03FF87C7C783CF83EF83EF83EF83EF83EF83EF83E783C7C7C3FF80FE00F0F7F8E12>I<7B E0FFF8F87CF87CF83EF83EF83EF83EF83EF83EF83EF87CF878FFF0FBE0F800F800F800F800F800 78000F157E8E13>I<7BFFFFFCF8F8F8F8F8F8F8F8F8F878080F7E8E0C>114 D<1F007FC0E0C0E040E000FE00FF807FC03FE007E0C0E0C0E0F0E07FC01F000B0F7F8E0E>I<1E 003E003E003E003E007F80FF803E003E003E003E003E003E003E003E003E003E003E403FC01F00 0A147F930D>I<787CF87CF87CF87CF87CF87CF87CF87CF87CF87CF87CF87CF8FC7FFC3E7C0E0F 7E8E13>II 120 DI E /Fl 14 117 df<70F8F8F0E005057B840E>46 D<000F800030E000E07001C0700380300380380700380F00780F00780E00781E00781E00703C00 F03C00F03C00F03C00F07801E07801E07801E07801C07003C0F003C0F00380F00780F007007007 00700E00701C003038001870000FC000151F7C9D17>48 D<000200020006000E003C00DC031C00 1C0038003800380038007000700070007000E000E000E000E001C001C001C001C0038003800380 03800780FFF80F1E7B9D17>I<00C06000FFC001FF8001FE000100000100000200000200000200 00020000040000047800058C000606000C0700080700000780000780000780000780000F00700F 00F00F00F00E00E01E00801C0080380080300040600061C0001F0000131F7B9D17>53 D<001F0000718000C0C00180C00380E00700E00F00E00F01E01E01E01E01E01E01E01E01C01C03 C01C03C01C03C01C07C01C0F800C0F8006378003C700000F00000E00000E00001C00601C00F038 00F07000E0600080C0004380003E0000131F7B9D17>57 D<01FFFFC0001E00F0001E0078001E00 38001E003C003C003C003C003C003C003C003C003C0078007800780078007800F0007801E000F0 078000FFFE0000F00F8000F003C001E001C001E001E001E001E001E001E003C001E003C001E003 C001E003C001C0078003C00780078007800F0007801E000F007800FFFFE0001E1F7D9E20>66 D<01FFFF80001E00E0001E0070001E0038001E001C003C001C003C000E003C000E003C000E0078 000E0078000E0078000E0078000E00F0001E00F0001E00F0001E00F0001E01E0003C01E0003C01 E0003C01E0007803C0007003C0007003C000E003C001C0078001C00780038007800E0007801C00 0F007000FFFFC0001F1F7D9E22>68 D<01FFFFFC001E0038001E0018001E0008001E0008003C00 08003C0008003C0008003C00080078001000780800007808000078080000F0100000F0300000FF F00000F0300001E0200001E0200001E0200001E0200003C0000003C0000003C0000003C0000007 8000000780000007800000078000000F800000FFF800001E1F7D9E1E>70 D<00F1800389C00707800E03801C03803C0380380700780700780700780700F00E00F00E00F00E 00F00E20F01C40F01C40703C40705C40308C800F070013147C9317>97 D<007E0001C100030080 0E07801E07801C07003C0200780000780000780000F00000F00000F00000F00000F00000700100 70020030040018380007C00011147C9315>99 D<00C001E001E001C00000000000000000000000 0000000E003300230043804300470087000E000E000E001C001C001C0038403880308070803100 33001C000B1F7C9E0E>105 D<1C0F80F0002630C318004740640C004780680E004700700E0047 00700E008E00E01C000E00E01C000E00E01C000E00E01C001C01C038001C01C038001C01C03800 1C01C0708038038071003803806100380380E10038038062007007006600300300380021147C93 25>109 D<01C1E002621804741C04781C04701E04701E08E01E00E01E00E01E00E01E01C03C01 C03C01C03C01C0380380780380700380E003C1C0072380071E000700000700000E00000E00000E 00000E00001C00001C0000FFC000171D809317>112 D<018001C0038003800380038007000700 FFF007000E000E000E000E001C001C001C001C003800380038003820704070407080708031001E 000C1C7C9B0F>116 D E /Fm 81 125 df<001F83E000F06E3001C078780380F8780300F03007 007000070070000700700007007000070070000700700007007000FFFFFF800700700007007000 070070000700700007007000070070000700700007007000070070000700700007007000070070 000700700007007000070070000700700007007000070070007FE3FF001D20809F1B>11 D<003F0000E0C001C0C00381E00701E00701E0070000070000070000070000070000070000FFFF E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700 E00700E00700E00700E00700E00700E07FC3FE1720809F19>I<003FE000E0E001C1E00381E007 00E00700E00700E00700E00700E00700E00700E00700E0FFFFE00700E00700E00700E00700E007 00E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E007 00E07FE7FE1720809F19>I<001F81F80000F04F040001C07C06000380F80F000300F00F000700 F00F00070070000007007000000700700000070070000007007000000700700000FFFFFFFF0007 007007000700700700070070070007007007000700700700070070070007007007000700700700 070070070007007007000700700700070070070007007007000700700700070070070007007007 00070070070007007007007FE3FE3FF02420809F26>I<70F8F8F8F8F8F8F87070707070707070 70702020202020000000000070F8F8F87005217CA00D>33 D<0078000000840000018400000302 000007020000070200000702000007020000070400000704000007080000070800000310000003 A00FFC03C003E0038001C001C0008001C0010003E0010004E0020008F002001870040030780800 70380800701C1000F01E1000F00E2000F0074000F003C0087003C0087801C010380670301C1838 6007E00F801E227EA023>38 D<70F8FCFC74040404080810102040060E7C9F0D>I<0020004000 800100020006000C000C00180018003000300030007000600060006000E000E000E000E000E000 E000E000E000E000E000E000E0006000600060007000300030003000180018000C000C00060002 0001000080004000200B2E7DA112>I<800040002000100008000C000600060003000300018001 80018001C000C000C000C000E000E000E000E000E000E000E000E000E000E000E000E000C000C0 00C001C001800180018003000300060006000C00080010002000400080000B2E7DA112>I<0180 0180018001800180C183F18F399C0FF003C003C00FF0399CF18FC1830180018001800180018010 147DA117>I<70F8FCFC74040404080810102040060E7C840D>44 DI<70 F8F8F87005057C840D>I<03F0000E1C001C0E00180600380700700380700380700380700380F0 03C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C070 03807003807003807807803807001806001C0E000E1C0003F000121F7E9D17>48 D<018003800F80F380038003800380038003800380038003800380038003800380038003800380 03800380038003800380038003800380038007C0FFFE0F1E7C9D17>I<03F0000C1C00100E0020 0700400780800780F007C0F803C0F803C0F803C02007C00007C0000780000780000F00000E0000 1C0000380000700000600000C0000180000300000600400C00401800401000803FFF807FFF80FF FF80121E7E9D17>I<03F0000C1C00100E00200F00780F80780780780780380F80000F80000F00 000F00000E00001C0000380003F000003C00000E00000F000007800007800007C02007C0F807C0 F807C0F807C0F00780400780400F00200E001C3C0003F000121F7E9D17>I<000600000600000E 00000E00001E00002E00002E00004E00008E00008E00010E00020E00020E00040E00080E00080E 00100E00200E00200E00400E00C00E00FFFFF0000E00000E00000E00000E00000E00000E00000E 0000FFE0141E7F9D17>I<1803001FFE001FFC001FF8001FE00010000010000010000010000010 000010000011F000161C00180E001007001007800003800003800003C00003C00003C07003C0F0 03C0F003C0E00380400380400700200600100E000C380003E000121F7E9D17>I<007C00018200 0701000E03800C07801C0780380300380000780000700000700000F1F000F21C00F40600F80700 F80380F80380F003C0F003C0F003C0F003C0F003C07003C07003C0700380380380380700180700 0C0E00061C0001F000121F7E9D17>I<4000007FFFC07FFF807FFF804001008002008002008004 0000080000080000100000200000200000400000400000C00000C00001C0000180000380000380 00038000038000078000078000078000078000078000078000078000030000121F7D9D17>I<03 F0000C0C001006003003002001806001806001806001807001807803003E03003F06001FC8000F F00003F80007FC000C7E00103F00300F806003804001C0C001C0C000C0C000C0C000C0C0008060 01802001001002000C0C0003F000121F7E9D17>I<03F0000E18001C0C00380600380700700700 700380F00380F00380F003C0F003C0F003C0F003C0F003C07007C07007C03807C0180BC00E13C0 03E3C0000380000380000380000700300700780600780E00700C002018001070000FC000121F7E 9D17>I<70F8F8F8700000000000000000000070F8F8F87005147C930D>I<70F8F8F87000000000 00000000000070F0F8F878080808101010202040051D7C930D>I<0FC0307040384038E03CF03C F03C603C0038007000E000C0018001800100030002000200020002000200020000000000000000 00000007000F800F800F8007000E207D9F15>63 D<001F800000E0700001000800060006000800 010008000100100F00802030C0402060404040C0202041C01C2041C01C2081801C1083801C1083 801C1083801C1083801C1083801C1083801C1081801C1041C01C1041C01C1040C03C2020605C20 2030CC40100F0780080000000800000006000070010001C000E01F00001FF0001C207D9F23>I< 000100000003800000038000000380000007C0000007C0000007C0000009E0000009E0000009E0 000010F0000010F0000010F00000207800002078000020780000403C0000403C0000403C000080 1E0000801E0000FFFE0001000F0001000F0001000F00020007800200078002000780040003C00E 0003C01F0007E0FFC03FFE1F207F9F22>II<000FC040007030 C001C009C0038005C0070003C00E0001C01E0000C01C0000C03C0000C07C0000407C0000407800 0040F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F800000078 0000007C0000407C0000403C0000401C0000401E0000800E000080070001000380020001C00400 00703800000FC0001A217D9F21>IIII<000FE0200078186000E004E0038002E0070001E00F 0000E01E0000601E0000603C0000603C0000207C00002078000020F8000000F8000000F8000000 F8000000F8000000F8000000F8000000F8007FFCF80003E0780001E07C0001E03C0001E03C0001 E01E0001E01E0001E00F0001E0070001E0038002E000E0046000781820000FE0001E217D9F24> III<0FFFC0007C00003C00003C00003C00003C00003C00003C00003C00003C00003C00 003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00203C00 F83C00F83C00F83C00F0380040780040700030E0000F800012207E9E17>IIIII<001F800000F0F00001C0380007801E000F000F000E0007001E0007803C00 03C03C0003C07C0003E0780001E0780001E0F80001F0F80001F0F80001F0F80001F0F80001F0F8 0001F0F80001F0F80001F0F80001F0780001E07C0003E07C0003E03C0003C03C0003C01E000780 0E0007000F000F0007801E0001C0380000F0F000001F80001C217D9F23>II82 D<07E0800C19801007803003806001 80600180E00180E00080E00080E00080F00000F000007800007F00003FF0001FFC000FFE0003FF 00001F800007800003C00003C00001C08001C08001C08001C08001C0C00180C00380E00300F006 00CE0C0081F80012217D9F19>I<7FFFFFE0780F01E0600F0060400F0020400F0020C00F003080 0F0010800F0010800F0010800F0010000F0000000F0000000F0000000F0000000F0000000F0000 000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F00 00000F0000000F0000000F0000001F800007FFFE001C1F7E9E21>IIII<7FF83FF80FE00FC007C0 070003C0020001E0040001F00C0000F0080000781000007C1000003C2000003E4000001E400000 0F8000000F8000000780000003C0000007E0000005E0000009F0000018F8000010780000207C00 00603C0000401E0000801F0001800F0001000780020007C0070003C01F8007E0FFE01FFE1F1F7F 9E22>II<7FFFF87C00F87000F06001E04001E0C003C0C003C0 800780800F80800F00001E00001E00003C00003C0000780000F80000F00001E00001E00003C004 03C0040780040F80040F000C1E000C1E00083C00183C0018780038F801F8FFFFF8161F7D9E1C> II93 D<1FE000303000781800781C 00300E00000E00000E00000E0000FE00078E001E0E00380E00780E00F00E10F00E10F00E10F01E 10781E103867200F83C014147E9317>97 D<0E0000FE00000E00000E00000E00000E00000E0000 0E00000E00000E00000E00000E00000E3E000EC3800F01C00F00E00E00E00E00700E00700E0078 0E00780E00780E00780E00780E00780E00700E00700E00E00F00E00D01C00CC300083E0015207F 9F19>I<03F80E0C1C1E381E380C70007000F000F000F000F000F000F00070007000380138011C 020E0C03F010147E9314>I<000380003F80000380000380000380000380000380000380000380 00038000038000038003E380061B801C0780380380380380700380700380F00380F00380F00380 F00380F00380F003807003807003803803803807801C07800E1B8003E3F815207E9F19>I<03F0 000E1C001C0E00380700380700700700700380F00380F00380FFFF80F00000F00000F000007000 007000003800801800800C010007060001F80011147F9314>I<007C00C6018F038F0706070007 0007000700070007000700FFF00700070007000700070007000700070007000700070007000700 070007000700070007007FF01020809F0E>I<0000E003E3300E3C301C1C30380E00780F00780F 00780F00780F00780F00380E001C1C001E380033E0002000002000003000003000003FFE001FFF 800FFFC03001E0600070C00030C00030C00030C000306000603000C01C038003FC00141F7F9417 >I<0E0000FE00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E 3E000E43000E81800F01C00F01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E 01C00E01C00E01C00E01C00E01C00E01C0FFE7FC16207F9F19>I<1C001E003E001E001C000000 000000000000000000000E007E000E000E000E000E000E000E000E000E000E000E000E000E000E 000E000E000E000E00FFC00A1F809E0C>I<00E001F001F001F000E00000000000000000000000 00007007F000F00070007000700070007000700070007000700070007000700070007000700070 007000700070007000706070F060F0C061803F000C28829E0E>I<0E0000FE00000E00000E0000 0E00000E00000E00000E00000E00000E00000E00000E00000E0FF00E03C00E03000E02000E0400 0E08000E10000E30000E70000EF8000F38000E1C000E1E000E0E000E07000E07800E03800E03C0 0E03E0FFCFF815207F9F18>I<0E00FE000E000E000E000E000E000E000E000E000E000E000E00 0E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00FFE00B 20809F0C>I<0E1F01F000FE618618000E81C81C000F00F00E000F00F00E000E00E00E000E00E0 0E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00 E00E000E00E00E000E00E00E000E00E00E000E00E00E00FFE7FE7FE023147F9326>I<0E3E00FE 43000E81800F01C00F01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E 01C00E01C00E01C00E01C00E01C0FFE7FC16147F9319>I<01F800070E001C03803801C03801C0 7000E07000E0F000F0F000F0F000F0F000F0F000F0F000F07000E07000E03801C03801C01C0380 070E0001F80014147F9317>I<0E3E00FEC3800F01C00F00E00E00E00E00F00E00700E00780E00 780E00780E00780E00780E00780E00700E00F00E00E00F01E00F01C00EC3000E3E000E00000E00 000E00000E00000E00000E00000E00000E0000FFE000151D7F9319>I<03E0800619801C05803C 0780380380780380700380F00380F00380F00380F00380F00380F0038070038078038038038038 07801C0B800E138003E380000380000380000380000380000380000380000380000380003FF815 1D7E9318>I<0E78FE8C0F1E0F1E0F0C0E000E000E000E000E000E000E000E000E000E000E000E 000E000E00FFE00F147F9312>I<1F9030704030C010C010C010E00078007F803FE00FF0007080 3880188018C018C018E030D0608F800D147E9312>I<020002000200060006000E000E003E00FF F80E000E000E000E000E000E000E000E000E000E000E000E080E080E080E080E080610031001E0 0D1C7F9B12>I<0E01C0FE1FC00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01 C00E01C00E01C00E01C00E01C00E01C00E03C00603C0030DC001F1FC16147F9319>III<7FC3FC0F01E0 0701C007018003810001C20000E40000EC00007800003800003C00007C00004E00008700010700 0303800201C00601E01E01E0FF07FE1714809318>II<3F FF380E200E201C40384078407000E001E001C00380078007010E011E011C0338027006700EFFFE 10147F9314>I124 D E /Fn 53 122 df<0001FF01FE00001FFFCF FF00007F01FF0F8000FC03FE1FC001F807FC1FC003F807FC1FC007F007F81FC007F007F80F8007 F003F8000007F003F8000007F003F8000007F003F8000007F003F8000007F003F8000007F003F8 0000FFFFFFFFF000FFFFFFFFF000FFFFFFFFF00007F003F8000007F003F8000007F003F8000007 F003F8000007F003F8000007F003F8000007F003F8000007F003F8000007F003F8000007F003F8 000007F003F8000007F003F8000007F003F8000007F003F8000007F003F8000007F003F8000007 F003F8000007F003F8000007F003F8000007F003F8000007F003F800007FFF3FFFC0007FFF3FFF C0007FFF3FFFC0002A2A7FA927>11 D<0001FF0000001FFFC000007F81E00000FC01E00001F807 F00003F807F00007F007F00007F007F00007F007F00007F007F00007F001C00007F000000007F0 00000007F000000007F03FF800FFFFFFF800FFFFFFF800FFFFFFF80007F003F80007F003F80007 F003F80007F003F80007F003F80007F003F80007F003F80007F003F80007F003F80007F003F800 07F003F80007F003F80007F003F80007F003F80007F003F80007F003F80007F003F80007F003F8 0007F003F80007F003F80007F003F8007FFF3FFF807FFF3FFF807FFF3FFF80212A7FA925>I<3C 007F00FF80FF80FFC0FFC0FFC07FC03EC000C000C00180018001800300030006000E001C003800 30000A157BA913>39 D<1C007F007F00FF80FF80FF807F007F001C0009097B8813>46 D<003F800001FFF00007E0FC000FC07E001F803F001F001F003F001F803E000F807E000FC07E00 0FC07E000FC07E000FC0FE000FE0FE000FE0FE000FE0FE000FE0FE000FE0FE000FE0FE000FE0FE 000FE0FE000FE0FE000FE0FE000FE0FE000FE0FE000FE0FE000FE0FE000FE07E000FC07E000FC0 7E000FC07E000FC03F001F803F001F801F001F001F803F000FC07E0007E0FC0001FFF000003F80 001B277DA622>48 D<000E00001E00007E0007FE00FFFE00FFFE00F8FE0000FE0000FE0000FE00 00FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00 00FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00 7FFFFE7FFFFE7FFFFE17277BA622>I<00FF800007FFF0000FFFFC001E03FE003800FF807C003F 80FE003FC0FF001FC0FF001FE0FF000FE0FF000FE07E000FE03C001FE000001FE000001FC00000 1FC000003F8000003F0000007E000000FC000000F8000001F0000003E00000078000000F000000 1E0000003C00E0007000E000E000E001C001C0038001C0060001C00FFFFFC01FFFFFC03FFFFFC0 7FFFFFC0FFFFFF80FFFFFF80FFFFFF801B277DA622>I<007F800003FFF00007FFFC000F80FE00 1F007F003F807F003F803F803F803F803F803F801F803F801F003F8000007F0000007F0000007E 000000FC000001F8000007F00000FFC00000FFC0000001F80000007E0000003F0000003F800000 1FC000001FC000001FE000001FE03C001FE07E001FE0FF001FE0FF001FE0FF001FC0FF003FC0FE 003F807C007F003F00FE001FFFFC0007FFF00000FF80001B277DA622>I<00000E0000001E0000 003E0000007E000000FE000000FE000001FE000003FE0000077E00000E7E00000E7E00001C7E00 00387E0000707E0000E07E0000E07E0001C07E0003807E0007007E000E007E000E007E001C007E 0038007E0070007E00E0007E00FFFFFFF8FFFFFFF8FFFFFFF80000FE000000FE000000FE000000 FE000000FE000000FE000000FE000000FE00007FFFF8007FFFF8007FFFF81D277EA622>I<1800 03001F801F001FFFFE001FFFFC001FFFF8001FFFF0001FFFC0001FFF00001C0000001C0000001C 0000001C0000001C0000001C0000001C0000001C7FC0001DFFF8001F80FC001E003F0008003F00 00001F8000001FC000001FC000001FE000001FE018001FE07C001FE0FE001FE0FE001FE0FE001F E0FE001FC0FC001FC078003F8078003F803C007F001F01FE000FFFFC0003FFF00000FF80001B27 7DA622>I<0007F800003FFE0000FFFF0001FC078003F00FC007C01FC00F801FC01F801FC01F00 1FC03F000F803F0000007E0000007E0000007E000000FE020000FE1FF000FE3FFC00FE603E00FE 801F00FF801F80FF000FC0FF000FC0FE000FE0FE000FE0FE000FE0FE000FE07E000FE07E000FE0 7E000FE07E000FE03E000FE03F000FC01F000FC01F001F800F801F0007E07E0003FFFC0001FFF8 00003FC0001B277DA622>I<380000003E0000003FFFFFF03FFFFFF03FFFFFF07FFFFFE07FFFFF C07FFFFF807FFFFF0070000E0070000E0070001C00E0003800E0007000E000E0000001E0000001 C000000380000007800000070000000F0000001F0000001E0000003E0000003E0000007E000000 7C0000007C000000FC000000FC000000FC000000FC000001FC000001FC000001FC000001FC0000 01FC000001FC000001FC000000F80000007000001C297CA822>I<003FC00001FFF00003FFFC00 07C07E000F003F001E001F001E000F803E000F803E000F803F000F803F800F803FC00F803FF01F 001FFC1E001FFE3C000FFFF8000FFFE00007FFF80001FFFC0001FFFE0007FFFF000F0FFF801E03 FFC03E01FFC07C007FE07C001FE0F8000FE0F80007E0F80003E0F80003E0F80003E0F80003C07C 0003C07E0007803F000F001FC03F000FFFFC0003FFF800007FC0001B277DA622>I<007F800001 FFF00007FFF8000FC0FC001F803E003F001F007E001F807E001F807E000F80FE000FC0FE000FC0 FE000FC0FE000FE0FE000FE0FE000FE0FE000FE0FE000FE07E001FE07E001FE03F003FE01F002F E00F80CFE007FF8FE001FF0FE000080FE000000FC000000FC000000FC000001F803E001F807F00 1F807F003F007F003E007F007E007E00FC003E03F8001FFFE0000FFF800001FE00001B277DA622 >I<00000780000000000780000000000FC0000000000FC0000000000FC0000000001FE0000000 001FE0000000003FF0000000003FF0000000003FF00000000077F80000000077F800000000F7FC 00000000E3FC00000000E3FC00000001C1FE00000001C1FE00000003C1FF0000000380FF000000 0380FF00000007007F80000007007F8000000F007FC000000E003FC000000E003FC000001C001F E000001C001FE000003FFFFFF000003FFFFFF000003FFFFFF00000700007F80000700007F80000 F00007FC0000E00003FC0000E00003FC0001C00001FE0001C00001FE0003C00001FF00FFFE003F FFFCFFFE003FFFFCFFFE003FFFFC2E297EA833>65 DI< 00007FE0030007FFFC07001FFFFF0F007FF00F9F00FF0001FF01FC0000FF03F800007F07F00000 3F0FE000001F1FC000001F1FC000000F3F8000000F3F800000077F800000077F800000077F0000 0000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00 000000FF000000007F000000007F800000007F800000073F800000073F800000071FC00000071F C000000E0FE000000E07F000001C03F800003C01FC00007800FF0001F0007FF007C0001FFFFF80 0007FFFE0000007FF00028297CA831>II70 D<00007FE003000007FFFC0700001FFFFF0F00007FF00F9F00 00FF0001FF0001FC0000FF0003F800007F0007F000003F000FE000001F001FC000001F001FC000 000F003F8000000F003F80000007007F80000007007F80000007007F0000000000FF0000000000 FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000 000000FF0000FFFFF87F0000FFFFF87F8000FFFFF87F800000FF003F800000FF003F800000FF00 1FC00000FF001FC00000FF000FE00000FF0007F00000FF0003F80000FF0001FC0000FF0000FF00 01FF00007FF007FF00001FFFFF9F000007FFFE0F0000007FF003002D297CA835>III77 D<0000FFC00000000FFFFC0000003F807F000000FE001FC00001F800 07E00003F00003F00007E00001F8000FE00001FC001FC00000FE001FC00000FE003F8000007F00 3F8000007F007F8000007F807F0000003F807F0000003F807F0000003F80FF0000003FC0FF0000 003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0 FF0000003FC0FF0000003FC07F0000003F807F8000007F807F8000007F803F8000007F003F8000 007F001FC00000FE001FC00000FE000FE00001FC0007F00003F80003F80007F00001FC000FE000 00FE001FC000003FC0FF0000000FFFFC00000000FFC000002A297CA833>79 D82 D<00FF00C003FFE1C00FFFF9C01F80FFC03F00 3FC03E000FC07C0007C07C0007C0FC0003C0FC0003C0FC0001C0FE0001C0FE0001C0FF000000FF C000007FFC00007FFFE0003FFFF8001FFFFE001FFFFF0007FFFF8003FFFFC000FFFFC0000FFFE0 00007FE000001FF000000FF0000007F0E00003F0E00003F0E00003F0E00003F0F00003E0F00003 E0F80007E0FC0007C0FF000F80FFE01F80E3FFFF00E1FFFC00C01FF0001C297CA825>I<7FFFFF FFFF807FFFFFFFFF807FFFFFFFFF807F807F807F807C007F800F8078007F80078078007F800780 70007F800380F0007F8003C0F0007F8003C0E0007F8001C0E0007F8001C0E0007F8001C0E0007F 8001C0E0007F8001C000007F80000000007F80000000007F80000000007F80000000007F800000 00007F80000000007F80000000007F80000000007F80000000007F80000000007F80000000007F 80000000007F80000000007F80000000007F80000000007F80000000007F80000000007F800000 00007F80000000007F80000000007F80000000007F80000000FFFFFFC00000FFFFFFC00000FFFF FFC0002A287EA72F>IIII<03FF80000F FFF0001F01FC003F80FE003F807F003F803F003F803F801F003F8000003F8000003F8000003F80 00003F80003FFF8001FC3F800FE03F801F803F803F003F807E003F80FC003F80FC003F80FC003F 80FC003F80FC005F807E00DF803F839FFC1FFE0FFC03F803FC1E1B7E9A21>97 DI<003FF00001FFFC0003F03E000FC07F001F807F 003F007F003F007F007F003E007E0000007E000000FE000000FE000000FE000000FE000000FE00 0000FE000000FE0000007E0000007E0000007F0000003F0003803F8003801F8007000FE00E0003 F83C0001FFF800003FC000191B7E9A1E>I<00007FF000007FF000007FF0000007F0000007F000 0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0 003F87F001FFF7F007F03FF00FC00FF01F8007F03F0007F03F0007F07E0007F07E0007F07E0007 F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F07E0007F07E00 07F03F0007F03F0007F01F800FF00FC01FF007E07FFF01FFE7FF007F87FF202A7EA925>I<003F C00001FFF00003E07C000F803E001F801F001F001F003F000F807E000F807E000FC07E000FC0FE 0007C0FE0007C0FFFFFFC0FFFFFFC0FE000000FE000000FE0000007E0000007E0000007F000000 3F0001C01F0001C00F80038007C0070003F01E0000FFFC00003FE0001A1B7E9A1F>I<0007F800 3FFC007E3E01FC7F03F87F03F07F07F07F07F03E07F00007F00007F00007F00007F00007F00007 F000FFFFC0FFFFC0FFFFC007F00007F00007F00007F00007F00007F00007F00007F00007F00007 F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F0007FFF807F FF807FFF80182A7EA915>I<007F80F001FFE3F807C0FE1C0F807C7C1F003E7C1F003E103F003F 003F003F003F003F003F003F003F003F003F003F001F003E001F003E000F807C0007C0F80005FF E0000C7F8000180000001C0000001C0000001E0000001FFFF8001FFFFF000FFFFFC007FFFFE003 FFFFF00FFFFFF03E0007F07C0001F8F80000F8F80000F8F80000F8F80000F87C0001F07C0001F0 3F0007E00FC01F8007FFFF00007FF0001E287E9A22>II<07000F801FC03FE03FE03FE01FC00F8007000000000000000000000000000000FFE0FFE0 FFE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00F E00FE00FE0FFFEFFFEFFFE0F2B7EAA12>I107 DIII<003FE00001FFFC0003F07E000FC01F801F800FC03F0007E03F00 07E07E0003F07E0003F07E0003F0FE0003F8FE0003F8FE0003F8FE0003F8FE0003F8FE0003F8FE 0003F8FE0003F87E0003F07E0003F03F0007E03F0007E01F800FC00FC01F8007F07F0001FFFC00 003FE0001D1B7E9A22>II114 D<03FE300FFFF03E03F0 7800F07000F0F00070F00070F80070FE0000FFE0007FFF007FFFC03FFFE01FFFF007FFF800FFF8 0007FC0000FCE0007CE0003CF0003CF00038F80038FC0070FF01E0E7FFC0C1FF00161B7E9A1B> I<00700000700000700000700000F00000F00000F00001F00003F00003F00007F0001FFFE0FFFF E0FFFFE007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F0 0007F00007F07007F07007F07007F07007F07007F07007F07003F0E001F8C000FFC0003F001426 7FA51A>II IIII E /Fo 5 103 df<0000300000F80001F80003F000 0FE0001F80007F0000FE0003F80007F0000FC0003F80007E0000FC0000FC00007E00003F80000F C00007F00003F80000FE00007F00001F80000FE00003F00001F80000F8000030151C7D9E1C>60 D<600000F80000FC00007E00003F80000FC00007F00003F80000FE00007F00001F80000FE00003 F00001F80001F80003F0000FE0001F80007F0000FE0003F80007F0000FC0003F80007E0000FC00 00F80000600000151C7D9E1C>62 D98 D<000FF0000FF0000FF00000F00000F00000F00000F00000F00000F00000F000F8F003 FEF00FFFF01F07F03E03F03C01F07800F07800F0F000F0F000F0F000F0F000F0F000F0F000F0F0 00F07800F07801F03C01F03E03F01F07F00FFFFF07FEFF01F8FF18217EA01C>100 D<0003F8000FFC001FFE003E1E003C0C0078000078000078000078000078007FFFF8FFFFF8FFFF F80078000078000078000078000078000078000078000078000078000078000078000078000078 000078000078000078000078003FFFF03FFFF03FFFF017217FA01C>102 D E /Fp 10 109 df<00000001E00000000000000003F00000000000000003F000000000000000 07F80000000000000007F80000000000000007F8000000000000000FFC000000000000000FFC00 0000000000001FFE000000000000001FFE000000000000001FFE000000000000003FFF00000000 0000003FFF000000000000007FFF800000000000007BFF800000000000007BFF80000000000000 F3FFC0000000000000F1FFC0000000000001F1FFE0000000000001E0FFE0000000000001E0FFE0 000000000003C0FFF0000000000003C07FF0000000000007C07FF8000000000007803FF8000000 000007803FF800000000000F003FFC00000000000F001FFC00000000001F001FFE00000000001E 000FFE00000000001E000FFE00000000003C000FFF00000000003C0007FF00000000007C0007FF 8000000000780003FF8000000000780003FF8000000000F00003FFC000000000F00001FFC00000 0001FFFFFFFFE000000001FFFFFFFFE000000003FFFFFFFFF000000003FFFFFFFFF000000003C0 00007FF000000007C000007FF8000000078000003FF80000000F8000003FFC0000000F0000003F FC0000000F0000001FFC0000001F0000001FFE0000001E0000000FFE0000003E0000000FFF0000 003C00000007FF0000003C00000007FF0000007C00000007FF800000FC00000003FF8000FFFFF8 0003FFFFFFC0FFFFF80003FFFFFFC0FFFFF80003FFFFFFC0FFFFF80003FFFFFFC0423B7DBA49> 65 D68 D70 D82 D<3FFFFFFFFFFFFFC03FFFFFFFFFFFFFC03FFFFFFFFFFFFFC03FFFFFFFFFFF FFC03FF8007FF001FFC07FC0007FF0003FE07F80007FF0001FE07F00007FF0000FE07E00007FF0 0007E07C00007FF00003E07C00007FF00003E07C00007FF00003E07800007FF00001E07800007F F00001E07800007FF00001E07800007FF00001E0F000007FF00000F0F000007FF00000F0F00000 7FF00000F0F000007FF00000F0F000007FF00000F00000007FF00000000000007FF00000000000 007FF00000000000007FF00000000000007FF00000000000007FF00000000000007FF000000000 00007FF00000000000007FF00000000000007FF00000000000007FF00000000000007FF0000000 0000007FF00000000000007FF00000000000007FF00000000000007FF00000000000007FF00000 000000007FF00000000000007FF00000000000007FF00000000000007FF00000000000007FF000 00000000007FF00000000000007FF00000000000007FF00000000000007FF00000000000007FF0 0000000000007FF00000000000007FF00000000000007FF00000000000007FF00000000000007F F00000000000007FF0000000000FFFFFFFFF8000000FFFFFFFFF8000000FFFFFFFFF8000000FFF FFFFFF80003C3A7DB943>84 D<00FE00000000FFFE00000000FFFE00000000FFFE00000000FFFE 0000000007FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE000000 0003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE 0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE01FF000003FE1FFFF0 0003FE7FFFFC0003FEFC03FE0003FFF000FF0003FFC0003F8003FF00001FC003FE00001FE003FE 00000FF003FE00000FF803FE00000FF803FE000007FC03FE000007FC03FE000007FC03FE000007 FE03FE000007FE03FE000007FE03FE000007FE03FE000007FE03FE000007FE03FE000007FE03FE 000007FE03FE000007FE03FE000007FC03FE000007FC03FE000007FC03FE00000FFC03FE00000F F803FE00000FF003FE00001FF003FF00001FE003FF80003FC003FFC0007F8003F9E000FF0003F0 FC07FE0003F07FFFF80003E01FFFE00003C003FE00002F3C7DBB36>98 D<000000003F80000000 3FFF800000003FFF800000003FFF800000003FFF8000000001FF8000000000FF8000000000FF80 00000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF80000000 00FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF80 00000000FF800000FF80FF80000FFFF0FF80003FFFFCFF8000FFC03FFF8001FE000FFF8003FC00 03FF8007F80001FF800FF00000FF801FF00000FF803FE00000FF803FE00000FF807FE00000FF80 7FC00000FF807FC00000FF807FC00000FF80FFC00000FF80FFC00000FF80FFC00000FF80FFC000 00FF80FFC00000FF80FFC00000FF80FFC00000FF80FFC00000FF80FFC00000FF807FC00000FF80 7FC00000FF807FC00000FF803FE00000FF803FE00000FF801FE00000FF800FF00001FF8007F000 03FF8003F80007FF8001FE001FFFC000FF807EFFFE007FFFF8FFFE000FFFE0FFFE0001FF00FFFE 2F3C7DBB36>100 D<00001FF0000000FFF8000003FFFE00000FF87F00001FE0FF00003FC1FF80 007F81FF8000FF81FF8000FF81FF8001FF00FF0001FF007E0001FF003C0001FF00000001FF0000 0001FF00000001FF00000001FF00000001FF00000001FF00000001FF00000001FF00000001FF00 0000FFFFFF8000FFFFFF8000FFFFFF8000FFFFFF800001FF00000001FF00000001FF00000001FF 00000001FF00000001FF00000001FF00000001FF00000001FF00000001FF00000001FF00000001 FF00000001FF00000001FF00000001FF00000001FF00000001FF00000001FF00000001FF000000 01FF00000001FF00000001FF00000001FF00000001FF00000001FF00000001FF00000001FF0000 0001FF00000001FF00000001FF0000007FFFFE00007FFFFE00007FFFFE00007FFFFE0000213C7D BB1E>102 D<01E00007F80007FC000FFE000FFE001FFE001FFE000FFE000FFE0007FC0007F800 01E00000000000000000000000000000000000000000000000000000000000000000000000FE00 FFFE00FFFE00FFFE00FFFE0007FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE00 03FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE00 03FE0003FE0003FE0003FE0003FE0003FE0003FE00FFFFF0FFFFF0FFFFF0FFFFF0143D7DBC1A> 105 D<00FE00FFFE00FFFE00FFFE00FFFE0007FE0003FE0003FE0003FE0003FE0003FE0003FE00 03FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE00 03FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE00 03FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE00 03FE0003FE0003FE0003FE0003FE00FFFFF8FFFFF8FFFFF8FFFFF8153C7DBB1A>108 D E /Fq 4 106 df<0001FE00000007FF8000001E01E000007800780000E0001C000180000600 030000030006000001800C000000C00C000000C018000000603000000030300000003030000000 30600000001860000000186000000018C00000000CC00000000CC00000000CC00000000CC00000 000CC00000000CC00000000CC00000000CC00000000C6000000018600000001860000000183000 0000303000000030300000003018000000600C000000C00C000000C00600000180030000030001 8000060000E0001C000078007800001E01E0000007FF80000001FE0000262B7DA02D>13 D<03C00FF01FF83FFC7FFE7FFEFFFFFFFFFFFFFFFFFFFFFFFF7FFE7FFE3FFC1FF80FF003C01012 7D9317>15 D<004000C00180018001800300030003000600060006000C000C0018001800180030 0030003000600060006000C000C0006000600060003000300030001800180018000C000C000600 0600060003000300030001800180018000C000400A2E7CA112>104 DI E /Fr 60 125 df<0003FC0FE0001FFF3FF8007E03FC7801F807F0FC 03F00FF0FC03F00FE0FC07E00FE07807E007E00007E007E00007E007E00007E007E00007E007E0 0007E007E00007E007E000FFFFFFFF80FFFFFFFF8007E007E00007E007E00007E007E00007E007 E00007E007E00007E007E00007E007E00007E007E00007E007E00007E007E00007E007E00007E0 07E00007E007E00007E007E00007E007E00007E007E00007E007E00007E007E00007E007E00007 E007E0007FFE7FFF007FFE7FFF0026267FA524>11 D<0003FC00003FFE00007E070001F80F8003 F01F8003E01F8007E01F8007E01F8007E01F8007E0060007E0000007E0000007E0000007E0FFC0 FFFFFFC0FFFFFFC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00F C007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E0 0FC007E00FC007E00FC07FFC7FFC7FFC7FFC1E267FA522>I<0003FFC0003FFFC000FE0FC001F8 1FC003F01FC003E01FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007 E00FC0FFFFFFC0FFFFFFC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC0 07E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00F C007E00FC007E00FC007E00FC07FFEFFFC7FFEFFFC1E267FA522>I<3C7EFFFFFFFF7E3C08087C 8711>46 D<007F800003FFF00007E1F8000F807C001F003E003F003F003E001F007E001F807E00 1F807E001F807E001F80FE001FC0FE001FC0FE001FC0FE001FC0FE001FC0FE001FC0FE001FC0FE 001FC0FE001FC0FE001FC0FE001FC0FE001FC0FE001FC07E001F807E001F807E001F807E001F80 3F003F003F003F001F003E000F807C0007E1F80003FFF000007F80001A237EA21F>48 D<001C00003C0000FC00FFFC00FFFC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC 0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC 0000FC0000FC0000FC0000FC0000FC0000FC0000FC007FFFFC7FFFFC16237CA21F>I<01FF0007 FFC01E07F03803F86001FC7C00FEFE00FEFE00FFFE007FFE007F7C007F3800FF0000FF0000FE00 00FE0001FC0001F80003F00007E0000780000F00001E00003C0000700000E00301C00303800707 00060600060FFFFE1FFFFE3FFFFE7FFFFCFFFFFCFFFFFC18237DA21F>I<01FF0007FFE01E03F0 3801F83C01FC7E00FE7E00FE7E00FE3E00FE1C01FE0001FC0001FC0003F80007F0000FC001FF00 01FF000007E00001F00001F80000FC0000FE0000FF0000FF1000FF7C00FFFE00FFFE00FFFE00FE FE00FE7C01FC7001F83E07F00FFFC001FF0018237DA21F>I<0000380000007800000078000000 F8000001F8000003F8000007F8000006F800000CF800001CF8000038F8000030F8000060F80000 E0F80001C0F8000180F8000300F8000700F8000E00F8001C00F8001800F8003000F8007000F800 E000F800FFFFFFC0FFFFFFC00001F8000001F8000001F8000001F8000001F8000001F8000001F8 00007FFFC0007FFFC01A237EA21F>I<18000C1F007C1FFFF81FFFF01FFFE01FFFC01FFF801FFE 0018000018000018000018000018000018FF001BFFE01F01F01C00F80800FC00007E00007E0000 7E00007F00007F78007FFC007FFC007FFC007FFC007EF8007E6000FC7000FC3801F81E07E007FF C001FE0018237DA21F>I<001FC0007FF001F83803E00C07803E0F807E1F007E3F007E3F007E7E 003C7E00007E00007E0000FE3FC0FE7FF0FE80F8FF80FCFF007CFF007EFE007EFE007FFE007FFE 007FFE007F7E007F7E007F7E007F7E007F3E007E3F007E1F007C0F80F807C1F003FFC0007F0018 237DA21F>I<300000003C0000003FFFFFC03FFFFFC03FFFFF807FFFFF007FFFFE007FFFFC0060 00180060001800E0003000C0006000C000C0000001800000018000000300000007000000060000 000E0000001E0000001E0000001E0000003C0000003C0000007C0000007C0000007C0000007C00 0000FC000000FC000000FC000000FC000000FC000000FC000000FC000000780000003000001A25 7DA41F>I<00FF8003FFE00F01F81C007C38003C38001E78001E78001E7C001E7E001E7F803C7F E03C3FF8781FFCF01FFFC00FFFC003FFE003FFF80FFFFC1E1FFC3C07FE7801FE7800FFF0003FF0 001FF0000FF0000FF0000FF0000E78000E78001C3E00381F80F007FFE000FF0018237DA21F>I< 00FF0003FFC00F83E01F00F03F00F87E007C7E007C7E007EFE007EFE007EFE007EFE007FFE007F FE007FFE007F7E007F7E00FF3E00FF3F01FF1F017F0FFE7F03FC7F00007F00007E00007E3C007E 7E00FC7E00FC7E00F87E00F07C01F03003E01C0F800FFF0003F80018237DA21F>I<00001C0000 0000001C00000000003E00000000003E00000000003E00000000007F00000000007F0000000000 FF8000000000FF8000000000FF80000000019FC0000000019FC0000000031FE0000000030FE000 0000030FE00000000607F00000000607F00000000C07F80000000C03F80000001C03FC00000018 01FC0000001801FC0000003001FE0000003000FE0000007FFFFF0000007FFFFF00000060007F00 0000C0007F800000C0003F800001C0003FC0000180001FC0000180001FC0000300000FE0000300 000FE0000780000FF000FFF801FFFF80FFF801FFFF8029257EA42E>65 DI<0000FF8008000FFFF018003F C03C7800FE0006F801F80003F803F00001F807E00000F80FC00000781FC00000783F800000383F 800000387F800000187F000000187F00000018FF00000000FF00000000FF00000000FF00000000 FF00000000FF00000000FF00000000FF00000000FF000000007F000000007F000000187F800000 183F800000183F800000181FC00000300FC000003007E000006003F00000C001F800018000FE00 0700003FC01E00000FFFF8000000FFC00025257DA42C>IIII72 DI76 DII<0003 FF8000001FFFF000007F01FC0001FC007F0003F0001F8007E0000FC00FE0000FE01FC00007F01F 800003F03F800003F83F800003F87F800003FC7F000001FC7F000001FCFF000001FEFF000001FE FF000001FEFF000001FEFF000001FEFF000001FEFF000001FEFF000001FEFF000001FE7F000001 FC7F000001FC7F800003FC3F800003F83F800003F81FC00007F01FC00007F00FE0000FE007F000 1FC003F8003F8001FC007F00007F01FC00001FFFF0000003FF800027257DA42E>II82 D<00FF008007FFE3800F80F780 1E001F803C000F807800078078000380F8000380F8000180F8000180FC000180FC000000FF0000 007FE000007FFF00003FFFE0003FFFF8001FFFFE0007FFFF0003FFFF80007FFF800003FFC00000 3FC000000FE0000007E0000007E0C00003E0C00003E0C00003E0C00003C0E00003C0F00007C0F8 000780FC000F00FFC03E00E3FFF800803FE0001B257DA422>I<7FFFFFFFF87FFFFFFFF87E00FE 01F87800FE00787000FE00386000FE00186000FE0018E000FE001CE000FE000CC000FE000CC000 FE000CC000FE000CC000FE000C0000FE00000000FE00000000FE00000000FE00000000FE000000 00FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000 0000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00 0000FFFFFE0000FFFFFE0026247EA32B>I86 DI<7FFFC0FFFE007FFFC0FFFE0003FC000F800001FC0007000001FE000E000000FF000C 0000007F80180000007F80380000003FC0700000001FE0600000001FE0C00000000FF1C0000000 07FB8000000007FB0000000003FE0000000001FE0000000000FE0000000000FF00000000007F80 000000007FC0000000007FC000000000DFE000000001CFF0000000038FF00000000307F8000000 0603FC0000000E01FC0000001C01FE0000001800FF00000030007F80000070007F800000E0003F C00000C0001FE0000180001FE00003C0000FF000FFFC00FFFF80FFFC00FFFF8029257EA42E>I< 07FF00001FFFC0003E03E0003F01F0003F01F8003F00FC001E00FC000000FC000000FC000000FC 00003FFC0003FCFC000FC0FC003F00FC007E00FC007E00FC00FC00FC00FC00FC00FC00FC00FC01 7C007E017C003F067C001FFC3FE007F01FE01B187E971E>97 DI<007FE003FFF807C07C1F 80FC1F00FC3F00FC7E00787E0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00007E 00007F00003F000C1F800C1FC01807E07003FFE0007F0016187E971B>I<0001FF800001FF8000 001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80 00001F8000001F80007F1F8003FFDF8007E0FF801F803F803F001F803F001F807E001F807E001F 80FE001F80FE001F80FE001F80FE001F80FE001F80FE001F80FE001F80FE001F807E001F807E00 1F803F001F803F003F801F807F800FC0FF8003FF9FF800FE1FF81D267EA522>I<007F0003FFC0 07C1F00F80F81F00F83F007C7E007C7E007EFE007EFE007EFFFFFEFFFFFEFE0000FE0000FE0000 7E00007E00007E00063F00061F000C0F801807E07003FFE0007F8017187E971C>I<000FC0007F F000F8F001F1F803F1F803E1F807E0F007E00007E00007E00007E00007E00007E00007E000FFFF 00FFFF0007E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E0 0007E00007E00007E00007E00007E00007E00007E00007E0007FFF007FFF0015267EA513>I<01 FF07C007FFDFE00F83F1E01F01F1E03E00F8007E00FC007E00FC007E00FC007E00FC007E00FC00 7E00FC003E00F8001F01F0000F83E0000FFFC00011FF00003000000030000000380000003C0000 003FFFE0001FFFFC001FFFFE000FFFFF001FFFFF803C003F8078000FC0F80007C0F80007C0F800 07C0F80007C07C000F803E001F001F807E0007FFF80000FFC0001B247E971F>II<0F001F 803FC03FC03FC03FC01F800F000000000000000000000000000000FFC0FFC00FC00FC00FC00FC0 0FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC0FFF8FFF80D277E A611>I<001E00003F00007F80007F80007F80007F80003F00001E000000000000000000000000 0000000000000000000001FF8001FF80001F80001F80001F80001F80001F80001F80001F80001F 80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F 80001F80001F80001F80001F80001F80781F80FC1F00FC3F00FC3E00787C003FF8000FE0001132 83A613>IIIII<007F800003FF F00007C0F8001F807E003F003F003F003F007E001F807E001F80FE001FC0FE001FC0FE001FC0FE 001FC0FE001FC0FE001FC0FE001FC0FE001FC07E001F807E001F803F003F003F003F001F807E00 0FC0FC0003FFF000007F80001A187E971F>II114 D<07F9801FFF803C0F80700380F00180F00180F00180FC0000FF80 007FFC007FFE003FFF800FFFC003FFC0001FE00003E0C001E0C001E0E001E0E001C0F003C0FC07 80EFFF00C3FC0013187E9718>I<00600000600000600000600000E00000E00001E00001E00003 E00007E0001FE000FFFFC0FFFFC007E00007E00007E00007E00007E00007E00007E00007E00007 E00007E00007E00007E00007E06007E06007E06007E06007E06007E06003E0C003F0C001FF8000 7E0013237FA218>IIII II<3FFFF83FFFF83E03 F03807F0300FE0700FC0701F80603F80603F00607E0000FE0000FC0001F80003F81803F01807E0 180FE0180FC0381F80303F80707F00707E01F0FFFFF0FFFFF015187E971B>III E end %%EndProlog %%BeginSetup %%Feature: *Resolution 300 TeXDict begin %%EndSetup %%Page: 1 1 bop 0 2617 a @beginspecial 72 @llx 72 @lly 504 @urx 700 @ury 4320 @rwi @setspecial %%BeginDocument: ctrcover.ps gsave /inch { 72 mul} def .9 setgray /Helvetica-Bold findfont 130 scalefont setfont gsave 6.5 inch 7.5 inch moveto -90 rotate (cygnus) true charpath fill grestore gsave 5 inch 7.5 inch moveto -90 rotate (reports) true charpath fill grestore grestore %%EndDocument @endspecial 1696 350 a Fr(CTR)p Fq(\017\017)p Fr({)p Fq(\017\017)0 563 y Fp(libbfd)p 277 542 1326 9 v 1359 w(DRAFT)0 870 y Fr(The)20 b(Binary)h(File)f(Descriptor)h(Library)0 978 y(First)f(Edition|)p Fo(bfd)h Fr(v)n(ersion)h Fo(<)e Fr(2.0)0 1036 y(April)h(1991)0 1850 y Fn(Stev)n(e)i(Cham)n(b)r(erlain)0 1916 y(Cygn)n(us)f(Supp)r(ort)300 2659 y Fr(1)e(August)h(1991)p eop %%Page: 2 2 bop 1328 233 a Fm(Cygn)o(us)15 b(Supp)q(ort)1288 283 y(stev)o(e@cygn)o (us.com)1267 333 y Fl(BFD)p Fm(,)f(Revision:)22 b(1.5)849 382 y(T)874 392 y(E)899 382 y(Xinfo)16 b(2.50,)e(Cygn)o(us)h(TR)30 b(Revision:)22 b(1.6)300 2085 y(Cop)o(yrigh)o(t)526 2084 y(c)514 2085 y Fq(\015)15 b Fm(1991)f(F)l(ree)h(Soft)o(w)o(are)f(F)l(oundation,)h (Inc.)300 2147 y(P)o(ermission)g(is)f(gran)o(ted)f(to)h(mak)o(e)f(and)h (distribute)h(v)o(erbatim)f(copies)h(of)f(this)300 2197 y(man)o(ual)g(pro)o (vided)h(the)g(cop)o(yrigh)o(t)f(notice)h(and)f(this)h(p)q(ermission)g (notice)g(are)300 2247 y(preserv)o(ed)h(on)f(all)h(copies.)300 2309 y(P)o(ermission)22 b(is)g(gran)o(ted)f(to)g(cop)o(y)g(and)h(distribute)h (mo)q(di\014ed)g(v)o(ersions)e(of)300 2359 y(this)f(man)o(ual)f(under)h(the)f (conditions)i(for)d(v)o(erbatim)h(cop)o(ying,)i(sub)s(ject)e(to)300 2408 y(the)h(terms)f(of)g(the)g(GNU)g(General)h(Public)i(License,)g(whic)o(h) e(includes)i(the)300 2458 y(pro)o(vision)16 b(that)f(the)g(en)o(tire)h (resulting)g(deriv)o(ed)g(w)o(ork)f(is)g(distributed)i(under)300 2508 y(the)e(terms)g(of)g(a)g(p)q(ermission)h(notice)g(iden)o(tical)h(to)e (this)g(one.)300 2570 y(P)o(ermission)d(is)g(gran)o(ted)f(to)f(cop)o(y)i(and) f(distribute)i(translations)e(of)g(this)h(man-)300 2620 y(ual)18 b(in)o(to)f(another)g(language,)h(under)g(the)f(ab)q(o)o(v)o(e)g(conditions)i (for)e(mo)q(di\014ed)300 2670 y(v)o(ersions.)p eop %%Page: 1 3 bop 0 -58 a Fk(Chapter)13 b(1:)k(Intro)q(duction)p 377 -66 698 3 v 723 w(DRAFT)p 1217 -66 V 723 w Fj(1)0 183 y Fi(1)41 b(In)n(tro)r(duction)300 299 y Fm(Simply)13 b(put,)e Fh(bfd)g Fm(is)g(a)g(pac)o(k)m(age)g(whic)o(h)h(allo)o(w)f(applications)i(to)d(use)h (the)g(same)300 349 y(routines)19 b(to)f(op)q(erate)h(on)g(ob)s(ject)f (\014les)i(whatev)o(er)e(the)h(ob)s(ject)f(\014le)i(format.)300 399 y(A)15 b(di\013eren)o(t)g(ob)s(ject)g(\014le)h(format)d(can)j(b)q(e)f (supp)q(orted)h(simply)g(b)o(y)f(creating)g(a)300 449 y(new)g(BFD)g(bac)o(k)g (end)h(and)f(adding)h(it)g(to)e(the)i(library)l(.)300 512 y(BFD)f(is)g(split) i(in)o(to)e(t)o(w)o(o)f(parts;)g(the)h(fron)o(t)f(end)i(and)g(the)f(man)o(y)g (bac)o(k)g(ends.)337 575 y Fq(\017)30 b Fm(The)15 b(fron)o(t)f(end)i(of)e (bfd)i(pro)o(vides)f(the)g(in)o(terface)h(to)e(the)h(user.)20 b(It)15 b(man-)390 625 y(ages)h(memory)l(,)f(and)i(v)m(arious)f(canonical)i (data)d(structures.)23 b(The)16 b(fron)o(t)390 675 y(end)i(also)e(decides)j (whic)o(h)f(bac)o(k)e(end)i(to)e(use,)h(and)g(when)h(to)e(call)i(bac)o(k)390 725 y(end)e(routines.)337 788 y Fq(\017)30 b Fm(The)22 b(bac)o(k)g(ends)h (pro)o(vide)f(bfd)g(its)h(view)f(of)g(the)g(real)g(w)o(orld.)40 b(Eac)o(h)390 837 y(bac)o(k)15 b(end)g(pro)o(vides)g(a)g(set)f(of)h(calls)h (whic)o(h)f(the)g(bfd)g(fron)o(t)f(end)i(can)f(use)390 887 y(to)j(main)o(tain)i(its)f(canonical)h(form.)30 b(The)19 b(bac)o(k)g(ends)h (also)e(ma)o(y)h(k)o(eep)390 937 y(around)c(information)h(for)e(their)i(o)o (wn)e(use,)i(for)e(greater)h(e\016ciency)l(.)0 1099 y Fn(1.1)33 b(History)300 1191 y Fm(One)12 b(spur)g(b)q(ehind)h Fh(bfd)e Fm(w)o(as)g(the)g(In)o(tel)i(Oregon's)e(GNU)g(960)f(team)h(desire)i(for)300 1241 y(in)o(terop)q(erabilit)o(y)g(of)e(applications)i(on)f(their)g(COFF)f (and)g(b.out)g(\014le)i(formats.)300 1290 y(Cygn)o(us)i(w)o(as)f(pro)o (viding)i(GNU)e(supp)q(ort)h(for)g(the)g(team,)f(and)h(Cygn)o(us)f(w)o(ere) 300 1340 y(con)o(tracted)h(to)f(pro)o(vid)i(the)f(required)h(functionalit)o (y)l(.)300 1403 y(The)11 b(name)h(came)f(from)f(a)h(con)o(v)o(ersation)g(Gum) o(b)o(y)g(W)l(allace)h(w)o(as)e(ha)o(ving)i(with)300 1453 y(Ric)o(hard)i (Stallman)f(ab)q(out)g(the)g(library)l(,)h(RMS)f(said)g(that)f(it)i(w)o(ould) f(b)q(e)g(quite)300 1503 y(hard,)i(Gum)o(b)o(y)f(said)i(BFD.)f(\(Stallman)g (w)o(as)g(righ)o(t,)f(but)h(the)h(name)f(stuc)o(k\).)300 1566 y(A)o(t)f(the)g(same)g(time,)g(Ready)h(Systems)f(w)o(an)o(ted)g(m)o(uc)o(h)g (the)g(same)g(thing,)h(but)300 1616 y(for)20 b(di\013eren)o(t)h(ob)s(ject)f (\014le)i(formats,)e(IEEE-695,)i(Oasys,)f(Srecords,)h(a.out)300 1666 y(and)15 b(68k)g(co\013.)300 1729 y(BFD)10 b(w)o(as)f(\014rst)h (implemen)o(ted)i(b)o(y)e(Stev)o(e)g(Cham)o(b)q(erlain)h(\(stev)o(e)p Fh(@)p Fm(cygn)o(us.com\),)p 1979 1740 21 46 v 300 1779 a(John)g(Gilmore)f (\(gn)o(u)p Fh(@)p Fm(cygn)o(us.com\),)g(K.)g(Ric)o(hard)h(Pixley)g(\(ric)o (h)p Fh(@)p Fm(cygn)o(us.com\))p 1979 1790 V 300 1828 a(and)g(Gum)o(b)o(y)f (W)l(allace)i(\(gum)o(b)o(y)p Fh(@)p Fm(cygn)o(us.com\))c(at)i(Cygn)o(us)h (Supp)q(ort)g(in)g(P)o(alo)300 1878 y(Alto,)k(California.)0 2040 y Fn(1.2)33 b(Ho)n(w)21 b(It)h(W)-6 b(orks)300 2132 y Fm(T)l(o)15 b(use)g(the)h(library)l(,)g(include)h Fh(bfd.h)e Fm(and)g(link)i(with)e Fh(libbfd.a)p Fm(.)308 2195 y Fh(bfd)h Fm(pro)o(vides)h(a)f(common)g(in)o(terface)h(to)f(the)h(parts)e(of)h(an)h(ob) s(ject)f(\014le)h(to)f(a)300 2245 y(calling)h(application.)300 2308 y(When)g(an)g(application)i(sucessfully)f(op)q(ens)g(a)e(target)g (\014le)i(\(ob)s(ject,)e(arc)o(hiv)o(e)300 2358 y(or)k(whatev)o(er\))g(a)h(p) q(oin)o(ter)h(to)e(an)h(in)o(ternal)h(structure)e(is)i(returned.)37 b(This)300 2408 y(p)q(oin)o(ter)16 b(p)q(oin)o(ts)f(to)g(structure)g(describ) q(ed)i(in)g Fh(include/bfd.h)p Fm(,)c(called)k Fh(bfd)p Fm(.)300 2457 y(Con)o(v)o(en)o(tionally)c(this)h(p)q(oin)o(ter)f(is)g(called)i(a)d Fh(bfd)p Fm(,)h(and)g(instances)g(of)g(it)g(within)300 2507 y(co)q(de)19 b(are)g(called)42 b Fh(abfd)p Fm(.)31 b(All)20 b(op)q(erations)f(on)g(the)f(target)g(ob)s(ject)g(\014le)i(are)300 2557 y(applied)c(as)e(metho)q(ds)h(to)e(the)i Fh(bfd)p Fm(,)e(the)i(mapping)g (is)f(de\014ned)i(within)g Fh(bfd.h)300 2607 y Fm(in)g(a)f(set)g(of)g (macros,)f(all)i(b)q(eginning)h Fh(bfd)p 1027 2607 14 2 v 16 w Fm(something.)300 2670 y(F)l(or)e(example,)g(this)h(sequence)g(w)o(ould)g (do)f(what)g(y)o(ou)f(exp)q(ect:)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 2 4 bop 0 -58 a Fk(Chapter)13 b(1:)k(Intro)q(duction)p 377 -66 698 3 v 723 w(DRAFT)p 1217 -66 V 723 w Fj(2)300 26 y Fg(\013)p 325 26 1326 2 v 1325 w(\010)p 300 473 2 424 v 314 112 a Fh(#include)23 b("bfd.h")314 212 y(unsigned)g(int)g(number_of_sections\(abfd\))314 262 y(bfd)h(*abfd;)314 311 y({)362 361 y(return)f (bfd_count_sections\(abfd\);)314 411 y(})p 1677 473 V 300 499 a Fg(\012)p 325 499 1326 2 v 1325 w(\011)300 613 y Fm(The)18 b(metaphor)e(used)i(within)32 b Fh(bfd)17 b Fm(is)h(that)e(an)i(ob)s(ject)e (\014le)j(has)e(a)g(header,)300 663 y(a)f(n)o(um)o(bb)q(er)h(of)f(sections)h (con)o(taining)g(ra)o(w)e(data,)h(a)g(set)g(of)g(relo)q(cations)h(and)300 712 y(some)i(sym)o(b)q(ol)g(information.)32 b(Also,)43 b Fh(bfd)p Fm(s)19 b(op)q(ened)h(up)q(on)g(arc)o(hiv)o(es)f(ha)o(v)o(e)300 762 y(the)g(additional)i(attribute)d(of)h(an)g(index)h(and)g(con)o(tained)f (sub)h(bfds.)31 b(This)300 812 y(approac)o(h)12 b(is)i(\014nd)f(for)f(a.out)g (and)h(co\013,)f(but)h(lo)q(oses)g(e\016ciency)i(when)e(applied)300 862 y(to)i(formats)e(suc)o(h)j(as)f(S-records)g(and)h(IEEE-695.)0 1027 y Fn(1.3)33 b(What)23 b(BFD)f(V)-6 b(ersion)23 b(1)f(Can't)g(Do)300 1120 y Fm(As)c(di\013eren)o(t)h(information)f(from)g(the)g(the)g(ob)s(ject)g (\014les)h(is)g(required,)g(BFD)300 1169 y(reads)j(from)g(di\013eren)o(t)g (sections)h(of)f(the)h(\014le)g(and)g(pro)q(cesses)f(them.)42 b(F)l(or)300 1219 y(example)13 b(a)f(v)o(ery)g(common)f(op)q(eration)i(for)e (the)i(link)o(er)g(is)g(pro)q(cessing)g(sym)o(b)q(ol)300 1269 y(tables.)19 b(Eac)o(h)10 b(BFD)h(bac)o(k)f(end)i(pro)o(vides)f(a)g(routine)g (for)f(con)o(v)o(erting)h(b)q(et)o(w)o(een)300 1319 y(the)16 b(ob)s(ject)f(\014le's)h(represen)o(tation)g(of)f(sym)o(b)q(ols)h(and)g(an)f (in)o(ternal)i(canonical)300 1369 y(format.)k(When)16 b(the)g(link)o(er)h (asks)e(for)g(the)h(sym)o(b)q(ol)g(table)h(of)e(an)h(ob)s(ject)f(\014le,)300 1418 y(it)j(calls)h(through)e(the)h(memory)f(p)q(oin)o(ter)h(to)f(the)g (relev)m(an)o(t)i(BFD)e(bac)o(k)g(end)300 1468 y(routine)k(whic)o(h)g(reads)f (and)h(con)o(v)o(erts)e(the)h(table)h(in)o(to)f(a)g(canonical)i(form.)300 1518 y(The)e(link)o(er)i(then)e(op)q(erates)g(up)q(on)h(the)g(common)e(form.) 35 b(When)20 b(the)h(link)300 1568 y(is)c(\014nished)h(and)e(the)h(link)o(er) g(writes)f(the)h(sym)o(b)q(ol)f(table)h(of)f(the)g(output)g(\014le,)300 1618 y(another)10 b(BFD)g(bac)o(k)h(end)g(routine)g(is)g(called)i(whic)o(h)e (tak)o(es)f(the)g(newly)i(created)300 1668 y(sym)o(b)q(ol)k(table)f(and)h (con)o(v)o(erts)e(it)h(in)o(to)h(the)f(c)o(hosen)g(output)g(format.)0 1816 y Fr(1.3.1)30 b(Information)19 b(Loss)300 1909 y Ff(Some)f(information)g (is)h(lost)f(due)g(to)g(the)g(nature)g(of)f(the)i(\014le)g(format.)27 b Fm(The)300 1958 y(output)15 b(targets)e(supp)q(orted)i(b)o(y)g(BFD)f(do)h (not)f(pro)o(vide)i(iden)o(tical)g(facilities,)300 2008 y(and)e(information)f (whic)o(h)h(ma)o(y)f(b)q(e)h(describ)q(ed)i(in)e(one)f(form)g(has)g(no)o (where)h(to)300 2058 y(go)h(in)h(another)f(format.)k(One)d(example)g(of)f (this)h(is)g(alignmen)o(t)g(information)300 2108 y(in)62 b Fh(b.out)p Fm(.)40 b(There)22 b(is)g(no)o(where)g(in)g(an)62 b Fh(a.out)21 b Fm(format)g(\014le)h(to)g(store)300 2158 y(alignmen)o(t)14 b(information)f(on)h(the)f(con)o(tained)h(data,)f(so)f(when)i(a)f(\014le)i (is)e(link)o(ed)300 2208 y(from)h Fh(b.out)f Fm(and)i(an)f Fh(a.out)f Fm(image)i(is)g(pro)q(duced,)g(alignmen)o(t)g(information)300 2257 y(will)20 b(not)e(propagate)f(to)h(the)g(output)g(\014le.)31 b(\(The)18 b(link)o(er)h(will)h(still)g(use)f(the)300 2307 y(alignmen)o(t)14 b(information)g(in)o(ternally)l(,)i(so)d(the)h(link)h(is)f (p)q(erformed)g(correctly\).)300 2371 y(Another)j(example)h(is)f(COFF)g (section)g(names.)25 b(COFF)17 b(\014les)h(ma)o(y)e(con)o(tain)300 2421 y(an)21 b(unlimited)j(n)o(um)o(b)q(er)e(of)f(sections,)i(eac)o(h)e(one)h (with)g(a)f(textual)g(section)300 2471 y(name.)e(If)14 b(the)f(target)f(of)h (the)h(link)h(is)f(a)f(format)f(whic)o(h)i(do)q(es)f(not)g(ha)o(v)o(e)g(man)o (y)300 2521 y(sections)20 b(\(eg)43 b Fh(a.out)p Fm(\))19 b(or)f(has)h (sections)h(without)g(names)f(\(eg)g(the)g(Oasys)300 2570 y(format\))f(the)i (link)h(cannot)f(b)q(e)g(done)g(simply)l(.)36 b(Y)l(ou)20 b(can)f(circum)o(v) o(en)o(t)i(this)300 2620 y(problem)d(b)o(y)f(describing)i(the)e(desired)h (input-to-output)g(section)f(mapping)300 2670 y(with)f(the)f(link)o(er)h (command)f(language.)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 3 5 bop 0 -58 a Fk(Chapter)13 b(1:)k(Intro)q(duction)p 377 -66 698 3 v 723 w(DRAFT)p 1217 -66 V 723 w Fj(3)300 183 y Ff(Information)g(can)g (b)q(e)g(lost)g(during)g(canonicalization.)27 b Fm(The)17 b(BFD)f(in)o (ternal)300 233 y(canonical)k(form)d(of)h(the)g(external)h(formats)e(is)h (not)g(exhaustiv)o(e;)i(there)e(are)300 283 y(structures)11 b(in)h(input)h(formats)c(for)i(whic)o(h)h(there)g(is)g(no)f(direct)h (represen)o(tation)300 333 y(in)o(ternally)l(.)22 b(This)16 b(means)g(that)e(the)i(BFD)f(bac)o(k)g(ends)h(cannot)f(main)o(tain)h(all)300 382 y(p)q(ossible)i(data)e(ric)o(hness)h(through)f(the)h(transformation)e(b)q (et)o(w)o(een)i(external)300 432 y(to)e(in)o(ternal)h(and)f(bac)o(k)g(to)g (external)g(formats.)300 495 y(This)i(limitation)g(is)f(only)h(a)f(problem)g (when)h(using)f(the)g(link)o(er)i(to)d(read)h(one)300 545 y(format)j(and)i (write)f(another.)35 b(Eac)o(h)20 b(BFD)g(bac)o(k)g(end)h(is)g(resp)q (onsible)i(for)300 595 y(main)o(taining)16 b(as)f(m)o(uc)o(h)h(data)e(as)h(p) q(ossible,)i(and)e(the)h(in)o(ternal)g(BFD)f(canon-)300 645 y(ical)23 b(form)e(has)h(structures)g(whic)o(h)h(are)e(opaque)i(to)e(the)h (BFD)g(core,)h(and)300 694 y(exp)q(orted)17 b(only)h(to)e(the)h(bac)o(k)g (ends.)26 b(When)17 b(a)g(\014le)h(is)g(read)f(in)h(one)f(format,)300 744 y(the)c(canonical)i(form)d(is)i(generated)f(for)g(BFD)f(and)i(the)f(link) o(er.)20 b(A)o(t)13 b(the)g(same)300 794 y(time,)h(the)g(bac)o(k)g(end)g(sa)o (v)o(es)f(a)o(w)o(a)o(y)f(an)o(y)i(information)g(whic)o(h)h(ma)o(y)e (otherwise)300 844 y(b)q(e)g(lost.)19 b(If)13 b(the)g(data)f(is)i(then)f (written)f(bac)o(k)h(in)h(the)e(same)h(format,)e(the)i(bac)o(k)300 894 y(end)18 b(routine)h(will)g(b)q(e)g(able)f(to)f(use)i(the)e(canonical)i (form)f(pro)o(vided)g(b)o(y)g(the)300 943 y(BFD)d(core)g(as)g(w)o(ell)h(as)f (the)h(information)f(it)h(prepared)g(earlier.)21 b(Since)c(there)300 993 y(is)d(a)f(great)g(deal)h(of)f(commonalit)o(y)g(b)q(et)o(w)o(een)h(bac)o (k)f(ends,)h(this)g(mec)o(hanism)g(is)300 1043 y(v)o(ery)f(useful.)20 b(There)13 b(is)g(no)g(information)g(lost)g(for)f(this)h(reason)g(when)g (linking)300 1093 y(big)k(endian)h(COFF)e(to)g(little)i(endian)g(COFF,)e(or)g (from)25 b Fh(a.out)16 b Fm(to)25 b Fh(b.out)p Fm(.)300 1143 y(When)c(a)f(mixture)h(of)e(formats)g(is)i(link)o(ed,)i(the)e(information)f (is)h(only)g(lost)300 1193 y(from)14 b(the)i(\014les)g(whose)f(format)f (di\013ers)h(from)g(the)g(destination.)0 1330 y Fr(1.3.2)30 b(Mec)n(hanism)300 1422 y Fm(The)17 b(greatest)f(p)q(oten)o(tial)i(for)f (loss)g(of)g(information)g(is)g(when)h(there)f(is)h(least)300 1472 y(o)o(v)o(erlap)13 b(b)q(et)o(w)o(een)g(the)g(information)g(pro)o(vided) h(b)o(y)f(the)g(source)g(format,)f(that)300 1522 y(stored)17 b(b)o(y)g(the)g(canonical)i(format,)d(and)h(the)h(information)f(needed)i(b)o (y)e(the)300 1572 y(destination)j(format.)30 b(A)19 b(brief)h(description)g (of)f(the)g(canonical)h(form)f(ma)o(y)300 1622 y(help)d(y)o(ou)f(appreciate)g (what)f(kinds)i(of)e(data)g(y)o(ou)h(can)g(coun)o(t)f(on)h(preserving)300 1671 y(across)f(con)o(v)o(ersions.)300 1734 y Ff(\014les)75 b Fm(Information)21 b(on)f(target)g(mac)o(hine)i(arc)o(hitecture,)g (particular)f(im-)450 1784 y(plemen)o(tation)h(and)g(format)f(t)o(yp)q(e)g (are)h(stored)f(on)g(a)h(p)q(er-\014le)h(ba-)450 1834 y(sis.)28 b(Other)18 b(information)g(includes)i(a)e(demand)g(pageable)g(bit)h(and)450 1884 y(a)14 b(write)g(protected)g(bit.)20 b(Note)13 b(that)h(information)g (lik)o(e)h(Unix)g(magic)450 1934 y(n)o(um)o(b)q(ers)g(is)h(not)e(stored)h (here|only)h(the)f(magic)g(n)o(um)o(b)q(ers')g(mean-)450 1983 y(ing,)i(so)f(a)23 b Fh(ZMAGIC)16 b Fm(\014le)h(w)o(ould)g(ha)o(v)o(e)f(b)q (oth)h(the)f(demand)h(pageable)450 2033 y(bit)f(and)f(the)g(write)h (protected)f(text)g(bit)g(set.)450 2096 y(The)i(b)o(yte)g(order)g(of)f(the)h (target)f(is)h(stored)g(on)g(a)f(p)q(er-\014le)j(basis,)e(so)450 2146 y(that)12 b(big-)h(and)g(little-endian)i(ob)s(ject)d(\014les)h(ma)o(y)f (b)q(e)h(link)o(ed)h(with)f(one)450 2196 y(another.)300 2258 y Ff(sections)450 2308 y Fm(Eac)o(h)18 b(section)g(in)g(the)g(input)h(\014le) g(con)o(tains)f(the)g(name)f(of)h(the)g(sec-)450 2358 y(tion,)c(the)h (original)g(address)f(in)h(the)g(ob)s(ject)e(\014le,)j(v)m(arious)e(\015ags,) g(size)450 2408 y(and)f(alignmen)o(t)g(information)g(and)g(p)q(oin)o(ters)g (in)o(to)g(other)f(BFD)h(data)450 2458 y(structures.)300 2521 y Ff(sym)o(b)q(ols)450 2570 y Fm(Eac)o(h)h(sym)o(b)q(ol)h(con)o(tains)g(a)f (p)q(oin)o(ter)h(to)f(the)g(ob)s(ject)g(\014le)i(whic)o(h)f(orig-)450 2620 y(inally)22 b(de\014ned)g(it,)f(its)f(name,)h(its)g(v)m(alue,)h(and)e(v) m(arious)h(\015ag)f(bits.)450 2670 y(When)14 b(a)f(BFD)g(bac)o(k)g(end)h (reads)g(in)g(a)f(sym)o(b)q(ol)h(table,)g(the)f(bac)o(k)g(end)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 4 6 bop 0 -58 a Fk(Chapter)13 b(1:)k(Intro)q(duction)p 377 -66 698 3 v 723 w(DRAFT)p 1217 -66 V 723 w Fj(4)450 183 y Fm(relo)q(cates)k(all)g (sym)o(b)q(ols)f(to)g(mak)o(e)g(them)g(relativ)o(e)h(to)f(the)g(base)g(of)450 233 y(the)c(section)g(where)h(they)f(w)o(ere)f(de\014ned.)24 b(This)16 b(ensures)h(that)e(eac)o(h)450 283 y(sym)o(b)q(ol)d(p)q(oin)o(ts)h (to)e(its)h(con)o(taining)h(section.)19 b(Eac)o(h)12 b(sym)o(b)q(ol)g(also)g (has)450 333 y(a)j(v)m(arying)h(amoun)o(t)f(of)g(hidden)j(data)d(to)g(con)o (tain)g(priv)m(ate)i(data)e(for)450 382 y(the)j(BFD)f(bac)o(k)g(end.)28 b(Since)19 b(the)e(sym)o(b)q(ol)h(p)q(oin)o(ts)g(to)f(the)h(original)450 432 y(\014le,)i(the)e(priv)m(ate)i(data)d(format)g(for)h(that)g(sym)o(b)q(ol) h(is)g(accessible.)450 482 y Fh(gld)13 b Fm(can)i(op)q(erate)e(on)h(a)g (collection)i(of)d(sym)o(b)q(ols)h(of)g(wildly)i(di\013eren)o(t)450 532 y(formats)e(without)h(problems.)450 590 y(Normal)k(global)h(and)f(simple) i(lo)q(cal)f(sym)o(b)q(ols)g(are)f(main)o(tained)h(on)450 640 y(output,)f(so)f(an)h(output)g(\014le)g(\(no)g(matter)e(its)i(format\))e (will)k(retain)450 690 y(sym)o(b)q(ols)14 b(p)q(oin)o(ting)g(to)f(functions)h (and)g(to)e(global,)i(static,)f(and)h(com-)450 740 y(mon)e(v)m(ariables.)21 b(Some)13 b(sym)o(b)q(ol)g(information)f(is)i(not)e(w)o(orth)g(retain-)450 789 y(ing;)k(in)j Fh(a.out)c Fm(t)o(yp)q(e)h(information)g(is)g(stored)f(in)i (the)e(sym)o(b)q(ol)i(table)450 839 y(as)e(long)g(sym)o(b)q(ol)h(names.)k (This)c(information)g(w)o(ould)f(b)q(e)h(useless)h(to)450 889 y(most)12 b(COFF)h(debuggers)h(and)f(ma)o(y)g(b)q(e)h(thro)o(wn)f(a)o(w)o(a)o (y)e(with)j(appro-)450 939 y(priate)f(command)f(line)i(switc)o(hes.)20 b(\(The)12 b(GNU)h(debugger)g Fh(gdb)f Fm(do)q(es)450 989 y(supp)q(ort)j Fh(a.out)g Fm(st)o(yle)g(debugging)h(information)g(in)g(COFF\).)450 1047 y(There)21 b(is)h(one)f(w)o(ord)g(of)g(t)o(yp)q(e)g(information)g (within)i(the)e(sym)o(b)q(ol,)450 1097 y(so)h(if)h(the)g(format)e(supp)q (orts)i(sym)o(b)q(ol)g(t)o(yp)q(e)g(information)g(within)450 1146 y(sym)o(b)q(ols)18 b(\(for)e(example)i(COFF,)e(IEEE,)h(Oasys\))g(and)h (the)f(t)o(yp)q(e)g(is)450 1196 y(simple)g(enough)f(to)f(\014t)g(within)i (one)f(w)o(ord)f(\(nearly)h(ev)o(erything)g(but)450 1246 y(aggregates\))d (the)j(information)f(will)i(b)q(e)f(preserv)o(ed.)300 1304 y Ff(relo)q(cation)g(lev)o(el)450 1354 y Fm(Eac)o(h)h(canonical)h(BFD)e(relo) q(cation)h(record)g(con)o(tains)g(a)f(p)q(oin)o(ter)i(to)450 1404 y(the)f(sym)o(b)q(ol)g(to)f(relo)q(cate)h(to,)f(the)g(o\013set)g(of)g (the)h(data)f(to)g(relo)q(cate,)450 1454 y(the)h(section)g(the)f(data)g(is)h (in)g(and)g(a)f(p)q(oin)o(ter)h(to)f(a)g(relo)q(cation)h(t)o(yp)q(e)450 1503 y(descriptor.)37 b(Relo)q(cation)22 b(is)g(p)q(erformed)f(e\013ectiv)o (ely)h(b)o(y)e(message)450 1553 y(passing)h(through)f(the)g(relo)q(cation)h (t)o(yp)q(e)f(descriptor)h(and)g(sym)o(b)q(ol)450 1603 y(p)q(oin)o(ter.)44 b(It)24 b(allo)o(ws)f(relo)q(cations)h(to)f(b)q(e)h(p)q(erformed)f(on)g (output)450 1653 y(data)17 b(using)i(a)e(relo)q(cation)h(metho)q(d)g(only)h (a)o(v)m(ailable)g(in)g(one)f(of)f(the)450 1703 y(input)j(formats.)30 b(F)l(or)19 b(instance,)h(Oasys)f(pro)o(vides)h(a)e(b)o(yte)h(relo)q(ca-)450 1753 y(tion)h(format.)31 b(A)20 b(relo)q(cation)g(record)f(requesting)h(this) g(relo)q(cation)450 1802 y(t)o(yp)q(e)e(w)o(ould)f(p)q(oin)o(t)h(indirectly)i (to)d(a)g(routine)h(to)f(p)q(erform)g(this,)h(so)450 1852 y(the)e(relo)q (cation)h(ma)o(y)e(b)q(e)i(p)q(erformed)f(on)g(a)g(b)o(yte)g(b)q(eing)h (written)g(to)450 1902 y(a)e(COFF)h(\014le,)g(ev)o(en)h(though)e(68k)g(COFF)h (has)f(no)h(suc)o(h)g(relo)q(cation)450 1952 y(t)o(yp)q(e.)300 2010 y Ff(line)h(n)o(um)o(b)q(ers)450 2060 y Fm(Ob)s(ject)k(formats)e(can)i (con)o(tain,)g(for)f(debugging)i(purp)q(oses,)g(some)450 2110 y(form)14 b(of)h(mapping)g(b)q(et)o(w)o(een)g(sym)o(b)q(ols,)g(source)g(line) i(n)o(um)o(b)q(ers,)e(and)450 2159 y(addresses)f(in)g(the)g(output)g(\014le.) 20 b(These)14 b(addresses)g(ha)o(v)o(e)f(to)g(b)q(e)h(relo-)450 2209 y(cated)h(along)g(with)h(the)f(sym)o(b)q(ol)g(information.)20 b(Eac)o(h)15 b(sym)o(b)q(ol)h(with)450 2259 y(an)j(asso)q(ciated)g(list)g(of) f(line)j(n)o(um)o(b)q(er)e(records)f(p)q(oin)o(ts)h(to)g(the)f(\014rst)450 2309 y(record)13 b(of)g(the)g(list.)20 b(The)14 b(head)g(of)e(a)h(line)i(n)o (um)o(b)q(er)f(list)g(consists)f(of)g(a)450 2359 y(p)q(oin)o(ter)h(to)e(the)i (sym)o(b)q(ol,)f(whic)o(h)h(allo)o(ws)g(divination)h(of)e(the)g(address)450 2408 y(of)19 b(the)g(function)g(whose)g(line)i(n)o(um)o(b)q(er)e(is)g(b)q (eing)i(describ)q(ed.)33 b(The)450 2458 y(rest)18 b(of)h(the)g(list)g(is)g (made)g(up)g(of)g(pairs:)27 b(o\013sets)18 b(in)o(to)h(the)f(section)450 2508 y(and)f(line)h(n)o(um)o(b)q(ers.)23 b(An)o(y)17 b(format)e(whic)o(h)i (can)g(simply)g(deriv)o(e)h(this)450 2558 y(information)13 b(can)g(pass)g(it)g(successfully)i(b)q(et)o(w)o(een)e(formats)e(\(COFF,)450 2608 y(IEEE)k(and)h(Oasys\).)300 2670 y(What)f(is)g(a)g(bac)o(k)o(end)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 5 7 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 680 3 v 703 w(DRAFT)p 1236 -66 V 705 w Fj(5)0 183 y Fi(2)41 b(BFD)27 b(fron)n(t)f(end)0 396 y Fn(2.1)33 b(t)n(yp)r(edef)22 b(bfd)300 488 y Fm(P)o(oin)o(ters)16 b(to)g(bfd)h(structs)f(are)g(the)h (cornerstone)f(of)h(an)o(y)f(application)i(using)300 538 y(libbfd.)33 b(References)20 b(though)e(the)h(bfd)h(and)f(to)f(data)g(in)i(the)f(bfd)g (giv)o(e)g(the)300 588 y(en)o(tire)d(bfd)f(functionalit)o(y)l(.)300 651 y(Finally!)22 b(The)15 b(BFD)g(struct)g(itself.)21 b(This)16 b(con)o(tains)f(the)h(ma)s(jor)d(data)i(ab)q(out)300 701 y(the)g(\014le,)h (and)g(con)o(tains)f(p)q(oin)o(ters)g(to)g(the)g(rest)g(of)g(the)g(data.)390 751 y Fh(struct)23 b(_bfd)390 801 y({)300 864 y Ff(The)15 b(\014lename)i(the) e(application)i(op)q(ened)f(the)f(bfd)h(with.)438 914 y Fh(CONST)23 b(char)g(*filename;)300 977 y Ff(A)15 b(p)q(oin)o(ter)h(to)e(the)i(target)e (jump)h(table.)438 1027 y Fh(struct)23 b(bfd_target)f(*xvec;)300 1090 y Ff(T)l(o)14 b(a)o(v)o(oid)g(dragging)g(to)q(o)g(man)o(y)g(header)h (\014les)g(in)o(to)f(ev)o(ery)h(\014le)g(that)g(includes)300 1140 y(bfd.h,)f(IOSTREAM)h(has)e(b)q(een)i(declared)g(as)f(a)f Fh(")p Ff(c)o(har)g(*)p Fh(")p Ff(,)h(and)f(MTIME)j(as)300 1190 y(a)e Fh(")p Ff(long)p Fh(")p Ff(.)19 b(Their)c(correct)e(t)o(yp)q(es,)h (to)f(whic)o(h)i(they)f(are)g(cast)f(when)i(used,)f(are)300 1240 y Fh(")p Ff(FILE)h(*)p Fh(")g Ff(and)h Fh(")p Ff(time)p 710 1240 14 2 v 16 w(t)p Fh(")p Ff(.)300 1303 y(The)f(iostream)g(is)h(the)f (result)h(of)f(an)g(fop)q(en)g(on)h(the)f(\014lename.)438 1353 y Fh(char)23 b(*iostream;)300 1416 y Ff(Is)15 b(the)h(\014le)g(b)q(eing)g (cac)o(hed)g(See)g(Chapter)f(3)g([File)h(Cac)o(hing],)e(page)i(45.)438 1466 y Fh(boolean)23 b(cacheable;)300 1529 y Ff(Marks)12 b(whether)h(there)g (w)o(as)g(a)f(default)i(target)e(sp)q(eci\014ed)j(when)e(the)g(bfd)h(w)o(as) 300 1579 y(op)q(ened.)33 b(This)19 b(is)h(used)g(to)e(select)i(what)e(matc)o (hing)i(algorithm)f(to)f(use)i(to)300 1629 y(c)o(hose)e(the)d(bac)o(k)g(end.) 438 1679 y Fh(boolean)23 b(target_defaulted;)300 1742 y Ff(The)15 b(cac)o(hing)h(routines)g(use)f(these)h(to)e(main)o(tain)i(an)f(LR)o(U)h (list)g(of)f(bfds.)438 1792 y Fh(struct)23 b(_bfd)g(*lru_prev,)g(*lru_next;) 300 1855 y Ff(When)e(a)f(\014le)i(is)f(closed)g(b)o(y)g(the)f(cac)o(hing)i (routines,)g(it)e(retains)h(the)g(state)300 1905 y(here:)438 1955 y Fh(file_ptr)h(where;)300 2018 y Ff(and)15 b(here:)438 2068 y Fh(boolean)23 b(opened_once;)438 2118 y(boolean)g(mtime_set;)300 2181 y Ff(File)16 b(mo)q(di\014ed)h(time)438 2231 y Fh(long)23 b(mtime;)300 2294 y Ff(F)l(or)15 b(output)g(\014les,)g(c)o(hannel)i(w)o(e)e (lo)q(c)o(k)o(ed)h(\(is)f(this)h(used?\).)390 2344 y Fh(int)23 b(ifd;)300 2407 y Ff(The)15 b(format)f(whic)o(h)i(b)q(elongs)g(to)f(the)g (bfd.)438 2457 y Fh(bfd_format)22 b(format;)300 2521 y Ff(The)15 b(direction)i(the)e(bfd)h(w)o(as)e(op)q(ened)i(with)438 2570 y Fh(enum)23 b(bfd_direction)f({no_direction)g(=)i(0,)939 2620 y(read_direction)e(=)i(1,)939 2670 y(write_direction)e(=)h(2,)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 6 8 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 680 3 v 703 w(DRAFT)p 1236 -66 V 705 w Fj(6)939 183 y Fh(both_direction)22 b(=)i(3})f(direction;)300 246 y Ff(F)l(ormat)p 449 246 14 2 v 15 w(sp)q(eci\014c)17 b(\015ags)438 296 y Fh(flagword)22 b(flags;)300 359 y Ff(Curren)o(tly)d(m)o(y)p 575 359 V 16 w(arc)o(hiv)o(e)f (is)i(tested)e(b)q(efore)h(adding)g(origin)g(to)f(an)o(ything.)31 b(I)300 409 y(b)q(eliev)o(e)16 b(that)e(this)g(can)h(b)q(ecome)f(alw)o(a)o (ys)g(an)g(add)g(of)g(origin,)h(with)f(origin)h(set)300 458 y(to)g(0)f(for)h(non)g(arc)o(hiv)o(e)h(\014les.)438 508 y Fh(file_ptr)22 b(origin;)300 571 y Ff(Remem)o(b)q(er)11 b(when)g(output)f(has)g(b)q(egun,)i (to)e(stop)f(strange)h(things)h(happ)q(ening.)438 621 y Fh(boolean)23 b(output_has_begun;)300 684 y Ff(P)o(oin)o(ter)15 b(to)f(link)o(ed)j(list)f (of)f(sections)438 734 y Fh(struct)23 b(sec)47 b(*sections;)300 797 y Ff(The)15 b(n)o(um)o(b)q(er)h(of)f(sections)438 846 y Fh(unsigned)22 b(int)i(section_count;)300 909 y Ff(Stu\013)15 b(only)h(usefull)h(for)d(ob)s(ject)h(\014les:)21 b(The)16 b(start)e(address.) 438 959 y Fh(bfd_vma)23 b(start_address;)300 1022 y Ff(Used)16 b(for)e(input)i(and)g(output)438 1072 y Fh(unsigned)22 b(int)i(symcount;)300 1135 y Ff(Sym)o(tab)15 b(for)f(output)h(bfd)438 1184 y Fh(struct)23 b(symbol_cache_entry)45 b(**outsymbols;)300 1247 y Ff(Arc)o(hitecture)16 b(of)f(ob)s(ject)f(mac)o(hine,)i(eg)f(m68k)438 1297 y Fh(enum)23 b(bfd_architecture)f(obj_arch;)300 1360 y Ff(P)o(articular)15 b(mac)o(hine)h(within)h(arc)o(h,)d(e.g.)20 b(68010)438 1410 y Fh(unsigned)i(long)i(obj_machine;)300 1473 y Ff(Stu\013)15 b(only)h(usefull)h(for)d(arc)o(hiv)o(es:)438 1523 y Fh(PTR)23 b(arelt_data;)438 1572 y(struct)g(_bfd)g(*my_archive;)438 1622 y(struct)g(_bfd)g(*next;)438 1672 y(struct)g(_bfd)g(*archive_head;)438 1722 y(boolean)g(has_armap;)300 1785 y Ff(Used)16 b(b)o(y)f(the)g(bac)o(k)g (end)h(to)f(hold)h(priv)m(ate)f(data.)438 1834 y Fh(PTR)23 b(tdata;)300 1897 y Ff(Used)16 b(b)o(y)f(the)g(application)i(to)d(hold)i (priv)m(ate)g(data)438 1947 y Fh(PTR)23 b(usrdata;)300 2010 y Ff(Where)15 b(all)h(the)g(allo)q(cated)g(stu\013)e(under)i(this)g(BFD)f(go) q(es)438 2060 y Fh(struct)23 b(obstack)g(memory;)390 2110 y(};)0 2248 y Fr(2.1.0.1)30 b(bfd)p 296 2248 19 3 v 22 w(set)p 394 2248 V 22 w(start)p 543 2248 V 22 w(address)300 2340 y Fm(Marks)15 b(the)i(en)o(try)e(p)q(oin)o(t)i(of)f(an)g(output)g(bfd.)23 b(Returns)g Fh(true)15 b Fm(on)h(success,)300 2390 y Fh(false)e Fm(otherwise.)390 2440 y Fh(PROTO\(boolean,)22 b(bfd_set_start_address,\(bfd) e(*,)k(bfd_vma\)\);)p 2002 2446 21 38 v 0 2578 a Fr(2.1.0.2)30 b(bfd)p 296 2578 19 3 v 22 w(get)p 401 2578 V 21 w(m)n(time)300 2670 y Fm(Return)25 b(cac)o(hed)f(\014le)i(mo)q(di\014cation)f(time)f(\(e.g.) 46 b(as)24 b(read)g(from)g(arc)o(hiv)o(e)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s) 36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 7 9 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 680 3 v 703 w(DRAFT)p 1236 -66 V 705 w Fj(7)300 183 y Fm(header)23 b(for)f(arc)o(hiv)o(e)g(mem)o(b)q(ers,)i(or)e(from)g(\014le)h(system)f(if)h (w)o(e)f(ha)o(v)o(e)g(b)q(een)300 233 y(called)17 b(b)q(efore\);)e(else)h (determine)g(mo)q(dify)g(time,)f(cac)o(he)g(it,)g(and)h(return)f(it.)390 283 y Fh(PROTO\(long,)22 b(bfd_get_mtime,)g(\(bfd)i(*\)\);)0 416 y Fr(2.1.0.3)30 b(stu\013)300 475 y Fg(\013)p 325 475 1326 2 v 1325 w(\010)p 300 2068 2 1570 v 314 611 a Fh(#define)23 b(bfd_sizeof_headers\(abfd,)e(reloc\))i(\\)433 661 y(BFD_SEND)g(\(abfd,)g (_bfd_sizeof_headers,)e(\(abfd,)i(reloc\)\))314 760 y(#define)g (bfd_find_nearest_line\(abfd)o(,)e(section,)i(symbols,)g(off-)314 810 y(set,)g(filename_ptr,)g(func,)g(line_ptr\))f(\\)433 860 y(BFD_SEND)h(\(abfd,)g(_bfd_find_nearest_line,)45 b(\(abfd,)23 b(sec-)314 910 y(tion,)g(symbols,)g(offset,)g(filename_ptr,)f(func,)h (line_ptr\)\))314 1009 y(#define)g(bfd_debug_info_start\(abfd\))d(\\)505 1059 y(BFD_SEND)j(\(abfd,)g(_bfd_debug_info_start,)e(\(abfd\)\))314 1159 y(#define)i(bfd_debug_info_end\(abfd\))e(\\)505 1209 y(BFD_SEND)i (\(abfd,)g(_bfd_debug_info_end,)e(\(abfd\)\))314 1308 y(#define)i (bfd_debug_info_accumulate\()o(abfd,)e(section\))h(\\)505 1358 y(BFD_SEND)h(\(abfd,)g(_bfd_debug_info_accumulat)o(e,)e(\(abfd,)314 1408 y(section\)\))314 1507 y(#define)i(bfd_stat_arch_elt\(abfd,)e(stat\))i (\\)505 1557 y(BFD_SEND)g(\(abfd,)g(_bfd_stat_arch_elt,\(abfd,)d(stat\)\))314 1657 y(#define)j(bfd_coff_swap_aux_in\(a,e,t)o(,c,i\))e(\\)505 1707 y(BFD_SEND)i(\(a,)g(_bfd_coff_swap_aux_in,)e(\(a,e,t,c,i\)\))314 1806 y(#define)i(bfd_coff_swap_sym_in\(a,e,i)o(\))e(\\)505 1856 y(BFD_SEND)i(\(a,)g(_bfd_coff_swap_sym_in,)e(\(a,e,i\)\))314 1956 y(#define)i(bfd_coff_swap_lineno_in\(a,)o(e,i\))e(\\)505 2006 y(BFD_SEND)i(\()h(a,)f(_bfd_coff_swap_lineno_in,)e(\(a,e,i\)\))p 1677 2068 V 300 2094 a Fg(\012)p 325 2094 1326 2 v 1325 w(\011)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 8 10 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 680 3 v 703 w(DRAFT)p 1236 -66 V 705 w Fj(8)0 183 y Fn(2.2)33 b(Memory)22 b(Usage)300 277 y Fm(BFD)17 b(k)o(eeps)h(all)h(its)f(in)o(ternal) g(structures)g(in)g(obstac)o(ks.)27 b(There)18 b(is)g(one)g(ob-)300 327 y(stac)o(k)c(p)q(er)g(op)q(en)i(bfd)e(\014le,)i(in)o(to)e(whic)o(h)h(the) g(curren)o(t)f(state)g(is)g(stored.)20 b(When)300 376 y(a)c(bfd)h(is)h (closed,)f(the)g(obstac)o(k)f(is)h(deleted,)h(and)f(so)f(ev)o(erything)i (whic)o(h)f(has)300 426 y(b)q(een)f(allo)q(cated)h(b)o(y)e(libbfd)i(for)d (the)i(closing)g(\014le)g(will)h(b)q(e)f(thro)o(wn)e(a)o(w)o(a)o(y)l(.)300 491 y(BFD)j(will)h(not)f(free)g(an)o(ything)g(created)h(b)o(y)f(an)g (application,)h(but)g(p)q(oin)o(ters)300 540 y(in)o(to)d(bfd)g(structures)g (will)h(b)q(e)g(in)o(v)m(alidated)h(on)d(a)h Fh(bfd_close)p Fm(;)e(for)h(example,)300 590 y(after)h(a)k Fh(bfd_close)c Fm(the)g(v)o(ector)g(passed)h(to)j Fh(bfd_canonicalize_symtab)300 640 y Fm(will)h(still)g(b)q(e)f(around,)f(since)i(it)e(has)g(b)q(een)i(allo)q (cated)f(b)o(y)f(the)h(application,)300 690 y(but)c(the)h(data)e(that)h(it)g (p)q(oin)o(ted)h(to)f(will)i(b)q(e)f(lost.)300 754 y(The)g(general)g(rule)g (is)g(not)f(to)g(close)i(a)e(bfd)h(un)o(til)g(all)h(op)q(erations)e(dep)q (enden)o(t)300 804 y(up)q(on)j(data)g(from)f(the)g(bfd)i(ha)o(v)o(e)e(b)q (een)i(completed,)g(or)e(all)i(the)f(data)f(from)300 854 y(within)k(the)f (\014le)h(has)e(b)q(een)i(copied.)35 b(T)l(o)19 b(help)i(with)g(the)e (managemen)o(t)g(of)300 904 y(memory)l(,)g(there)g(is)h(a)e(function)i(\()i Fh(bfd_alloc_size)p Fm(\))16 b(whic)o(h)k(returns)f(the)300 953 y(n)o(um)o(b)q(er)e(of)f(b)o(ytes)g(in)h(obstac)o(ks)f(asso)q(ciated)g (with)h(the)g(supplied)h(bfd.)24 b(This)300 1003 y(could)15 b(b)q(e)f(used)g(to)g(select)g(the)g(greediest)g(op)q(en)h(bfd,)f(close)g(it) g(to)f(reclaim)i(the)300 1053 y(memory)l(,)f(p)q(erform)g(some)h(op)q (eration)g(and)g(reop)q(en)g(the)g(bfd)g(again,)f(to)g(get)g(a)300 1103 y(fresh)h(cop)o(y)g(of)g(the)g(data)g(structures.)0 1276 y Fn(2.3)33 b(Sections)300 1370 y Fm(Sections)16 b(are)f(supp)q(orted)h(in)g (bfd)f(in)h Fh(section.c)p Fm(.)300 1434 y(The)f(ra)o(w)f(data)g(con)o (tained)h(within)h(a)f(bfd)g(is)g(main)o(tained)h(through)f(the)g(sec-)300 1484 y(tion)f(abstraction.)19 b(A)13 b(single)i(bfd)f(ma)o(y)f(ha)o(v)o(e)g (an)o(y)h(n)o(um)o(b)q(er)g(of)f(sections,)h(and)300 1534 y(k)o(eeps)k(hold)h (of)e(them)h(b)o(y)g(p)q(oin)o(ting)h(to)e(the)h(\014rst,)g(eac)o(h)g(one)g (p)q(oin)o(ts)h(to)e(the)300 1584 y(next)e(in)h(the)g(list.)0 1736 y Fr(2.3.1)30 b(Section)20 b(Input)300 1829 y Fm(When)15 b(a)f(bfd)h(is)g(op)q(ened)g(for)f(reading,)h(the)g(section)g(structures)f (are)g(created)300 1879 y(and)h(attatc)o(hed)g(to)f(the)i(bfd.)300 1943 y(Eac)o(h)h(section)g(has)g(a)f(name)h(whic)o(h)h(describ)q(es)g(the)f (section)h(in)f(the)g(outside)300 1993 y(w)o(orld)i(-)g(for)f(example,)44 b Fh(a.out)18 b Fm(w)o(ould)h(con)o(tain)g(at)g(least)g(three)g(sections,)300 2043 y(called)e Fh(.text)p Fm(,)d Fh(.data)g Fm(and)i Fh(.bss)p Fm(.)300 2107 y(Sometimes)e(a)g(bfd)g(will)i(con)o(tain)e(more)f(than)h(the)g ('natural')f(n)o(um)o(b)q(er)h(of)g(sec-)300 2157 y(tions.)20 b(A)13 b(bac)o(k)h(end)h(ma)o(y)e(attatc)o(h)f(other)i(sections)g(con)o (taining)h(constructor)300 2207 y(data,)h(or)g(an)g(application)i(ma)o(y)e (add)h(a)f(section)h(\(using)g(bfd)p 1362 2207 14 2 v 17 w(mak)o(e)p 1483 2207 V 16 w(section\))300 2257 y(to)f(the)h(sections)g(attatc)o(hed)f (to)h(an)f(already)h(op)q(en)h(bfd.)25 b(F)l(or)16 b(example,)i(the)300 2307 y(link)o(er)d(creates)f(a)g(sup)q(ern)o(umary)g(section)g Fh(COMMON)g Fm(for)f(eac)o(h)h(input)h(\014le's)g(bfd)300 2357 y(to)g(hold)h(information)f(ab)q(out)g(common)g(storage.)300 2421 y(The)22 b(ra)o(w)f(data)h(is)g(not)g(necessarily)h(read)f(in)h(at)e (the)h(same)g(time)g(as)g(the)300 2471 y(section)f(descriptor)f(is)h (created.)35 b(Some)20 b(targets)f(ma)o(y)g(lea)o(v)o(e)h(the)h(data)e(in)300 2521 y(place)e(un)o(til)g(a)i Fh(bfd_get_section_contents)13 b Fm(call)k(is)f(made.)22 b(Other)16 b(bac)o(k)300 2570 y(ends)f(ma)o(y)e (read)h(in)h(all)h(the)e(data)f(at)h(once)g(-)h(F)l(or)e(example;)i(an)f (S-record)h(\014le)300 2620 y(has)g(to)f(b)q(e)i(read)e(once)i(to)e (determine)i(the)f(size)h(of)e(the)h(data.)k(An)c(IEEE-695)300 2670 y(\014le)22 b(do)q(esn't)f(con)o(tain)h(ra)o(w)e(data)g(in)i(sections,)h (but)e(data)g(and)g(relo)q(cation)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 9 11 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 680 3 v 703 w(DRAFT)p 1236 -66 V 705 w Fj(9)300 183 y Fm(expressions)j(in)o (termixed,)g(so)e(the)h(data)f(area)h(has)g(to)f(b)q(e)h(parsed)h(to)e(get)g (out)300 233 y(the)h(data)g(and)g(relo)q(cations.)0 368 y Fr(2.3.2)30 b(Section)20 b(Output)300 459 y Fm(T)l(o)i(write)g(a)f(new)h(ob)s(ject)g(st)o (yle)g(bfd,)h(the)f(v)m(arious)h(sections)f(to)f(b)q(e)i(writ-)300 509 y(ten)j(ha)o(v)o(e)f(to)g(b)q(e)h(created.)52 b(They)26 b(are)f(attatc)o(hed)g(to)g(the)g(bfd)h(in)h(the)300 559 y(same)19 b(w)o(a)o(y)g(as)g(input)i(sections,)f(data)f(is)h(written)g(to)f(the)h (sections)g(using)300 608 y Fh(bfd_set_section_contents)p Fm(.)300 671 y(The)d(link)o(er)h(uses)g(the)f(\014elds)29 b Fh(output_section)15 b Fm(and)27 b Fh(output_offset)16 b Fm(to)300 721 y(create)f(an)g(output)g (\014le.)300 783 y(The)i(data)g(to)g(b)q(e)g(written)h(comes)f(from)f(input)i (sections)g(attatc)o(hed)e(to)h(the)300 833 y(output)h(sections.)30 b(The)18 b(output)g(section)h(structure)f(can)h(b)q(e)g(considered)g(a)300 883 y(\014lter)14 b(for)f(the)h(input)h(section,)f(the)g(output)f(section)i (determines)f(the)g(vma)f(of)300 933 y(the)h(output)h(data)e(and)i(the)f (name,)g(but)h(the)f(input)i(section)f(determines)g(the)300 982 y(o\013set)f(in)o(to)h(the)h(output)f(section)g(of)g(the)g(data)g(to)g(b) q(e)g(written.)300 1045 y(Eg)e(to)f(create)h(a)f(section)i Fh(")p Fm(O)p Fh(")p Fm(,)f(starting)f(at)g(0x100,)g(0x123)g(long,)h(con)o (taining)300 1095 y(t)o(w)o(o)19 b(subsections,)j Fh(")p Fm(A)p Fh(")e Fm(at)g(o\013set)g(0x0)f(\(ie)i(at)f(vma)g(0x100\))f(and)h Fh(")p Fm(B)p Fh(")h Fm(at)300 1144 y(o\013set)14 b(0x20)h(\(ie)g(at)g(vma)f (0x120\))g(the)h(structures)g(w)o(ould)h(lo)q(ok)f(lik)o(e:)300 1186 y Fg(\013)p 325 1186 1326 2 v 1325 w(\010)p 300 1832 2 623 v 386 1322 a Fh(section)23 b(name)238 b("A")433 1372 y(output_offset)70 b(0x00)433 1422 y(size)286 b(0x20)433 1471 y(output_section)22 b(----------->)46 b(section)23 b(name)95 b("O")1006 1521 y(|)g(vma)310 b(0x100)386 1571 y(section)23 b(name)238 b("B")23 b(|)95 b(size)286 b(0x123)433 1621 y(output_offset)70 b(0x20)95 b(|)433 1671 y(size)286 b(0x103)71 b(|)433 1720 y(output_section)46 b(--------|)p 1677 1832 V 300 1858 a Fg(\012)p 325 1858 1326 2 v 1325 w(\011)0 2042 y Fr(2.3.3)30 b(t)n(yp)r(edef)20 b(asection)300 2134 y Fm(The)15 b(shap)q(e)h(of)f(a)g(section)h(struct:)390 2184 y Fh(typedef)23 b(struct)g(sec)g({)300 2246 y Ff(The)c(name)f(of)g(the)g (section,)h(the)g(name)f(isn't)g(a)g(cop)o(y)l(,)h(the)f(p)q(oin)o(ter)h(is)i (the)300 2296 y(same)15 b(as)g(that)f(passed)i(to)e(bfd)p 835 2296 14 2 v 17 w(mak)o(e)p 956 2296 V 16 w(section.)485 2346 y Fh(CONST)24 b(char)f(*name;)300 2408 y Ff(The)15 b(next)h(section)f(in)i (the)e(list)h(b)q(elonging)h(to)d(the)h(bfd,)h(or)e(NULL.)485 2458 y Fh(struct)23 b(sec)h(*next;)300 2521 y Ff(The)14 b(\014eld)h(\015ags)f (con)o(tains)g(attributes)f(of)h(the)g(section.)19 b(Some)14 b(of)g(these)i(\015ags)300 2570 y(are)d(read)h(in)g(from)f(the)h(ob)s(ject)f (\014le,)h(and)g(some)f(are)h(syn)o(thesized)g(from)f(other)300 2620 y(information.)390 2670 y Fh(flagword)23 b(flags;)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 10 12 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(10)390 183 y Fh(#define)23 b(SEC_NO_FLAGS)70 b(0x000)300 246 y Ff(T)l(ells)22 b(the)e(OS)h(to)e(allo)q (cate)i(space)f(for)g(this)g(section)h(when)g(loaded.)35 b(This)300 296 y(w)o(ould)16 b(clear)f(for)g(a)g(section)h(con)o(taining)f(debug)h (information)g(only)l(.)390 346 y Fh(#define)23 b(SEC_ALLOC)142 b(0x001)300 409 y Ff(T)l(ells)21 b(the)f(OS)g(to)f(load)h(the)f(section)h (from)f(the)h(\014le)g(when)g(loading.)34 b(This)300 458 y(w)o(ould)16 b(b)q(e)f(clear)h(for)f(a)g(.bss)f(section)390 508 y Fh(#define)23 b(SEC_LOAD)166 b(0x002)300 571 y Ff(The)15 b(section)f(con)o(tains)h(data)f (still)h(to)f(b)q(e)h(relo)q(cated,)g(so)f(there)g(will)i(b)q(e)f(some)300 621 y(relo)q(cation)h(information)f(to)q(o.)390 671 y Fh(#define)23 b(SEC_RELOC)142 b(0x004)300 733 y Ff(Obsolete)16 b(?)390 783 y Fh(#define)23 b(SEC_BALIGN)118 b(0x008)300 846 y Ff(A)15 b(signal)h(to)f(the)g(OS)h(that)e(the)i(section)f(con)o(tains)h(read)f(only)h (data.)390 896 y Fh(#define)23 b(SEC_READONLY)70 b(0x010)300 959 y Ff(The)15 b(section)h(con)o(tains)f(co)q(de)h(only)l(.)390 1009 y Fh(#define)23 b(SEC_CODE)166 b(0x020)300 1071 y Ff(The)15 b(section)h(con)o(tains)f(data)g(only)l(.)390 1121 y Fh(#define)23 b(SEC_DATA)190 b(0x040)300 1184 y Ff(The)15 b(section)h(will)h(reside)f(in)g (R)o(OM.)390 1234 y Fh(#define)23 b(SEC_ROM)190 b(0x080)300 1297 y Ff(The)19 b(section)g(con)o(tains)g(constructor)e(information.)31 b(This)19 b(section)g(t)o(yp)q(e)f(is)300 1347 y(used)13 b(b)o(y)g(the)f (link)o(er)i(to)e(create)g(lists)h(of)f(constructors)g(and)h(destructors)g (used)300 1396 y(b)o(y)34 b Fh(g++)p Ff(.)27 b(When)18 b(a)g(bac)o(k)g(end)g (sees)g(a)g(sym)o(b)q(ol)g(whic)o(h)h(should)f(b)q(e)h(used)h(in)300 1446 y(a)15 b(constructor)f(list,)i(it)g(creates)f(a)g(new)g(section)h(for)f (the)g(t)o(yp)q(e)g(of)g(name)j(\(eg)300 1496 y Fh(__CTOR_LIST__)p Ff(\),)12 b(attatc)o(hes)i(the)g(sym)o(b)q(ol)h(to)f(it)h(and)g(builds)h(a)f (relo)q(cation.)300 1546 y(T)l(o)g(build)i(the)e(lists)g(of)g(constructors,)f (all)i(the)f(link)o(er)h(has)f(to)h(to)f(is)g(catenate)300 1596 y(all)e(the)g(sections)g(called)g Fh(__CTOR_LIST__)e Ff(and)j(relo)q (cte)f(the)g(data)e(con)o(tained)300 1645 y(within)16 b(-)g(exactly)f(the)h (op)q(erations)f(it)g(w)o(ould)j(p)q(eform)d(on)g(standard)g(data.)390 1695 y Fh(#define)23 b(SEC_CONSTRUCTOR)f(0x100)300 1758 y Ff(The)17 b(section)g(is)f(a)g(constuctor,)g(and)h(should)g(b)q(e)g(placed)h(at)d(the)i (end)g(of)f(the)300 1808 y(..)390 1858 y Fh(#define)23 b (SEC_CONSTRUCTOR_TEXT)e(0x1100)390 1907 y(#define)i(SEC_CONSTRUCTOR_DATA)e (0x2100)390 1957 y(#define)i(SEC_CONSTRUCTOR_BSS)45 b(0x3100)300 2020 y Ff(The)21 b(section)g(has)f(con)o(ten)o(ts)g(-)g(a)g(bss)h(section)g (could)g(b)q(e)55 b Fh(SEC_ALLOC)19 b(|)300 2070 y(SEC_HAS_CONTENTS)p Ff(,)13 b(a)h(debug)i(section)g(could)g(b)q(e)j Fh(SEC_HAS_CONTENTS)390 2120 y(#define)k(SEC_HAS_CONTENTS)f(0x200)300 2183 y Ff(An)d(instruction)g (to)f(the)g(link)o(er)i(not)e(to)f(output)i(sections)f(con)o(taining)24 b(this)300 2232 y(\015ag)14 b(ev)o(en)h(if)g(they)g(ha)o(v)o(e)f(information) h(whic)o(h)g(w)o(ould)g(normally)g(b)q(e)g(written.)390 2282 y Fh(#define)23 b(SEC_NEVER_LOAD)f(0x400)300 2345 y Ff(The)15 b(base)h(address)f(of)g(the)g(section)h(in)g(the)f(address)g(space)h(of)f (the)g(target.)462 2395 y Fh(bfd_vma)22 b(vma;)300 2458 y Ff(The)16 b(size)g(of)g(the)f(section)i(in)f(b)o(ytes)f(of)h(the)f(loaded)i(section.)22 b(This)16 b(con)o(tains)300 2508 y(a)f(v)m(alue)h(ev)o(en)g(if)g(the)f (section)h(has)f(no)g(con)o(ten)o(ts)f(\(eg,)h(the)g(size)h(of)f Fh(.bss)p Ff(\).)462 2557 y Fh(bfd_size_type)22 b(size;)300 2620 y Ff(If)14 b(this)h(section)g(is)f(going)g(to)g(b)q(e)h(output,)e(then)i (this)f(v)m(alue)i(is)e(the)j(o\013set)c(in)o(to)300 2670 y(the)k(output)g (section)g(of)g(the)g(\014rst)f(b)o(yte)h(in)h(the)f(input)i(section.)25 b(Eg,)17 b(if)h(this)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 11 13 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(11)300 183 y Ff(w)o(as)g(going)g (to)g(start)f(at)h(the)g(100th)g(b)o(yte)g(in)i(the)h(output)d(section,)h (this)g(v)m(alue)300 233 y(w)o(ould)i(b)q(e)f(100.)462 283 y Fh(bfd_vma)22 b(output_offset;)300 350 y Ff(The)15 b(output)g(section)h (through)f(whic)o(h)h(to)f(map)g(on)g(output.)462 400 y Fh(struct)23 b(sec)g(*output_section;)300 467 y Ff(The)f(alignmen)o(t)g(requiremen)o(t)g (of)g(the)f(section,)j(as)d(an)h(exp)q(onen)o(t)g(-)g(eg)f(3)300 517 y(aligns)16 b(to)f(2)p Fh(^)p Ff(3)f(\(or)g(8\))462 567 y Fh(unsigned)22 b(int)i(alignment_power;)300 634 y Ff(If)14 b(an)f(input)h(section,)g(a)f(p)q(oin)o(ter)h(to)e(a)h(v)o(ector)g(of)g(relo) q(cation)h(records)f(for)j(the)300 684 y(data)f(in)h(this)f(section.)462 733 y Fh(struct)23 b(reloc_cache_entry)e(*relocation;)300 801 y Ff(If)c(an)g(output)g(section,)h(a)f(p)q(oin)o(ter)h(to)e(a)h(v)o(ector)f (of)h(p)q(oin)o(ters)g(to)i(relo)q(cation)300 850 y(records)c(for)g(the)g (data)f(in)i(this)g(section.)462 900 y Fh(struct)23 b(reloc_cache_entry)e (**orelocation;)300 967 y Ff(The)15 b(n)o(um)o(b)q(er)h(of)f(relo)q(cation)h (records)f(in)h(one)f(of)g(the)g(ab)q(o)o(v)o(e)462 1017 y Fh(unsigned)22 b(reloc_count;)300 1084 y Ff(Whic)o(h)16 b(section)g(is)f(it)h (0..n)o(th)462 1134 y Fh(int)23 b(index;)300 1201 y Ff(Information)15 b(b)q(elo)o(w)h(is)g(bac)o(k)f(end)h(sp)q(eci\014c)i(-)d(and)h(not)f(alw)o(a) o(ys)f(used)i(or)i(up-)300 1251 y(dated)300 1318 y(File)e(p)q(osition)h(of)d (section)i(data)462 1368 y Fh(file_ptr)22 b(filepos;)300 1435 y Ff(File)16 b(p)q(osition)h(of)d(relo)q(cation)i(info)462 1485 y Fh(file_ptr)22 b(rel_filepos;)300 1552 y Ff(File)16 b(p)q(osition)h(of)d(line)j(data)462 1602 y Fh(file_ptr)22 b(line_filepos;)300 1669 y Ff(P)o(oin)o(ter)15 b(to)f(data)h(for)g (applications)462 1719 y Fh(PTR)23 b(userdata;)462 1769 y(struct)g (lang_output_section)e(*otheruserdata;)300 1836 y Ff(A)o(ttac)o(hed)15 b(line)i(n)o(um)o(b)q(er)e(information)462 1886 y Fh(alent)23 b(*lineno;)300 1953 y Ff(Num)o(b)q(er)16 b(of)e(line)j(n)o(um)o(b)q(er)f (records)462 2003 y Fh(unsigned)22 b(int)i(lineno_count;)300 2070 y Ff(When)14 b(a)e(section)i(is)g(b)q(eing)h(output,)e(this)g(v)m(alue)i (c)o(hanges)e(as)g(more)i(linen)o(um-)300 2120 y(b)q(ers)h(are)e(written)i (out)462 2170 y Fh(file_ptr)22 b(moving_line_filepos;)300 2237 y Ff(what)15 b(the)g(section)h(n)o(um)o(b)q(er)f(is)h(in)g(the)f(target)f(w)o (orld)462 2287 y Fh(unsigned)22 b(int)i(target_index;)462 2336 y(PTR)f(used_by_bfd;)300 2404 y Ff(If)18 b(this)g(is)g(a)g(constructor)e (section)j(then)f(here)g(is)g(a)f(list)i(of)e(the)j(relo)q(cations)300 2453 y(created)15 b(to)g(relo)q(cate)g(items)h(within)g(it.)462 2503 y Fh(struct)23 b(relent_chain)f(*constructor_chain;)300 2570 y Ff(The)15 b(bfd)h(whic)o(h)g(o)o(wns)f(the)g(section.)462 2620 y Fh(bfd)23 b(*owner;)390 2670 y(})h(asection)e(;)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 12 14 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(12)0 183 y Fr(2.3.4)30 b(section)20 b(protot)n(yp)r(es)0 346 y(2.3.4.1)30 b(bfd)p 296 346 19 3 v 22 w(get)p 401 346 V 21 w(section)p 607 346 V 22 w(b)n(y)p 693 346 V 23 w(name)300 437 y Fm(Runs)19 b(through)g(the)f (pro)o(vided)i Ff(abfd)g Fm(and)f(returns)f(the)39 b Fh(asection)18 b Fm(who's)300 487 y(name)c(matc)o(hes)g(that)g(pro)o(vided,)h(otherwise)g (NULL.)g(See)g(Section)g(2.3)f([Sec-)300 537 y(tions],)h(page)g(8,)f(for)h (more)g(information.)390 587 y Fh(PROTO\(asection)22 b(*,)i (bfd_get_section_by_name)o(,)485 637 y(\(bfd)g(*abfd,)f(CONST)g(char)g (*name\)\);)0 770 y Fr(2.3.4.2)30 b(bfd)p 296 770 V 22 w(mak)n(e)p 457 770 V 22 w(section)300 862 y Fm(This)13 b(function)g(creates)f(a)h(new)f (empt)o(y)g(section)h(called)i Ff(name)g Fm(and)d(attatc)o(hes)300 912 y(it)i(to)g(the)g(end)h(of)f(the)g(c)o(hain)h(of)f(sections)h(for)e Ff(bfd)p Fm(.)20 b(An)15 b(attempt)e(to)g(create)h(a)300 961 y(section)i(with)h(a)e(name)h(whic)o(h)g(is)h(already)f(in)h(use,)e(returns)h (the)g(old)g(section)300 1011 y(b)o(y)f(that)g(name)g(instead.)300 1074 y(P)o(ossible)h(errors)f(are:)300 1136 y Fh(invalid_operation)450 1186 y Fm(If)g(output)g(has)h(already)f(started)f(for)h(this)h(bfd.)300 1248 y Fh(no_memory)450 1298 y Fm(If)f(obstac)o(k)g(allo)q(c)h(fails.)390 1348 y Fh(PROTO\(asection)22 b(*,)i(bfd_make_section,)d(\(bfd)i(*,)h(CONST)f (char)390 1398 y(*name\)\);)0 1531 y Fr(2.3.4.3)30 b(bfd)p 296 1531 V 22 w(set)p 394 1531 V 22 w(section)p 601 1531 V 22 w(\015ags)300 1623 y Fm(A)o(ttempts)15 b(to)h(set)f(the)h(attributes)g(of) g(the)g(section)h(named)f(in)h(the)f(bfd)g(sup-)300 1673 y(plied)i(to)e(the)g (v)m(alue.)25 b(Returns)16 b(true)h(on)f(success,)h(false)f(on)h(error.)22 b(P)o(ossible)300 1722 y(error)14 b(returns)i(are:)300 1785 y Fh(invalid)e(operation)450 1835 y Fm(The)21 b(section)g(cannot)g(ha)o(v)o (e)f(one)h(or)f(more)g(of)h(the)f(attributes)h(re-)450 1884 y(quested.)h(F)l(or)15 b(example,)h(a)g(.bss)f(section)h(in)k Fh(a.out)15 b Fm(ma)o(y)g(not)g(ha)o(v)o(e)450 1934 y(the)g Fh(SEC_HAS_CONTENTS)e Fm(\014eld)k(set.)390 1984 y Fh(PROTO\(boolean,)22 b(bfd_set_section_flags,)557 2034 y(\(bfd)h(*,)h(asection)f(*,)g (flagword\)\);)0 2168 y Fr(2.3.4.4)30 b(bfd)p 296 2168 V 22 w(map)p 433 2168 V 22 w(o)n(v)n(er)p 567 2168 V 23 w(sections)300 2259 y Fm(Calls)20 b(the)g(pro)o(vided)h(function)f Ff(func)j Fm(for)c(eac)o(h)h(section)g(attatc)o(hed)f(to)g(the)300 2309 y(bfd)14 b Ff(abfd)p Fm(,)g(passing)h Ff(ob)s(j)f Fm(as)g(an)g(argumen)o(t.) 19 b(The)14 b(function)h(will)g(b)q(e)g(called)g(as)300 2359 y(if)h(b)o(y)438 2408 y Fh(func\(abfd,)22 b(the_section,)g(obj\);)390 2458 y(PROTO\(void,)g(bfd_map_over_sections,)676 2508 y(\(bfd)i(*abfd,)f (void)g(\(*func\)\(\),)g(PTR)g(obj\)\);)300 2570 y Fm(This)13 b(is)g(the)f(prefered)h(metho)q(d)g(for)e(iterating)i(o)o(v)o(er)e(sections,) i(an)g(alternativ)o(e)300 2620 y(w)o(ould)j(b)q(e)f(to)g(use)h(a)e(lo)q(op:) 462 2670 y Fh(section)22 b(*p;)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 13 15 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(13)462 183 y Fh(for)23 b(\(p)h(=)f(abfd->sections;)f(p)i(!=)f(NULL;)h(p)f(=)h(p->next\))533 233 y(func\(abfd,)f(p,)g(...\))0 366 y Fr(2.3.4.5)30 b(bfd)p 296 366 19 3 v 22 w(set)p 394 366 V 22 w(section)p 601 366 V 22 w(size)300 457 y Fm(Sets)20 b Ff(section)g Fm(to)g(the)g(size)h Ff(v)m(al)p Fm(.)34 b(If)21 b(the)f(op)q(eration)g(is)g(ok,)h(then)48 b Fh(true)19 b Fm(is)300 507 y(returned,)c(else)h Fh(false)p Fm(.)300 569 y(P)o(ossible)g(error)f(returns:)300 632 y Fh(invalid_operation) 450 681 y Fm(W)l(riting)h(has)f(started)f(to)h(the)g(bfd,)g(so)g(setting)g (the)h(size)g(is)f(in)o(v)m(alid)390 731 y Fh(PROTO\(boolean,)22 b(bfd_set_section_size,)509 781 y(\(bfd)i(*,)f(asection)g(*,)h(bfd_size_type) e(val\)\);)0 914 y Fr(2.3.4.6)30 b(bfd)p 296 914 V 22 w(set)p 394 914 V 22 w(section)p 601 914 V 22 w(con)n(ten)n(ts)300 1005 y Fm(Sets)14 b(the)f(con)o(ten)o(ts)g(of)g(the)h(section)g Ff(section)h Fm(in)f(bfd)g Ff(abfd)h Fm(to)e(the)h(data)f(start-)300 1055 y(ing)19 b(in)h(memory)e(at)g Ff(data)p Fm(.)29 b(The)19 b(data)f(is)h(written)f(to)g(the)h(output)f(section)300 1105 y(starting)d(at)f(o\013set)g Ff(o\013set)i Fm(for)e Ff(coun)o(t)i Fm(b)o(ytes.)300 1167 y(Normally)g Fh(true)e Fm(is)i(returned,)f(else)h Fh(false)p Fm(.)j(P)o(ossible)e(error)d(returns)h(are:)300 1229 y Fh(no_contents)450 1279 y Fm(The)20 b(output)f(section)h(do)q(es)g (not)g(ha)o(v)o(e)f(the)46 b Fh(SEC_HAS_CONTENTS)450 1329 y Fm(attribute,)15 b(so)f(nothing)i(can)f(b)q(e)h(written)g(to)e(it.)300 1391 y Fh(and)h(some)f(more)h(too)300 1454 y Fm(This)c(routine)f(is)h(fron)o (t)e(end)i(to)f(the)g(bac)o(k)g(end)h(function)g Fh(_bfd_set_section_conten)o (ts)p Fm(.)p 2166 1458 21 36 v 390 1503 a Fh(PROTO\(boolean,)22 b(bfd_set_section_contents,)605 1553 y(\(bfd)h(*abfd,)605 1603 y(asection)g(*section,)605 1653 y(PTR)g(data,)605 1703 y(file_ptr)g(offset,) 605 1753 y(bfd_size_type)f(count\)\);)0 1885 y Fr(2.3.4.7)30 b(bfd)p 296 1885 19 3 v 22 w(get)p 401 1885 V 21 w(section)p 607 1885 V 22 w(con)n(ten)n(ts)300 1977 y Fm(This)13 b(function)h(reads)f (data)f(from)g Ff(section)h Fm(in)g(bfd)h Ff(abfd)g Fm(in)o(to)f(memory)f (start-)300 2027 y(ing)j(at)f Ff(lo)q(cation)p Fm(.)21 b(The)15 b(data)f(is)h(read)f(at)g(an)h(o\013set)f(of)g Ff(o\013set)h Fm(from)e(the)i(start)300 2076 y(of)g(the)g(input)h(section,)g(and)f(is)h (read)f(for)f Ff(coun)o(t)i Fm(b)o(ytes.)300 2139 y(If)e(the)g(con)o(ten)o (ts)f(of)h(a)g(constuctor)f(with)h(the)g Fh(SEC_CONSTUCTOR)e Fm(\015ag)i(set)f(are)300 2188 y(requested,)i(then)h(the)f Ff(lo)q(cation)h Fm(is)g(\014lled)h(with)e(zero)q(es.)300 2251 y(If)g(no)h(errors)e(o)q(ccur,)h Fh(true)g Fm(is)h(returned,)f(else)h Fh(false)p Fm(.)j(P)o(ossible)d(errors)f(are:)300 2313 y Fh(unknown)f(yet)390 2363 y(PROTO\(boolean,)22 b(bfd_get_section_contents,)581 2413 y(\(bfd)h(*abfd,)g(asection)g(*section,)g(PTR)g(location,)605 2463 y(file_ptr)g(offset,)f(bfd_size_type)h(count\)\);)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 14 16 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(14)0 183 y Fn(2.4)33 b(Sym)n(b)r(ols)300 352 y Fm(*bfd*)17 b(trys)f(to)g(main)o(tain)i(as)e(m)o (uc)o(h)h(sym)o(b)q(ol)h(information)f(as)f(it)h(can)g(when)300 401 y(it)i(mo)o(v)o(es)g(information)g(from)f(\014le)i(to)f(\014le.)32 b(*bfd*)19 b(passes)g(information)h(to)300 451 y(applications)f(though)f(the) 34 b Fh(asymbol)17 b Fm(structure.)27 b(When)18 b(the)g(application)300 501 y(requests)g(the)g(sym)o(b)q(ol)g(table,)h(BFD)e(reads)h(the)g(table)h (in)g(the)f(nativ)o(e)g(form)300 551 y(and)13 b(translates)g(parts)g(of)g(it) g(in)o(to)g(the)h(in)o(ternal)g(format.)k(T)l(o)13 b(main)o(tain)g(more)300 601 y(than)k(the)g(infomation)g(passed)h(to)e(applications)j(some)d(targets)g (k)o(eep)h(some)300 650 y(information)j('b)q(ehind)h(the)e(sceans',)h(in)g(a) g(structure)f(only)h(the)f(particular)300 700 y(bac)o(k)h(end)g(kno)o(ws)g (ab)q(out.)33 b(F)l(or)20 b(example,)h(the)f(co\013)f(bac)o(k)h(end)h(k)o (eeps)f(the)300 750 y(original)j(sym)o(b)q(ol)f(table)h(structure)e(as)h(w)o (ell)h(as)e(the)h(canonical)h(structure)300 800 y(when)c(a)g(*bfd*)f(is)h (read)g(in.)31 b(On)20 b(output,)f(the)g(co\013)f(bac)o(k)g(end)i(can)f (recon-)300 850 y(struct)e(the)g(output)h(sym)o(b)q(ol)f(table)h(so)f(that)g (no)h(information)f(is)h(lost,)g(ev)o(en)300 899 y(information)d(unique)h(to) d(co\013)h(whic)o(h)h(*bfd*)g(do)q(esn't)f(kno)o(w)g(or)g(understand.)300 949 y(If)19 b(a)g(co\013)f(sym)o(b)q(ol)h(table)h(w)o(as)e(read,)h(but)g(w)o (as)g(written)g(through)f(an)h(a.out)300 999 y(bac)o(k)g(end,)i(all)f(the)f (co\013)g(sp)q(eci\014c)i(information)e(w)o(ould)h(b)q(e)g(lost.)32 b(\(..)f(un)o(til)300 1049 y(BFD)15 b(2)g(:\).)300 1188 y(The)e(sym)o(b)q(ol) g(table)g(of)f(a)g(bfd)h(is)g(not)g(necessarily)h(read)e(in)i(un)o(til)f(a)g (canonical-)300 1238 y(ize)k(request)f(is)g(made.)22 b(Then)17 b(the)f(bfd)g(bac)o(k)g(end)g(\014lls)h(in)g(a)f(table)g(pro)o(vided)300 1288 y(b)o(y)f(the)g(application)i(with)f(p)q(oin)o(ters)f(to)g(the)g (canonical)i(information.)300 1427 y(T)l(o)j(output)g(sym)o(b)q(ols,)h(the)g (application)h(pro)o(vides)e(BFD)g(with)h(a)f(table)g(of)300 1477 y(p)q(oin)o(ters)j(to)e(p)q(oin)o(ters)i(to)63 b Fh(asymbol)p Fm(s.)40 b(This)23 b(allo)o(ws)f(applications)i(lik)o(e)300 1527 y(the)16 b(link)o(er)i(to)d(output)h(a)g(sym)o(b)q(ol)h(as)f(read,)g (since)h(the)f('b)q(ehind)i(the)f(sceens')300 1576 y(information)e(will)i(b)q (e)f(still)h(a)o(v)m(ailable.)0 2402 y Fr(2.4.1)30 b(Reading)20 b(Sym)n(b)r(ols)300 2570 y Fm(There)13 b(are)f(t)o(w)o(o)f(stages)g(to)h (reading)h(a)f(sym)o(b)q(ol)h(table)g(from)e(a)i(bfd;)g(allo)q(cating)300 2620 y(storage,)i(and)h(the)g(actual)g(reading)h(pro)q(cess.)22 b(This)17 b(is)f(an)g(excerpt)h(from)e(an)300 2670 y(appliction)i(whic)o(h)f (reads)f(the)h(sym)o(b)q(ol)f(table:)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 15 17 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(15)300 26 y Fg(\013)p 325 26 1326 2 v 1325 w(\010)p 300 1021 2 972 v 362 112 a Fh(unsigned)23 b(int)g(storage_needed;)362 162 y(asymbol)g(**symbol_table;)362 212 y(unsigned)g(int)g(number_of_symbols;)362 262 y(unsigned)g(int)g(i;)362 361 y(storage_needed)f(=)i(get_symtab_upper_bound)c(\(abfd\);)362 461 y(if)j(\(storage_needed)f(==)i(0\))f({)433 511 y(return)g(;)362 560 y(})362 610 y(symbol_table)f(=)i(\(asymbol)f(**\))g(malloc)g (\(storage_needed\);)410 660 y(...)362 710 y(number_of_symbols)e(=)433 760 y(bfd_canonicalize_symtab)g(\(abfd,)i(symbol_table\);)362 859 y(for)g(\(i)h(=)g(0;)f(i)h(<)g(number_of_symbols;)d(i++\))i({)433 909 y(process_symbol)f(\(symbol_table[i]\);)362 959 y(})p 1677 1021 V 300 1047 a Fg(\012)p 325 1047 1326 2 v 1325 w(\011)300 1228 y Fm(All)16 b(storage)d(for)g(the)i(sym)o(b)q(ols)g(themselv)o(es)f(is)h (in)g(an)g(obstac)o(k)e(connected)j(to)300 1278 y(the)f(bfd,)g(and)h(is)g (freed)f(when)h(the)f(bfd)h(is)f(closed.)0 2030 y Fr(2.4.2)30 b(W)-5 b(riting)20 b(Sym)n(b)r(ols)300 2190 y Fm(W)l(riting)13 b(of)f(a)f(sym)o(b)q(ol)i(table)g(is)f(automatic)g(when)h(a)f(bfd)g(op)q(en)h (for)f(writing)g(is)300 2240 y(closed.)21 b(The)16 b(application)h(attatc)o (hes)d(a)h(v)o(ector)g(of)g(p)q(oin)o(ters)h(to)f(p)q(oin)o(ters)h(to)300 2290 y(sym)o(b)q(ols)e(to)g(the)g(bfd)h(b)q(eing)g(written,)f(and)h(\014lls)g (in)h(the)e(sym)o(b)q(ol)g(coun)o(t.)20 b(The)300 2340 y(close)11 b(and)f(clean)o(up)i(co)q(de)e(reads)g(through)g(the)g(table)h(pro)o(vided)g (and)f(p)q(erforms)300 2389 y(all)21 b(the)g(necessary)f(op)q(erations.)35 b(The)21 b(outputing)f(co)q(de)h(m)o(ust)f(alw)o(a)o(ys)f(b)q(e)300 2439 y(pro)o(vided)c(with)g(an)g('o)o(wned')e(sym)o(b)q(ol;)i(one)g(whic)o(h) g(has)f(come)h(from)e(another)300 2489 y(bfd,)i(or)g(one)g(whic)o(h)h(has)f (b)q(een)i(created)e(using)h Fh(bfd_make_empty_symbol)p Fm(.)300 2620 y(An)j(example)h(sho)o(wing)f(the)g(creation)g(of)g(a)f(sym)o(b)q(ol)i (table)f(with)g(only)h(one)300 2670 y(elemen)o(t:)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 16 18 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(16)300 26 y Fg(\013)p 325 26 1326 2 v 1325 w(\010)p 300 1469 2 1420 v 314 112 a Fh(#include)23 b("bfd.h")314 162 y(main\(\))314 212 y({)362 262 y(bfd)g(*abfd;)362 311 y(asymbol)g(*ptrs[2];)362 361 y(asymbol)g(*new;)362 461 y(abfd)g(=)h(bfd_openw\("foo","a.out-su)o(nos-big")o(\);)362 511 y(bfd_set_format\(abfd,)d(bfd_object\);)362 560 y(new)i(=)h (bfd_make_empty_symbol\(abfd)o(\);)362 610 y(new->name)e(=)i("dummy_symbol";) 362 660 y(new->section)e(=)i(\(asection)e(*\)0;)362 710 y(new->flags)g(=)i (BSF_ABSOLUTE)e(|)i(BSF_GLOBAL;)362 760 y(new->value)e(=)i(0x12345;)362 859 y(ptrs[0])f(=)g(new;)362 909 y(ptrs[1])g(=)g(\(asymbol)g(*\)0;)362 1009 y(bfd_set_symtab\(abfd,)e(ptrs,)i(1\);)362 1059 y(bfd_close\(abfd\);)314 1108 y(})314 1208 y(./makesym)314 1258 y(nm)h(foo)314 1308 y(00012345)f(A)h(dummy_symbol)p 1677 1469 V 300 1495 a Fg(\012)p 325 1495 1326 2 v 1325 w(\011)300 1607 y Fm(Man)o(y)14 b(formats)g(cannot)h (represen)o(t)g(arbitary)f(sym)o(b)q(ol)i(information;)f(for)f(in-)300 1657 y(stance)e(the)h Fh(a.out)f Fm(ob)s(ject)g(format)f(do)q(es)i(not)f (allo)o(w)h(an)f(arbitary)h(n)o(um)o(b)q(er)f(of)300 1707 y(sections.)20 b(A)15 b(sym)o(b)q(ol)g(p)q(oin)o(ting)h(to)e(a)h(section)g(whic)o(h)g(is)h (not)e(one)h(of)f Fh(.text)p Fm(,)300 1757 y Fh(.data)g Fm(or)h Fh(.bss)g Fm(cannot)g(b)q(e)h(describ)q(ed.)0 1881 y Fr(2.4.3)30 b(t)n(yp)r(edef)20 b(asym)n(b)r(ol)300 1973 y Fm(An)15 b Fh(asymbol)g Fm(has)g(the)g(form:)390 2022 y Fh(typedef)23 b(struct)g(symbol_cache_entry) 390 2072 y({)300 2135 y Ff(A)d(p)q(oin)o(ter)g(to)e(the)i(bfd)g(whic)o(h)g(o) o(wns)f(the)h(sym)o(b)q(ol.)33 b(This)20 b(information)f(is)300 2184 y(necessary)14 b(so)f(that)g(a)g(bac)o(k)g(end)h(can)g(w)o(ork)e(out)i (what)f(additional)h(\(in)o(visible)300 2234 y(to)j(the)e(application)i (writer\))e(information)g(is)h(carried)g(with)f(the)g(sym)o(b)q(ol.)438 2284 y Fh(struct)23 b(_bfd)g(*the_bfd;)300 2346 y Ff(The)14 b(text)g(of)f(the)h(sym)o(b)q(ol.)20 b(The)14 b(name)g(is)g(left)h(alone,)f (and)g(not)g(copied)h(-)f(the)300 2396 y(application)j(ma)o(y)d(not)h(alter)g (it.)462 2446 y Fh(CONST)23 b(char)g(*name;)300 2508 y Ff(The)15 b(v)m(alue)i(of)e(the)g(sym)o(b)q(ol.)462 2558 y Fh(symvalue)22 b(value;)300 2620 y Ff(A)o(ttributes)15 b(of)g(a)g(sym)o(b)q(ol:)390 2670 y Fh(#define)23 b(BSF_NO_FLAGS)94 b(0x00)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 17 19 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(17)300 183 y Ff(The)18 b(sym)o(b)q(ol)g(has)g(lo)q(cal)h(scop)q(e;)34 b Fh(static)17 b Ff(in)34 b Fh(C)p Ff(.)27 b(The)18 b(v)m(alue)h(is)h(the)e(o\013set)300 233 y(in)o(to)d(the)g(section)h(of)f(the)g(data.)390 283 y Fh(#define)23 b(BSF_LOCAL)g(0x01)300 349 y Ff(The)16 b(sym)o(b)q(ol)g(has)f (global)h(scop)q(e;)g(initialized)j(data)14 b(in)k Fh(C)p Ff(.)j(The)16 b(v)m(alue)j(is)d(the)300 399 y(o\013set)e(in)o(to)h(the)h(section)f(of)g (the)g(data.)390 449 y Fh(#define)23 b(BSF_GLOBAL)f(0x02)300 515 y Ff(Obsolete)390 565 y Fh(#define)h(BSF_IMPORT)f(0x04)300 631 y Ff(The)13 b(sym)o(b)q(ol)g(has)f(global)h(scop)q(e,)g(and)g(is)g(exp)q (orted.)19 b(The)13 b(v)m(alue)g(is)g(the)g(o\013set)300 681 y(in)o(to)i(the)g(section)h(of)f(the)g(data.)390 730 y Fh(#define)23 b(BSF_EXPORT)f(0x08)300 797 y Ff(The)15 b(sym)o(b)q(ol)h(is)g(unde\014ned.)21 b Fh(extern)15 b Ff(in)h Fh(C)p Ff(.)j(The)d(v)m(alue)g(has)f(no)h(meaning.) 390 846 y Fh(#define)23 b(BSF_UNDEFINED)f(0x10)300 913 y Ff(The)17 b(sym)o(b)q(ol)g(is)g(common,)f(initialized)k(to)c(zero;)g(default)h(in)26 b Fh(C)p Ff(.)d(The)d(v)m(alue)300 962 y(is)c(the)f(size)h(of)f(the)g(ob)s (ject)g(in)h(b)o(ytes.)390 1012 y Fh(#define)23 b(BSF_FORT_COMM)f(0x20)300 1078 y Ff(A)16 b(normal)21 b Fh(C)16 b Ff(sym)o(b)q(ol)g(w)o(ould)g(b)q(e)h (one)f(of:)27 b Fh(BSF_LOCAL)p Ff(,)19 b Fh(BSF_FORT_COMM)p Ff(,)300 1128 y Fh(BSF_UNDEFINED)13 b Ff(or)i Fh(BSF_EXPORT|BSD_GLOBAL)300 1194 y Ff(The)g(sym)o(b)q(ol)f(is)h(a)f(debugging)i(record.)j(The)c(v)m(alue) g(has)g(an)f(arbitary)g(mean-)300 1244 y(ing.)390 1294 y Fh(#define)23 b(BSF_DEBUGGING)f(0x40)300 1360 y Ff(The)d(sym)o(b)q(ol)g(has)g(no)g(section) g(attac)o(hed,)g(an)o(y)f(v)m(alue)i(is)g(the)f(actual)g(v)m(alue)300 1410 y(and)e(is)f(not)f(a)g(relativ)o(e)g(o\013set)g(to)f(a)h(section.)390 1460 y Fh(#define)23 b(BSF_ABSOLUTE)f(0x80)300 1526 y Ff(Used)16 b(b)o(y)f(the)g(link)o(er)390 1576 y Fh(#define)23 b(BSF_KEEP)190 b(0x10000)390 1625 y(#define)23 b(BSF_WARNING)118 b(0x20000)390 1675 y(#define)23 b(BSF_KEEP_G)142 b(0x80000)300 1741 y Ff(Un)o(used)390 1791 y Fh(#define)23 b(BSF_WEAK)190 b(0x100000)390 1841 y(#define)23 b(BSF_CTOR)190 b(0x200000)390 1891 y(#define)23 b(BSF_FAKE)190 b(0x400000)300 1957 y Ff(The)15 b(sym)o(b)q(ol)h(used)g(to)e(b)q(e)i(a)f (common)g(sym)o(b)q(ol,)g(but)g(no)o(w)g(it)h(is)f(allo)q(cated.)390 2007 y Fh(#define)23 b(BSF_OLD_COMMON)46 b(0x800000)300 2073 y Ff(The)15 b(default)h(v)m(alue)h(for)d(common)h(data.)390 2123 y Fh(#define)23 b(BFD_FORT_COMM_DEFAULT_VAL)o(UE)e(0)300 2189 y Ff(In)14 b(some)g(\014les)g(the)g(t)o(yp)q(e)g(of)f(a)h(sym)o(b)q(ol)g (sometimes)f(alters)h(its)g(lo)q(cation)g(in)h(an)300 2239 y(output)i(\014le)h(-)f(ie)g(in)h(co\013)e(a)27 b Fh(ISFCN)16 b Ff(sym)o(b)q(ol)h(whic)o(h)h(is)f(also)27 b Fh(C_EXT)17 b Ff(sym)o(b)q(ol)300 2289 y(app)q(ears)d(where)g(it)g(w)o(as)f(declared)i(and) e(not)h(at)f(the)h(end)g(of)f(a)h(section.)39 b(This)300 2338 y(bit)16 b(is)f(set)g(b)o(y)h(the)f(target)f(bfd)h(part)g(to)f(con)o(v)o(ey)h (this)h(information.)390 2388 y Fh(#define)23 b(BSF_NOT_AT_END)93 b(0x40000)300 2454 y Ff(Signal)16 b(that)f(the)g(sym)o(b)q(ol)h(is)f(the)h (lab)q(el)h(of)d(constructor)h(section.)390 2504 y Fh(#define)23 b(BSF_CONSTRUCTOR)69 b(0x1000000)438 2554 y(flagword)22 b(flags;)300 2620 y Ff(Aoin)o(ter)11 b(to)f(the)h(section)g(to)f(whic)o(h)i(this)f(sym)o (b)q(ol)g(is)h(relativ)o(e,)g(or)e(0)g(if)i(the)h(sym-)300 2670 y(b)q(ol)j(is)f(absolute)g(or)f(unde\014ned.)22 b(Note)14 b(that)h(it)g(is)g(not)f(su\016cien)o(t)i(to)e(set)i(this)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 18 20 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(18)300 183 y Ff(lo)q(cation)j(to)e (0)h(to)f(mark)g(a)h(sym)o(b)q(ol)g(as)g(absolute)g(-)g(the)g(\015ag)k Fh(BSF_ABSOLUTE)300 233 y Ff(m)o(ust)c(b)q(e)g(set)g(also.)438 283 y Fh(struct)23 b(sec)g(*section;)300 351 y Ff(Bac)o(k)14 b(end)h(sp)q(ecial)h(data.)j(This)14 b(is)h(b)q(eing)h(phased)e(out)g(in)h (fa)o(v)o(our)e(of)h(making)300 400 y(this)i(a)f(union.)438 450 y Fh(PTR)23 b(udata;)390 500 y(})h(asymbol;)0 682 y Fr(2.4.4)30 b(Sym)n(b)r(ol)21 b(Handling)f(F)-5 b(unctions)0 893 y(2.4.4.1)30 b(get)p 292 893 19 3 v 21 w(sym)n(tab)p 506 893 V 23 w(upp)r(er)p 686 893 V 22 w(b)r(ound)300 989 y Fm(Returns)22 b(the)g(n)o(um)o(b)q(er)f(of) g(b)o(ytes)h(required)g(in)g(a)g(v)o(ector)e(of)h(p)q(oin)o(ters)h(to)300 1039 y Fh(asymbols)10 b Fm(for)g(all)i(the)f(sym)o(b)q(ols)h(in)f(the)h (supplied)h(bfd,)f(including)i(a)c(terminal)300 1089 y(NULL)k(p)q(oin)o(ter.) 19 b(If)13 b(there)g(are)f(no)g(sym)o(b)q(ols)h(in)h(the)e(bfd,)i(then)f(0)f (is)h(returned.)300 1128 y Fg(\013)p 325 1128 1326 2 v 1325 w(\010)p 300 1326 2 175 v 314 1214 a Fh(#define)23 b (get_symtab_upper_bound\(abf)o(d\))e(\\)433 1264 y(BFD_SEND)i(\(abfd,)g (_get_symtab_upper_bound,)e(\(abfd\)\))p 1677 1326 V 300 1352 a Fg(\012)p 325 1352 1326 2 v 1325 w(\011)0 1583 y Fr(2.4.4.2)30 b(bfd)p 296 1583 19 3 v 22 w(canonicalize)p 637 1583 V 22 w(sym)n(tab)300 1680 y Fm(Supplied)20 b(a)d(bfd)h(and)f(a)g(p)q(oin)o(ter)h(to)f(an)g (uninitializ)q(ed)j(v)o(ector)d(of)g(p)q(oin)o(ters.)300 1730 y(This)i(reads)f(in)h(the)f(sym)o(b)q(ols)g(from)g(the)g(bfd,)h(and)f (\014lls)i(in)f(the)f(table)h(with)300 1780 y(p)q(oin)o(ters)f(to)f(the)h (sym)o(b)q(ols,)g(and)g(a)f(trailing)i(NULL.)f(The)g(routine)g(returns)300 1830 y(the)d(actual)h(n)o(um)o(b)q(er)f(of)g(sym)o(b)q(ol)h(p)q(oin)o(ters)f (not)g(including)j(the)d(NULL.)300 1868 y Fg(\013)p 325 1868 1326 2 v 1325 w(\010)p 300 2166 2 274 v 314 1955 a Fh(#define)23 b(bfd_canonicalize_symtab\(ab)o(fd,)e(location\))i(\\)433 2005 y(BFD_SEND)g(\(abfd,)g(_bfd_canonicalize_symtab,\\)744 2054 y(\(abfd,)g(location\)\))p 1677 2166 V 300 2192 a Fg(\012)p 325 2192 1326 2 v 1325 w(\011)0 2424 y Fr(2.4.4.3)30 b(bfd)p 296 2424 19 3 v 22 w(set)p 394 2424 V 22 w(sym)n(tab)300 2521 y Fm(Pro)o(vided)14 b(a)f(table)h(of)f(p)q(oin)o(ters)h(to)f(to)g(sym)o(b)q (ols)g(and)h(a)f(coun)o(t,)h(writes)f(to)g(the)300 2570 y(output)i(bfd)h(the) f(sym)o(b)q(ols)g(when)h(closed.)390 2620 y Fh(PROTO\(boolean,)22 b(bfd_set_symtab,)g(\(bfd)h(*,)h(asymbol)f(**,)390 2670 y(unsigned)g(int)g (\)\);)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 19 21 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(19)0 183 y Fr(2.4.4.4)30 b(bfd)p 296 183 19 3 v 22 w(prin)n(t)p 450 183 V 22 w(sym)n(b)r(ol)p 661 183 V 23 w(v)m(andf)300 275 y Fm(Prin)o(ts)15 b(the)g(v)m(alue)i(and)e (\015ags)g(of)g(the)g(sym)o(b)q(ol)h(supplied)h(to)e(the)g(stream)f(\014le.) 390 324 y Fh(PROTO\(void,)22 b(bfd_print_symbol_vandf,)f(\(PTR)i(file,)h (asym-)390 374 y(bol)f(*symbol\)\);)0 507 y Fr(2.4.4.5)30 b(bfd)p 296 507 V 22 w(mak)n(e)p 457 507 V 22 w(empt)n(y)p 646 507 V 23 w(sym)n(b)r(ol)300 598 y Fm(This)22 b(function)f(creates)g(a)g(new)56 b Fh(asymbol)20 b Fm(structure)h(for)f(the)h(bfd,)i(and)300 648 y(returns)15 b(a)g(p)q(oin)o(ter)h(to)e(it.)300 710 y(This)e(routine)g (is)g(necessary)l(,)g(since)h(eac)o(h)e(bac)o(k)g(end)h(has)g(priv)m(ate)g (information)300 760 y(surrounding)k(the)g Fh(asymbol)p Fm(.)j(Building)f(y)o (our)d(o)o(wn)g Fh(asymbol)f Fm(and)i(p)q(oin)o(ting)300 810 y(to)d(it)h(will)h(not)e(create)h(the)f(priv)m(ate)i(information,)e(and)h (will)h(cause)f(problems)300 860 y(later)h(on.)300 890 y Fg(\013)p 325 890 1326 2 v 1325 w(\010)p 300 1088 2 175 v 314 976 a Fh(#define)23 b(bfd_make_empty_symbol\(abfd)o(\))e(\\)433 1026 y(BFD_SEND)i(\(abfd,)g (_bfd_make_empty_symbol,)e(\(abfd\)\))p 1677 1088 V 300 1114 a Fg(\012)p 325 1114 1326 2 v 1325 w(\011)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g (s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 20 22 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(20)0 183 y Fn(2.5)33 b(Arc)n(hiv)n(es)300 275 y Fm(Gum)o(b)o(y)l(,)15 b(y)o(ou)f(promised)i(to)f (write)g(this)h(bit...)300 337 y(Arc)o(hiv)o(es)g(are)f(supp)q(orted)g(in)h (bfd)g(in)g Fh(archive.c)p Fm(.)300 399 y(An)22 b(arc)o(hiv)o(e)g(is)h (represen)o(ted)f(in)o(ternally)i(just)e(lik)o(e)h(another)e(bfd,)j(with)e(a) 300 449 y(p)q(oin)o(ter)f(to)f(a)g(c)o(hain)i(of)e(con)o(tained)h(bfds.)36 b(Arc)o(hiv)o(es)21 b(can)g(b)q(e)g(created)g(b)o(y)300 499 y(op)q(ening)15 b(bfds,)f(linking)i(them)d(together)g(and)h(attatc)o(hing)f (them)h(as)f(c)o(hildren)300 549 y(to)i(another)f(bfd)i(and)f(then)h(closing) g(the)f(paren)o(t)g(bfd.)0 681 y Fr(2.5.0.1)30 b(bfd)p 296 681 19 3 v 22 w(get)p 401 681 V 21 w(next)p 540 681 V 23 w(map)r(en)n(t)300 773 y Fm(What)15 b(this)g(do)q(es)390 823 y Fh(PROTO\(symindex,)22 b(bfd_get_next_mapent,)f(\(bfd)i(*,)h(symin-)390 872 y(dex,)f(carsym)g (**\)\);)0 1005 y Fr(2.5.0.2)30 b(bfd)p 296 1005 V 22 w(set)p 394 1005 V 22 w(arc)n(hiv)n(e)p 605 1005 V 23 w(head)300 1096 y Fm(Used)18 b(whilst)g(pro)q(cessing)g(arc)o(hiv)o(es.)26 b(Sets)17 b(the)g(head)h(of)f(the)g(c)o(hain)h(of)f(bfds)300 1146 y(con)o(tained)f(in)g(an)f(arc)o(hiv)o(e)g(to)g Ff(new)p 914 1146 14 2 v 17 w(head)p Fm(.)20 b(\(see)15 b(c)o(hapter)g(on)g(arc)o(hiv) o(es\))390 1196 y Fh(PROTO\(boolean,)22 b(bfd_set_archive_head,)f(\(bfd)i (*output,)390 1246 y(bfd)g(*new_head\)\);)0 1379 y Fr(2.5.0.3)30 b(bfd)p 296 1379 19 3 v 22 w(get)p 401 1379 V 21 w(elt)p 491 1379 V 22 w(at)p 567 1379 V 22 w(index)390 1458 y Fh(PROTO\(bfd)23 b(*,)g(bfd_get_elt_at_index,)e(\(bfd)j(*,)f(int\)\);)0 1590 y Fr(2.5.0.4)30 b(bfd)p 296 1590 V 22 w(op)r(enr)p 472 1590 V 21 w(next)p 611 1590 V 23 w(arc)n(hiv)n(ed)p 857 1590 V 23 w(\014le)300 1682 y Fm(Initially)14 b(pro)o(vided)f(a)f(bfd)g(con)o(taining)g (an)g(arc)o(hiv)o(e)g(and)g(NULL,)h(op)q(ens)f(a)g(bfd)300 1732 y(on)j(the)g(\014rst)f(con)o(tained)i(elemen)o(t)g(and)f(returns)g (that.)k(Subsequen)o(t)d(calls)g(to)300 1781 y(bfd)p 367 1781 14 2 v 17 w(op)q(enr)p 496 1781 V 17 w(next)p 600 1781 V 16 w(arc)o(hiv)o(ed)p 781 1781 V 17 w(\014le)c(should)h(pass)e(the)g(arc)o(hiv)o (e)g(and)h(the)f(previous)300 1831 y(return)16 b(v)m(alue)i(to)e(return)h(a)f (created)g(bfd)h(to)f(the)h(next)f(con)o(tained)i(elemen)o(t.)300 1881 y(NULL)e(is)g(returned)f(when)h(there)f(are)g(no)g(more.)390 1931 y Fh(PROTO\(bfd*,)22 b(bfd_openr_next_archived_file,)748 1981 y(\(bfd)h(*archive,)g(bfd)g(*previous\)\);)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 21 23 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(21)0 183 y Fn(2.6)33 b(File)23 b(F)-6 b(ormats)300 275 y Fm(A)17 b(format)g(is)h(a)30 b Fh(bfd)17 b Fm(concept)h(of)f(high)h(lev)o(el)h(\014le)g(con)o(ten)o(ts.)26 b(The)17 b(formats)300 324 y(supp)q(orted)f(b)o(y)f Fh(bfd)g Fm(are:)300 387 y Fh(bfd_object)450 437 y Fm(The)k(bfd)g(ma)o(y)f(con)o(tain) h(data,)f(sym)o(b)q(ols,)i(relo)q(cations)f(and)g(debug)450 486 y(info.)300 547 y Fh(bfd_archive)450 596 y Fm(The)c(bfd)h(con)o(tains)f (other)g(bfds)h(and)f(an)g(optional)h(index.)300 657 y Fh(bfd_core)450 707 y Fm(The)f(bfd)h(con)o(tains)f(the)h(result)f(of)g(an)g(executable)i (core)e(dump.)0 832 y Fr(2.6.0.1)30 b(bfd)p 296 832 19 3 v 22 w(c)n(hec)n(k)p 462 832 V 23 w(format)300 923 y Fm(This)19 b(routine)g(is)g(supplied)i(a)d(bfd)h(and)g(a)f(format.)29 b(It)18 b(attempts)g(to)g(v)o(erify)300 973 y(if)e(the)g(\014le)g(attatc)o (hed)f(to)g(the)g(bfd)h(is)g(indeed)h(compatible)g(with)f(the)f(format)300 1023 y(sp)q(eci\014ed)i(\(ie,)f(one)f(of)g Fh(bfd_object)p Fm(,)e Fh(bfd_archive)h Fm(or)g Fh(bfd_core)p Fm(\).)300 1085 y(If)j(the)h(bfd)f(has)g(b)q(een)h(set)f(to)g(a)f(sp)q(eci\014c)j Ff(target)e Fm(b)q(efore)h(the)f(call,)h(only)g(the)300 1135 y(named)d(target)f(and)i(format)e(com)o(bination)h(will)i(b)q(e)f(c)o(hec)o (k)o(ed.)k(If)c(the)f(target)300 1184 y(has)k(not)f(b)q(een)i(set,)f(or)g (has)f(b)q(een)i(set)f(to)40 b Fh(default)18 b Fm(then)h(all)h(the)f(kno)o (wn)300 1234 y(target)14 b(bac)o(k)o(ends)h(will)i(b)q(e)f(in)o(terrogated)f (to)f(determine)i(a)f(matc)o(h.)300 1297 y(The)h(function)h(returns)22 b Fh(true)15 b Fm(on)h(success,)h(otherwise)k Fh(false)16 b Fm(with)g(one)g(of)300 1346 y(the)f(follo)o(wing)h(error)f(co)q(des:)450 1409 y(in)o(v)m(alid)p 582 1409 14 2 v 19 w(op)q(eration)21 b(if)58 b Fh(format)20 b Fm(is)h(not)g(one)h(of)56 b Fh(bfd_object)p Fm(,)450 1458 y Fh(bfd_archive)14 b Fm(or)g Fh(bfd_core)p Fm(.)300 1519 y Fh(system_call_error)450 1569 y Fm(if)g(an)g(error)f(o)q(ccured)h (during)g(a)g(read)f(-)h(ev)o(en)g(some)f(\014le)i(mismatc)o(hes)450 1618 y(can)g(cause)h(system)p 794 1618 V 16 w(call)p 877 1618 V 17 w(errros)300 1679 y Fh(file_not_recognised)450 1729 y Fm(none)g(of)e(the)i(bac)o(k)o(ends)f(recognised)h(the)f(\014le)i(format)300 1789 y Fh(file_ambiguously_recognize)o(d)450 1839 y Fm(more)e(than)g(one)g (bac)o(k)o(end)h(recognised)g(the)f(\014le)h(format.)390 1889 y Fh(PROTO\(boolean,)22 b(bfd_check_format,)f(\(bfd)j(*abfd,)f(bfd_format)p 2002 1895 21 38 v 390 1938 a(format\)\);)0 2063 y Fr(2.6.0.2)30 b(bfd)p 296 2063 19 3 v 22 w(set)p 394 2063 V 22 w(format)300 2155 y Fm(This)18 b(function)g(sets)f(the)g(\014le)h(format)e(of)h(the)g (supplied)j(bfd)d(to)g(the)g(format)300 2205 y(requested.)26 b(If)17 b(the)h(target)d(set)i(in)h(the)f(bfd)h(do)q(es)f(not)g(supp)q(ort)g (the)g(format)300 2254 y(requested,)c(the)f(format)f(is)i(illegal)i(or)d(the) g(bfd)h(is)g(not)f(op)q(en)h(for)e(writing)i(than)300 2304 y(an)i(error)g(o)q(ccurs.)390 2354 y Fh(PROTO\(boolean,bfd_set_form)o (at,\(bfd)20 b(*,)k(bfd_format\)\);)0 2479 y Fr(2.6.0.3)30 b(bfd)p 296 2479 V 22 w(format)p 498 2479 V 21 w(string)300 2570 y Fm(This)12 b(function)f(tak)o(es)f(one)h(argumen)o(t,)g(and)g(en)o (umerated)g(t)o(yp)q(e)g(\(bfd)p 1486 2570 14 2 v 17 w(format\))300 2620 y(and)h(returns)f(a)g(p)q(oin)o(ter)h(to)e(a)h(const)g(string)h Fh(")p Fm(in)o(v)m(alid)p Fh(")p Fm(,)h Fh(")p Fm(ob)s(ject)p Fh(")p Fm(,)e Fh(")p Fm(arc)o(hiv)o(e)p Fh(")p Fm(,)300 2670 y Fh(")p Fm(core)p Fh(")j Fm(or)f Fh(")p Fm(unkno)o(wn)p Fh(")h Fm(dep)q(ending)j(up)q(on)e(the)f(v)m(alue)h(of)f(the)g(en)o(umeration.)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 22 24 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(22)390 183 y Fh(PROTO\(CONST)22 b(char)i(*,)f(bfd_format_string,)f(\(bfd_format\)\);)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 23 25 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(23)0 183 y Fn(2.7)33 b(Relo)r(cations)300 275 y Fm(Bfd)23 b(main)o(tains)h(relo)q(cations)f(in)h (m)o(uc)o(h)f(the)g(same)g(w)o(as)f(as)g(it)i(main)o(tains)300 324 y(sym)o(b)q(ols;)i(they)c(are)g(left)g(alone)h(un)o(til)g(required,)h (then)f(read)f(in)h(en-mass)300 374 y(and)e(traslated)f(in)o(to)g(an)h(in)o (ternal)g(form.)36 b(There)20 b(is)h(a)g(common)f(routine)300 424 y Fh(bfd_perform_relocation)11 b Fm(whic)o(h)k(acts)e(up)q(on)i(the)f (canonical)h(form)e(to)h(to)300 474 y(the)h(actual)h(\014xup.)300 536 y(Note)h(that)g(relo)q(cations)i(are)e(main)o(tained)h(on)g(a)f(p)q(er)i (section)f(basis,)g(whilst)300 586 y(sym)o(b)q(ols)d(are)g(main)o(tained)h (on)g(a)e(p)q(er)i(bfd)g(basis.)300 648 y(All)g(a)e(bac)o(k)h(end)g(has)f(to) g(do)h(to)f(\014t)g(the)h(bfd)g(in)o(terface)g(is)g(to)f(create)g(as)g(man)o (y)300 698 y Fh(struct)g(reloc_cache_entry)i Fm(as)i(there)g(are)g(relo)q (cations)h(in)g(a)f(particuar)300 748 y(section,)d(and)h(\014ll)g(in)g(the)g (righ)o(t)f(bits:)0 873 y Fr(2.7.0.1)30 b(bfd)p 296 873 19 3 v 22 w(p)r(erform)p 533 873 V 21 w(relo)r(cation)300 964 y Fm(The)15 b(relo)q(cation)h(routine)g(returns)f(as)g(a)g(status)f(an)h(en)o (umerated)h(t)o(yp)q(e:)390 1014 y Fh(typedef)23 b(enum)g(bfd_reloc_status)f ({)300 1076 y Ff(No)15 b(errors)f(detected)438 1126 y Fh(bfd_reloc_ok,)300 1188 y Ff(The)h(relo)q(cation)h(w)o(as)f(p)q(erformed,)g(but)g(there)g(w)o (as)g(an)g(o)o(v)o(er\015o)o(w.)438 1238 y Fh(bfd_reloc_overflow,)300 1300 y Ff(The)g(address)h(to)e(relo)q(cate)i(w)o(as)e(not)h(within)h(the)g (section)f(supplied)438 1350 y Fh(bfd_reloc_outofrange,)300 1412 y Ff(Used)h(b)o(y)f(sp)q(ecial)i(functions)438 1462 y Fh(bfd_reloc_continue,)300 1524 y Ff(Un)o(used)438 1574 y Fh (bfd_reloc_notsupported,)300 1636 y Ff(Unsupp)q(orted)f(relo)q(cation)g(size) g(requested.)438 1686 y Fh(bfd_reloc_other,)300 1748 y Ff(The)f(sym)o(b)q(ol) h(to)f(relo)q(cate)g(against)g(w)o(as)f(unde\014ned.)438 1798 y Fh(bfd_reloc_undefined,)300 1861 y Ff(The)j(relo)q(caction)g(w)o(as)e(p)q (erformed,)i(but)g(ma)o(y)e(not)h(b)q(e)h(ok)f(-)h(presen)o(tly)g(gen-)300 1910 y(erated)g(only)f(when)f(linking)i(i960)e(co\013)g(\014les)h(with)g (i960)f(b.out)f(sym)o(b)q(ols.)438 1960 y Fh(bfd_reloc_dangerous)462 2010 y(})414 2060 y(bfd_reloc_status_enum_typ)o(e;)390 2110 y(typedef)23 b(struct)g(reloc_cache_entry)390 2159 y({)300 2222 y Ff(A)15 b(p)q(oin)o(ter)h(in)o(to)f(the)g(canonical)i(table)f(of)e(p)q (oin)o(ters)438 2271 y Fh(struct)23 b(symbol_cache_entry)e(**sym_ptr_ptr;)300 2334 y Ff(o\013set)14 b(in)i(section)438 2384 y Fh(rawdata_offset)22 b(address;)300 2446 y Ff(addend)16 b(for)f(relo)q(cation)h(v)m(alue)438 2496 y Fh(bfd_vma)23 b(addend;)300 2558 y Ff(if)16 b(sym)f(is)g(n)o(ull)i (this)f(is)f(the)h(section)438 2608 y Fh(struct)23 b(sec)g(*section;)300 2670 y Ff(P)o(oin)o(ter)15 b(to)f(ho)o(w)h(to)g(p)q(erform)g(the)g(required)h (relo)q(cation)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 24 26 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(24)438 183 y Fh(CONST)23 b(struct)g(reloc_howto_struct)e(*howto;)390 233 y(})j(arelent;)300 326 y(sym_ptr_ptr)450 376 y Fm(The)e(sym)o(b)q(ol)g(table)g(p)q(oin)o(ter)g (p)q(oin)o(ts)h(to)e(a)g(p)q(oin)o(ter)h(to)f(the)h(sym-)450 426 y(b)q(ol)15 b(asco)q(ciated)g(with)f(the)h(relo)q(cation)g(request.)k (This)c(w)o(ould)g(natu-)450 476 y(raly)g(b)q(e)g(the)g(p)q(oin)o(ter)g(in)o (to)f(the)h(table)g(returned)g(b)o(y)g(the)f(bac)o(k)h(end's)450 526 y(get)p 514 526 14 2 v 16 w(sym)o(tab)h(action.)23 b(See)17 b(Section)h(2.4)d([Sym)o(b)q(ols],)h(page)h(14.)23 b(The)450 575 y(sym)o(b)q(ol)18 b(is)h(referenced)f(through)g(a)g(p)q(oin)o(ter)g(to)f (a)h(p)q(oin)o(ter)g(so)g(that)450 625 y(to)q(ols)j(lik)o(e)g(the)g(link)o (er)h(can)f(\014xup)g(all)h(the)e(sym)o(b)q(ols)h(of)g(the)f(same)450 675 y(name)h(b)o(y)g(mo)q(difying)i(only)e(one)h(p)q(oin)o(ter.)38 b(The)21 b(relo)q(cation)h(rou-)450 725 y(tine)16 b(lo)q(oks)f(in)g(the)g (sym)o(b)q(ol)h(and)f(uses)g(the)g(base)g(of)f(the)h(section)h(the)450 775 y(sym)o(b)q(ol)k(is)h(attatc)o(hed)e(to)g(and)h(the)g(v)m(alue)h(of)e (the)h(sym)o(b)q(ol)g(as)g(the)450 825 y(initial)h(relo)q(cation)f(o\013set.) 29 b(If)20 b(the)e(sym)o(b)q(ol)i(p)q(oin)o(ter)f(is)g(zero,)h(then)450 874 y(the)15 b(section)h(pro)o(vided)g(is)g(lo)q(ok)o(ed)f(up.)300 968 y Fh(address)450 1017 y Fm(The)d(address)g(\014eld)i(giv)o(es)e(the)g (o\013set)f(in)i(b)o(ytes)f(from)f(the)h(base)g(of)g(the)450 1067 y(section)g(data)e(whic)o(h)i(o)o(wns)f(the)g(relo)q(cation)h(record)f (to)g(the)g(\014rst)g(b)o(yte)450 1117 y(of)j(relo)q(catable)h(information.)k (The)14 b(actual)h(data)e(relo)q(cated)i(will)g(b)q(e)450 1167 y(relativ)o(e)j(to)e(this)h(p)q(oin)o(t)h(-)f(for)g(example,)g(a)g(relo)q (cation)h(t)o(yp)q(e)f(whic)o(h)450 1217 y(mo)q(di\014es)e(the)e(b)q(ottom)g (t)o(w)o(o)f(b)o(ytes)i(of)f(a)g(four)g(b)o(yte)h(w)o(ord)e(w)o(ould)i(not) 450 1267 y(touc)o(h)h(the)g(\014rst)g(b)o(yte)g(p)q(oin)o(ted)h(to)f(in)h(a)f (big)g(endian)i(w)o(orld.)300 1360 y Fh(addend)450 1410 y Fm(The)e(addend)g (is)g(a)f(v)m(alue)h(pro)o(vided)h(b)o(y)e(the)g(bac)o(k)h(end)g(to)e(b)q(e)i (added)450 1459 y(\(!\))27 b(to)17 b(the)g(relo)q(cation)i(o\013set.)26 b(It's)17 b(in)o(terpretation)h(is)g(dep)q(enden)o(t)450 1509 y(up)q(on)e(the)f(ho)o(wto.)k(F)l(or)c(example,)g(on)g(the)h(68k)e(the)h(co)q (de:)450 1548 y Fg(\013)p 475 1548 1176 2 v 1175 w(\010)p 450 1896 2 324 v 655 1634 a Fh(char)23 b(foo[];)655 1684 y(main\(\))846 1734 y({)846 1784 y(return)g(foo[0x12345678];)846 1834 y(})p 1677 1896 V 450 1922 a Fg(\012)p 475 1922 1176 2 v 1175 w(\011)450 2065 y Fm(Could)16 b(b)q(e)g(compiled)h(in)o(to:)450 2103 y Fg(\013)p 475 2103 V 1175 w(\010)p 450 2451 2 324 v 655 2190 a Fh(linkw)23 b(fp,#-4)655 2240 y(moveb)g(@#12345678,d0)655 2289 y(extbl)g(d0)655 2339 y(unlk)g(fp)655 2389 y(rts)p 1677 2451 V 450 2477 a Fg(\012)p 475 2477 1176 2 v 1175 w(\011)450 2620 y Fm(This)15 b(could)g(create)f(a)g(relo)q(c)i(p)q(oin)o(ting)f(to)f(fo) q(o,)f(but)i(lea)o(v)o(e)g(the)f(o\013set)450 2670 y(in)i(the)f(data)g (\(something)g(lik)o(e\))0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 25 27 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(25)450 26 y Fg(\013)p 475 26 1176 2 v 1175 w(\010)p 450 573 2 524 v 464 112 a Fh(RELOCATION)23 b(RECORDS)g(FOR)g([.text]:)464 162 y(OFFSET)71 b(TYPE)143 b(VALUE)464 212 y(00000006)23 b(32)191 b(_foo)464 311 y(00000000)23 b(4e56)g(fffc)238 b(;)24 b(linkw)f(fp,#-4)464 361 y(00000004)g(1039)g(1234)h(5678)118 b(;)24 b(moveb)f(@#12345678,d0)464 411 y(0000000a)g(49c0)357 b(;)24 b(extbl)f(d0)464 461 y(0000000c)g(4e5e)357 b(;)24 b(unlk)f(fp)464 511 y(0000000e)g(4e75)357 b(;)24 b(rts)p 1677 573 V 450 599 a Fg(\012)p 475 599 1176 2 v 1175 w(\011)450 751 y Fm(Using)17 b(co\013)f(and)h(an)f(88k,)g(some)g(instructions)i(don't)d(ha)o(v)o(e)i (enough)450 800 y(space)11 b(in)g(them)f(to)g(represen)o(t)h(the)f(full)i (address)e(range,)h(and)g(p)q(oin)o(ters)450 850 y(ha)o(v)o(e)k(to)f(b)q(e)i (loaded)g(in)g(t)o(w)o(o)e(parts.)19 b(So)c(y)o(ou'd)g(get)g(something)g(lik) o(e:)450 889 y Fg(\013)p 475 889 V 1175 w(\010)p 450 1137 2 225 v 655 975 a Fh(or.u)119 b(r13,r0,hi16\(_foo+0x123456)o(78\))655 1025 y(ld.b)g(r2,r13,lo16\(_foo+0x123456)o(78\))655 1075 y(jmp)143 b(r1)p 1677 1137 V 450 1163 a Fg(\012)p 475 1163 1176 2 v 1175 w(\011)450 1315 y Fm(This)11 b(whould)g(create)f(t)o(w)o(o)f(relo)q(cs,)j(b)q (oth)e(p)q(oin)o(ting)i(to)p 1380 1315 14 2 v 26 w(fo)q(o,)e(and)h(with)450 1365 y(0x12340000)h(in)j(their)f(addend)h(\014eld.)21 b(The)14 b(data)g(w)o(ould)g(consist)h(of:)450 1395 y Fg(\013)p 475 1395 1176 2 v 1175 w(\010)p 450 1942 2 524 v 464 1531 a Fh(RELOCATION)23 b(RECORDS)g(FOR)g([.text]:)464 1581 y(OFFSET)71 b(TYPE)143 b(VALUE)464 1630 y(00000002)23 b(HVRT16)95 b(_foo+0x12340000)464 1680 y(00000006)23 b(LVRT16)95 b(_foo+0x12340000)464 1780 y(00000000)23 b(5da05678)261 b(;)24 b(or.u)f(r13,r0,0x5678)464 1830 y(00000004)g(1c4d5678) 261 b(;)24 b(ld.b)f(r2,r13,0x5678)464 1879 y(00000008)g(f400c001)261 b(;)24 b(jmp)f(r1)p 1677 1942 V 450 1967 a Fg(\012)p 475 1967 1176 2 v 1175 w(\011)450 2119 y Fm(The)13 b(relo)q(cation)g(routine)h(digs)f (out)f(the)h(v)m(alue)h(from)e(the)h(data,)f(adds)450 2169 y(it)k(to)f(the)h(addend)g(to)g(get)f(the)h(original)g(o\013set)f(and)h(then) g(adds)g(the)450 2219 y(v)m(alue)j(of)p 627 2219 14 2 v 34 w(fo)q(o.)28 b(Note)17 b(that)g(all)i(32)f(bits)g(ha)o(v)o(e)f(to)h(b)q(e)g (k)o(ept)g(around)450 2269 y(somewhere,)d(to)f(cop)q(e)i(with)g(carry)e(from) h(bit)h(15)e(to)h(bit)g(16.)450 2371 y(On)j(further)f(example)h(is)f(the)h (sparc)f(and)g(the)g(a.out)f(format.)25 b(The)450 2421 y(sparc)14 b(has)g(a)f(similar)j(problem)e(to)g(the)g(88k,)f(in)i(that)e(some)h (instruc-)450 2471 y(tions)k(don't)f(ha)o(v)o(e)g(ro)q(om)g(for)f(an)i(en)o (tire)g(o\013set,)e(but)i(on)g(the)f(sparc)450 2521 y(the)f(parts)g(are)g (created)h(o)q(dd)f(sized)i(lumps.)24 b(The)17 b(designers)g(of)f(the)450 2570 y(a.out)e(format)f(c)o(hose)h(not)h(to)e(use)i(the)g(data)f(within)i (the)e(section)i(for)450 2620 y(storing)11 b(part)f(of)h(the)g(o\013set;)g (all)h(the)f(o\013set)f(is)h(k)o(ept)g(within)h(the)g(relo)q(c.)450 2670 y(An)o(y)j(thing)h(in)g(the)f(data)g(should)h(b)q(e)g(ignored.)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 26 28 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(26)450 26 y Fg(\013)p 475 26 1176 2 v 1175 w(\010)p 450 374 2 324 v 655 112 a Fh(save)23 b(\045sp,-112,\045sp)655 162 y(sethi)g(\045hi\(_foo+0x12345678\),\045g2)655 212 y(ldsb)g([\045g2+\045lo\(_foo+0x12345678\)],\045i)o(0)655 262 y(ret)655 311 y(restore)p 1677 374 V 450 399 a Fg(\012)p 475 399 1176 2 v 1175 w(\011)450 510 y Fm(Both)17 b(relo)q(cs)h(con)o(tains)f (a)g(p)q(oin)o(ter)h(to)e(fo)q(o,)h(and)g(the)g(o\013sets)g(w)o(ould)450 560 y(con)o(tain)e(junk.)450 599 y Fg(\013)p 475 599 V 1175 w(\010)p 450 1196 2 573 v 464 685 a Fh(RELOCATION)23 b(RECORDS)g(FOR)g ([.text]:)464 735 y(OFFSET)71 b(TYPE)143 b(VALUE)464 785 y(00000004)23 b(HI22)143 b(_foo+0x12345678)464 835 y(00000008)23 b(LO10)143 b(_foo+0x12345678)464 934 y(00000000)23 b(9de3bf90)118 b(;)24 b(save)f(\045sp,-112,\045sp)464 984 y(00000004)g(05000000)118 b(;)24 b(sethi)f(\045hi\(_foo+0\),\045g2)464 1034 y(00000008)g(f048a000)118 b(;)24 b(ldsb)f([\045g2+\045lo\(_foo+0\)],\045i0)464 1084 y(0000000c)g (81c7e008)118 b(;)24 b(ret)464 1133 y(00000010)f(81e80000)118 b(;)24 b(restore)p 1677 1196 V 450 1221 a Fg(\012)p 475 1221 1176 2 v 1175 w(\011)300 1332 y Fh(section)450 1382 y Fm(The)17 b(section)g(\014eld)h(is)f(only)g(used)h(when)f(the)g(sym)o(b)q(ol)g(p)q(oin) o(ter)g(\014eld)450 1432 y(is)f(n)o(ull.)21 b(It)15 b(supplies)j(the)d (section)h(in)o(to)f(whic)o(h)h(the)f(data)g(should)h(b)q(e)450 1482 y(relo)q(cated.)k(The)14 b(\014eld's)h(main)g(use)f(comes)g(from)f (assem)o(blers)h(whic)o(h)450 1532 y(do)j(most)e(of)i(the)f(sym)o(b)q(ol)h (\014xups)h(themselv)o(es;)f(an)g(assem)o(bler)g(ma)o(y)450 1581 y(tak)o(e)12 b(an)g(in)o(ternal)h(reference)h(to)d(a)i(lab)q(el,)h(but)e (since)i(it)f(kno)o(ws)f(where)450 1631 y(the)18 b(lab)q(el)j(is,)e(it)f(can) h(turn)f(the)h(relo)q(cation)g(request)f(from)g(a)g(sym-)450 1681 y(b)q(ol)g(lo)q(okup)f(in)o(to)g(a)g(section)g(relativ)o(e)h(relo)q (cation)f(-)g(the)g(relo)q(cation)450 1731 y(emitted)f(has)f(no)g(sym)o(b)q (ol,)g(just)g(a)g(section)h(to)e(relo)q(cate)i(against.)450 1792 y(I'm)h(not)f(sure)h(what)g(it)g(means)g(when)g(b)q(oth)g(a)f(sym)o(b)q (ol)i(p)q(oin)o(ter)f(an)450 1842 y(a)g(section)g(p)q(oin)o(ter)g(are)g (presen)o(t.)25 b(Some)17 b(formats)e(use)i(this)g(sort)f(of)450 1891 y(mec)o(hanism)e(to)e(describ)q(e)j(PIC)f(relo)q(cations,)g(but)f(bfd)g (can't)g(to)g(that)450 1941 y(sort)h(of)h(thing)h(y)o(et.)300 2002 y Fh(howto)30 b Fm(The)16 b(ho)o(wto)e(\014eld)i(can)g(b)q(e)g(imagined) g(as)f(a)g(relo)q(cation)h(instruction.)450 2052 y(It)c(is)h(a)f(p)q(oin)o (ter)h(to)f(a)g(struct)g(whic)o(h)h(con)o(tains)g(information)f(on)h(what)450 2102 y(to)j(do)h(with)g(all)h(the)f(other)f(information)h(in)h(the)e(relo)q (c)i(record)f(and)450 2152 y(data)g(section.)27 b(A)17 b(bac)o(k)g(end)h(w)o (ould)g(normally)g(ha)o(v)o(e)f(a)g(relo)q(cation)450 2202 y(instruction)g(set)e(and)h(turn)f(relo)q(cations)i(in)o(to)e(p)q(oin)o(ters) h(to)f(the)h(cor-)450 2251 y(rect)i(structure)g(on)g(input)h(-)f(but)g(it)g (w)o(ould)g(b)q(e)h(p)q(ossible)h(to)d(create)450 2301 y(eac)o(h)e(ho)o(wto)f (\014eld)j(on)e(demand.)0 2429 y Fr(2.7.0.2)30 b(relo)r(c)p 339 2429 19 3 v 21 w(ho)n(wto)p 522 2429 V 22 w(t)n(yp)r(e)300 2521 y Fm(The)d Fh(reloc_howto_type)14 b Fm(is)j(a)g(structure)f(whic)o(h)i (con)o(tains)f(all)h(the)f(infor-)300 2570 y(mation)e(that)g(bfd)g(needs)h (to)f(kno)o(w)f(to)h(tie)h(up)f(a)g(bac)o(k)g(end's)h(data.)390 2620 y Fh(typedef)23 b(CONST)g(struct)g(reloc_howto_struct)390 2670 y({)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g (t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 27 29 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(27)300 183 y Ff(The)18 b(t)o(yp)q(e)g(\014eld)h(has)f(mainly)g(a)g(do)q(cumetary)g(use)g(-)g(the)g (bac)o(k)f(end)i(can)f(to)300 233 y(what)f(it)g(w)o(an)o(ts)e(with)i(it,)g (though)f(the)h(normally)g(the)f(bac)o(k)h(end's)g(external)300 283 y(idea)f(of)24 b(what)15 b(a)g(relo)q(c)h(n)o(um)o(b)q(er)g(w)o(ould)g(b) q(e)g(w)o(ould)g(b)q(e)g(stored)f(in)h(this)g(\014eld.)300 333 y(F)l(or)f(example,)f(the)f(a)f(PC)g(relativ)o(e)h(w)o(ord)f(relo)q (cation)i(in)f(a)g(co\013)f(en)o(vironmen)o(t)300 382 y(w)o(ould)i(ha)o(v)o (e)d(the)h(t)o(yp)q(e)g(023)f(-)h(b)q(ecause)h(that's)e(what)g(the)h(outside) g(w)o(orld)g(calls)300 432 y(a)j(R)p 374 432 14 2 v 17 w(PCR)-5 b(W)o(ORD)15 b(relo)q(c.)438 482 y Fh(unsigned)22 b(int)i(type;)300 548 y Ff(The)d(v)m(alue)h(the)f(\014nal)h(relo)q(cation)f(is)g(shifted)h (righ)o(t)f(b)o(y)l(.)36 b(This)22 b(drops)g(un-)300 598 y(w)o(an)o(ted)15 b(data)f(from)h(the)g(relo)q(cation.)438 648 y Fh(unsigned)22 b(int)i(rightshift;)300 714 y Ff(The)17 b(size)g(of)f(the)h(item)g(to)f(b)q (e)h(relo)q(cated)g(-)g(0,)f(is)h(one)g(b)o(yte,)f(1)h(is)g(2)f(b)o(ytes,)g (3)300 764 y(is)g(four)f(b)o(ytes.)438 814 y Fh(unsigned)22 b(int)i(size;)300 880 y Ff(No)o(w)15 b(obsolete)438 929 y Fh(unsigned)22 b(int)i(bitsize;)300 996 y Ff(Notes)16 b(that)f(the)i(relo)q(cation)f(is)h (relativ)o(e)g(to)e(the)i(lo)q(cation)g(in)g(the)f(data)g(sec-)300 1045 y(tion)i(of)f(the)h(addend.)29 b(The)18 b(relo)q(cation)g(function)h (will)h(subtract)d(from)g(the)300 1095 y(relo)q(cation)f(v)m(alue)g(the)g (address)f(of)g(the)g(lo)q(cation)h(b)q(eing)g(relo)q(cated.)438 1145 y Fh(boolean)23 b(pc_relative;)300 1211 y Ff(No)o(w)15 b(obsolete)438 1261 y Fh(unsigned)22 b(int)i(bitpos;)300 1327 y Ff(No)o(w)15 b(obsolete)438 1377 y Fh(boolean)23 b(absolute;)300 1443 y Ff(Causes)10 b(the)h(relo)q(cation)h(routine)f(to)f(return)g(an)h (error)f(if)h(o)o(v)o(er\015o)o(w)e(is)k(detected)300 1493 y(when)j(relo)q(cating.)438 1543 y Fh(boolean)23 b(complain_on_overflow;)300 1609 y Ff(If)10 b(this)h(\014eld)h(is)e(non)h(n)o(ull,)h(then)f(the)f (supplied)j(function)e(is)f(called)i(rather)h(than)300 1658 y(the)k(normal)g(function.)27 b(This)17 b(allo)o(ws)h(really)g(strange)e (relo)q(cation)i(metho)q(ds)300 1708 y(to)d(b)q(e)g(accomo)q(dated)g(\(eg,)g (i960)g(callj)h(instructions\).)438 1758 y Fh(bfd_reloc_status_enum_ty)o(pe) 21 b(\(*special_function\)\(\);)300 1824 y Ff(The)15 b(textual)h(name)f(of)g (the)g(relo)q(cation)h(t)o(yp)q(e.)438 1874 y Fh(char)23 b(*name;)300 1940 y Ff(When)17 b(p)q(erforming)h(a)f(partial)g(link,)i(some)d(formats)g(m) o(ust)h(mo)q(dify)g(the)j(re-)300 1990 y(lo)q(cations)c(rather)f(than)g(the)g (data)f(-)i(this)f(\015ag)g(signals)h(this.)438 2040 y Fh(boolean)23 b(partial_inplace;)300 2106 y Ff(The)16 b(src)p 453 2106 V 16 w(mask)f(is)h(used)g(to)f(select)h(what)f(parts)g(of)g(the)g(read)g(in)i (data)d(are)i(to)300 2156 y(b)q(e)j(used)f(in)h(the)f(relo)q(cation)g(sum.)28 b(Eg,)18 b(if)h(this)f(w)o(as)f(an)h(8)f(bit)i(bit)f(of)g(data)300 2205 y(whic)o(h)i(w)o(e)e(read)h(and)g(relo)q(cated,)h(this)g(w)o(ould)f(b)q (e)g(0x000000\013.)29 b(When)19 b(w)o(e)300 2255 y(ha)o(v)o(e)d(relo)q(cs)e (whic)o(h)h(ha)o(v)o(e)e(an)g(addend,)i(suc)o(h)f(as)f(sun4)h(extended)h (relo)q(cs,)f(the)300 2305 y(v)m(alue)22 b(in)d(the)f(o\013set)f(part)g(of)h (a)g(relo)q(cating)g(\014eld)i(is)e(garbage)f(so)h(w)o(e)g(nev)o(er)300 2355 y(use)g(it.)i(In)c(this)g(case)f(the)g(mask)g(w)o(ould)g(b)q(e)h (0x00000000.)438 2405 y Fh(bfd_word)22 b(src_mask;)300 2471 y Ff(The)11 b(dst)p 453 2471 V 16 w(mask)f(is)h(what)f(parts)g(of)g(the)h (instruction)g(are)f(replaced)i(in)o(to)f(the)i(in-)300 2521 y(struction.)19 b(In)c(most)e(cases)g(src)p 846 2521 V 17 w(mask)g(==)h(dst)p 1124 2521 V 17 w(mask,)f(except)h(in)h(the)e(ab)q(o)o(v)o(e)300 2570 y(sp)q(ecial)25 b(case,)h(where)e(dst)p 780 2570 V 16 w(mask)f(w)o(ould)h(b)q(e)g(0x000000\013,)f(and)h(src)p 1534 2570 V 16 w(mask)300 2620 y(w)o(ould)17 b(b)q(e)f(0x00000000.)438 2670 y Fh(bfd_word)22 b(dst_mask;)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 28 30 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(28)300 183 y Ff(When)18 b(some)g(formats)e(create)i(PC)f(relativ)o(e)i(instructions,)g(they)f(lea)o (v)o(e)g(the)300 233 y(v)m(alue)g(of)f(the)g(p)q(c)g(of)g(the)g(place)g(b)q (eing)i(relo)q(cated)e(in)h(the)f(o\013set)f(slot)g(of)h(the)300 283 y(instruction,)22 b(so)e(that)g(a)g(PC)g(relativ)o(e)h(relo)q(cation)h (can)e(b)q(e)h(made)g(just)f(b)o(y)300 333 y(adding)15 b(in)f(an)g(ordinary)g (o\013set)f(\(eg)g(sun3)h(a.out\).)k(Some)c(formats)e(lea)o(v)o(e)i(the)300 382 y(displacemen)o(t)19 b(part)f(of)f(an)h(instruction)h(empt)o(y)f(\(eg)f (m88k)g(b)q(cs\),)i(this)f(\015ag)300 432 y(signals)e(the)f(fact.)438 482 y Fh(boolean)23 b(pcrel_offset;)390 532 y(})h(reloc_howto_type;)0 677 y Fr(2.7.0.3)30 b(HO)n(WTO)300 770 y Fm(The)15 b(HO)o(WTO)h(de\014ne)g (is)g(horrible)g(and)g(will)g(go)f(a)o(w)o(a)o(y)l(.)300 808 y Fg(\013)p 325 808 1326 2 v 1325 w(\010)p 300 1057 2 225 v 314 895 a Fh(#define)23 b(HOWTO\(C,)g(R,S,B,)g(P,)g(BI,)h(ABS,)f(O,)h(SF,)f (NAME,)g(INPLACE,)314 945 y(MASKSRC,)g(MASKDST,)g(PC\))g(\\)362 994 y({\(unsigned\)C,R,S,B,)e(P,)j(BI,)f(ABS,O,SF,NAME,INPLACE,MASKS)o (RC,MASKD)o(ST,PC})p 1988 1004 21 42 v 1677 1057 2 225 v 300 1082 a Fg(\012)p 325 1082 1326 2 v 1325 w(\011)0 1277 y Fr(2.7.0.4)30 b(relo)r(c)p 339 1277 19 3 v 21 w(c)n(hain)300 1336 y Fg(\013)p 325 1336 1326 2 v 1325 w(\010)p 300 1784 2 424 v 314 1422 a Fh(typedef)23 b(unsigned)g(char)g(bfd_byte;)314 1522 y(typedef)g(struct)g (relent_chain)f({)362 1572 y(arelent)h(relent;)362 1622 y(struct)71 b(relent_chain)22 b(*next;)314 1672 y(})i(arelent_chain;)p 1677 1784 V 300 1809 a Fg(\012)p 325 1809 1326 2 v 1325 w(\011)300 1923 y Fm(If)e(an)f(output)p 558 1923 14 2 v 16 w(bfd)h(is)g(supplied)i(to)d (this)h(function)g(the)f(generated)h(image)300 1973 y(will)16 b(b)q(e)e(relo)q(catable,)h(the)f(relo)q(cations)g(are)g(copied)h(to)e(the)h (output)g(\014le)h(after)300 2022 y(they)g(ha)o(v)o(e)f(b)q(een)i(c)o(hanged) f(to)g(re\015ect)g(the)g(new)g(state)f(of)g(the)h(w)o(orld.)20 b(There)300 2072 y(are)15 b(t)o(w)o(o)g(w)o(a)o(ys)f(of)h(re\015ecting)i(the) f(results)g(of)f(partial)h(link)m(age)h(in)g(an)e(output)300 2122 y(\014le;)22 b(b)o(y)d(mo)q(difying)h(the)g(output)f(data)f(in)i(place,) h(and)e(b)o(y)g(mo)q(difying)i(the)300 2172 y(relo)q(cation)h(record.)38 b(Some)21 b(nativ)o(e)g(formats)f(\(eg)h(basic)h(a.out)e(and)h(basic)300 2222 y(co\013)t(\))14 b(ha)o(v)o(e)h(no)g(w)o(a)o(y)f(of)h(sp)q(ecifying)i (an)f(addend)g(in)g(the)f(relo)q(cation)h(t)o(yp)q(e,)f(so)300 2271 y(the)f(addend)h(has)e(to)g(go)h(in)g(the)g(output)g(data.)19 b(This)14 b(is)g(no)g(big)h(deal)f(since)h(in)300 2321 y(these)g(formats)e (the)i(output)f(data)g(slot)g(will)j(alw)o(a)o(ys)d(b)q(e)h(big)g(enough)g (for)f(the)300 2371 y(addend.)30 b(Complex)19 b(relo)q(c)g(t)o(yp)q(es)f (with)g(addends)h(w)o(ere)f(in)o(v)o(en)o(ted)h(to)f(solv)o(e)300 2421 y(just)d(this)h(problem.)390 2471 y Fh(PROTO\(bfd_reloc_status_enu)o (m_type,)772 2521 y(bfd_perform_relocation,)963 2570 y(\(bfd)23 b(*)h(abfd,)963 2620 y(arelent)f(*reloc_entry,)963 2670 y(PTR)g(data,)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 29 31 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(29)963 183 y Fh(asection)22 b(*input_section,)963 233 y(bfd)h(*output_bfd\)\);)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 30 32 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(30)0 183 y Fn(2.8)33 b(Core)21 b(\014les)300 275 y Fm(Bu\013)15 b(output)g(this)h(facinating)g (topic)0 407 y Fr(2.8.0.1)30 b(bfd)p 296 407 19 3 v 22 w(core)p 429 407 V 22 w(\014le)p 530 407 V 22 w(failing)p 717 407 V 21 w(command)300 499 y Fm(Returns)22 b(a)g(read-only)h(string)e(explaining)k (what)c(program)g(w)o(as)g(running)300 549 y(when)16 b(it)f(failed)i(and)e (pro)q(duced)h(the)g(core)f(\014le)h(b)q(eing)g(read)390 598 y Fh(PROTO\(CONST)22 b(char)i(*,)f(bfd_core_file_failing_comman)o(d,)390 648 y(\(bfd)g(*\)\);)0 781 y Fr(2.8.0.2)30 b(bfd)p 296 781 V 22 w(core)p 429 781 V 22 w(\014le)p 530 781 V 22 w(failing)p 717 781 V 21 w(signal)300 872 y Fm(Returns)17 b(the)f(signal)h(n)o(um)o(b)q (er)g(whic)o(h)g(caused)g(the)f(core)h(dump)g(whic)o(h)g(gen-)300 922 y(erated)e(the)g(\014le)i(the)e(bfd)g(is)h(attatc)o(hed)e(to.)390 972 y Fh(PROTO\(int,)22 b(bfd_core_file_failing_signal,)e(\(bfd)k(*\)\);)0 1105 y Fr(2.8.0.3)30 b(core)p 320 1105 V 22 w(\014le)p 421 1105 V 22 w(matc)n(hes)p 659 1105 V 23 w(executable)p 964 1105 V 22 w(p)300 1196 y Fm(Returns)15 b Fh(true)g Fm(if)g(the)g(core)g(\014le)h (attatc)o(hed)e(to)h Ff(core)p 1214 1196 14 2 v 16 w(bfd)i Fm(w)o(as)d(generated)h(b)o(y)300 1246 y(a)g(run)g(of)g(the)g(executable)i (\014le)f(attatc)o(hed)e(to)h Ff(exec)p 1194 1246 V 17 w(bfd)p Fm(,)g(or)g(else)h Fh(false)p Fm(.)390 1296 y Fh(PROTO\(boolean,)22 b(core_file_matches_executab)o(le_p,)485 1346 y(\(bfd)i(*core_bfd,)e(bfd)i (*exec_bfd\)\);)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 31 33 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(31)0 183 y Fn(2.9)33 b(T)-6 b(argets)300 276 y Fm(Eac)o(h)17 b(p)q(ort)g(of)g(BFD)g(to)f(a)h (di\013eren)o(t)h(mac)o(hine)g(requries)g(the)f(creation)g(of)g(a)300 325 y(target)11 b(bac)o(k)g(end.)20 b(All)13 b(the)f(bac)o(k)g(end)g(pro)o (vides)h(to)e(the)h(ro)q(ot)f(part)g(of)h(bfd)g(is)g(a)300 375 y(structure)h(con)o(taining)i(p)q(oin)o(ters)f(to)f(functions)h(whic)o(h) h(p)q(erform)e(certain)h(lo)o(w)300 425 y(lev)o(el)k(op)q(erations)e(on)g (\014les.)25 b(BFD)15 b(translates)h(the)h(applications's)g(requests)300 475 y(through)e(a)g(p)q(oin)o(ter)g(in)o(to)h(calls)g(to)e(the)i(bac)o(k)f (end)h(routines.)300 538 y(When)e(a)g(\014le)h(is)f(op)q(ened)h(with)f Fh(bfd_openr)p Fm(,)f(its)h(format)e(and)i(target)f(are)g(un-)300 588 y(kno)o(wn.)19 b(BFD)12 b(uses)i(v)m(arious)f(mec)o(hanisms)h(to)e (determine)i(ho)o(w)e(to)h(in)o(terpret)300 638 y(the)i(\014le.)21 b(The)16 b(op)q(eratios)f(p)q(erformed)g(are:)337 701 y Fq(\017)30 b Fm(First)17 b(a)g(bfd)h(is)g(created)g(b)o(y)f(calling)i(the)f(in)o(ternal) g(routine)32 b Fh(new_bfd)p Fm(,)390 751 y(then)15 b Fh(bfd_find_target)f Fm(is)h(called)i(with)e(the)h(target)d(string)j(supplied)390 800 y(to)f Fh(bfd_openr)e Fm(and)j(the)f(new)h(bfd)f(p)q(oin)o(ter.)337 864 y Fq(\017)30 b Fm(If)21 b(a)f(n)o(ull)h(target)e(string)i(w)o(as)e(pro)o (vided)i(to)51 b Fh(bfd_find_target)p Fm(,)19 b(it)390 914 y(lo)q(oks)d(up)h(the)f(en)o(vironmen)o(t)g(v)m(ariable)23 b Fh(GNUTARGET)15 b Fm(and)i(uses)f(that)f(as)390 963 y(the)g(target)f (string.)337 1027 y Fq(\017)30 b Fm(If)12 b(the)h(target)e(string)h(is)g (still)i(NULL,)f(or)e(the)i(target)e(string)h(is)g Fh(default)p Fm(,)390 1076 y(then)h(the)f(\014rst)g(item)g(in)h(the)g(target)e(v)o(ector)g (is)i(used)g(as)f(the)g(target)f(t)o(yp)q(e.)390 1126 y(See)16 b Fq(h)p Fm(unde\014ned)p Fq(i)g Fm([targets],)d(page)i Fq(h)p Fm(unde\014ned)p Fq(i)p Fm(.)337 1189 y Fq(\017)30 b Fm(Otherwise,)19 b(the)e(elemen)o(ts)h(in)h(the)e(target)g(v)o(ector)f(are)h(insp)q(ected)j (one)390 1239 y(b)o(y)f(one,)h(un)o(til)g(a)f(matc)o(h)f(on)h(target)f(name)h (is)h(found.)32 b(When)19 b(found,)390 1289 y(that)14 b(is)i(used.)337 1352 y Fq(\017)30 b Fm(Otherwise)15 b(the)f(error)g Fh(invalid_target)e Fm(is)j(returned)f(to)g Fh(bfd_openr)p Fm(.)337 1415 y Fq(\017)30 b Fh(bfd_openr)13 b Fm(attempts)g(to)g(op)q(en)i(the)f(\014le)h(using)g Fh(bfd_open_file)p Fm(,)d(and)390 1465 y(returns)j(the)g(bfd.)300 1528 y(Once)e(the)g(bfd)f(has)g(b)q(een)i(op)q(ened)f(and)g(the)f(target)f (selected,)j(the)e(\014le)h(format)300 1578 y(ma)o(y)j(b)q(e)h(determined.)26 b(This)17 b(is)g(done)g(b)o(y)g(calling)27 b Fh(bfd_check_format)14 b Fm(on)300 1628 y(the)f(bfd)h(with)g(a)f(suggested)g(format.)18 b(The)13 b(routine)h(returns)f Fh(true)g Fm(when)h(the)300 1678 y(application)j(guesses)e(righ)o(t.)0 1819 y Fr(2.9.0.1)30 b(bfd)p 296 1819 19 3 v 22 w(target)0 1990 y(2.9.1)g(bfd)p 248 1990 V 22 w(target)300 2082 y Fm(This)16 b(structure)f(con)o(tains)h(ev)o (erything)g(that)f(BFD)g(kno)o(ws)g(ab)q(out)g(a)h(target.)300 2132 y(It)g(includes)i(things)f(lik)o(e)g(its)f(b)o(yte)f(order,)h(name,)g (what)f(routines)h(to)g(call)h(to)300 2181 y(do)e(v)m(arious)h(op)q (erations,)f(etc.)300 2245 y(Ev)o(ery)g(BFD)g(p)q(oin)o(ts)g(to)g(a)g(target) f(structure)h(with)g(its)g Fh(")p Fm(xv)o(ec)p Fh(")g Fm(mem)o(b)q(er.)300 2308 y(Shortcut)f(for)g(declaring)h(\014elds)h(whic)o(h)f(are)f(protot)o(yp)q (ed)g(function)h(p)q(oin)o(ters,)300 2358 y(while)i(a)o(v)o(oiding)e(anguish) h(on)f(compilers)i(that)d(don't)h(supp)q(ort)g(protos.)390 2408 y Fh(#define)23 b(SDEF\(ret,)g(name,)g(arglist\))f(\\)772 2457 y(PROTO\(ret,\(*name\),arglist)o(\))390 2507 y(#define)h(SDEF_FMT\(ret,) f(name,)h(arglist\))g(\\)772 2557 y(PROTO\(ret,\(*name[bfd_type)o(_end]\),)o (arglist)o(\))p 2026 2567 21 42 v 300 2620 a Fm(These)34 b(macros)e(are)h (used)g(to)g(dispatc)o(h)h(to)e(functions)i(through)f(the)300 2670 y(bfd)p 367 2670 14 2 v 17 w(target)21 b(v)o(ector.)40 b(They)22 b(are)g(used)h(in)g(a)f(n)o(um)o(b)q(er)g(of)g(macros)f(further)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 32 34 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(32)300 183 y Fm(do)o(wn)19 b(in)h(bfd.h,)h(and)e(are)g(also)g(used)h(when)g(calling)h(v)m(arious)f (routines)g(b)o(y)300 233 y(hand)e(inside)i(the)e(bfd)g(implemen)o(tation.)29 b(The)18 b Fh(")p Fm(arglist)p Fh(")g Fm(argumen)o(t)f(m)o(ust)300 283 y(b)q(e)12 b(paren)o(thesized;)i(it)e(con)o(tains)g(all)h(the)e(argumen)o (ts)g(to)g(the)h(called)h(function.)390 333 y Fh(#define)23 b(BFD_SEND\(bfd,)f(message,)h(arglist\))g(\\)748 382 y (\(\(*\(\(bfd\)->xvec->message\)\))d(arglist\))300 447 y Fm(F)l(or)15 b(op)q(erations)g(whic)o(h)h(index)g(on)g(the)f(bfd)g(format)390 497 y Fh(#define)23 b(BFD_SEND_FMT\(bfd,)e(message,)i(arglist\))g(\\)676 547 y(\(\(\(bfd\)->xvec->message[\(int\)\()o(\(bfd\)->)o(format\))o(]\))p 2050 557 21 42 v 390 597 a(arglist\))300 662 y Fm(This)15 b(is)f(the)h (struct)e(whic)o(h)i(de\014nes)g(the)g(t)o(yp)q(e)f(of)g(BFD)f(this)i(is.)20 b(The)14 b Fh(")p Fm(xv)o(ec)p Fh(")300 711 y Fm(mem)o(b)q(er)f(of)f(the)h (struct)g(bfd)g(itself)h(p)q(oin)o(ts)f(here.)19 b(Eac)o(h)13 b(mo)q(dule)h(that)e(imple-)300 761 y(men)o(ts)j(access)g(to)g(a)g (di\013eren)o(t)g(target)f(under)i(BFD,)e(de\014nes)j(one)e(of)g(these.)300 826 y(FIXME,)i(these)h(names)g(should)h(b)q(e)f(rationalised)h(with)g(the)f (names)f(of)h(the)300 876 y(en)o(try)e(p)q(oin)o(ts)i(whic)o(h)f(call)h (them.)25 b(T)l(o)q(o)16 b(bad)h(w)o(e)g(can't)f(ha)o(v)o(e)h(one)g(macro)f (to)300 926 y(de\014ne)g(them)f(b)q(oth!)390 976 y Fh(typedef)23 b(struct)g(bfd_target)390 1025 y({)300 1090 y Ff(iden)o(ti\014es)17 b(the)e(kind)h(of)f(target,)f(eg)h(SunOS4,)h(Ultrix,)f(etc)438 1140 y Fh(char)23 b(*name;)300 1205 y Ff(The)11 b Fh(")p Ff(\015a)o(v)o(our)p Fh(")g Ff(of)f(a)h(bac)o(k)g(end)h(is)g(a)f(general)g(indication)i(ab)q(out)e (the)h(con)o(ten)o(ts)300 1255 y(of)j(a)g(\014le.)438 1304 y Fh(enum)23 b(target_flavour_enum)e({)485 1354 y (bfd_target_aout_flavour_enum,)485 1404 y(bfd_target_coff_flavour_enum,)485 1454 y(bfd_target_ieee_flavour_enum,)485 1504 y (bfd_target_oasys_flavour_enum)o(,)485 1554 y(bfd_target_srec_flavour_enum})f (flavour;)300 1618 y Ff(The)15 b(order)g(of)g(b)o(ytes)g(within)h(the)g(data) e(area)h(of)g(a)g(\014le.)438 1668 y Fh(boolean)23 b(byteorder_big_p;)300 1733 y Ff(The)15 b(order)g(of)g(b)o(ytes)g(within)h(the)g(header)f(parts)g (of)g(a)g(\014le.)438 1783 y Fh(boolean)23 b(header_byteorder_big_p;)300 1848 y Ff(This)c(is)f(a)g(mask)g(of)g(all)h(the)f(\015ags)g(whic)o(h)h(an)f (executable)i(ma)o(y)d(ha)o(v)o(e)h(set)g(-)300 1897 y(from)c(the)i(set)f Fh(NO_FLAGS)p Ff(,)e Fh(HAS_RELOC)p Ff(,)h(...)p Fh(D_PAGED)p Ff(.)438 1947 y Fh(flagword)22 b(object_flags;)300 2012 y Ff(This)c(is)g(a)f (mask)f(of)h(all)i(the)e(\015ags)g(whic)o(h)h(a)f(section)h(ma)o(y)e(ha)o(v)o (e)h(set)g(-)h(from)300 2062 y(the)d(set)g Fh(SEC_NO_FLAGS)p Ff(,)e Fh(SEC_ALLOC)p Ff(,)h(...)p Fh(SET_NEVER_LOAD)p Ff(.)438 2112 y Fh(flagword)22 b(section_flags;)300 2177 y Ff(The)15 b(pad)h(c)o(haracter)e(for)h(\014lenames)h(within)h(an)e(arc)o(hiv)o(e)g (header.)438 2226 y Fh(char)23 b(ar_pad_char;)300 2291 y Ff(The)15 b(maxim)o(um)h(n)o(um)o(b)q(er)f(of)g(c)o(haracters)f(in)i(an)f(arc)o(hiv)o (e)h(header.)414 2341 y Fh(unsigned)23 b(short)g(ar_max_namelen;)300 2406 y Ff(The)15 b(minim)o(um)i(alignmen)o(t)f(restriction)f(for)g(an)o(y)g (section.)438 2456 y Fh(unsigned)22 b(int)i(align_power_min;)300 2521 y Ff(En)o(tries)16 b(for)f(b)o(yte)h(sw)o(apping)g(for)g(data.)21 b(These)16 b(are)g(di\013eren)o(t)g(to)f(the)h(other)300 2570 y(en)o(try)j(p)q(oin)o(ts,)i(since)g(they)e(don't)g(tak)o(e)g(bfd)h(as)f (\014rst)g(arg.)33 b(Certain)19 b(other)300 2620 y(handlers)f(could)e(do)f (the)h(same.)438 2670 y Fh(SDEF)23 b(\(bfd_vma,)142 b(bfd_getx64,)22 b(\(bfd_byte)h(*\)\);)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 33 35 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(33)438 183 y Fh(SDEF)23 b(\(void,)214 b(bfd_putx64,)22 b(\(bfd_vma,)h(bfd_byte)390 233 y(*\)\);)438 283 y(SDEF)g(\(bfd_vma,)g(bfd_getx32,)f(\(bfd_byte)h(*\)\);) 438 333 y(SDEF)g(\(void,)214 b(bfd_putx32,)22 b(\(bfd_vma,)h(bfd_byte)390 382 y(*\)\);)438 432 y(SDEF)g(\(bfd_vma,)g(bfd_getx16,)f(\(bfd_byte)h(*\)\);) 438 482 y(SDEF)g(\(void,)214 b(bfd_putx16,)22 b(\(bfd_vma,)h(bfd_byte)390 532 y(*\)\);)300 600 y Ff(Byte)15 b(sw)o(apping)h(for)e(the)i(headers)438 650 y Fh(SDEF)23 b(\(bfd_vma,)70 b(bfd_h_getx64,)22 b(\(bfd_byte)h(*\)\);)438 700 y(SDEF)g(\(void,)238 b(bfd_h_putx64,)22 b(\(bfd_vma,)h(bfd_byte)p 2002 710 21 42 v 390 749 a(*\)\);)438 799 y(SDEF)g(\(bfd_vma,)47 b(bfd_h_getx32,)22 b(\(bfd_byte)g(*\)\);)438 849 y(SDEF)h(\(void,)238 b(bfd_h_putx32,)22 b(\(bfd_vma,)h(bfd_byte)p 2002 859 V 390 899 a(*\)\);)438 949 y(SDEF)g(\(bfd_vma,)47 b(bfd_h_getx16,)22 b(\(bfd_byte)g(*\)\);)438 998 y(SDEF)h(\(void,)238 b(bfd_h_putx16,)22 b(\(bfd_vma,)h(bfd_byte)p 2002 1009 V 390 1048 a(*\)\);)300 1116 y Ff(F)l(ormat)17 b(dep)q(enden)o(t)i(routines,)g(these)g(turn)f(in)o (to)g(v)o(ectors)f(of)h(en)o(try)g(p)q(oin)o(ts)300 1166 y(within)e(the)g (target)e(v)o(ector)g(structure;)h(one)g(for)g(eac)o(h)g(format)f(to)g(c)o (hec)o(k.)300 1234 y(Chec)o(k)h(the)h(format)e(of)g(a)h(\014le)h(b)q(eing)h (read.)j(Return)15 b(bfd)p 1288 1234 14 2 v 17 w(target)f(*)h(or)g(zero.)438 1284 y Fh(SDEF_FMT)22 b(\(struct)h(bfd_target)g(*,)g(_bfd_check_format,)390 1334 y(\(bfd)g(*\)\);)300 1402 y Ff(Set)15 b(the)h(format)d(of)i(a)g(\014le)h (b)q(eing)h(written.)438 1452 y Fh(SDEF_FMT)22 b(\(boolean,)286 b(_bfd_set_format,)21 b(\(bfd)390 1501 y(*\)\);)300 1569 y Ff(W)l(rite)15 b(cac)o(hed)h(information)f(in)o(to)h(a)f(\014le)h(b)q(eing)g (written,)f(at)g(bfd)p 1441 1569 V 16 w(close.)438 1619 y Fh(SDEF_FMT)22 b(\(boolean,)286 b(_bfd_write_contents,)390 1669 y(\(bfd)23 b(*\)\);)300 1737 y Ff(The)15 b(follo)o(wing)g(functions)g(are)f(de\014ned)h (in)g Fh(JUMP_TABLE)p Ff(.)j(The)d(idea)g(is)i(that)300 1787 y(the)e(bac)o(k)h(end)g(writer)f(of)h Fh(foo)f Ff(names)g(all)h(the)g (routines)i Fh(foo_)p Ff(en)o(try)p 1506 1787 V 16 w(p)q(oin)o(t,)300 1837 y Fh(JUMP_TABLE)12 b Ff(will)j(built)g(the)f(en)o(tries)i(in)e(this)g (structure)f(in)i(the)e(righ)o(t)h(order.)300 1905 y(Core)h(\014le)h(en)o (try)f(p)q(oin)o(ts)438 1954 y Fh(SDEF)23 b(\(char)g(*,)h (_core_file_failing_comman)o(d,)d(\(bfd)i(*\)\);)438 2004 y(SDEF)g(\(int,)95 b(_core_file_failing_signal)o(,)21 b(\(bfd)i(*\)\);)438 2054 y(SDEF)g(\(boolean,)g(_core_file_matches_execu)o(table_p)o(,)e(\(bfd)390 2104 y(*,)j(bfd)f(*\)\);)300 2172 y Ff(Arc)o(hiv)o(e)16 b(en)o(try)f(p)q(oin) o(ts)414 2222 y Fh(SDEF)23 b(\(boolean,)g(_bfd_slurp_armap,)e(\(bfd)j(*\)\);) 414 2271 y(SDEF)f(\(boolean,)g(_bfd_slurp_extended_name_)o(table,)d(\(bfd)390 2321 y(*\)\);)414 2371 y(SDEF)j(\(void,)71 b(_bfd_truncate_arname,)21 b(\(bfd)i(*,)h(CONST)390 2421 y(char)f(*,)h(char)f(*\)\);)414 2471 y(SDEF)g(\(boolean,)g(write_armap,)f(\(bfd)h(*arch,)1106 2521 y(unsigned)g(int)g(elength,)1106 2570 y(struct)g(orl)g(*map,)1106 2620 y(int)g(orl_count,)1106 2670 y(int)g(stridx\)\);)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 34 36 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(34)300 183 y Ff(Standard)i (stu\013.)438 233 y Fh(SDEF)23 b(\(boolean,)g(_close_and_cleanup,)e(\(bfd)i (*\)\);)438 283 y(SDEF)g(\(boolean,)g(_bfd_set_section_content)o(s,)e(\(bfd)i (*,)390 333 y(sec_ptr,)g(PTR,)1440 382 y(file_ptr,)390 432 y(bfd_size_type\)\);)438 482 y(SDEF)g(\(boolean,)g(_bfd_get_section_content)o (s,)e(\(bfd)i(*,)390 532 y(sec_ptr,)g(PTR,)1440 582 y(file_ptr,)390 632 y(bfd_size_type\)\);)438 681 y(SDEF)g(\(boolean,)g(_new_section_hook,)e (\(bfd)i(*,)h(sec_ptr\)\);)300 777 y Ff(Sym)o(b)q(ols)16 b(and)f(relo)q (ctions)414 827 y Fh(SDEF)23 b(\(unsigned)g(int,)g(_get_symtab_upper_bound,)e (\(bfd)390 877 y(*\)\);)438 927 y(SDEF)i(\(unsigned)g(int,)g (_bfd_canonicalize_symtab,)652 976 y(\(bfd)h(*,)f(struct)g (symbol_cache_entry)f(**\)\);)438 1026 y(SDEF)h(\(unsigned)g(int,)g (_get_reloc_upper_bound,)e(\(bfd)390 1076 y(*,)j(sec_ptr\)\);)438 1126 y(SDEF)f(\(unsigned)g(int,)g(_bfd_canonicalize_reloc,)e(\(bfd)390 1176 y(*,)j(sec_ptr,)e(arelent)h(**,)1512 1225 y(struct)390 1275 y(symbol_cache_entry**\)\);)438 1325 y(SDEF)g(\(struct)g (symbol_cache_entry)45 b(*,)24 b(_bfd_make_empty_symbol,)p 2146 1335 21 42 v 390 1375 a(\(bfd)f(*\)\);)438 1425 y(SDEF)g(\(void,)119 b(_bfd_print_symbol,)21 b(\(bfd)i(*,)h(PTR,)f(struct)p 2026 1435 V 390 1474 a(symbol_cache_entry)45 b(*,)1297 1524 y (bfd_print_symbol_enum_typ)o(e\)\);)p 2289 1534 V 390 1574 a(#define)23 b(bfd_print_symbol\(b,p,s,e\))d(BFD_SEND\(b,)j (_bfd_print_symbol,)p 2217 1584 V 390 1624 a(\(b,p,s,e\)\))438 1674 y(SDEF)g(\(alent)g(*,)71 b(_get_lineno,)23 b(\(bfd)g(*,)h(struct)f(sym-) 390 1724 y(bol_cache_entry)46 b(*\)\);)438 1823 y(SDEF)23 b(\(boolean,)70 b(_bfd_set_arch_mach,)22 b(\(bfd)h(*,)h(enum)390 1873 y(bfd_architecture,) 1321 1923 y(unsigned)e(long\)\);)p 2002 1933 V 438 2022 a(SDEF)h(\(bfd)g(*,) 48 b(openr_next_archived_file,)20 b(\(bfd)k(*arch,)390 2072 y(bfd)f(*prev\)\);)438 2122 y(SDEF)g(\(boolean,)g(_bfd_find_nearest_line,)581 2172 y(\(bfd)g(*abfd,)g(struct)g(sec)48 b(*section,)605 2222 y(struct)23 b(symbol_cache_entry)45 b(**symbols,bfd_vma)390 2271 y(offset,)581 2321 y(CONST)23 b(char)g(**file,)g(CONST)g(char)h(**func,) f(unsigned)390 2371 y(int)g(*line\)\);)438 2421 y(SDEF)g(\(int,)95 b(_bfd_stat_arch_elt,)21 b(\(bfd)i(*,)h(struct)390 2471 y(stat)f(*\)\);)438 2570 y(SDEF)g(\(int,)95 b(_bfd_sizeof_headers,)21 b(\(bfd)i(*,)h (boolean\)\);)p 2002 2576 21 38 v 438 2670 a(SDEF)f(\(void,)g (_bfd_debug_info_start,)e(\(bfd)i(*\)\);)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s) 36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 35 37 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(35)438 183 y Fh(SDEF)23 b(\(void,)g(_bfd_debug_info_end,)e(\(bfd)j(*\)\);)438 233 y(SDEF)f(\(void,)g (_bfd_debug_info_accumulate,)d(\(bfd)k(*,)f(struct)p 2026 243 21 42 v 390 283 a(sec)47 b(*\)\);)300 345 y Ff(Sp)q(ecial)17 b(en)o(try)e(p)q(oin)o(ts)h(for)e(gdb)i(to)e(sw)o(ap)h(in)h(co\013)e(sym)o(b) q(ol)i(table)g(parts)438 395 y Fh(SDEF\(void,)22 b(_bfd_coff_swap_aux_in,\() 557 445 y(bfd)286 b(*abfd)23 b(,)557 495 y(PTR)310 b(ext,)557 544 y(int)g(type,)557 594 y(int)g(class)23 b(,)557 644 y(PTR)310 b(in\)\);)438 744 y(SDEF\(void,)22 b(_bfd_coff_swap_sym_in,\()557 793 y(bfd)286 b(*abfd)23 b(,)557 843 y(PTR)310 b(ext,)557 893 y(PTR)g(in\)\);)438 993 y(SDEF\(void,)22 b(_bfd_coff_swap_lineno_in,)45 b(\()557 1043 y(bfd)286 b(*abfd,)557 1092 y(PTR)g(ext,)557 1142 y(PTR)310 b(in\)\);)390 1242 y(})24 b(bfd_target;)0 1375 y Fr(2.9.1.1)30 b(bfd)p 296 1375 19 3 v 22 w(\014nd)p 420 1375 V 22 w(target)300 1466 y Fm(Returns)15 b(a)f(p)q(oin)o(ter)h(to)f(the)h (transfer)f(v)o(ector)g(for)g(the)g(ob)s(ject)g(target)g(named)300 1516 y(target)p 423 1516 14 2 v 15 w(name.)26 b(If)18 b(target)p 751 1516 V 15 w(name)f(is)h(NULL,)g(c)o(ho)q(oses)f(the)g(one)h(in)g(the)f (en)o(vi-)300 1566 y(ronmen)o(t)f(v)m(ariable)i(GNUT)l(AR)o(GET;)e(if)h(that) g(is)g(n)o(ull)h(or)e(not)h(de\014ned)h(then)300 1615 y(the)d(\014rst)g(en)o (try)g(in)h(the)f(target)f(list)i(is)g(c)o(hosen.)k(P)o(assing)15 b(in)h(the)f(string)h Fh(")p Fm(de-)300 1665 y(fault)p Fh(")d Fm(or)f(setting)h(the)g(en)o(vironmen)o(t)g(v)m(ariable)i(to)d Fh(")p Fm(default)p Fh(")h Fm(will)i(cause)e(the)300 1715 y(\014rst)k(en)o (try)h(in)h(the)f(target)e(list)j(to)e(b)q(e)h(returned,)h(and)f Fh(")p Fm(target)p 1431 1715 V 15 w(defaulted)p Fh(")300 1765 y Fm(will)f(b)q(e)g(set)e(in)i(the)e(bfd.)22 b(This)16 b(causes)g(bfd)p 1062 1765 V 17 w(c)o(hec)o(k)p 1186 1765 V 17 w(format)e(to)h(lo)q(op)h(o)o (v)o(er)f(all)300 1815 y(the)g(targets)f(to)h(\014nd)h(the)f(one)g(that)g (matc)o(hes)g(the)g(\014le)h(b)q(eing)g(read.)390 1864 y Fh (PROTO\(bfd_target)22 b(*,)h(bfd_find_target,\(CONST)e(char)i(*,)390 1914 y(bfd)g(*\)\);)0 2047 y Fr(2.9.1.2)30 b(bfd)p 296 2047 19 3 v 22 w(target)p 480 2047 V 21 w(list)300 2138 y Fm(This)15 b(function)f(returns)g(a)g(freshly)g(mallo)q(ced)i(NULL-terminated)f(v)o (ector)e(of)300 2188 y(the)i(names)g(of)g(all)h(the)g(v)m(alid)g(bfd)g (targets.)j(Do)14 b(not)h(mo)q(dify)h(the)f(names)390 2238 y Fh(PROTO\(CONST)22 b(char)i(**,bfd_target_list,\(\)\);)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 36 38 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(36)0 183 y Fn(2.10)32 b(Arc)n(hitectures)300 436 y Fm(BFD's)15 b(idea)i(of)f(an)g(arc)o(hitecture)h (is)f(implimen)o(ted)j(in)k Fh(archures.c)p Fm(.)e(BFD)300 486 y(k)o(eeps)h(t)o(w)o(o)f(atoms)g(in)i(a)e(bfd)i(describing)h(the)e(arc)o (hitecture)g(of)g(the)g(data)300 535 y(attatc)o(hed)c(to)h(the)g(bfd,)h(the) 43 b Fh(enum)15 b(bfd_architecture)e(arch)18 b Fm(\014eld)j(and)300 585 y(the)15 b Fh(unsigned)f(long)h(machine)f Fm(\014eld.)0 2168 y Fr(2.10.0.1)29 b(bfd)p 326 2168 19 3 v 22 w(arc)n(hitecture)300 2421 y Fm(This)14 b(en)o(um)f(giv)o(es)g(the)g(ob)s(ject)g(\014le's)g(CPU)g (arc)o(hitecture,)h(in)f(a)g(global)h(sense.)300 2471 y(E.g.)40 b(what)21 b(pro)q(cessor)h(family)g(do)q(es)h(it)f(b)q(elong)h(to?)41 b(There)22 b(is)g(another)300 2521 y(\014eld,)14 b(whic)o(h)g(indicates)g (what)e(pro)q(cessor)g(within)i(the)f(family)h(is)f(in)g(use.)20 b(The)300 2570 y(mac)o(hine)d(giv)o(es)e(a)h(n)o(um)o(b)q(er)g(whic)o(h)g (distingushes)i(di\013eren)o(t)e(v)o(ersions)g(of)f(the)300 2620 y(arc)o(hitecture,)j(con)o(taining)g(for)f(example)h(2)f(and)g(3)g(for)g (In)o(tel)h(i960)f(KA)h(and)300 2670 y(i960)d(KB,)g(and)h(68020)d(and)j (68030)e(for)g(Motorola)g(68020)g(and)h(68030.)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 37 39 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(37)300 26 y Fg(\013)p 325 26 1326 2 v 1325 w(\010)p 300 1968 2 1918 v 314 112 a Fh(enum)23 b(bfd_architecture)314 162 y({)362 212 y(bfd_arch_unknown,)69 b(/*)24 b(File)f(arch)g(not)h(known)f(*/)362 262 y(bfd_arch_obscure,)69 b(/*)24 b(Arch)f(known,)g(not)h(one)f(of)h(these)f(*/)362 311 y(bfd_arch_m68k,)141 b(/*)24 b(Motorola)e(68xxx)i(*/)362 361 y(bfd_arch_vax,)165 b(/*)24 b(DEC)f(Vax)h(*/)362 411 y(bfd_arch_i960,)141 b(/*)24 b(Intel)f(960)g(*/)410 461 y(/*)g(The)h(order)f(of)g(the)h(following) e(is)i(important.)481 511 y(lower)f(number)g(indicates)g(a)h(machine)f(type)g (that)481 560 y(only)g(accepts)g(a)h(subset)f(of)h(the)f(instructions)481 610 y(available)g(to)g(machines)g(with)g(higher)h(numbers.)481 660 y(The)g(exception)e(is)i(the)f("ca",)g(which)h(is)481 710 y(incompatible)e(with)i(all)f(other)g(machines)g(except)481 760 y("core".)g(*/)314 859 y(#define)g(bfd_mach_i960_core)141 b(1)314 909 y(#define)23 b(bfd_mach_i960_ka_sa)117 b(2)314 959 y(#define)23 b(bfd_mach_i960_kb_sb)117 b(3)314 1009 y(#define)23 b(bfd_mach_i960_mc)189 b(4)314 1059 y(#define)23 b(bfd_mach_i960_xa)189 b(5)314 1108 y(#define)23 b(bfd_mach_i960_ca)189 b(6)362 1208 y(bfd_arch_a29k,)141 b(/*)24 b(AMD)f(29000)g(*/)362 1258 y(bfd_arch_sparc,) 117 b(/*)24 b(SPARC)f(*/)362 1308 y(bfd_arch_mips,)141 b(/*)24 b(MIPS)f(Rxxxx)g(*/)362 1357 y(bfd_arch_i386,)141 b(/*)24 b(Intel)f(386)g(*/) 362 1407 y(bfd_arch_ns32k,)117 b(/*)24 b(National)e(Semiconductor)h(32xxx)g (*/)362 1457 y(bfd_arch_tahoe,)117 b(/*)24 b(CCI/Harris)e(Tahoe)h(*/)362 1507 y(bfd_arch_i860,)141 b(/*)24 b(Intel)f(860)g(*/)362 1557 y(bfd_arch_romp,)141 b(/*)24 b(IBM)f(ROMP)g(RS/6000)g(*/)362 1606 y(bfd_arch_alliant,)69 b(/*)24 b(Alliant)f(*/)362 1656 y(bfd_arch_convex,)93 b(/*)24 b(Convex)f(*/)362 1706 y(bfd_arch_m88k,)141 b(/*)24 b(Motorola)e(88xxx)i(*/)362 1756 y(bfd_arch_pyramid,)69 b(/*)24 b(Pyramid)f(Technology)f(*/)362 1806 y(bfd_arch_h8_300,)93 b(/*)24 b(Hitachi)f(H8/300)g(*/)362 1856 y(bfd_arch_last)362 1905 y(};)p 1677 1968 V 300 1993 a Fg(\012)p 325 1993 1326 2 v 1325 w(\011)300 2118 y Fm(stu\013)0 2367 y Fr(2.10.0.2)29 b(bfd)p 326 2367 19 3 v 22 w(prinable)p 567 2367 V 23 w(arc)n(h)p 704 2367 V 22 w(mac)n(h)300 2471 y Fm(Return)d(a)g(prin)o(table)h(string)e (represen)o(ting)i(the)e(arc)o(hitecture)h(and)g(ma-)300 2521 y(c)o(hine)34 b(t)o(yp)q(e.)71 b(The)33 b(result)g(is)g(only)g(go)q(o)q(d)f (un)o(til)i(the)e(next)h(call)h(to)300 2570 y(bfd)p 367 2570 14 2 v 17 w(prin)o(table)p 561 2570 V 17 w(arc)o(h)p 663 2570 V 16 w(mac)o(h.)390 2620 y Fh(PROTO\(CONST)22 b(char)i (*,bfd_printable_arch_mac)o(h,)485 2670 y(\(enum)g(bfd_architecture)d(arch,)i (unsigned)g(long)h(machine\)\);)p 2050 2680 21 42 v 0 2770 a Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 38 40 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(38)0 183 y Fr(2.10.0.3)29 b(bfd)p 326 183 19 3 v 22 w(scan)p 463 183 V 23 w(arc)n(h)p 600 183 V 22 w(mac)n(h)300 275 y Fm(Scan)20 b(a)e(string)i(and)f(attempt)f (to)h(turn)g(it)g(in)o(to)g(an)g(arc)o(hiv)o(e)h(and)f(mac)o(hine)300 324 y(t)o(yp)q(e)c(com)o(bination.)390 374 y Fh(PROTO\(boolean,)22 b(bfd_scan_arch_mach,)485 424 y(\(CONST)h(char)h(*,)f(enum)h (bfd_architecture)d(*,)j(unsigned)390 474 y(long)f(*\)\);)0 607 y Fr(2.10.0.4)29 b(bfd)p 326 607 V 22 w(arc)n(h)p 462 607 V 23 w(compatible)300 698 y Fm(This)17 b(routine)h(is)f(used)h(to)e (determine)i(whether)f(t)o(w)o(o)f(BFDs')g(arc)o(hitectures)300 748 y(and)22 b(mac)o(hine)g(t)o(yp)q(es)g(are)f(compatible.)40 b(It)22 b(calculates)g(the)g(lo)o(w)o(est)f(com-)300 798 y(mon)15 b(denominator)h(b)q(et)o(w)o(een)g(the)g(t)o(w)o(o)e(arc)o(hitectures)i(and)g (mac)o(hine)g(t)o(yp)q(es)300 847 y(implied)22 b(b)o(y)e(the)g(bfds)g(and)g (sets)g(the)g(ob)s(jects)f(p)q(oin)o(ted)i(at)e(b)o(y)h Ff(arc)o(hp)h Fm(and)300 897 y Ff(mac)o(hine)e Fm(if)c(non)h(NULL.)300 959 y(This)g(routine)h(returns)i Fh(true)c Fm(if)i(the)f(bfds)g(are)f(of)h (compatible)h(t)o(yp)q(e,)e(other-)300 1009 y(wise)h Fh(false)p Fm(.)390 1059 y Fh(PROTO\(boolean,)22 b(bfd_arch_compatible,)509 1109 y(\(bfd)i(*abfd,)509 1159 y(bfd)g(*bbfd,)509 1209 y(enum)g (bfd_architecture)d(*archp,)509 1258 y(unsigned)i(long)g(*machinep\)\);)0 1391 y Fr(2.10.0.5)29 b(bfd)p 326 1391 V 22 w(set)p 424 1391 V 22 w(arc)n(h)p 560 1391 V 23 w(mac)n(h)300 1483 y Fm(Set)15 b(atc)o(h)g(mac)o(h)300 1512 y Fg(\013)p 325 1512 1326 2 v 1325 w(\010)p 300 1761 2 225 v 314 1599 a Fh(#define)23 b (bfd_set_arch_mach\(abfd,)e(arch,)i(mach\))g(\\)433 1649 y(BFD_SEND)g (\(abfd,)g(_bfd_set_arch_mach,\\)791 1698 y(\(abfd,)g(arch,)h(mach\)\))p 1677 1761 V 300 1786 a Fg(\012)p 325 1786 1326 2 v 1325 w(\011)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 39 41 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(39)0 183 y Fn(2.11)32 b(Op)r(ening)23 b(and)g(Closing)f(BFDs)0 358 y Fr(2.11.0.1)29 b(bfd)p 326 358 19 3 v 22 w(op)r(enr)300 451 y Fm(Op)q(ens)22 b(the)g(\014le)g(supplied)i(\(using)d(fop)q(en\))h(with)g(the)f(target)f (supplied,)25 b(it)300 501 y(returns)15 b(a)g(p)q(oin)o(ter)h(to)e(the)h (created)h(bfd.)300 564 y(If)h(NULL)h(is)g(returned)g(then)f(an)g(error)f (has)h(o)q(ccured.)27 b(P)o(ossible)18 b(errors)e(are)300 614 y(no)p 351 614 14 2 v 16 w(memory)l(,)f(in)o(v)m(alid)p 681 614 V 18 w(target)f(or)h(system)p 1025 614 V 16 w(call)h(error.)390 664 y Fh(PROTO\(bfd*,)22 b(bfd_openr,)h(\(CONST)g(char)g(*filename,CONST)390 714 y(char*target\)\);)0 860 y Fr(2.11.0.2)29 b(bfd)p 326 860 19 3 v 22 w(fdop)r(enr)300 952 y Fm(bfd)p 367 952 14 2 v 17 w(fdop)q(enr)17 b(is)g(to)g(bfd)p 721 952 V 16 w(fop)q(enr)h(m)o(uc)o(h)e (lik)o(e)i(fdop)q(en)g(is)f(to)f(fop)q(en.)26 b(It)16 b(op)q(ens)300 1002 y(a)f(bfd)g(on)h(a)e(\014le)j(already)e(describ)q(ed)i(b)o(y)e(the)h Ff(fd)h Fm(supplied.)300 1066 y(P)o(ossible)f(errors)f(are)f(no)p 730 1066 V 17 w(memory)l(,)g(in)o(v)m(alid)p 1060 1066 V 19 w(target)g(and)h(system)p 1437 1066 V 16 w(call)i(error.)414 1116 y Fh(PROTO\(bfd)22 b(*,)i(bfd_fdopenr,)485 1165 y(\(CONST)f(char)h (*filename,)e(CONST)h(char)h(*target,)f(int)390 1215 y(fd\)\);)0 1361 y Fr(2.11.0.3)29 b(bfd)p 326 1361 19 3 v 22 w(op)r(en)n(w)300 1454 y Fm(Creates)21 b(a)g(bfd,)i(asso)q(ciated)f(with)g(\014le)h Ff(\014lename)p Fm(,)h(using)e(the)g(\014le)g(format)300 1504 y Ff(target)p Fm(,)14 b(and)h(returns)g(a)g(p)q(oin)o(ter)h(to)e(it.)300 1567 y(P)o(ossible)i(errors)f(are)f(system)p 818 1567 14 2 v 16 w(call)p 901 1567 V 18 w(error,)g(no)p 1091 1567 V 16 w(memory)l(,)h(in)o(v)m(alid)p 1421 1567 V 19 w(target.)390 1617 y Fh(PROTO\(bfd)23 b(*,)g(bfd_openw,)g(\(CONST)g(char)g(*filename,)g (CONST)390 1667 y(char)g(*target\)\);)0 1813 y Fr(2.11.0.4)29 b(bfd)p 326 1813 19 3 v 22 w(close)300 1906 y Fm(This)21 b(function)h(closes) f(a)g(bfd.)36 b(If)21 b(the)g(bfd)g(w)o(as)f(op)q(en)h(for)f(writing,)j(then) 300 1955 y(p)q(ending)13 b(op)q(erations)f(are)f(completed)h(and)g(the)g (\014le)g(written)g(out)f(and)g(closed.)300 2005 y(If)18 b(the)f(created)g (\014le)i(is)e(executable,)i(then)30 b Fh(chmod)17 b Fm(is)h(called)h(to)d (mark)h(it)g(as)300 2055 y(suc)o(h.)300 2119 y(All)f(memory)f(attatc)o(hed)f (to)h(the)g(bfd's)g(obstac)o(ks)g(is)g(released.)300 2182 y Fh(true)g Fm(is)g(returned)h(if)g(all)g(is)f(ok,)g(otherwise)g Fh(false)p Fm(.)390 2232 y Fh(PROTO\(boolean,)22 b(bfd_close,\(bfd)g(*\)\);)0 2378 y Fr(2.11.0.5)29 b(bfd)p 326 2378 V 22 w(create)300 2471 y Fm(This)23 b(routine)f(creates)g(a)f(new)i(bfd)f(in)h(the)f(manner)g(of)g (bfd)p 1406 2471 14 2 v 16 w(op)q(en)o(w,)i(but)300 2521 y(without)14 b(op)q(ening)g(a)g(\014le.)20 b(The)14 b(new)g(bfd)g(tak)o(es)f(the)g(target) g(from)f(the)i(target)300 2570 y(used)i(b)o(y)f Ff(template)p Fm(.)20 b(The)15 b(format)f(is)i(alw)o(a)o(ys)e(set)h(to)g Fh(bfd_object)p Fm(.)390 2620 y Fh(PROTO\(bfd)23 b(*,)g(bfd_create,)g (\(CONST)g(char)g(*filename,)f(bfd)390 2670 y(*template\)\);)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 40 42 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(40)0 183 y Fr(2.11.0.6)29 b(bfd)p 326 183 19 3 v 22 w(allo)r(c)p 472 183 V 22 w(size)300 275 y Fm(Return)12 b(the)f(n)o(um)o(b)q(er)h(of)f(b)o(ytes)g(in)h(the)f (obstac)o(ks)f(connected)j(to)d(the)i(supplied)300 324 y(bfd.)390 374 y Fh(PROTO\(bfd_size_type,bfd_al)o(loc_siz)o(e,\(bfd)21 b(*abfd\)\);)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g (r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 41 43 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(41)0 183 y Fr(2.11.1.7)29 b(bfd)p 326 183 19 3 v 22 w(put)p 440 183 V 22 w(size)0 497 y(2.11.1.8)g(bfd)p 326 497 V 22 w(get)p 431 497 V 22 w(size)300 605 y Fm(These)17 b(macros)f(as)g(used)i(for)e(reading)h(and)g(writing)g(ra)o (w)f(data)g(in)i(sections;)300 655 y(eac)o(h)e(access)f(\(except)h(for)e(b)o (ytes\))h(is)h(v)o(ectored)f(through)h(the)f(target)f(format)300 705 y(of)21 b(the)g(bfd)g(and)g(mangled)h(accordingly)l(.)39 b(The)21 b(mangling)h(p)q(erforms)e(an)o(y)300 754 y(necessary)15 b(endian)i(translations)e(and)g(remo)o(v)o(es)g(alignmen)o(t)h(restrictions.) 300 793 y Fg(\013)p 325 793 1326 2 v 1325 w(\010)p 300 1689 2 872 v 314 879 a Fh(#define)23 b(bfd_put_8\(abfd,)f(val,)h(ptr\))g(\\)696 929 y(\(*\(\(char)g(*\)ptr\))g(=)g(\(char\)val\))314 979 y(#define)g (bfd_get_8\(abfd,)f(ptr\))h(\\)696 1029 y(\(*\(\(char)g(*\)ptr\)\))314 1079 y(#define)g(bfd_put_16\(abfd,)f(val,)h(ptr\))g(\\)696 1129 y(BFD_SEND\(abfd,)f(bfd_putx16,)g(\(val,ptr\)\))314 1178 y(#define)h(bfd_get_16\(abfd,)f(ptr\))h(\\)696 1228 y(BFD_SEND\(abfd,)f (bfd_getx16,)g(\(ptr\)\))314 1278 y(#define)h(bfd_put_32\(abfd,)f(val,)h (ptr\))g(\\)696 1328 y(BFD_SEND\(abfd,)f(bfd_putx32,)g(\(val,ptr\)\))314 1378 y(#define)h(bfd_get_32\(abfd,)f(ptr\))h(\\)696 1427 y(BFD_SEND\(abfd,)f (bfd_getx32,)g(\(ptr\)\))314 1477 y(#define)h(bfd_put_64\(abfd,)f(val,)h (ptr\))g(\\)696 1527 y(BFD_SEND\(abfd,)f(bfd_putx64,)g(\(val,)h(ptr\)\))314 1577 y(#define)g(bfd_get_64\(abfd,)f(ptr\))h(\\)696 1627 y(BFD_SEND\(abfd,)f (bfd_getx64,)g(\(ptr\)\))p 1677 1689 V 300 1715 a Fg(\012)p 325 1715 1326 2 v 1325 w(\011)0 2049 y Fr(2.11.1.9)29 b(bfd)p 326 2049 19 3 v 22 w(h)p 382 2049 V 22 w(put)p 496 2049 V 23 w(size)0 2363 y(2.11.1.10)g(bfd)p 357 2363 V 22 w(h)p 413 2363 V 22 w(get)p 518 2363 V 22 w(size)300 2471 y Fm(These)16 b(macros)e(ha)o(v)o (e)h(the)g(same)g(function)h(as)f(their)g Fh(bfd_get_x)f Fm(bretherin,)300 2521 y(except)19 b(that)f(they)h(are)f(used)h(for)f(remo)o(ving)h (information)g(for)f(the)h(header)300 2570 y(records)c(of)g(ob)s(ject)g (\014les.)22 b(Believ)o(e)17 b(it)f(or)f(not,)g(some)g(ob)s(ject)g(\014les)i (k)o(eep)e(their)300 2620 y(header)21 b(records)f(in)h(big)g(endian)h(order,) f(and)g(their)g(data)e(in)j(little)f(endan)300 2670 y(order.)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 42 44 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(42)300 26 y Fg(\013)p 325 26 1326 2 v 1325 w(\010)p 300 922 2 872 v 314 112 a Fh(#define)23 b(bfd_h_put_8\(abfd,)f(val,)h(ptr\))g(\\)696 162 y(\(*\(\(char)g(*\)ptr\))g (=)g(\(char\)val\))314 212 y(#define)g(bfd_h_get_8\(abfd,)f(ptr\))h(\\)696 262 y(\(*\(\(char)g(*\)ptr\)\))314 311 y(#define)g(bfd_h_put_16\(abfd,)e (val,)j(ptr\))f(\\)696 361 y(BFD_SEND\(abfd,)f(bfd_h_putx16,\(val,ptr\)\))314 411 y(#define)h(bfd_h_get_16\(abfd,)e(ptr\))j(\\)696 461 y(BFD_SEND\(abfd,)e (bfd_h_getx16,\(ptr\)\))314 511 y(#define)h(bfd_h_put_32\(abfd,)e(val,)j (ptr\))f(\\)696 560 y(BFD_SEND\(abfd,)f(bfd_h_putx32,\(val,ptr\)\))314 610 y(#define)h(bfd_h_get_32\(abfd,)e(ptr\))j(\\)696 660 y(BFD_SEND\(abfd,)e (bfd_h_getx32,\(ptr\)\))314 710 y(#define)h(bfd_h_put_64\(abfd,)e(val,)j (ptr\))f(\\)696 760 y(BFD_SEND\(abfd,)f(bfd_h_putx64,\(val,)f(ptr\)\))314 809 y(#define)i(bfd_h_get_64\(abfd,)e(ptr\))j(\\)696 859 y(BFD_SEND\(abfd,)e (bfd_h_getx64,\(ptr\)\))p 1677 922 V 300 947 a Fg(\012)p 325 947 1326 2 v 1325 w(\011)0 1130 y Fr(2.11.1.11)29 b(bfd)p 357 1130 19 3 v 22 w(log2)300 1221 y Fm(Return)17 b(the)g(log)f(base)h(2)f(of)g (the)h(v)m(alue)h(supplied,)g(rounded)g(up.)24 b(eg)16 b(an)h(arg)300 1271 y(of)e(1025)f(w)o(ould)h(return)h(11.)390 1321 y Fh(PROTO\(bfd_vma,)22 b(bfd_log2,\(bfd_vma)f(x\)\);)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 43 45 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(43)0 183 y Fn(2.12)32 b(File)24 b(Cac)n(hing)300 276 y Fm(The)14 b(\014le)h(cac)o(hing)f(mec)o (hanism)h(is)f(em)o(b)q(edded)h(within)h(BFD)d(and)h(allo)o(ws)g(the)300 326 y(application)k(to)e(op)q(en)g(as)g(man)o(y)g(bfds)h(as)f(it)g(w)o(an)o (ts)f(without)h(regard)g(to)g(the)300 376 y(underlying)21 b(op)q(erating)e (system's)f(\014le)i(descriptor)f(limit)i(\(often)d(as)h(lo)o(w)f(as)300 425 y(20)d(op)q(en)g(\014les\).)300 489 y(The)33 b(mo)q(dule)h(in)140 b Fh(cache.c)32 b Fm(main)o(tains)h(a)g(least)g(recen)o(tly)g(used)300 539 y(list)f(of)124 b Fh(BFD_CACHE_MAX_OPEN)29 b Fm(\014les,)35 b(and)c(exp)q(orts)g(the)g(name)300 589 y Fh(bfd_cache_lookup)24 b Fm(whic)o(h)i(runs)g(around)g(and)g(mak)o(es)f(sure)h(that)f(the)300 638 y(required)18 b(bfd)f(is)g(op)q(en.)25 b(If)17 b(not,)f(then)h(it)g(c)o (ho)q(oses)f(a)h(\014le)g(to)f(close,)h(closes)h(it)300 688 y(and)d(op)q(ens)h(the)f(one)h(w)o(an)o(ted,)e(returning)i(its)f(\014le)h (handle.)0 833 y Fr(2.12.0.1)29 b(BFD)p 369 833 19 3 v 22 w(CA)n(CHE)p 611 833 V 23 w(MAX)p 784 833 V 23 w(OPEN)300 926 y Fm(The)19 b(maxium)o(um)g(n)o(um)o(b)q(er)g(of)g(\014les)h(whic)o(h)f(the)g(cac)o(he)g (will)i(k)o(eep)e(op)q(en)h(at)300 976 y(one)15 b(time.)300 1005 y Fg(\013)p 325 1005 1326 2 v 1325 w(\010)p 300 1154 2 125 v 314 1092 a Fh(#define)23 b(BFD_CACHE_MAX_OPEN)e(10)p 1677 1154 V 300 1180 a Fg(\012)p 325 1180 1326 2 v 1325 w(\011)0 1375 y Fr(2.12.0.2)29 b(bfd)p 326 1375 19 3 v 22 w(last)p 443 1375 V 22 w(cac)n(he)300 1467 y Fm(Zero,)15 b(or)h(a)f(p)q(oin)o(ter)i(to)e (the)h(topmost)f(bfd)h(on)g(the)g(c)o(hain.)23 b(This)17 b(is)f(used)h(b)o(y) 300 1517 y(the)h(bfd)p 448 1517 14 2 v 17 w(cac)o(he)p 572 1517 V 17 w(lo)q(okup\(\))g(macro)f(in)i(libbfd.h)h(to)d(determine)i(when)g (it)f(can)300 1567 y(a)o(v)o(oid)d(a)g(function)h(call.)300 1597 y Fg(\013)p 325 1597 1326 2 v 1325 w(\010)p 300 1745 2 125 v 314 1683 a Fh(extern)23 b(bfd)h(*bfd_last_cache;)p 1677 1745 V 300 1771 a Fg(\012)p 325 1771 1326 2 v 1325 w(\011)0 1966 y Fr(2.12.0.3)29 b(bfd)p 326 1966 19 3 v 22 w(cac)n(he)p 492 1966 V 23 w(lo)r(okup)300 2058 y Fm(Chec)o(ks)11 b(to)g(see)h(if)f(the)h (required)g(bfd)g(is)g(the)f(same)g(as)g(the)g(last)h(one)f(lo)q(ok)o(ed)h (up.)300 2108 y(If)17 b(so)e(then)i(it)g(can)f(use)h(the)f(iostream)g(in)h (the)f(bfd)h(with)g(impunit)o(y)l(,)g(since)h(it)300 2158 y(can't)13 b(ha)o(v)o(e)f(c)o(hanged)i(since)g(the)f(last)g(lo)q(okup,)h(otherwise)f(it) h(has)f(to)f(p)q(erform)300 2208 y(the)j(complicated)i(lo)q(okup)f(function) 300 2247 y Fg(\013)p 325 2247 1326 2 v 1325 w(\010)p 300 2594 2 324 v 314 2333 a Fh(#define)23 b(bfd_cache_lookup\(x\))e(\\)433 2383 y(\(\(x\)==bfd_last_cache?)g(\\)505 2433 y (\(FILE*\)\(bfd_last_cache->io)o(stream\):)f(\\)529 2482 y (bfd_cache_lookup_worker\(x)o(\)\))p 1677 2594 V 300 2620 a Fg(\012)p 325 2620 1326 2 v 1325 w(\011)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s) 36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 44 46 bop 0 -58 a Fk(Chapter)13 b(2:)k(BFD)c(front)g(end)p 413 -66 669 3 v 691 w(DRAFT)p 1224 -66 V 695 w Fj(44)0 183 y Fr(2.12.0.4)29 b(bfd)p 326 183 19 3 v 22 w(cac)n(he)p 492 183 V 23 w(init)300 275 y Fm(Initialize)18 b(a)d(BFD)g(b)o(y)g(putting)h(it)f(on)g(the)g(cac)o (he)h(LR)o(U.)390 324 y Fh(PROTO\(void,)22 b(bfd_cache_init,)g(\(bfd)h (*\)\);)0 457 y Fr(2.12.0.5)29 b(bfd)p 326 457 V 22 w(cac)n(he)p 492 457 V 23 w(close)300 549 y Fm(Remo)o(v)o(e)18 b(the)g(bfd)g(from)f(the)h (cac)o(he.)28 b(If)18 b(the)g(attatc)o(hed)f(\014le)i(is)g(op)q(en,)g(then) 300 598 y(close)d(it)f(to)q(o.)390 648 y Fh(PROTO\(void,)22 b(bfd_cache_close,)g(\(bfd)h(*\)\);)0 781 y Fr(2.12.0.6)29 b(bfd)p 326 781 V 22 w(op)r(en)p 477 781 V 22 w(\014le)300 872 y Fm(Call)13 b(the)f(OS)g(to)f(op)q(en)i(a)f(\014le)h(for)e(this)h(BFD.)f (Returns)i(the)f(FILE)g(*)g(\(p)q(ossibly)300 922 y(n)o(ull\))g(that)f (results)h(from)e(this)i(op)q(eration.)19 b(Sets)11 b(up)h(the)f(BFD)g(so)g (that)g(future)300 972 y(accesses)18 b(kno)o(w)e(the)i(\014le)g(is)g(op)q (en.)26 b(If)18 b(the)f(FILE)h(*)e(returned)i(is)g(n)o(ull,)h(then)300 1022 y(there)h(is)h(w)o(on't)d(ha)o(v)o(e)i(b)q(een)h(put)f(in)h(the)f(cac)o (he,)h(so)e(it)i(w)o(on't)d(ha)o(v)o(e)i(to)f(b)q(e)300 1072 y(remo)o(v)o(ed)c(from)f(it.)390 1121 y Fh(PROTO\(FILE)22 b(*,)i (bfd_open_file,)e(\(bfd)h(*\)\);)0 1254 y Fr(2.12.0.7)29 b(bfd)p 326 1254 V 22 w(cac)n(he)p 492 1254 V 23 w(lo)r(okup)p 696 1254 V 22 w(w)n(ork)n(er)300 1346 y Fm(Called)23 b(when)f(the)f(macro)59 b Fh(bfd_cache_lookup)19 b Fm(fails)j(to)f(\014nd)h(a)f(quic)o(k)300 1395 y(answ)o(er.)31 b(Finds)20 b(a)f(\014le)i(descriptor)e(for)g(this)h (BFD.)e(If)i(necessary)l(,)g(it)f(op)q(en)300 1445 y(it.)28 b(If)19 b(there)f(are)f(already)h(more)g(than)g(BFD)p 1106 1445 14 2 v 16 w(CA)o(CHE)p 1286 1445 V 16 w(MAX)p 1412 1445 V 16 w(OPEN)g(\014les)300 1495 y(op)q(en,)13 b(it)f(trys)f(to)g(close)h(one)g (\014rst,)g(to)f(a)o(v)o(oid)h(running)g(out)g(of)f(\014le)i(descriptors.)390 1545 y Fh(PROTO\(FILE)22 b(*,)i(bfd_cache_lookup_worker,)d(\(bfd)i(*\)\);)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 45 47 bop 0 -58 a Fk(Chapter)13 b(3:)k(BFD)c(back)f(end)p 409 -66 670 3 v 693 w(DRAFT)p 1222 -66 V 697 w Fj(45)0 183 y Fi(3)41 b(BFD)27 b(bac)n(k)f(end)300 295 y Fm(All)16 b(of)f(bfd)h(liv)o(es)g(in)g (one)f(directory)l(.)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 46 48 bop 0 -58 a Fk(Chapter)13 b(3:)k(BFD)c(back)f(end)p 409 -66 670 3 v 693 w(DRAFT)p 1222 -66 V 697 w Fj(46)0 183 y Fn(3.1)33 b(a.out)21 b(bac)n(k)n(ends)300 278 y Fm(BFD)13 b(supp)q(orts)g(a)g(n)o(um)o (b)q(er)h(of)f(di\013eren)o(t)g(\015a)o(v)o(ours)g(of)g(a.out)f(format,)g (though)300 328 y(the)h(ma)s(jor)e(di\013erences)j(are)f(only)g(the)g(sizes)h (of)f(the)g(structures)f(on)h(disk,)h(and)300 378 y(the)h(shap)q(e)h(of)f (the)g(relo)q(cation)h(information.)300 444 y(The)f(supp)q(ort)f(is)h(split)h (in)o(to)e(a)g(basic)h(supp)q(ort)g(\014le)g Fh(aoutx.h)e Fm(and)i(other)f (\014les)300 494 y(whic)o(h)e(deriv)o(e)h(functions)f(from)f(the)h(base.)18 b(One)13 b(deriv)m(ation)f(\014le)h(is)f Fh(aoutf1.h)300 544 y Fm(\(for)k(a.out)g(\015a)o(v)o(our)g(1\),)h(and)g(adds)g(to)f(the)h(basic)h (a.out)e(functions)i(supp)q(ort)300 593 y(for)12 b(sun3,)h(sun4,)f(386)g(and) h(29k)e(a.out)h(\014les,)i(to)d(create)i(a)f(target)f(jump)i(v)o(ector)300 643 y(for)i(a)f(sp)q(eci\014c)k(target.)300 709 y(This)e(information)g(is)h (further)e(split)i(out)f(in)o(to)g(more)f(sp)q(eci\014c)j(\014les)f(for)e (eac)o(h)300 759 y(mac)o(hine,)j(including)30 b Fh(sunos.c)16 b Fm(-)h(for)f(sun3)h(and)g(sun4)g(and)28 b Fh(demo64)16 b Fm(for)g(a)300 809 y(demonstration)f(of)g(a)g(64)f(bit)i(a.out)e(format.)300 875 y(The)k(base)g(\014le)34 b Fh(aoutx.h)16 b Fm(de\014nes)j(general)f(mec)o (hanisms)g(for)g(reading)g(and)300 925 y(writing)f(records)g(to)f(and)h(from) f(disk,)i(and)f(v)m(arious)g(other)f(metho)q(ds)h(whic)o(h)300 975 y(bfd)f(requires.)23 b(It)15 b(is)i(included)h(b)o(y)i Fh(aout32.c)14 b Fm(and)20 b Fh(aout64.c)15 b Fm(to)g(form)g(the)300 1024 y(names)31 b(aout)p 547 1024 14 2 v 16 w(32)p 609 1024 V 16 w(sw)o(ap)p 723 1024 V 16 w(exec)p 823 1024 V 17 w(header)p 971 1024 V 16 w(in,)36 b(aout)p 1162 1024 V 16 w(64)p 1224 1024 V 16 w(sw)o(ap)p 1338 1024 V 16 w(exec)p 1438 1024 V 17 w(header)p 1586 1024 V 16 w(in,)300 1074 y(etc.)300 1140 y(As)13 b(an)f(example,)i(this)f(is)g(what)f(go)q(es)h(on)f(to)g(mak)o(e)g(the)h(bac) o(k)g(end)g(for)f(a)g(sun4,)300 1190 y(from)i(aout32.c)462 1240 y Fh(#define)22 b(ARCH_SIZE)h(32)462 1290 y(#include)f("aoutx.h")390 1356 y Fm(Whic)o(h)16 b(exp)q(orts)f(names:)115 b Fh(...)462 1406 y(aout_32_canonicalize_re)o(loc)462 1455 y(aout_32_find_nearest_li)o(ne) 462 1505 y(aout_32_get_lineno)462 1555 y(aout_32_get_reloc_upper)o(_bound)509 1605 y(...)300 1671 y Fm(from)14 b(sunos.c)485 1721 y Fh(#define)23 b(ARCH)h(32)485 1771 y(#define)f(TARGET_NAME)g("a.out-sunos-big")485 1820 y(#define)g(VECNAME)95 b(sunos_big_vec)485 1870 y(#include)23 b("aoutf1.h")300 1936 y Fm(requires)16 b(all)g(the)f(names)h(from)e (aout32.c,)f(and)j(pro)q(duces)g(the)f(jump)h(v)o(ector)485 1986 y Fh(sunos_big_vec)0 2153 y Fr(3.1.1)30 b(relo)r(cations)300 2248 y Fm(The)17 b(\014le)29 b Fh(aoutx.h)16 b Fm(caters)h(for)f(b)q(oth)h (the)g Ff(standard)i Fm(and)e Ff(extended)j Fm(forms)300 2298 y(of)15 b(a.out)f(relo)q(cation)i(records.)300 2364 y(The)21 b(standard)f(records)h(are)f(c)o(haracterised)h(b)o(y)g(con)o(taining)g(only) g(an)g(ad-)300 2414 y(dress,)16 b(a)g(sym)o(b)q(ol)g(index)i(and)e(a)g(t)o (yp)q(e)g(\014eld.)24 b(The)17 b(extended)g(records)f(\(used)300 2463 y(on)f(29ks)g(and)g(sparcs\))g(also)g(ha)o(v)o(e)g(a)g(full)h(in)o (teger)f(for)g(an)g(addend.)0 2630 y Fr(3.1.2)30 b(In)n(ternal)20 b(En)n(try)i(P)n(oin)n(ts)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 47 49 bop 0 -58 a Fk(Chapter)13 b(3:)k(BFD)c(back)f(end)p 409 -66 670 3 v 693 w(DRAFT)p 1222 -66 V 697 w Fj(47)324 183 y Fh(aoutx.h)18 b Fm(exp)q(orts)h(sev)o(eral)g(routines)h(for)f(accessing)g(the)h(con)o(ten)o (ts)e(of)h(an)300 233 y(a.out)12 b(\014le,)h(whic)o(h)h(are)e(gathered)g(and) h(exp)q(orted)g(in)g(turn)g(b)o(y)f(v)m(arious)h(format)300 283 y(sp)q(eci\014c)k(\014les)f(\(eg)f(sunos.c\).)0 417 y Fr(3.1.2.1)30 b(aout)p 328 417 19 3 v 21 w Fo(<)p Fr(size)p Fo(>)p 501 417 V 23 w Fr(sw)n(ap)p 654 417 V 23 w(exec)p 792 417 V 22 w(header)p 993 417 V 23 w(in)300 509 y Fm(Sw)o(aps)11 b(the)h(information)f(in)i(an)e (executable)i(header)f(tak)o(en)f(from)f(a)i(ra)o(w)e(b)o(yte)300 559 y(stream)k(memory)h(image,)g(in)o(to)g(the)g(in)o(ternal)h(exec)p 1194 559 14 2 v 17 w(header)g(structure.)390 608 y Fh(PROTO\(void,)22 b(aout__swap_exec_header_)o(in,)533 658 y(\(bfd)h(*abfd,)533 708 y(struct)g(external_exec)f(*raw_bytes,)533 758 y(struct)h(internal_exec)f (*execp\)\);)0 892 y Fr(3.1.2.2)30 b(aout)p 328 892 19 3 v 21 w Fo(<)p Fr(size)p Fo(>)p 501 892 V 23 w Fr(sw)n(ap)p 654 892 V 23 w(exec)p 792 892 V 22 w(header)p 993 892 V 23 w(out)300 984 y Fm(Sw)o(aps)16 b(the)f(information)i(in)f(an)g(in)o(ternal)h(exec)f (header)g(structure)g(in)o(to)g(the)300 1033 y(supplied)i(bu\013er)d(ready)g (for)f(writing)i(to)f(disk.)390 1083 y Fh(PROTO\(void,)22 b (aout__swap_exec_header_)o(out,)438 1133 y(\(bfd)h(*abfd,)462 1183 y(struct)g(internal_exec)f(*execp,)462 1233 y(struct)h(external_exec)f (*raw_bytes\)\);)0 1367 y Fr(3.1.2.3)30 b(aout)p 328 1367 V 21 w Fo(<)p Fr(size)p Fo(>)p 501 1367 V 23 w Fr(some)p 658 1367 V 22 w(aout)p 799 1367 V 22 w(ob)s(ject)p 987 1367 V 22 w(p)300 1459 y Fm(Some)11 b(A.OUT)f(v)m(arian)o(t)h(thinks)g(that)f(the)h (\014le)h(whose)f(format)e(w)o(e're)h(c)o(hec)o(king)300 1508 y(is)18 b(an)f(a.out)g(\014le.)28 b(Do)17 b(some)g(more)g(c)o(hec)o(king,)h (and)g(set)f(up)h(for)f(access)h(if)g(it)300 1558 y(really)f(is.)k(Call)16 b(bac)o(k)g(to)f(the)g(calling)j(en)o(vironmen)o(ts)e Fh(")p Fm(\014nish)g(up)p Fh(")g Fm(function)300 1608 y(just)f(b)q(efore)g (returning,)h(to)e(handle)j(an)o(y)e(last-min)o(ute)h(setup.)390 1658 y Fh(PROTO\(bfd_target)22 b(*,)h(aout__some_aout_object)o(_p,)414 1708 y(\(bfd)g(*abfd,)438 1757 y(bfd_target)f(*\(*callback_to_real_object_p)o (\)\(\)\)\);)0 1892 y Fr(3.1.2.4)30 b(aout)p 328 1892 V 21 w Fo(<)p Fr(size)p Fo(>)p 501 1892 V 23 w Fr(mk)n(ob)s(ject)300 1983 y Fm(This)16 b(routine)f(initialize)q(s)j(a)d(bfd)g(for)g(use)g(with)h (a.out)e(\014les.)390 2033 y Fh(PROTO\(boolean,)22 b(aout__mkobject,)f (\(bfd)i(*\)\);)0 2167 y Fr(3.1.2.5)30 b(aout)p 328 2167 V 21 w Fo(<)p Fr(size)p Fo(>)p 501 2167 V 23 w Fr(mac)n(hine)p 743 2167 V 23 w(t)n(yp)r(e)300 2259 y Fm(Keep)22 b(trac)o(k)e(of)h(mac)o (hine)h(arc)o(hitecture)g(and)f(mac)o(hine)h(t)o(yp)q(e)f(for)g(a.out's.)300 2309 y(Return)39 b(the)f(mac)o(hine)p 744 2309 14 2 v 17 w(t)o(yp)q(e)h(for)e (a)h(particular)h(arc)o(h&mac)o(hine,)44 b(or)300 2358 y(M)p 345 2358 V 16 w(UNKNO)o(WN)25 b(if)g(that)e(exact)h(arc)o(h&mac)o(hine)i (can't)d(b)q(e)i(represen)o(ted)300 2408 y(in)16 b(a.out)e(format.)300 2471 y(If)20 b(the)g(arc)o(hitecture)g(is)h(understo)q(o)q(d,)g(mac)o(hine)g (t)o(yp)q(e)f(0)f(\(default\))h(should)300 2521 y(alw)o(a)o(ys)14 b(b)q(e)i(understo)q(o)q(d.)390 2570 y Fh(PROTO\(enum)22 b(machine_type,)h (aout__machine_typ)o(e,)414 2620 y(\(enum)g(bfd_architecture)f(arch,) 438 2670 y(unsigned)g(long)i(machine\)\);)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g (s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 48 50 bop 0 -58 a Fk(Chapter)13 b(3:)k(BFD)c(back)f(end)p 409 -66 670 3 v 693 w(DRAFT)p 1222 -66 V 697 w Fj(48)0 183 y Fr(3.1.2.6)30 b(aout)p 328 183 19 3 v 21 w Fo(<)p Fr(size)p Fo(>)p 501 183 V 23 w Fr(set)p 600 183 V 22 w(arc)n(h)p 736 183 V 23 w(mac)n(h)300 275 y Fm(Sets)13 b(the)h(arc)o(hitecture)f(and)g(the)h(mac)o(hine)g(of)f(the) g(bfd)h(to)e(those)h(v)m(alues)h(sup-)300 324 y(plied.)21 b(V)l(eri\014es)14 b(that)e(the)h(format)e(can)i(supp)q(ort)g(the)g(arc)o(hitecture)g(required.) 390 374 y Fh(PROTO\(boolean,)22 b(aout__set_arch_mach,)414 424 y(\(bfd)h(*,)438 474 y(enum)g(bfd_architecture,)438 524 y(unsigned)f(long)i(machine\)\);)0 656 y Fr(3.1.2.7)30 b(aout)p 328 656 V 21 w Fo(<)p Fr(size)p Fo(>)p Fr(new)p 607 656 V 23 w(section)p 815 656 V 23 w(ho)r(ok)300 748 y Fm(Called)16 b(b)o(y)g(the)f (bfd)g(in)h(resp)q(onse)g(to)f(a)g Fh(bfd_make_section)e Fm(request.)390 798 y Fh(PROTO\(boolean,)22 b(aout__new_section_ho)o(ok,)605 847 y(\(bfd)h(*abfd,)438 897 y(asection)f(*newsect\)\);)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 49 51 bop 0 -58 a Fk(Chapter)13 b(3:)k(BFD)c(back)f(end)p 409 -66 670 3 v 693 w(DRAFT)p 1222 -66 V 697 w Fj(49)0 183 y Fn(3.2)33 b(co\013)22 b(bac)n(k)n(ends)300 275 y Fm(BFD)e(supp)q(orts)h(a)g(n)o(um)o(b) q(er)g(of)g(di\013eren)o(t)g(\015a)o(v)o(ours)f(of)h(co\013)f(format.)36 b(The)300 325 y(ma)s(jor)20 b(di\013erence)k(b)q(et)o(w)o(een)e(formats)e (are)i(the)g(sizes)h(and)f(alignmen)o(ts)g(of)300 375 y(\014elds)16 b(in)g(structures)f(on)g(disk,)h(and)f(the)h(o)q(ccasional)g(extra)e (\014eld.)300 438 y(Co\013)i(in)h(all)h(its)f(v)m(arieties)h(is)f(implimen)o (ted)i(with)e(a)f(few)h(common)f(\014les)i(and)300 488 y(a)j(n)o(um)o(b)q(er) h(of)e(implemen)o(tation)j(sp)q(eci\014c)g(\014les.)39 b(F)l(or)21 b(example,)i(The)f(88k)300 538 y(b)q(cs)d(co\013)g(format)e(is)j(implemen)o (ted)g(in)g(the)f(\014le)42 b Fh(m88k-bcs.c)p Fm(.)30 b(This)19 b(\014le)300 588 y Fh(#include)p Fm(s)29 b Fh(m88k-bcs.h)15 b Fm(whic)o(h)k(de\014nes)f(the)f(external)h(structure)f(of)g(the)300 637 y(co\013)k(format)f(for)g(the)i(88k,)f(and)58 b Fh(internalcoff.h)19 b Fm(whic)o(h)k(de\014nes)f(the)300 687 y(in)o(ternal)f(structure.)68 b Fh(m88k-bcs.c)19 b Fm(also)h(de\014nes)i(the)e(relo)q(cations)h(used)300 737 y(b)o(y)16 b(the)h(88k)e(format)g(See)i(Section)g(2.7)f([Relo)q (cations],)g(page)h(28.)22 b(Then)17 b(the)300 787 y(ma)s(jor)f(p)q(ortion)i (of)f(co\013)g(co)q(de)h(is)g(included)i(\()14 b Fh(coffcode.h)p Fm(\))i(whic)o(h)i(de\014nes)300 837 y(the)d(metho)q(ds)h(used)g(to)f(act)g (up)q(on)h(the)f(t)o(yp)q(es)h(de\014ned)g(in)i Fh(m88k-bcs.h)c Fm(and)300 886 y Fh(internalcoff.h)p Fm(.)300 950 y(The)j(In)o(tel)g(i960)f (pro)q(cessor)g(v)o(ersion)g(of)g(co\013)g(is)h(implemen)o(ted)h(in)23 b Fh(icoff.c)p Fm(.)300 999 y(This)g(\014le)g(has)f(the)g(same)f(structure)h (as)63 b Fh(m88k-bcs.c)p Fm(,)22 b(except)g(that)g(it)300 1049 y(includes)17 b Fh(intel-coff.h)d Fm(rather)h(than)g Fh(m88k-bcs.h)p Fm(.)0 1190 y Fr(3.2.1)30 b(P)n(orting)20 b(T)-5 b(o)20 b(A)g(New)h(V)-5 b(ersion)21 b(of)f(Co\013)300 1282 y Fm(The)14 b(recommended)g(metho)q(d)g (is)g(to)f(select)h(from)f(the)h(existing)g(implimen)o(ta-)300 1332 y(tions)d(the)g(v)o(ersion)h(of)e(co\013)h(whic)o(h)h(is)g(most)e(lik)o (e)i(the)f(one)g(y)o(ou)g(w)o(an)o(t)f(to)h(use,)h(for)300 1381 y(our)j(purp)q(oses,)h(w)o(e'll)g(sa)o(y)f(that)g(i386)g(co\013)g(is)h (the)f(one)h(y)o(ou)f(select,)h(and)g(that)300 1431 y(y)o(our)f(co\013)g (\015a)o(v)o(our)g(is)h(called)h(fo)q(o.)k(Cop)o(y)15 b(the)j Fh(i386coff.c)c Fm(to)k Fh(foocoff.c)p Fm(,)300 1481 y(cop)o(y)k Fh(../include/i386coff.h)14 b Fm(to)22 b Fh(../include/foocoff.h)13 b Fm(and)k(add)300 1531 y(the)d(lines)i(to)d Fh(targets.c)g Fm(and)i Fh(Makefile.in)d Fm(so)i(that)f(y)o(our)h(new)g(bac)o(k)g(end)300 1581 y(is)i(used.)300 1644 y(Alter)d(the)h(shap)q(es)f(of)g(the)g(structures) g(in)h Fh(../include/foocoff.h)c Fm(so)j(that)300 1694 y(they)21 b(matc)o(h)f(what)g(y)o(ou)g(need.)38 b(Y)l(ou)21 b(will)h(probably)f(also)g (ha)o(v)o(e)f(to)g(add)300 1743 y Fh(#ifdef)p Fm(s)d(to)h(the)g(co)q(de)g(in) 37 b Fh(internalcoff.h)16 b Fm(and)35 b Fh(coffcode.h)17 b Fm(if)h(y)o(our)300 1793 y(v)o(ersion)d(of)g(co\013)g(is)g(to)q(o)g(wild.)300 1856 y(Y)l(ou)21 b(can)f(v)o(erify)h(that)f(y)o(our)g(new)h(bfd)g(bac)o(k)o (end)f(w)o(orks)g(quite)h(simply)h(b)o(y)300 1906 y(building)14 b Fh(objdump)d Fm(from)g(the)g Fh(binutils)g Fm(directory)l(,)h(and)g(making) g(sure)g(that)300 1956 y(its)i(v)o(ersion)g(of)g(what's)e(going)i(on)g(at)f (y)o(our)h(host)f(systems)g(idea)i(\(assuming)f(it)300 2006 y(has)j(the)f(prett)o(y)g(standard)g(co\013)g(dump)i(utilit)o(y)f(\(usually)h (called)27 b Fh(att-dump)300 2055 y Fm(or)15 b(just)g Fh(dump)p Fm(\)\))f(are)g(the)i(same.)300 2119 y(Then)21 b(clean)g(up)g(y)o(our)f(co)q (de,)i(and)e(send)h(what)f(y)o(ou'v)o(e)f(done)i(to)f(Cygn)o(us.)300 2168 y(Then)f(y)o(our)e(stu\013)h(will)i(b)q(e)f(in)g(the)f(next)g(release,)i (and)e(y)o(ou)g(w)o(on't)f(ha)o(v)o(e)h(to)300 2218 y(k)o(eep)e(in)o (tegrating)f(it.)0 2359 y Fr(3.2.2)30 b(Ho)n(w)21 b(The)f(Co\013)g(Bac)n(k)n (end)h(W)-5 b(orks)0 2528 y(3.2.2.1)30 b(Bit)20 b(Twiddling)300 2620 y Fm(Eac)o(h)c(\015a)o(v)o(our)f(of)g(co\013)h(supp)q(orted)g(in)h(bfd)f (has)g(its)g(o)o(wn)f(header)h(\014le)h(descib-)300 2670 y(ing)i(the)f (external)g(la)o(y)o(out)g(of)g(the)g(structures.)28 b(There)18 b(is)h(also)f(an)g(in)o(ternal)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 50 52 bop 0 -58 a Fk(Chapter)13 b(3:)k(BFD)c(back)f(end)p 409 -66 670 3 v 693 w(DRAFT)p 1222 -66 V 697 w Fj(50)300 183 y Fm(description)18 b(of)d(the)h(co\013)g(la)o(y)o(out)f(\(in)21 b Fh(internalcoff.h)p Fm(\))14 b(\014le)j(\()5 b(\).)21 b(A)16 b(ma)s(jor)300 233 y(function)f(of)f(the)g(co\013)f(bac)o(k)o(end)i(is)f(sw)o(apping)h(the)f(b)o (ytes)g(and)g(t)o(widdling)i(the)300 283 y(bits)g(to)f(translate)g(the)g (external)h(form)f(of)g(the)g(structures)g(in)o(to)g(the)h(normal)300 333 y(in)o(ternal)f(form.)j(This)d(is)f(all)h(p)q(erformed)f(in)h(the)f Fh(bfd_swap)p 1340 333 14 2 v 15 w Ff(thing)p 1462 333 V 21 w(direction)300 382 y Fm(routines.)19 b(Some)13 b(elemen)o(ts)g(are)f (di\013eren)o(t)g(sizes)i(b)q(et)o(w)o(een)e(di\013eren)o(t)h(v)o(ersions)300 432 y(of)f(co\013,)f(it)h(is)h(the)f(dut)o(y)g(of)f(the)h(co\013)f(v)o (ersion)i(sp)q(eci\014c)g(include)i(\014le)e(to)e(o)o(v)o(erride)300 482 y(the)18 b(de\014nitions)i(of)d(v)m(arious)i(pac)o(king)f(routines)g(in) 36 b Fh(coffcode.h)p Fm(.)26 b(Eg)18 b(the)300 532 y(size)d(of)e(line)i(n)o (um)o(b)q(er)g(en)o(try)e(in)i(co\013)e(is)h(sometimes)g(16)f(bits,)h(and)g (sometimes)300 582 y(32)h(bits.)22 b Fh(#define)p Fm(ing)17 b Fh(PUT_LNSZ_LNNO)c Fm(and)k Fh(GET_LNSZ_LNNO)d Fm(will)j(select)300 632 y(the)f(correct)g(one.)24 b(No)16 b(doubt,)g(some)g(da)o(y)g(someone)g (will)i(\014nd)f(a)f(v)o(ersion)g(of)300 681 y(co\013)d(whic)o(h)i(has)e(a)h (v)m(arying)g(\014eld)h(size)g(not)e(catered)h(for)f(at)g(the)h(momen)o(t.)k (T)l(o)300 731 y(p)q(ort)d(bfd,)g(that)g(p)q(erson)g(will)i(ha)o(v)o(e)e(to)f (add)i(more)e Fh(#defines)p Fm(.)300 793 y(Three)29 b(of)f(the)h(bit)g(t)o (widdling)h(routines)f(are)g(exp)q(orted)g(to)108 b Fh(gdb)p Fm(;)300 843 y Fh(coff_swap_aux_in)p Fm(,)19 b Fh(coff_swap_sym_in)14 b Fm(and)21 b Fh(coff_swap_linno_in)p Fm(.)300 893 y Fh(GDB)14 b Fm(reads)f(the)i(sym)o(b)q(ol)f(table)g(on)g(its)h(o)o(wn,)e(but)h(uses)g (bfd)h(to)e(\014x)h(things)h(up.)0 1022 y Fr(3.2.2.2)30 b(Sym)n(b)r(ol)20 b(Reading)300 1113 y Fm(The)12 b(simple)i(canonical)f(form)e(for)g(sym)o(b)q (ols)h(used)h(b)o(y)f(bfd)g(is)h(not)e(ric)o(h)i(enough)300 1163 y(to)f(k)o(eep)h(all)g(the)g(information)f(a)o(v)m(ailable)j(in)e(a)f (co\013)g(sym)o(b)q(ol)h(table.)19 b(The)13 b(bac)o(k)300 1213 y(end)20 b(gets)e(around)h(this)g(b)o(y)g(k)o(eeping)h(the)f(original)h(sym)o (b)q(ol)f(table)g(around,)300 1263 y Fh(")p Fm(b)q(ehind)e(the)e(sceens)p Fh(")p Fm(.)300 1325 y(When)c(a)e(sym)o(b)q(ol)i(table)f(is)h(requested)g (\(through)e(a)h(call)h(to)f Fh(bfd_canonicalize_symtab)p Fm(,)p 2166 1336 21 46 v 300 1375 a(a)16 b(request)g(gets)f(through)h(to)k Fh(get_normalized_symtab)p Fm(.)f(This)e(reads)f(the)300 1425 y(sym)o(b)q(ol)k(table)g(from)f(the)h(co\013)f(\014le)i(and)f(sw)o(aps)f(all) i(the)f(structures)f(inside)300 1474 y(in)o(to)e(the)h(in)o(ternal)g(form.)25 b(It)18 b(also)f(\014xes)h(up)g(all)g(the)f(p)q(oin)o(ters)h(in)g(the)g (table)300 1524 y(\(represen)o(ted)e(in)g(the)f(\014le)i(b)o(y)e(o\013sets)f (from)h(the)g(\014rst)g(sym)o(b)q(ol)h(in)g(the)g(table\))300 1574 y(in)o(to)k(ph)o(ysical)h(p)q(oin)o(ters)f(to)f(elemen)o(ts)h(in)h(the)f (new)g(in)o(ternal)g(table.)34 b(This)300 1624 y(in)o(v)o(olv)o(es)18 b(some)g(w)o(ork)f(since)i(the)f(meanings)h(of)f(\014elds)h(c)o(hanges)f(dep) q(ending)300 1674 y(up)q(on)i(con)o(text;)h(a)e(\014eld)h(that)f(is)h(a)f(p)q (oin)o(ter)h(to)f(another)g(structure)g(in)h(the)300 1724 y(sym)o(b)q(ol)c (table)f(at)g(one)g(momen)o(t)g(ma)o(y)f(b)q(e)i(the)f(size)i(in)f(b)o(ytes)f (of)f(a)h(structure)300 1773 y(in)h(the)f(next.)300 1836 y(Another)k(pass)f (is)h(made)g(o)o(v)o(er)f(the)h(table.)30 b(All)20 b(sym)o(b)q(ols)f(whic)o (h)h(mark)e(\014le)300 1885 y(names)i(\()26 b Fh(C_FILE)19 b Fm(sym)o(b)q(ols\))h(are)f(mo)q(di\014ed)i(so)f(that)f(the)g(in)o(ternal)i (string)300 1935 y(p)q(oin)o(ts)15 b(to)f(the)h(v)m(alue)h(in)g(the)e(auxen)o (t)h(\(the)g(real)g(\014lename\))g(rather)f(than)h(the)300 1985 y(normal)g(text)g(asso)q(ciated)g(with)h(the)f(sym)o(b)q(ol)h(\()p Fh(".file")p Fm(\).)300 2047 y(A)o(t)j(this)h(time)f(the)h(sym)o(b)q(ol)f (names)h(are)f(mo)o(v)o(ed)g(around.)32 b(Co\013)18 b(stores)h(all)300 2097 y(sym)o(b)q(ols)d(less)g(than)f(nine)i(c)o(haracters)d(long)i(ph)o (ysically)h(within)g(the)f(sym)o(b)q(ol)300 2147 y(table,)d(longer)h(strings) e(are)h(k)o(ept)g(at)f(the)h(end)h(of)e(the)h(\014le)h(in)g(the)f(string)g (table.)300 2197 y(This)22 b(pass)e(mo)o(v)o(es)h(all)h(strings)f(in)o(to)g (memory)l(,)g(and)h(replaces)g(them)f(with)300 2247 y(p)q(oin)o(ters)16 b(to)e(the)h(strings.)300 2309 y(The)20 b(sym)o(b)q(ol)h(table)g(is)g (massaged)e(once)i(again,)g(this)g(time)f(to)g(create)g(the)300 2359 y(canonical)12 b(table)f(used)h(b)o(y)f(the)g(bfd)g(application.)20 b(Eac)o(h)11 b(sym)o(b)q(ol)g(is)g(insp)q(ected)300 2408 y(in)21 b(turn,)f(and)g(a)g(decision)i(made)e(\(using)g(the)48 b Fh(sclass)19 b Fm(\014eld\))i(ab)q(out)f(the)300 2458 y(v)m(arious)12 b(\015ags)f(to)f (set)i(in)g(the)f Fh(asymbol)g Fm(See)g(Section)i(2.4)d([Sym)o(b)q(ols],)i (page)f(14.)300 2508 y(The)h(generated)g(canonical)h(table)f(shares)f (strings)h(with)g(the)g(hidden)h(in)o(ternal)300 2558 y(sym)o(b)q(ol)j (table.)300 2620 y(An)o(y)d(linen)o(um)o(b)q(ers)i(are)e(read)g(from)f(the)i (co\013)e(\014le)i(to)q(o,)f(and)g(attatc)o(hed)f(to)h(the)300 2670 y(sym)o(b)q(ols)i(whic)o(h)i(o)o(wn)d(the)i(functions)f(the)h(linen)o (um)o(b)q(ers)h(b)q(elong)f(to.)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 51 53 bop 0 -58 a Fk(Chapter)13 b(3:)k(BFD)c(back)f(end)p 409 -66 670 3 v 693 w(DRAFT)p 1222 -66 V 697 w Fj(51)0 183 y Fr(3.2.2.3)30 b(Sym)n(b)r(ol)20 b(W)-5 b(riting)300 277 y Fm(W)l(riting)15 b(a)e(sym)o(b)q(ol)i(to)e(a)h(co\013)g(\014le)h(whic)o(h)g(didn't)f(come)h (from)e(a)h(co\013)f(\014le)i(will)300 327 y(lose)h(an)o(y)g(debugging)g (information.)22 b(The)e Fh(asymbol)14 b Fm(structure)i(remem)o(b)q(ers)300 377 y(the)k(bfd)g(from)f(whic)o(h)h(w)o(as)f(b)q(orn,)i(and)f(on)f(output)h (the)g(bac)o(k)f(end)i(mak)o(es)300 427 y(sure)15 b(that)g(the)g(same)g (destination)h(target)e(as)h(source)g(target)f(is)i(presen)o(t.)300 492 y(When)f(the)g(sym)o(b)q(ols)g(ha)o(v)o(e)f(come)h(from)f(a)g(co\013)h (\014le)g(then)g(all)h(the)f(debugging)300 541 y(information)g(is)h(preserv)o (ed.)300 606 y(Sym)o(b)q(ol)i(tables)g(are)f(pro)o(vided)i(for)e(writing)h (to)f(the)g(bac)o(k)h(end)g(in)g(a)g(v)o(ector)300 656 y(of)h(p)q(oin)o(ters) i(to)e(p)q(oin)o(ters.)34 b(This)20 b(allo)o(ws)g(applications)i(lik)o(e)f (the)f(link)o(er)h(to)300 706 y(accum)o(ulate)13 b(and)g(output)g(large)g (sym)o(b)q(ol)g(tables)h(without)e(ha)o(ving)i(to)e(do)h(to)q(o)300 756 y(m)o(uc)o(h)i(b)o(yte)g(cop)o(ying.)300 821 y(The)j(sym)o(b)q(ol)g (table)g(is)g(not)f(output)h(to)f(a)g(writable)i(bfd)f(un)o(til)g(it)g(is)g (closed.)300 870 y(The)d(order)g(of)f(op)q(erations)h(on)g(the)g(canonical)h (sym)o(b)q(ol)g(table)f(at)f(that)g(p)q(oin)o(t)300 920 y(are:)300 985 y Fh(coff_renumber_symbols)450 1035 y Fm(This)20 b(function)h(runs)f (through)g(the)g(pro)o(vided)g(sym)o(b)q(ol)g(table)h(and)450 1085 y(patc)o(hes)16 b(eac)o(h)h(sym)o(b)q(ol)f(mark)o(ed)g(as)g(a)g(\014le)h (place)h(holder)f(\()7 b Fh(C_FILE)p Fm(\))450 1135 y(to)13 b(p)q(oin)o(t)g(to)g(the)g(next)g(\014le)i(place)f(holder)g(in)g(the)f(list.) 20 b(It)13 b(also)h(marks)450 1185 y(eac)o(h)43 b Fh(offset)18 b Fm(\014eld)j(in)f(the)f(list)h(with)f(the)h(o\013set)e(from)g(the)h (\014rst)450 1234 y(sym)o(b)q(ol)d(of)e(the)i(curren)o(t)f(sym)o(b)q(ol.)450 1299 y(Another)j(function)h(of)f(this)h(pro)q(cedure)g(is)g(to)e(turn)h(the)h (canonical)450 1349 y(v)m(alue)f(form)d(of)h(bfd)h(in)o(to)f(the)g(form)g (used)h(b)o(y)f(co\013.)23 b(In)o(ternally)l(,)18 b(bfd)450 1399 y(exp)q(ects)e(sym)o(b)q(ol)g(v)m(alues)g(to)f(b)q(e)h(o\013sets)e(from) h(a)g(section)h(base;)f(so)g(a)450 1449 y(sym)o(b)q(ol)c(ph)o(ysically)i(at)d (0x120,)g(but)h(in)g(a)g(section)g(starting)f(at)g(0x100,)450 1499 y(w)o(ould)16 b(ha)o(v)o(e)g(the)g(v)m(alue)h(0x20.)22 b(Co\013)15 b(exp)q(ects)h(sym)o(b)q(ols)g(to)g(con)o(tain)450 1548 y(their)d(\014nal)h(v)m(alue,)g(so)f(sym)o(b)q(ols)g(ha)o(v)o(e)g(their) g(v)m(alues)h(c)o(hanged)f(at)g(this)450 1598 y(p)q(oin)o(t)20 b(to)g(re\015ect)g(their)h(sum)f(with)g(their)g(o)o(wning)g(section.)35 b(Note)450 1648 y(that)18 b(this)h(transformation)e(uses)i(the)39 b Fh(output_section)17 b Fm(\014eld)i(of)450 1698 y(the)c Fh(asymbol)p Fm('s)f Fh(asection)g Fm(See)i(Section)g(2.3)e([Sections],)h(page)g(8.)300 1763 y Fh(coff_mangle_symbols)450 1813 y Fm(This)f(routine)f(runs)g(though)g (the)g(pro)o(vided)h(sym)o(b)q(ol)f(table)h(and)f(uses)450 1862 y(the)18 b(o\013sets)g(generated)g(b)o(y)h(the)f(previous)h(pass)f(and)h (the)g(p)q(oin)o(ters)450 1912 y(generated)f(when)h(the)g(sym)o(b)q(ol)g (table)g(w)o(as)e(read)i(in)g(to)f(create)g(the)450 1962 y(structured)c (hierac)o(h)o(y)h(required)h(b)o(y)e(co\013.)19 b(It)c(c)o(hanges)f(eac)o(h)g (p)q(oin)o(ter)450 2012 y(to)h(a)f(sym)o(b)q(ol)i(to)e(an)i(index)g(in)o(to)f (the)g(sym)o(b)q(ol)h(table)g(of)e(the)i(sym)o(b)q(ol)450 2062 y(b)q(eing)g(referenced.)300 2126 y Fh(coff_write_symbols)450 2176 y Fm(This)i(routine)f(runs)g(through)g(the)g(sym)o(b)q(ol)h(table)f(and) g(patc)o(hes)g(up)450 2226 y(the)g(sym)o(b)q(ols)g(from)e(their)j(in)o (ternal)f(form)f(in)o(to)g(the)h(co\013)f(w)o(a)o(y)l(,)g(calls)450 2276 y(the)f(bit)h(t)o(widdlers)g(and)f(writes)h(out)e(the)i(tab)q(el)g(to)e (the)i(\014le.)300 2341 y(The)f(hidden)i(information)f(for)e(an)h(asym)o(b)q (ol)h(is:)414 2391 y Fh(typedef)23 b(struct)g(coff_ptr_struct)414 2441 y({)300 2505 y Ff(Remem)o(b)q(ers)12 b(the)f(o\013set)g(from)f(the)i (\014rst)e(sym)o(b)q(ol)i(in)g(the)f(\014le)i(for)d(this)k(sym)o(b)q(ol.)300 2555 y(Generated)h(b)o(y)g Fh(coff_renumber_symbols)p Ff(.)462 2605 y Fh(unsigned)22 b(int)i(offset;)300 2670 y Ff(Should)f(the)f(tag)e (\014eld)j(of)f(this)g(sym)o(b)q(ol)g(b)q(e)g(ren)o(um)o(b)q(ered.)40 b(Created)21 b(b)o(y)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 52 54 bop 0 -58 a Fk(Chapter)13 b(3:)k(BFD)c(back)f(end)p 409 -66 670 3 v 693 w(DRAFT)p 1222 -66 V 697 w Fj(52)300 183 y Fh (coff_pointerize_aux)p Ff(.)462 233 y Fh(char)23 b(fix_tag;)300 296 y Ff(Should)18 b(the)e(endidx)i(\014eld)f(of)f(this)h(sym)o(b)q(ol)g(b)q (e)g(ren)o(um)o(b)q(ered.)24 b(Created)16 b(b)o(y)300 346 y Fh(coff_pointerize_aux)p Ff(.)462 396 y Fh(char)23 b(fix_end;)300 459 y Ff(The)16 b(con)o(tainer)g(for)g(the)g(sym)o(b)q(ol)g(structure)f(as)h (read)g(and)g(translated)g(from)300 508 y(the)f(\014le.)462 558 y Fh(union)23 b({)509 608 y(union)g(internal_auxent)f(auxent;)509 658 y(struct)h(internal_syment)f(syment;)462 708 y(})h(u;)414 757 y(})h(combined_entry_type;)300 870 y Fm(Eac)o(h)15 b(canonical)i(asym)o (b)q(ol)e(really)h(lo)q(oks)f(lik)o(e)i(this:)414 920 y Fh(typedef)23 b(struct)g(coff_symbol_struct)414 970 y({)300 1033 y Ff(The)15 b(actual)h(sym)o(b)q(ol)f(whic)o(h)h(the)g(rest)e(of)h(bfd)h(w)o(orks)e(with) 462 1083 y Fh(asymbol)22 b(symbol;)300 1146 y Ff(A)15 b(p)q(oin)o(ter)h(to)e (the)i(hidden)h(information)e(for)g(this)g(sym)o(b)q(ol)462 1195 y Fh(combined_entry_type)21 b(*native;)300 1258 y Ff(A)15 b(p)q(oin)o(ter)h(to)e(the)i(linen)o(um)o(b)q(er)h(information)e(for)g(this)h (sym)o(b)q(ol)462 1308 y Fh(struct)23 b(lineno_cache_entry)e(*lineno;)414 1358 y(})j(coff_symbol_type;)0 1497 y Fr(3.2.2.4)30 b(W)-5 b(riting)20 b(Relo)r(cations)300 1589 y Fm(T)l(o)i(write)h(a)g(relo)q (cations,)i(all)e(the)g(bac)o(k)g(end)g(do)q(es)g(is)h(step)e(though)h(the) 300 1639 y(canonical)f(relo)q(cation)f(table,)h(and)f(create)g(an)53 b Fh(internal_reloc)p Fm(.)34 b(The)300 1689 y(sym)o(b)q(ol)15 b(index)i(to)d(use)h(is)h(remo)o(v)o(ed)e(from)g(the)h Fh(offset)f Fm(\014eld)j(in)f(the)f(sym)o(b)q(ol)300 1739 y(table)d(supplied,)h(the)f (address)f(comes)g(directly)h(from)e(the)i(sum)f(of)f(the)h(section)300 1788 y(base)18 b(address)h(and)g(the)f(relo)q(cation)h(o\013set)f(and)g(the)h (t)o(yp)q(e)f(is)h(dug)g(directly)300 1838 y(from)14 b(the)i(ho)o(wto)e (\014eld.)300 1901 y(Then)26 b(the)85 b Fh(internal_reloc)23 b Fm(is)j(sw)o(app)q(ed)g(in)o(to)f(the)g(shap)q(e)h(of)f(an)300 1951 y Fh(external_reloc)13 b Fm(and)j(written)f(out)g(to)f(disk.)0 2090 y Fr(3.2.2.5)30 b(Reading)20 b(Linen)n(um)n(b)r(ers)300 2182 y Fm(Createing)c(the)g(linen)o(um)o(b)q(er)i(table)e(is)g(done)h(b)o(y)e (reading)i(in)f(the)g(en)o(tire)h(co\013)300 2232 y(linen)o(um)o(b)q(er)g (table,)f(and)f(creating)g(another)g(table)h(for)e(in)o(ternal)i(use.)300 2295 y(A)c(co\013)f(line)i(n)o(um)o(b)q(er)f(table)h(is)f(structured)f(so)h (that)f(eac)o(h)h(function)g(is)g(mark)o(ed)300 2345 y(as)19 b(ha)o(ving)g(a)g(line)i(n)o(um)o(b)q(er)f(of)f(0.)31 b(Eac)o(h)19 b(line)i(within)g(the)e(function)h(is)g(an)300 2395 y(o\013set)12 b(from)h(the)g(\014rst)g(line)i(in)f(the)g(function.)20 b(The)13 b(base)g(of)g(the)h(line)h(n)o(um)o(b)q(er)300 2444 y(information)f(for)g (the)g(table)h(is)g(stored)f(in)h(the)f(sym)o(b)q(ol)h(asso)q(ciated)f(with)h (the)300 2494 y(function.)300 2557 y(The)20 b(information)h(is)f(copied)h (from)f(the)g(external)g(to)g(the)g(in)o(ternal)h(table,)300 2607 y(and)14 b(eac)o(h)g(sym)o(b)q(ol)g(whic)o(h)h(marks)f(a)f(function)i (is)f(mark)o(ed)g(b)o(y)g(p)q(oin)o(ting)h(its...)300 2670 y(**Ho)o(w)f(do)q(es)i(this)f(w)o(ork)f(?**)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 53 55 bop 0 -58 a Fk(Chapter)13 b(3:)k(BFD)c(back)f(end)p 409 -66 670 3 v 693 w(DRAFT)p 1222 -66 V 697 w Fj(53)0 183 y Fr(3.2.2.6)30 b(Reading)20 b(Relo)r(cations)300 275 y Fm(Co\013)d(relo)q(cations)h(are)g (easily)g(transformed)f(in)o(to)h(the)g(in)o(ternal)g(bfd)g(form)f(\()300 324 y Fh(arelent)p Fm(\).)300 387 y(Reading)f(a)f(co\013)g(relo)q(cation)h (table)f(is)h(done)g(in)g(the)f(follo)o(wing)h(stages:)337 449 y Fq(\017)30 b Fm(The)15 b(en)o(tire)h(co\013)f(relo)q(cation)h(table)f (is)h(read)f(in)o(to)g(memory)l(.)337 511 y Fq(\017)30 b Fm(Eac)o(h)13 b(relo)q(cation)h(is)g(pro)q(cessed)g(in)g(turn,)f(\014rst)g(it)h(is)g(sw)o (app)q(ed)f(from)g(the)390 561 y(external)j(to)e(the)h(in)o(ternal)i(form.) 337 623 y Fq(\017)30 b Fm(The)g(sym)o(b)q(ol)f(referenced)i(in)f(the)f(relo)q (cation's)h(sym)o(b)q(ol)g(index)g(is)390 673 y(turned)22 b(in)o(to)g(a)g(p)q (oin)o(ter)h(in)o(to)f(the)g(canonical)h(sym)o(b)q(ol)f(table.)41 b(Note)390 723 y(that)20 b(this)h(table)h(is)f(the)g(same)g(as)f(the)h(one)g (returned)g(b)o(y)g(a)g(call)h(to)390 773 y Fh(bfd_canonicalize_symtab)p Fm(.)c(The)e(bac)o(k)f(end)i(will)g(call)g(the)e(routine)390 823 y(and)g(sa)o(v)o(e)g(the)g(result)h(if)f(a)g(canonicalization)j(hasn't)c (b)q(een)j(done.)337 885 y Fq(\017)30 b Fm(The)14 b(relo)q(c)g(index)h(is)f (turned)g(in)o(to)g(a)f(p)q(oin)o(ter)h(to)f(a)g(ho)o(wto)g(structure,)g(in) 390 935 y(a)i(bac)o(k)h(end)g(sp)q(eci\014c)h(w)o(a)o(y)l(.)j(F)l(or)15 b(instance,)h(the)g(386)e(and)i(960)f(use)g(the)390 984 y Fh(r_type)g Fm(to)h(directly)h(pro)q(duce)g(an)f(index)i(in)o(to)e(a)f(ho)o(wto)g(table)i (v)o(ector;)390 1034 y(the)g(88k)f(subtracts)h(a)f(n)o(um)o(b)q(er)i(from)e (the)28 b Fh(r_type)16 b Fm(\014eld)i(and)f(creates)390 1084 y(an)e(addend)h(\014eld.)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 54 56 bop 0 -58 a Fk(F)o(unction)13 b(Index)p 238 -66 756 3 v 779 w(DRAFT)p 1137 -66 V 782 w Fj(54)0 183 y Fi(F)-7 b(unction)26 b(Index)0 403 y Fn(A)0 457 y Fe(aout)p 82 457 12 2 v 13 w()p 215 457 V 11 w(machine)p 366 457 V 12 w(type)t Fd(:)6 b(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g Fc(47)0 503 y Fe(aout)p 82 503 V 13 w()p 215 503 V 11 w(mkobject)f Fd(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)j Fc(47)0 549 y Fe(aout)p 82 549 V 13 w()p 215 549 V 11 w(set)p 286 549 V 13 w(arch)p 379 549 V 13 w(mach)d Fd(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)i Fc(48)0 594 y Fe(aout)p 82 594 V 13 w()p 215 594 V 11 w(some)p 306 594 V 13 w(aout)p 399 594 V 13 w(object)p 532 594 V 11 w(p)t Fd(:)e(:)g(:)g(:)g(:)g(:)g(:)t Fc(47)0 640 y Fe(aout)p 82 640 V 13 w()p 215 640 V 11 w(swap)p 306 640 V 13 w(exec)p 399 640 V 13 w(header)p 532 640 V 11 w(in)k Fd(:)c(:)h(:)f(:)g(:)11 b Fc(47)0 686 y Fe(aout)p 82 686 V 13 w()p 215 686 V 11 w(swap)p 306 686 V 13 w(exec)p 399 686 V 13 w(header)p 532 686 V 11 w(out)e Fd(:)d(:)g(:)g(:)k Fc(47)0 731 y Fe(aout)p 82 731 V 13 w(ne)o(w)p 274 731 V 11 w(section)p 425 731 V 12 w(hook)f Fd(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:) 11 b Fc(48)0 857 y Fn(B)0 911 y Fe(bfd)p 62 911 V 13 w(alloc)p 175 911 V 12 w(size)6 b Fd(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)i Fc(40)0 956 y Fe(bfd)p 62 956 V 13 w(arch)p 155 956 V 13 w(compatib)o(le)e Fd(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)k Fc(38)0 1002 y Fe(bfd)p 62 1002 V 13 w(architect)o(ure)d Fd(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)11 b Fc(36)0 1048 y Fe(bfd)p 62 1048 V 13 w(cache)p 175 1048 V 12 w(close)t Fd(:)6 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g Fc(44)0 1093 y Fe(bfd)p 62 1093 V 13 w(cache)p 175 1093 V 12 w(init)g Fd(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)i Fc(44)0 1139 y Fe(bfd)p 62 1139 V 13 w(cache)p 175 1139 V 12 w(lookup)r Fd(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)f Fc(43)0 1185 y Fe(bfd)p 62 1185 V 13 w(cache)p 175 1185 V 12 w(lookup)p 307 1185 V 12 w(worker)g Fd(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)g Fc(44)0 1230 y Fe(BFD)p 62 1230 V 13 w(CACHE)p 175 1230 V 12 w(MAX)p 247 1230 V 13 w(OPEN)s Fd(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)f Fc(43)0 1276 y Fe(bfd)p 62 1276 V 13 w(canonical)o(ize)p 313 1276 V 10 w(symtab)r Fd(:)h(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)f Fc(18)0 1322 y Fe(bfd)p 62 1322 V 13 w(check)p 175 1322 V 12 w(format)r Fd(:)i(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)f Fc(21)0 1367 y Fe(bfd)p 62 1367 V 13 w(close)k Fd(:)d(:)g(:)g(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)11 b Fc(39)0 1413 y Fe(bfd)p 62 1413 V 13 w(core)p 155 1413 V 13 w(file)p 248 1413 V 12 w(failing)p 400 1413 V 12 w(command)c Fd(:)g(:)f(:)g(:)g(:)g(:)g(:)11 b Fc(30)0 1459 y Fe(bfd)p 62 1459 V 13 w(core)p 155 1459 V 13 w(file)p 248 1459 V 12 w(failing)p 400 1459 V 12 w(signal)q Fd(:)6 b(:)g(:)g(:)g(:)g(:)g (:)g(:)g(:)t Fc(30)0 1504 y Fe(bfd)p 62 1504 V 13 w(create)h Fd(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)k Fc(39)0 1550 y Fe(bfd)p 62 1550 V 13 w(fdopenr)c Fd(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)j Fc(39)0 1596 y Fe(bfd)p 62 1596 V 13 w(find)p 155 1596 V 13 w(target)s Fd(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g Fc(35)0 1641 y Fe(bfd)p 62 1641 V 13 w(format)p 195 1641 V 12 w(string)q Fd(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)t Fc(21)0 1687 y Fe(bfd)p 62 1687 V 13 w(get)p 135 1687 V 13 w(elt)p 208 1687 V 13 w(at)p 261 1687 V 13 w(index)s Fd(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g Fc(20)0 1733 y Fe(bfd)p 62 1733 V 13 w(get)p 135 1733 V 13 w(mtime)i Fd(:)e(:)g(:)g(:)g(:)g (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g (:)g(:)k Fc(6)0 1778 y Fe(bfd)p 62 1778 V 13 w(get)p 135 1778 V 13 w(next)p 228 1778 V 13 w(mapent)q Fd(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)t Fc(20)0 1824 y Fe(bfd)p 62 1824 V 13 w(get)p 135 1824 V 13 w(section)p 288 1824 V 11 w(by)p 339 1824 V 14 w(name)i Fd(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)k Fc(12)0 1870 y Fe(bfd)p 62 1870 V 13 w(get)p 135 1870 V 13 w(section)p 288 1870 V 11 w(contents)s Fd(:)c(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g Fc(13)0 1915 y Fe(bfd)p 62 1915 V 13 w(get)p 135 1915 V 13 w(size)i Fd(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)k Fc(41)0 1961 y Fe(bfd)p 62 1961 V 13 w(h)p 95 1961 V 14 w(get)p 169 1961 V 13 w(size)e Fd(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)k Fc(41)0 2007 y Fe(bfd)p 62 2007 V 13 w(h)p 95 2007 V 14 w(put)p 169 2007 V 13 w(size)e Fd(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)k Fc(41)0 2052 y Fe(bfd)p 62 2052 V 13 w(last)p 155 2052 V 13 w(cache)5 b Fd(:)h(:)g(:)g(:)g(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)i Fc(43)0 2098 y Fe(bfd)p 62 2098 V 13 w(log2)r Fd(:)e(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)t Fc(42)0 2144 y Fe(bfd)p 62 2144 V 13 w(make)p 155 2144 V 13 w(empty)p 268 2144 V 12 w(symbol)h Fd(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)k Fc(19)1230 403 y Fe(bfd)p 1292 403 V 13 w(make)p 1385 403 V 13 w(section)q Fd(:)d(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)f Fc(12)1230 449 y Fe(bfd)p 1292 449 V 13 w(map)p 1365 449 V 13 w(over)p 1458 449 V 13 w(sections)h Fd(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)k Fc(12)1230 495 y Fe(bfd)p 1292 495 V 13 w(open)p 1385 495 V 13 w(file)c Fd(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)j Fc(44)1230 540 y Fe(bfd)p 1292 540 V 13 w(openr)g Fd(:)d(:)g(:)g(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)11 b Fc(39)1230 586 y Fe(bfd)p 1292 586 V 13 w(openr)p 1405 586 V 12 w(next)p 1497 586 V 13 w(archived)p 1670 586 V 11 w(file)r Fd(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)t Fc(20)1230 632 y Fe(bfd)p 1292 632 V 13 w(openw)j Fd(:)d(:)g(:)g(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)11 b Fc(39)1230 677 y Fe(bfd)p 1292 677 V 13 w(perform)p 1445 677 V 11 w(relocation)r Fd(:)6 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)g Fc(23)1230 723 y Fe(bfd)p 1292 723 V 13 w(prinable)p 1465 723 V 11 w(arch)p 1556 723 V 13 w(mach)g Fd(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)j Fc(37)1230 769 y Fe(bfd)p 1292 769 V 13 w(print)p 1405 769 V 12 w(symbol)p 1537 769 V 12 w(vandf)d Fd(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)g(:)g(:)g(:)g(:)j Fc(19)1230 814 y Fe(bfd)p 1292 814 V 13 w(put)p 1365 814 V 13 w(size)f Fd(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)k Fc(41)1230 860 y Fe(bfd)p 1292 860 V 13 w(scan)p 1385 860 V 13 w(arch)p 1478 860 V 12 w(mach)s Fd(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)f Fc(38)1230 906 y Fe(bfd)p 1292 906 V 13 w(set)p 1365 906 V 13 w(arch)p 1458 906 V 13 w(mach)t Fd(:)h(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g (:)g(:)g(:)g(:)g(:)h Fc(38)1230 951 y Fe(bfd)p 1292 951 V 13 w(set)p 1365 951 V 13 w(archive)p 1518 951 V 11 w(head)j Fd(:)c(:)g(:)g(:)g (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)11 b Fc(20)1230 997 y Fe(bfd)p 1292 997 V 13 w(set)p 1365 997 V 13 w(format)5 b Fd(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)g(:)g(:)g(:)g(:)g(:)i Fc(21)1230 1043 y Fe(bfd)p 1292 1043 V 13 w(set)p 1365 1043 V 13 w(section)p 1518 1043 V 11 w(contents)s Fd(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g Fc(13)1230 1088 y Fe(bfd)p 1292 1088 V 13 w(set)p 1365 1088 V 13 w(section)p 1518 1088 V 11 w(flags)i Fd(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)k Fc(12)1230 1134 y Fe(bfd)p 1292 1134 V 13 w(set)p 1365 1134 V 13 w(section)p 1518 1134 V 11 w(size)g Fd(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)11 b Fc(13)1230 1180 y Fe(bfd)p 1292 1180 V 13 w(set)p 1365 1180 V 13 w(start)p 1478 1180 V 12 w(address)d Fd(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)11 b Fc(6)1230 1225 y Fe(bfd)p 1292 1225 V 13 w(set)p 1365 1225 V 13 w(symtab)5 b Fd(:)h(:)g(:)g(:)g(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)i Fc(18)1230 1271 y Fe(bfd)p 1292 1271 V 13 w(target)f Fd(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)k Fc(31)1230 1316 y Fe(bfd)p 1292 1316 V 13 w(target)p 1425 1316 V 12 w(list)t Fd(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g Fc(35)1230 1420 y Fn(C)1230 1474 y Fe(core)p 1312 1474 V 13 w(file)p 1405 1474 V 12 w(matches)p 1557 1474 V 12 w(executab)o(le)p 1768 1474 V 11 w(p)j Fd(:)d(:)g(:)g(:)g(:)g(:)k Fc(30)1230 1578 y Fn(G)1230 1632 y Fe(get)p 1292 1632 V 13 w(symtab)p 1425 1632 V 12 w(upper)p 1537 1632 V 12 w(bound)c Fd(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)j Fc(18)1230 1736 y Fn(H)1230 1790 y Fe(HOWTO)s Fd(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)f Fc(28)1230 1886 y Fn(R)1230 1940 y Fe(reloc)p 1332 1940 V 12 w(chain)i Fd(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)j Fc(28)1230 1986 y Fe(reloc)p 1332 1986 V 12 w(howto)p 1444 1986 V 12 w(type)s Fd(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)f Fc(26)1230 2090 y Fn(S)1230 2144 y Fe(stuff)t Fd(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g Fc(7)0 2770 y Fk(c)g(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 55 57 bop 0 -58 a Fk(Index)p 94 -66 828 3 v 851 w(DRAFT)p 1065 -66 V 854 w Fj(55)0 183 y Fi(Index)0 403 y Fn(B)0 457 y Fc(BFD)6 b Fd(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g Fc(1)0 503 y(BFD)13 b(canonical)j(format)t Fd(:)6 b(:)g(:)g(:)g(:)g(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)t Fc(3)1230 403 y Fn(I)1230 457 y Fc(in)o(ternal)15 b(ob)r(ject-\014le)f(format)c Fd(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)k Fc(3)1230 562 y Fn(W)1230 616 y Fc(what)j(is)h(it?)9 b Fd(:)d(:)g(:)g(:)g(:)g (:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)g (:)g(:)g(:)g(:)g(:)g(:)j Fc(1)0 2770 y Fk(c)d(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: 56 58 bop 0 -58 a Fk(Index)p 94 -66 828 3 v 851 w(DRAFT)p 1065 -66 V 854 w Fj(56)643 943 y Fm(The)16 b(b)q(o)q(dy)g(of)e(this)i(man)o(ual)f(is)h (set)f(in)799 993 y(cmr10)g(at)f(10.95pt,)631 1042 y(with)i(headings)g(in)g Fj(cm)o(b10)e(at)h(10.95pt)597 1092 y Fm(and)h(examples)g(in)g Fh(cmtt10)23 b(at)g(10.95pt)p Fm(.)754 1142 y Fl(cmti10)17 b(at)f(10.95pt)21 b Fm(and)799 1192 y Ff(cmsl10)15 b(at)g(10.95pt)754 1242 y Fm(are)g(used)h(for)e(emphasis.)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: -1 59 bop 12 -66 885 3 v 909 -58 a Fk(DRAFT)p 1040 -66 V 911 w Fj(i)0 183 y Fi(T)-7 b(able)27 b(of)f(Con)n(ten)n(ts)0 333 y Fn(1)67 b(In)n(tro)r(duction)14 b Fb(:)e(:)e(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)k Fn(1)149 395 y Fm(1.1)45 b(History)11 b Fa(:)d(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)k Fm(1)149 445 y(1.2)45 b(Ho)o(w)15 b(It)g(W)l(orks)7 b Fa(:)f(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)f Fm(1)149 495 y(1.3)45 b(What)15 b(BFD)f(V)l(ersion)i(1)f (Can't)f(Do)6 b Fa(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)e Fm(2)299 544 y(1.3.1)44 b(Information)15 b(Loss)6 b Fa(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)e Fm(2)299 594 y(1.3.2)44 b(Mec)o(hanism)13 b Fa(:)7 b(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)12 b Fm(3)0 694 y Fn(2)67 b(BFD)22 b(fron)n(t)h(end)8 b Fb(:)i(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)e Fn(5)149 756 y Fm(2.1)45 b(t)o(yp)q(edef)16 b(bfd)c Fa(:)c(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)j Fm(5)448 806 y(2.1.0.1)44 b(bfd)p 690 806 14 2 v 16 w(set)p 762 806 V 16 w(start)p 873 806 V 16 w(address)8 b Fa(:)f(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g Fm(6)448 856 y(2.1.0.2)44 b(bfd)p 690 856 V 16 w(get)p 767 856 V 16 w(m)o(time)11 b Fa(:)d(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)h(:)i Fm(6)448 906 y(2.1.0.3)44 b(stu\013)8 b Fa(:)e(:)h(:)h(:)f (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g Fm(7)149 955 y(2.2)45 b(Memory)14 b(Usage)7 b Fa(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)f Fm(8)149 1005 y(2.3)45 b(Sections)t Fa(:)8 b(:)f(:)h(:)f(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)s Fm(8)299 1055 y(2.3.1)44 b(Section)16 b(Input)10 b Fa(:)e(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)i Fm(8)299 1105 y(2.3.2)44 b(Section)16 b(Output)c Fa(:)7 b(:)g(:)h(:)f(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)k Fm(9)299 1155 y(2.3.3)44 b(t)o(yp)q(edef)15 b(asection)g Fa(:)7 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)13 b Fm(9)299 1204 y(2.3.4)44 b(section)16 b(protot)o(yp)q(es)11 b Fa(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)12 b Fm(12)448 1254 y(2.3.4.1)44 b(bfd)p 690 1254 V 16 w(get)p 767 1254 V 16 w(section)p 919 1254 V 17 w(b)o(y)p 984 1254 V 17 w(name)12 b Fa(:)7 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)12 b Fm(12)448 1304 y(2.3.4.2)44 b(bfd)p 690 1304 V 16 w(mak)o(e)p 810 1304 V 16 w(section)14 b Fa(:)7 b(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)13 b Fm(12)448 1354 y(2.3.4.3)44 b(bfd)p 690 1354 V 16 w(set)p 762 1354 V 16 w(section)p 914 1354 V 17 w(\015ags)5 b Fa(:)i(:)g(:)h(:)f(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)h(:)t Fm(12)448 1404 y(2.3.4.4)44 b(bfd)p 690 1404 V 16 w(map)p 792 1404 V 17 w(o)o(v)o(er)p 892 1404 V 15 w(sections)t Fa(:)8 b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)t Fm(12)448 1453 y(2.3.4.5)44 b(bfd)p 690 1453 V 16 w(set)p 762 1453 V 16 w(section)p 914 1453 V 17 w(size)15 b Fa(:)7 b(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)13 b Fm(13)448 1503 y(2.3.4.6)44 b(bfd)p 690 1503 V 16 w(set)p 762 1503 V 16 w(section)p 914 1503 V 17 w(con)o(ten)o(ts)7 b Fa(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)h(:)f(:)g(:)g Fm(13)448 1553 y(2.3.4.7)44 b(bfd)p 690 1553 V 16 w(get)p 767 1553 V 16 w(section)p 919 1553 V 17 w(con)o(ten)o(ts)5 b Fa(:)i(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)e Fm(13)149 1603 y(2.4)45 b(Sym)o(b)q(ols)11 b Fa(:)d(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)k Fm(14)299 1653 y(2.4.1)44 b(Reading)16 b(Sym)o(b)q(ols)d Fa(:)7 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)j Fm(14)299 1703 y(2.4.2)44 b(W)l(riting)16 b(Sym)o(b)q(ols)7 b Fa(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g Fm(15)299 1752 y(2.4.3)44 b(t)o(yp)q(edef)15 b(asym)o(b)q(ol)c Fa(:)d(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)k Fm(16)299 1802 y(2.4.4)44 b(Sym)o(b)q(ol)16 b(Handling)g(F)l (unctions)9 b Fa(:)f(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)g Fm(18)448 1852 y(2.4.4.1)44 b(get)p 687 1852 V 16 w(sym)o(tab)p 848 1852 V 15 w(upp)q(er)p 977 1852 V 17 w(b)q(ound)6 b Fa(:)i(:)f(:)h(:)f(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)e Fm(18)448 1902 y(2.4.4.2)44 b(bfd)p 690 1902 V 16 w(canonicalize)p 941 1902 V 19 w(sym)o(tab)12 b Fa(:)c(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)13 b Fm(18)448 1952 y(2.4.4.3)44 b(bfd)p 690 1952 V 16 w(set)p 762 1952 V 16 w(sym)o(tab)13 b Fa(:)7 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)13 b Fm(18)448 2001 y(2.4.4.4)44 b(bfd)p 690 2001 V 16 w(prin)o(t)p 803 2001 V 17 w(sym)o(b)q(ol)p 960 2001 V 17 w(v)m(andf)13 b Fa(:)7 b(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)h(:)f(:)12 b Fm(19)448 2051 y(2.4.4.5)44 b(bfd)p 690 2051 V 16 w(mak)o(e)p 810 2051 V 16 w(empt)o(y)p 950 2051 V 16 w(sym)o(b)q(ol)13 b Fa(:)7 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)12 b Fm(19)149 2101 y(2.5)45 b(Arc)o(hiv)o(es)9 b Fa(:)f(:)f(:)g(:)h(:)f(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)i Fm(20)448 2151 y(2.5.0.1)44 b(bfd)p 690 2151 V 16 w(get)p 767 2151 V 16 w(next)p 870 2151 V 17 w(map)q(en)o(t)7 b Fa(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g Fm(20)448 2201 y(2.5.0.2)44 b(bfd)p 690 2201 V 16 w(set)p 762 2201 V 16 w(arc)o(hiv)o(e)p 918 2201 V 17 w(head)11 b Fa(:)c(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)i Fm(20)448 2250 y(2.5.0.3)44 b(bfd)p 690 2250 V 16 w(get)p 767 2250 V 16 w(elt)p 833 2250 V 17 w(at)p 891 2250 V 16 w(index)8 b Fa(:)g(:)f(:)h(:)f(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f Fm(20)448 2300 y(2.5.0.4)44 b(bfd)p 690 2300 V 16 w(op)q(enr)p 818 2300 V 17 w(next)p 922 2300 V 17 w(arc)o(hiv)o(ed)p 1104 2300 V 17 w(\014le)6 b Fa(:)i(:)f(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)f Fm(20)149 2350 y(2.6)45 b(File)16 b(F)l(ormats)8 b Fa(:)e(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)h Fm(21)448 2400 y(2.6.0.1)44 b(bfd)p 690 2400 V 16 w(c)o(hec)o(k)p 813 2400 V 17 w(format)12 b Fa(:)7 b(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)h(:)f(:)g(:)13 b Fm(21)448 2450 y(2.6.0.2)44 b(bfd)p 690 2450 V 16 w(set)p 762 2450 V 16 w(format)9 b Fa(:)d(:)h(:)h(:)f(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)g Fm(21)448 2500 y(2.6.0.3)44 b(bfd)p 690 2500 V 16 w(format)p 840 2500 V 15 w(string)10 b Fa(:)e(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)j Fm(21)149 2549 y(2.7)45 b(Relo)q(cations)10 b Fa(:)e(:)f(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)h(:)f(:)i Fm(23)448 2599 y(2.7.0.1)44 b(bfd)p 690 2599 V 16 w(p)q(erform)p 863 2599 V 17 w(relo)q(cation)7 b Fa(:)h(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g Fm(23)448 2649 y(2.7.0.2)44 b(relo)q(c)p 720 2649 V 17 w(ho)o(wto)p 858 2649 V 15 w(t)o(yp)q(e)t Fa(:)8 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)t Fm(26)0 2770 y Fk(c)f(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: -2 60 bop 12 -66 879 3 v 903 -58 a Fk(DRAFT)p 1034 -66 V 905 w Fj(ii)448 42 y Fm(2.7.0.3)44 b(HO)o(WTO)10 b Fa(:)c(:)i(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)i Fm(28)448 91 y(2.7.0.4)44 b(relo)q(c)p 720 91 14 2 v 17 w(c)o(hain)14 b Fa(:)7 b(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)13 b Fm(28)149 141 y(2.8)45 b(Core)15 b(\014les)d Fa(:)c(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)j Fm(30)448 191 y(2.8.0.1)44 b(bfd)p 690 191 V 16 w(core)p 787 191 V 17 w(\014le)p 861 191 V 17 w(failing)p 999 191 V 18 w(command)11 b Fa(:)c(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)k Fm(30)448 241 y(2.8.0.2)44 b(bfd)p 690 241 V 16 w(core)p 787 241 V 17 w(\014le)p 861 241 V 17 w(failing)p 999 241 V 18 w(signal)10 b Fa(:)e(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)j Fm(30)448 291 y(2.8.0.3)44 b(core)p 707 291 V 16 w(\014le)p 780 291 V 17 w(matc)o(hes)p 958 291 V 16 w(executable)p 1181 291 V 18 w(p)14 b Fa(:)7 b(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)14 b Fm(30)149 340 y(2.9)45 b(T)l(argets)10 b Fa(:)c(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)h(:)h Fm(31)448 390 y(2.9.0.1)44 b(bfd)p 690 390 V 16 w(target)11 b Fa(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)h(:)f(:)g(:)k Fm(31)299 440 y(2.9.1)44 b(bfd)p 505 440 V 17 w(target)11 b Fa(:)c(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)13 b Fm(31)448 490 y(2.9.1.1)44 b(bfd)p 690 490 V 16 w(\014nd)p 781 490 V 17 w(target)6 b Fa(:)g(:)h(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)h(:)d Fm(35)448 540 y(2.9.1.2)44 b(bfd)p 690 540 V 16 w(target)p 826 540 V 15 w(list)15 b Fa(:)7 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)13 b Fm(35)149 589 y(2.10)45 b(Arc)o(hitectures)10 b Fa(:)e(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)j Fm(36)448 639 y(2.10.0.1)43 b(bfd)p 712 639 V 17 w(arc)o(hitecture)12 b Fa(:)c(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)12 b Fm(36)448 689 y(2.10.0.2)43 b(bfd)p 712 689 V 17 w(prinable)p 889 689 V 18 w(arc)o(h)p 992 689 V 16 w(mac)o(h)9 b Fa(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)g Fm(37)448 739 y(2.10.0.3)43 b(bfd)p 712 739 V 17 w(scan)p 815 739 V 17 w(arc)o(h)p 917 739 V 16 w(mac)o(h)6 b Fa(:)h(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f (:)g(:)f Fm(38)448 789 y(2.10.0.4)43 b(bfd)p 712 789 V 17 w(arc)o(h)p 814 789 V 16 w(compatible)11 b Fa(:)e(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)k Fm(38)448 839 y(2.10.0.5)43 b(bfd)p 712 839 V 17 w(set)p 785 839 V 16 w(arc)o(h)p 886 839 V 16 w(mac)o(h)11 b Fa(:)d(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)k Fm(38)149 888 y(2.11)45 b(Op)q(ening)17 b(and)e(Closing)h (BFDs)11 b Fa(:)6 b(:)i(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)h(:)i Fm(39)448 938 y(2.11.0.1)43 b(bfd)p 712 938 V 17 w(op)q(enr)14 b Fa(:)7 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)h(:)f(:)g(:)13 b Fm(39)448 988 y(2.11.0.2)43 b(bfd)p 712 988 V 17 w(fdop)q(enr)15 b Fa(:)7 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)14 b Fm(39)448 1038 y(2.11.0.3)43 b(bfd)p 712 1038 V 17 w(op)q(en)o(w)6 b Fa(:)i(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)h(:)f(:)g(:)f Fm(39)448 1088 y(2.11.0.4)43 b(bfd)p 712 1088 V 17 w(close)13 b Fa(:)8 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)12 b Fm(39)448 1137 y(2.11.0.5)43 b(bfd)p 712 1137 V 17 w(create)10 b Fa(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)j Fm(39)448 1187 y(2.11.0.6)43 b(bfd)p 712 1187 V 17 w(allo)q(c)p 820 1187 V 18 w(size)10 b Fa(:)e(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)j Fm(40)448 1237 y(2.11.1.7)43 b(bfd)p 712 1237 V 17 w(put)p 797 1237 V 17 w(size)13 b Fa(:)7 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)12 b Fm(41)448 1287 y(2.11.1.8)43 b(bfd)p 712 1287 V 17 w(get)p 790 1287 V 16 w(size)6 b Fa(:)i(:)f(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)d Fm(41)448 1337 y(2.11.1.9)43 b(bfd)p 712 1337 V 17 w(h)p 754 1337 V 17 w(put)p 839 1337 V 16 w(size)11 b Fa(:)e(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)k Fm(41)448 1386 y(2.11.1.10)43 b(bfd)p 735 1386 V 17 w(h)p 777 1386 V 16 w(get)p 854 1386 V 16 w(size)15 b Fa(:)7 b(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)14 b Fm(41)448 1436 y(2.11.1.11)43 b(bfd)p 735 1436 V 17 w(log2)8 b Fa(:)e(:)i(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)h(:)f Fm(42)149 1486 y(2.12)45 b(File)16 b(Cac)o(hing)8 b Fa(:)f(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f Fm(43)448 1536 y(2.12.0.1)43 b(BFD)p 745 1536 V 16 w(CA)o(CHE)p 925 1536 V 16 w(MAX)p 1051 1536 V 16 w(OPEN)6 b Fa(:)i(:)f(:)h(:)f(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)f Fm(43)448 1586 y(2.12.0.2)43 b(bfd)p 712 1586 V 17 w(last)p 800 1586 V 16 w(cac)o(he)13 b Fa(:)7 b(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f (:)12 b Fm(43)448 1636 y(2.12.0.3)43 b(bfd)p 712 1636 V 17 w(cac)o(he)p 836 1636 V 17 w(lo)q(okup)11 b Fa(:)d(:)f(:)h(:)f(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)k Fm(43)448 1685 y(2.12.0.4)43 b(bfd)p 712 1685 V 17 w(cac)o(he)p 836 1685 V 17 w(init)15 b Fa(:)7 b(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)14 b Fm(44)448 1735 y(2.12.0.5)43 b(bfd)p 712 1735 V 17 w(cac)o(he)p 836 1735 V 17 w(close)11 b Fa(:)d(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)k Fm(44)448 1785 y(2.12.0.6)43 b(bfd)p 712 1785 V 17 w(op)q(en)p 823 1785 V 17 w(\014le)5 b Fa(:)k(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)e Fm(44)448 1835 y(2.12.0.7)43 b(bfd)p 712 1835 V 17 w(cac)o(he)p 836 1835 V 17 w(lo)q(okup)p 986 1835 V 17 w(w)o(ork)o(er)8 b Fa(:)e(:)h(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)h(:)f(:)g Fm(44)0 1939 y Fn(3)67 b(BFD)22 b(bac)n(k)h(end)9 b Fb(:)h(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)h(:)e Fn(45)149 2001 y Fm(3.1)45 b(a.out)14 b(bac)o(k)o(ends)7 b Fa(:)h(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g Fm(46)299 2051 y(3.1.1)44 b(relo)q(cations)6 b Fa(:)h(:)h(:)f(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)d Fm(46)299 2101 y(3.1.2)44 b(In)o(ternal)16 b(En)o(try)e(P)o(oin)o (ts)d Fa(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)i Fm(46)448 2151 y(3.1.2.1)44 b(aout)p 715 2151 V 15 w Fh(<)p Fm(size)p Fh(>)p 848 2151 V 17 w Fm(sw)o(ap)p 963 2151 V 16 w(exec)p 1063 2151 V 17 w(header)p 1211 2151 V 17 w(in)14 b Fa(:)7 b(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)13 b Fm(47)448 2201 y(3.1.2.2)44 b(aout)p 715 2201 V 15 w Fh(<)p Fm(size)p Fh(>)p 848 2201 V 17 w Fm(sw)o(ap)p 963 2201 V 16 w(exec)p 1063 2201 V 17 w(header)p 1211 2201 V 17 w(out)9 b Fa(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)i Fm(47)448 2250 y(3.1.2.3)44 b(aout)p 715 2250 V 15 w Fh(<)p Fm(size)p Fh(>)p 848 2250 V 17 w Fm(some)p 964 2250 V 16 w(aout)p 1069 2250 V 16 w(ob)s(ject)p 1208 2250 V 16 w(p)11 b Fa(:)d(:)f(:)g(:)h(:)f (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)k Fm(47)448 2300 y(3.1.2.4)44 b(aout)p 715 2300 V 15 w Fh(<)p Fm(size)p Fh(>)p 848 2300 V 17 w Fm(mk)o(ob)s(ject)11 b Fa(:)6 b(:)i(:)f(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)i Fm(47)448 2350 y(3.1.2.5)44 b(aout)p 715 2350 V 15 w Fh(<)p Fm(size)p Fh(>)p 848 2350 V 17 w Fm(mac)o(hine)p 1027 2350 V 18 w(t)o(yp)q(e)10 b Fa(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)i Fm(47)448 2400 y(3.1.2.6)44 b(aout)p 715 2400 V 15 w Fh(<)p Fm(size)p Fh(>)p 848 2400 V 17 w Fm(set)p 921 2400 V 17 w(arc)o(h)p 1023 2400 V 16 w(mac)o(h)13 b Fa(:)7 b(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)14 b Fm(48)448 2450 y(3.1.2.7)44 b(aout)p 715 2450 V 15 w Fh(<)p Fm(size)p Fh(>)p Fm(new)p 926 2450 V 18 w(section)p 1080 2450 V 17 w(ho)q(ok)9 b Fa(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)i Fm(48)149 2499 y(3.2)45 b(co\013)15 b(bac)o(k)o(ends)e Fa(:)7 b(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)13 b Fm(49)299 2549 y(3.2.1)44 b(P)o(orting)14 b(T)l(o)h(A)h(New)f(V)l(ersion)h(of)f(Co\013)6 b Fa(:)g(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)f Fm(49)299 2599 y(3.2.2)44 b(Ho)o(w)14 b(The)i(Co\013)e(Bac)o(k)o(end)h(W)l(orks)e Fa(:)8 b(:)f(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)13 b Fm(49)448 2649 y(3.2.2.1)44 b(Bit)15 b(Twiddling)f Fa(:)7 b(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)j Fm(49)0 2770 y Fk(c)6 b(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g(t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Page: -3 61 bop 12 -66 873 3 v 897 -58 a Fk(DRAFT)p 1028 -66 V 898 w Fj(iii)448 42 y Fm(3.2.2.2)44 b(Sym)o(b)q(ol)15 b(Reading)9 b Fa(:)g(:)e(:)g(:)h(:)f(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)i Fm(50)448 91 y(3.2.2.3)44 b(Sym)o(b)q(ol)15 b(W)l(riting)t Fa(:)9 b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)t Fm(51)448 141 y(3.2.2.4)44 b(W)l(riting)15 b(Relo)q(cations)h Fa(:)7 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)14 b Fm(52)448 191 y(3.2.2.5)44 b(Reading)16 b(Linen)o(um)o(b)q(ers)6 b Fa(:)j(:)e(:)h(:)f(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)f Fm(52)448 241 y(3.2.2.6)44 b(Reading)16 b(Relo)q(cations)9 b Fa(:)f(:)g(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)g Fm(53)0 345 y Fn(F)-6 b(unction)25 b(Index)10 b Fb(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f Fn(54)0 457 y(Index)5 b Fb(:)12 b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)c Fn(55)0 2770 y Fk(c)g(y)g(g)g(n)g(u)g(s)36 b(s)6 b(u)g(p)g(p)g(o)g(r)g (t)p 332 2761 1396 3 v 1421 w(Revision:)17 b(1.5)p eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF