gdbint.ps   [plain text]


%!PS-Adobe-2.0
%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software
%%Title: gdbint.dvi
%%Pages: 59
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -o gdbint.ps gdbint.dvi
%DVIPSParameters: dpi=600, compressed
%DVIPSSource:  TeX output 1999.09.23:1240
%%BeginProcSet: texc.pro
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
exch round exch]setmatrix}N/@landscape{/isls true 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/IEn 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 IEn N end A{/foo setfont}2
array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/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 A
definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
B/Cdx{Cd A length 1 sub get}B/Ci{Cd A 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/CharBuilder{save 3
1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 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/V matrix currentmatrix A 1 get A
mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
(LaserWriter 16/600)]{A length product length le{A length product exch 0
exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
fill grestore}B/a{moveto}B/delta 0 N/tail{A/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{SS restore}B end

%%EndProcSet
TeXDict begin 39158280 55380996 1000 600 600 (gdbint.dvi)
@start
%DVIPSBitmapFont: Fa cmbxti10 14.4 1
/Fa 1 47 df<13FCEA03FF000F13804813C05AA25AA2B5FCA31480A214006C5A6C5A6C5A
EA0FE0121271912B>46 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fb cmsltt10 10.95 12
/Fb 12 121 df<007FB612E0B712F016F8A316F06C15E02507769E30>45
D<EA0F80EA3FC0EA7FE013F012FFA413E0127FEA3FC0EA1F000C0C6D8B30>I<D93FF8EC
FFE0496C4913F0496C4913F8A2017F4A13F0013F16E0010F91380FFE0002DE147E02DF13
1FA2EE3EFE131F029FEB7EFC167C16FC16F8ED80F9013F1381021FEBF1F8158316E1EC0F
8716C3137F017E018F5B1683159F160316079038FE07BE01FC01FE5B15FCA215F8160F00
01EB03F09026F801E05B91C7FCA3161F1203495DA4163F12074992C7FCA2D87FFC903803
FFE0486C497FA46C486D5B35387EB730>77 D<903801FFC0010F13F8013F13FE497F90B6
7E48819138007FE049131F48486D7E000114075BEA007090C77FA25EA2EC3FFF0103B5FC
131F90B6FC1203485D48EBE00F381FFE00EA3FF0D87FC0131F5B48C75B5AA2153FA2157F
6C4A5A387F8003D9E03F13FF6CB7128017C06C14DF6C028713800003D9FC01130026007F
E0C8FC2A2A7AA830>97 D<EC1FFC91B51280010314C0010F14E04914F0137F9039FFF00F
F848EB8007489038000FF0D807FC13074914E04848EB01C0484890C7FCA2485A5B127F90
C9FCA35A5AA77E6CEC0F806D131FED3FC06C6C14806D137FD81FF8EBFF00380FFE0390B5
5A6C5C00015C6C14E0013F1380D907FCC7FC252A77A830>99 D<EC1FE0ECFFFC010313FF
010F1480013F14C04914E09039FFF03FF048EB800F3A03FE0007F8484813035B485A4848
EB01FC5B123F5B127F90C7FC90B6FCA2B712F8A316F048C9FCA37E7EED03C06DEB07E000
3FEC0FF07F6C6CEB1FE06DEB7FC0390FFE03FF6CB612806C15006C14FC6C6C5B011F13E0
010390C7FC262A79A830>101 D<913907F801FE913A3FFF0FFF804A13BF49B712C05B5B
90260FFC0FEB1F8090271FF007F8130049486C6CC7FCECC001EB7F801400A25B5BA31503
4B5A7F6D495A9138803FE090383FE0FF49B55A90B65A93C8FC4814FC01F913F09038F87F
80000390CAFC5BA27F120190B512FCEDFF8016E04815F8488148813A1FF00007FFD83FC0
1300498048C86C7E007E151F12FE5AA2163F94C7FC5E5E6C4A5AD87F80EB07FC6D131F3A
3FFC01FFF86CB612E06C5D6C92C8FC000114FC6C6C13F0010F90C9FC323E7EA730>103
D<EB3FF8497E497EA2137F133FEB01FCA513035CA4ED0FF00107EB7FFE02F1B5FC02F714
8091B6FC17C0EDF03F499038801FE015004A130F14F8A24A131F494814C0A25CA3163F13
3F4A1480A4167F137F91C71300A45E5B495CA23B7FFFF81FFFF8B56C4813FC5DA2816C49
6C13F82E387FB730>I<EE3FE03B01FFFC01FFF848D9FE0F13FC485C037F13FE6C91B5FC
6C90B512E1D80001EC01FC15FC9238F000704B13005D5D4990C8FC5CA25CA25C13075CA5
130F5CA5131F5CA2007FB512FCB67EA46C5C2F287DA730>114 D<91387FF838903903FF
FE7C011FEBFFFC5B5B90B6FC48EBC01F3903FC0007491303484814F85BA3ED01F06D90C7
FCEA03FEEBFFF06CEBFF806C14F06D13FC011F13FF01071480D9007F13C0020113E0EC00
1F001FEC0FF06D1307003F1403A27FA21507486CEB0FE0151F6DEB3FC09039FC03FF8090
B6FC1600B612FC00FC5C013F13E0267807FEC7FC262A79A830>I<EB03C0497E80A3130F
5CA5003FB612E04815F0B7FCA36C15E026003FC0C7FC5CA5137F91C8FCA55B5BA50001EC
0F8049EB1FC0A3153F1680157F15FF6D4813009038FF07FE6CEBFFFC5D6D5B6D5B010F13
80D903FCC7FC243378B130>I<903AFFFE07FFF0486D4813F84816FCA26C16F86C496C13
F0903A07F001FC006D6C485A6D6C485A4B5A6D6C485A4B5ADA7F7FC7FC157EEC3FFE6E5A
5D6E5A5DA24A7E143F4A7EA2ECFCFCEB01F8903803F07E903807E07F49487E011F809038
3F801FD97F007F01FE6D7E263FFFC0B5FC4801E11480B515C0A26C16806C01C014002E27
7DA630>120 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fc cmcsc10 10.95 4
/Fc 4 84 df<ED03C0A34B7EA24B7EA34B7EA3ED3BFCA3ED71FEA2EDF1FF15E0A2020180
EDC07FA2DA03807F163FA24A486C7EA24A80020E130FA2021E80021C1307A2023C800238
1303A24A6D7EA34A6D7EA249B77EA3D903C0C76C7E4A143FA249C87F171FA2010E6F7EA2
011E82011C1507A2013C820138150313788401FC1501486C4B7ED80FFF030F1380B500F0
49B6FCA340417CC04A>65 D<B612F0A3C6EBF000EB3FC0B3B3B2EBFFF0B612F0A31C3E7C
BD25>73 D<B56C91387FFFFC8080D8007F030313806E913800FE006E157C1838EB77FCEB
73FE80137101707F6E7EA26E7E6E7EA26E7E6E7EA26E7E6E7EA26E7F6F7EA26F7E6F7EA2
6F7E6F7E8215036F7E6F1380A2EE7FC0EE3FE0A2EE1FF0EE0FF8A2EE07FCEE03FEA2EE01
FF7013B8A2EF7FF8173FA2171F170F1707A2170301F81501487ED807FF1500B500F81578
A218383E3E7BBD4A>78 D<D903FE130690391FFFC00E017FEBF81E3901FE01FC3A03F000
3F3E4848EB0FFE484813074848130390C71201003E1400007E157EA2007C153E12FCA216
1EA36C150EA27E7F007F92C7FC7F13F0EA3FFCEBFFC06C13FC6CEBFFC06C14FC6C14FF6C
15C06C6C80011F80010380D9003F7F02037F9138003FFF15070301138081167F17C0163F
00E0151FA3160FA27EA36C1680161F7E17006C5D6C153E6D5C6D14FCD8FDF0495AD8F8FC
495A3AF07FC01FC0011FB55AD8E00349C7FC39C0003FF02A427ABF38>83
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fd cmti10 10.95 31
/Fd 31 123 df<933807FF80043F13E09338FE00F8DB01F0133EDB07E0130E4B48131F4C
137F031F14FF4BC7FCA218FE157E1878180015FE5DA31401A25DA414030103B712F0A218
E0903A0003F000070207140F4B14C0A3171F020F15805DA2173F1800141F5D5F177EA214
3F92C712FE5FA34A1301027EECF81CA3160302FEECF03C4A1538A21878187013014A0101
13F018E0933800F1C0EF7F804948EC1F0094C7FCA35C1307A2001E5B127F130F00FF5BA2
49CAFC12FEEAF81EEA703CEA7878EA1FF0EA07C0385383BF33>12
D<EA01E0EA07F8120F13FC121FA4120FEA03D8EA0018A2133813301370136013E013C012
01EA038013005A120E5A5A5A5A5A0E1C6DBE1C>39 D<EA01E0EA07F8120FA2EA1FFCA4EA
0FF8EA0798EA001813381330A21370136013E013C01201EA0380EA07001206120E5A5A5A
5A5A0E1C7A891C>44 D<120FEA3FC0127FA212FFA31380EA7F00123C0A0A77891C>46
D<171C173C177CA217FCA216011603A21607A24C7EA2161DA216391679167116E1A2ED01
C1A2ED038115071601150EA2031C7FA24B7EA25D15F05D4A5AA24A5AA24AC7FC5C140E5C
021FB6FC4A81A20270C7127FA25C13015C495AA249C8FCA2130E131E131C133C5B01F882
487ED807FEEC01FFB500E0017FEBFF80A25C39417BC044>65 D<9339FF8001C0030F13E0
033F9038F803809239FF807E07913A03FC001F0FDA0FF0EB071FDA1FC0ECBF00DA7F806D
B4FC4AC77E495AD903F86E5A495A130F4948157E4948157C495A13FF91C9FC4848167812
035B1207491670120FA2485A95C7FC485AA3127F5BA312FF5BA490CCFCA2170FA2170EA2
171E171C173C173817786C16706D15F04C5A003F5E6D1403001F4B5A6D4AC8FC000F151E
6C6C5C6C6C14F86C6C495A6C6CEB07C090397FC03F8090261FFFFEC9FC010713F0010013
803A4272BF41>67 D<49B812F8A390260003FEC7121F18074B14031801F000F014075DA3
140F5D19E0A2141F4B1338A2EF7801023F027013C04B91C7FCA217F0027F5CED80011603
160F91B65AA3ED001F49EC07805CA3010392C8FC5CF003804C13070107020E14005C93C7
5A180E010F161E4A151C183CA2011F5E5C60A2013F15014A4A5A1707017F150F4D5A4A14
7F01FF913807FF80B9FCA295C7FC3D3E7BBD3E>69 D<001FB500F090B512F0485DA22600
3FF0C7380FFC004AEC03F04A5D715A017F1503A24A5DA201FF150795C7FC91C8FCA2485E
170E5BA20003161E171C5BA20007163C17385BA2000F167817705BA2001F16F05F5BA200
3F1501A2495DA2007F1503A2495DA2160794C8FC48C8FC5E160E161E6C151C163C5E5E5E
6C6C13014B5A001F4A5A6C6C011FC9FC6D133E6C6C13F83903FC07F0C6B512C0013F90CA
FCEB07F83C406FBD44>85 D<130C131C137813E0EA01C013801203EA0700120E120C121C
12181238123012701260A212E012CFEAFFC0A61380EA7F00123C0E1C6EBE1C>96
D<147E49B47E903907C1C38090391F80EFC090383F00FF017E137F4914804848133F485A
A248481400120F5B001F5C157E485AA215FE007F5C90C7FCA21401485C5AA21403EDF038
5AA21407EDE078020F1370127C021F13F0007E013F13E0003E137FECF3E1261F01E313C0
3A0F8781E3803A03FF00FF00D800FC133E252977A72E>I<EB1FC0EA0FFF5CA2EA003FA2
91C7FCA25BA2137EA213FEA25BA21201A25BA21203A25B147E3907F1FF809038F783E090
38EF01F013FE390FF800F8A24913FC49137C485A157E5B15FE123FA290C7FCA248130115
FC127EA2140300FE14F85AA2EC07F0A215E048130F15C0141F15800078EB3F00127C147E
003C5B383E01F8381E03E06C485A6CB4C7FCEA01F81F4076BE2A>I<EC1FE0ECFFF89038
03F03E903807C00F90381F8007D93F001380017E131F49137F485A485A000715005B000F
147E484890C7FCA2485AA3127F90C9FCA35A5AA6481403007E5C5D151E003E5C5D6C5CEC
03E0390F800F802603E07EC7FC3801FFF838003FC0212977A72A>I<EE3F80ED1FFF1700
A2ED007FA2167EA216FEA25EA21501A25EA21503A25EA21507A25E147E903801FF8F9038
07C1CF90391F80EFC090383F00FF017E137F5B48486D5A485AA2485A000F92C7FC5B001F
5CA24848137EA215FE127F90C75AA214015A485CA2140316384814F0A21407167891380F
E070127C021F13F0007E013F5B003E137FECF3E1261F01E35B3A0F8781E3802703FF00FF
C7FCD800FC133E294077BE2E>I<EC3F80903801FFE0903807E0F890381F803CEB3E0001
FC131E485A485A12074848133E49133C121F4848137C15F8EC03F0397F000FE0ECFF80B5
EAFC0014C048C8FCA45AA61506150E151E007C143C15786C14F0EC01E06CEB07C0390F80
1F003807C0FC3801FFF038007F801F2976A72A>I<167C4BB4FC923807C78092380F83C0
ED1F87161FED3F3FA2157EA21780EE0E004BC7FCA414015DA414035DA30103B512F8A390
260007E0C7FCA3140F5DA5141F5DA4143F92C8FCA45C147EA414FE5CA413015CA4495AA4
495AA4495A121E127F5C12FF49C9FCA2EAFE1EEAF83C1270EA7878EA3FE0EA0F802A5383
BF1C>I<EC03F0EC0FFC91383E0E1C9138FC077E903901F003FE1303903807E001D90FC0
13FCEB1F80A2EB3F004914F8137E01FE1303A2484814F0A2150712034914E0A2150F1207
4914C0A2151FA216805B153F1203ED7F006D5BA200015B0000495A9038F80F7E90387C1E
FEEB1FF8903807E0FC90C7FC1401A25DA21403A25D001C1307007F5C48130F5D4A5A4AC7
FC48137E00F85B387C03F0381FFFC0D803FEC8FC273B7CA72A>I<EB01FC13FF5CA21303
A25CA21307A25CA2130FA25CA2131FA25CA2133FA291C8FCEC03F890387F0FFE91383E0F
80D97E7813C0ECE007D9FFC013E014801400A2485A5BA25B0003140F16C05BA20007141F
16805BA2000F143F16005B5D001F147EEDFE074913FCA2003F0101130FEDF80E1300161E
48ECF01CA2007E1538A200FE1570020013E048EC7FC00038EC1F0028407ABE2E>I<1478
EB01FCA21303A314F8EB00E01400AD137C48B4FC38038F80EA0707000E13C0121E121CEA
3C0F1238A2EA781F00701380A2EAF03F140012005B137E13FE5BA212015BA212035B1438
120713E0000F1378EBC070A214F0EB80E0A2EB81C01383148038078700EA03FEEA00F816
3E79BC1C>I<EB07F0EA03FF14E0A2EA000FA214C0A2131FA21480A2133FA21400A25BA2
137EA213FEA25BA21201A25BA21203A25BA21207A25BA2120FA25BA2121FA25BA2123FA2
90C7FCA25A1307127EA2EAFE0F130E12FCA2131E131CA2EA7C381378EA3C70EA1FE0EA07
80144079BE17>108 D<D801F0D93F80137F3D07FC01FFE003FFC03D0F3E07C1F80F83F0
3D0E1F0F00FC1E01F8001E011C90387C3800001C49D97E707F003C01F05C0038157F4A5C
26783FC05C12704A91C7FC91C7127E00F003FE1301494A5CEA007EA20301140301FE5F49
5CA203031407000160495C180F03075D0003051F13E0494A1480A2030FEC3F810007F001
C0495CA2031F91383E0380120F494AEC0700A2033F150E001FEF1E1C4991C7EA0FF80007
C7000EEC03E0432979A74A>I<D801F0EB3F803A07FC01FFE03A0F3E07C1F83A0E1F0F00
FC001E011C137C001C49137E003C13F012385C38783FC012705C91C7FC00F015FE495CEA
007EA2150101FE5C5BA2150300015D5B15075E0003020F13704914C0A2031F13F00007ED
80E05B1681EE01C0120F49EC0380A2EE0700001FEC0F0E49EB07FC0007C7EA01F02C2979
A733>I<EC1FC0ECFFF8903803F07C90380FC01FEB1F8090393F000F80017E14C0491307
484814E0485A12075B000F15F0485AA2485AA2ED0FE0127F90C7FCA2151F4815C05AA2ED
3F80A2ED7F00A248147E007C5C007E13015D4A5A003E495A6C495A4A5A260F803EC7FC38
07C0FC3801FFF038003F80242977A72E>I<903903E001F890390FF807FE903A1E7C1E0F
80903A1C3E3C07C0013C137801389038E003E0EB783F017001C013F0ED80019038F07F00
01E015F8147E1603000113FEA2C75AA20101140717F05CA20103140F17E05CA20107EC1F
C0A24A1480163F010F15005E167E5E131F4B5A6E485A4B5A90393FB80F80DA9C1FC7FCEC
0FFCEC03E049C9FCA2137EA213FEA25BA21201A25BA21203A2387FFFE0B5FCA22D3A80A7
2E>I<D801F013FC3A07FC07FF803A0F3E0F03C0260E1F1C13E0001EEB380F001C137000
3CEBE01F123814C0D8783F14C00070903880070092C7FC91C8FC12F05BEA007EA313FE5B
A312015BA312035BA312075BA3120F5BA3121F5B0007C9FC232979A726>114
D<EC7F80903801FFE0903807C0F890381F003C013E131C013C131E017C133E49137E15FE
A2000114FCA215706D13007FEBFFC014FC6C13FF15806D13C06D13E0010F13F01300140F
14071403120C123F387F80011403D8FF0013E0A300FCEB07C000F0EB0F8012700078EB1F
006C133C381F01F83807FFE0C690C7FC1F297AA725>I<EB01C0EB03F01307A25CA2130F
A25CA2131FA25CA2133FA291C7FCA2007FB51280B6FC1500D8007EC7FC13FEA25BA21201
A25BA21203A25BA21207A25BA2120FA25BA2121F141C1380A2003F133C1438EB00781470
14F05C495AEA1F03495A6C48C7FCEA07FCEA01F0193A78B81E>I<137C48B4141C26038F
80137EEA0707000E7F001E15FE121CD83C0F5C12381501EA781F007001805BA2D8F03F13
03140000005D5B017E1307A201FE5C5B150F1201495CA2151F0003EDC1C0491481A2153F
1683EE0380A2ED7F07000102FF13005C01F8EBDF0F00009038079F0E90397C0F0F1C9039
1FFC07F8903907F001F02A2979A731>I<017CEB01C048B4EB07F038038F80EA0707000E
01C013F8121E001C1403EA3C0F0038EC01F0A2D8781F130000705BA2EAF03F91C712E012
005B017E130116C013FE5B1503000115805BA2ED07001203495B150EA25DA25D15780001
14706D5B0000495A6D485AD97E0FC7FCEB1FFEEB03F0252979A72A>I<903903F001F890
390FFC07FE90393C1E0E0F9026780F1C138001F0EBB83FD801E013F89039C007F07FEA03
80000714E0D9000F140048151C000E4AC7FCA2001E131FA2C75BA2143F92C8FCA35C147E
A314FE4A131CA30101143C001E1538003F491378D87F811470018314F000FF5D90390778
01C039FE0F7C033A7C0E3C078027783C1E1EC7FC391FF80FFC3907E003F029297CA72A>
120 D<137C48B4143826038F8013FCEA0707000E7F001E1401001C15F8EA3C0F12381503
D8781F14F000701380A2D8F03F1307020013E012005B017E130F16C013FE5B151F120149
1480A2153F000315005BA25D157EA315FE5D00011301EBF8030000130790387C1FF8EB3F
F9EB07E1EB00035DA21407000E5CEA3F80007F495AA24A5AD8FF0090C7FC143E007C137E
00705B387801F0383803E0381E0FC06CB4C8FCEA03F8263B79A72C>I<D901F01370D907
FC13F0010F14E090381FFE0190393FFF03C049EB838090387C0FCF9039F803FF009038F0
007E49133C000114386C48137890C75A4A5A4A5A4A5A4AC7FC141E5C5C5C495A495A495A
49C8FC131E4913075B5B48485B4848131E485A01F05BD80FFE137C391F1F81F8383E0FFF
D83C075B486C5B00705CD8F00190C7FC38E0007C24297BA725>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fe cmbx12 13.14 62
/Fe 62 122 df<923807FFE092B512FC020714FF021F81027F9038007FC0902601FFF0EB
0FE04901C0497E4990C7487ED90FFC147F011F824A14FF495AA2137F5CA2715A715A715A
EF078094C8FCA7EF07FCB9FCA526007FF0C7123F171FB3B3A2003FB5D8E00FB512F8A53D
4D7ECC44>12 D<157815F81401EC03E0140FEC1FC0EC3F80EC7F0014FE5C1301495A495A
130F5C131F495AA2495AA249C7FC5AA2485AA3485AA2120F5BA2121FA25BA2123FA35B12
7FA612FFA25BAF7FA2127FA6123F7FA3121FA27FA2120FA27F1207A26C7EA36C7EA27E6D
7EA26D7EA26D7E130F8013076D7E6D7E130080147FEC3F80EC1FC0EC0FE01403EC01F814
0015781D6D75D130>40 D<127012F8127C7EEA3F806C7E6C7E6C7E6C7E12017F6C7E137F
80133F806D7EA26D7EA26D7E80A26D7EA36D7EA215807FA215C0A2147FA215E0A3143F15
F0A615F8A2141FAF143FA215F0A615E0147FA315C0A214FFA21580A25B1500A2495AA349
5AA25C495AA2495AA2495A5C137F91C7FC13FE485A5B1203485A485A485A485A003EC8FC
5A5A12701D6D79D130>I<EA07E0EA1FF0487E487E7FB5FCA31480A37EA27E7EEA07E7EA
0007A2130F1400A35B131E133E133C137C137813F8485AA2485A485A485A48C7FC121E12
0C1125778F22>44 D<B7FCAA200A7F9D29>I<EA07E0EA1FF8EA3FFCEA7FFEA2B5FCA6EA
7FFEA2EA3FFCEA1FF8EA07E01010778F22>I<177817F8EE01FCA21603A2EE07F8A217F0
160FA217E0161FA2EE3FC0A21780167FA217005EA24B5AA25E1503A24B5AA25E150FA25E
151FA24B5AA25E157FA24BC7FCA25D1401A25D1403A24A5AA25D140FA24A5AA25D143FA2
5D147FA24AC8FCA25C1301A25C1303A2495AA25C130FA2495AA25C133FA25C137FA249C9
FCA25B1201A2485AA25B1207A25B120FA2485AA25B123FA25B127FA248CAFCA25AA2127C
A22E6D79D13D>I<EC0FFC91B512C0010714F8498090393FFC0FFF90267FE0017F49486C
7F48496D7E4890C76C7E49141F000782000F8249140F001F82A3003F824980A2007F1780
A600FF17C0B3A4007F1780A6003F17006D5CA2001F5EA3000F5E6D141F00075E6D143F6C
5E6C6D495A6C6D495A90267FF0035B90263FFC0F90C7FC010FB512FC6D5C010014C0DA0F
FCC8FC32487BC63D>I<15F014011407141F147FEB03FF137FB6FCA313FC1380C7FCB3B3
B2007FB712E0A52B4777C63D>I<ECFFF80107EBFF80013F14F090B612FC4881480101EB
FF802707F8003F13C0D80FE0010F13E0D81F806D13F0003F80D87FF06D13F86D15FC6D7F
00FF16FE6D147FA217FF82A36C5A6C5A6C5A6C5AC95A17FEA3EEFFFCA24B13F817F05D17
E04B13C017804B13004B5A4B5A5EED7FE04B5A4A5B4A90C7FCEC07FC4A5A4A5A4B131FEC
3F804AC7FC14FE4948143E495AEB07E0495A4948147E49C8FC017E15FE90B7FC4816FC5A
5A5A5A5A5AB8FC17F8A430477AC63D>I<EC3FFE0103B512E0010F14FC013F14FF90267F
E01F7F9026FF000713E0D801FC6D7FD803F07F486C6D7FD80FFE817F486D80167FA3805C
16FF7E91C75B6C5A6C5AD80020495B90C75C5D5F4B5B5F031F90C7FCED3FFC4AB45A49B5
12E0168016E016FC90C7EA3FFF030713C06F7F6F7F6F7F83707E83A2701380A318C0EA07
E0EA1FF8487E487EA2B5FCA31880A25E491600127F494A5A6C485D01E05B001F4A5BD80F
FC495B2707FFC03F13C06C90B65AC64BC7FC013F14F8010714E09026007FFEC8FC32487B
C63D>I<EE07E0160FA2161F163F167F16FFA25D5D5DA25D5D5DA2157D15FDEC01F915F1
EC03E11407EC0FC1EC1F811501143F147E14FC14F8EB01F01303EB07E014C0EB0F80131F
EB3F00133E5B13FC485A485A5B1207485A485A90C7FC123E127E5AB912FCA5C80003EBE0
00AD023FB612FCA536487DC73D>I<D8038015E001E0140301FC143F9039FFE003FF91B6
12C017801700A25E5E16F05E5E93C7FC15FC15F001E790C8FC01E0C9FCAAEC1FFC01E1B5
12C001E714F001EF14FC9039FFE01FFFDA0007138001FC6D13C001F06D13E04915F0497F
17F8C913FC167F17FEA417FFA3EA0FC0EA3FF0487EA2487EA317FEA34914FF6C4815FC5B
018015F86CC74813F07F6C6C4913E0D80FF04913C0D807FC011F13806CB46CB512006C90
B512FC6C5D013F14C0010F91C7FC010113F030487AC63D>I<ED7FF8913807FFFE021F6D
7E027F80903A01FFF01FE0010790388003F04948486C7E49486D7ED93FF013074948130F
01FF4A7E4849133F5C5A4890C7FCA25A705A48486E5A705A003F92C8FCA3485AA2152091
3807FFE0021F13FC00FF497F4A6D7EDAFC017F9026FDF0007F4A6D7ED9FFC06D7E4A6D7E
8391C7FC8382491680A318C05BA3127FA6123FA27F001F1780A3000F4B1300A26C6C5DA2
6C6D495A6C6D5C6C6D495A6D6C48485A90263FFC075B6DB65A6D4AC7FC01035C010014F0
020F90C8FC32487BC63D>I<121F7F7F13FE90B812E0A45A18C0188018005F5FA25F485E
90C8EA07E0007E4B5A5F007C151F4CC7FC167E5E485D15014B5A4B5AC8485A4B5AA24BC8
FC157EA25D1401A24A5A1407A24A5AA2141FA24A5AA2147FA314FFA3495BA45BA55BAA6D
5BA26D90C9FCEB007C334B79C93D>I<EC1FFF49B512F0010714FC011F14FF90263FF007
13C049C77F01FCEC3FF04848EC0FF848481407000782491403000F821601A2121F7FA27F
13FE6D140302C05C14F002FC495A6C6D130FDAFF805B9238E01FE06C6E485A9238FCFF80
6C91B5C7FC6C15FC6C5D7F6D14FE6D806D15C06D81011F81017F81D9FFDF804813072603
FE018048486C804848133F4848010F1480003F8049130148486D6C13C0161F8248481403
82A282A2177FA218807F127FEFFF007F6C6C4A5AA2D81FFC4A5A6C6CEC0FF86C6C6CEB3F
F06C9039F003FFE06C90B612806C6C92C7FC011F14FC010714E09026003FFEC8FC32487B
C63D>I<EC1FFE49B512C0010F14F04914FC90397FFC0FFE903AFFE003FF804849C67F48
496D7E4890C7FC486F7E484881161F003F825B007F82A28300FF81A31880A518C0A45E12
7FA3003F5D7F121F5E120F6C6C91B5FC6C90388001EF6CEBC0036C9038E00FCF6DB5128F
011F140F010701FE1480010113F8903800010091C7FCA24C1300A3D803F85D487E487E48
6C4A5AA25F4C5AA24C5A49495B6C485D49010790C7FC01E0495AD807F8EB3FFC6CB448B4
5A6C90B55A6C15C06D91C8FC011F13FC010313C032487BC63D>I<EE01F8A24C7EA34C7E
A24C7EA34C7FA24C7FA34C7FA293B57EA34B8016F303038016E316E103078016C0030F80
5E83031F814C7E4B81153E83037E81037C7F03FC815D830201824B7F0203825D83020782
4B7F020F825D84021F8392B8FC4A83A34A83027CC8120F02FC835C840101844A81010384
5C840107844A81010F845C85011F85496C82B600C091B712F0A5544D7CCC5D>65
D<B912F0F0FF8019F019FC19FFD8001F0180C780061F7F727F727F727F727FA2727FA219
7F86A84F5AA2626062604E5B4E5B4E1380067F90C7FC943803FFFC92B712F0198019F019
FC0380C7383FFF80060F7F060313F0727F727F737E86851B80851BC0A21BE0A48561A41B
C0A2611B80611B0096B5FC4E5B4E5B060F5B067F5BBB12C097C7FC19FC19F04EC8FC4B4B
7CCA57>I<93261FFF80EB01C00307B500F81303033F02FE13074AB7EAC00F0207EEE03F
021F903AFE007FF87F027F01E0903807FCFF91B5C70001B5FC010301FC6E7E4901F0151F
4901C0814949814990C97E494882494882485B48197F4A173F5A4A171F5A5C48190FA248
5B1A07A25AA297C7FC91CDFCA2B5FCAD7EA280A2F207C07EA36C7FA26C190F6E18807E6E
171F6C1A006E5F6C193E6C6D177E6D6C5F6D6C4C5A6D6D15036D6D4B5A6D01F04B5A6D01
FCED3FC0010001FFEDFF806E01E0D903FEC7FC021F01FEEB3FFC020790B612F002015EDA
003F92C8FC030714FCDB001F13804A4D79CB59>I<B912F0F0FF8019F019FC19FFD8001F
902680000114C0DD001F7F060713F806017F726C7E737E737F737F737F8587737F8587A2
747EA38786A21C80A51CC0A586A462A51C80A51C00A26263A2631AFF636163614F5B634F
5B073F90C7FC4F5A4F5A06035B061F5B4DB512C0BBC8FC19FC19F0198006F0C9FC524B7C
CA5E>I<BB12C0A486D8000F01E0C77E18071801F0007F193F191F190F1907861903A319
01A3EF0F80A2737EA497C7FC171FA2173F177F17FF160392B6FCA5EDE0031600177F173F
171FA2050FEC0F80A3F21F00A494C8FC621A3EA21A7EA31AFE6219011903A21907190FF1
3FF819FF1803183FBBFCA262A3494A7CC951>I<BBFCA41A80D8001F01C0C7FC181F1803
8484197F193F191F1AC0190FA31907A4171FF103E0A496C7FCA25FA25F5F5E160792B6FC
A5EDC0071601828383A283A794C9FCB1B8FCA5434A7CC94D>I<93261FFF80EB01C00307
B500F81303033F02FE13074AB7EAC00F0207EEE03F021F903AFE007FF87F027F01E09038
07FCFF91B5C70001B5FC010301FC6E7E4901F0151F4901C0814949814990C97E49488249
4882485B48197F4A173F5A4A171F5A5C48190FA2485B1A07A25AA297C8FC91CEFCA2B5FC
AD6C040FB712C0A280A36C93C7001FEBC000A2807EA27E807E807E806C7F7E6D7E6D7E6D
7F6D01E05D6D6D5D6D13FC010001FF4AB5FC6E01E0EB07F9021F01FFEB3FF0020791B5EA
E07F0201EEC01FDA003FED0007030702F81301DB001F018090C8FC524D79CB61>I<B7D8
FC01B712F8A5D8001F01C0C8001FEBC000B3AA92B9FCA503C0C8121FB3AEB7D8FC01B712
F8A5554B7BCA60>I<B712FEA5D8000FEBE000B3B3B3ABB712FEA5274B7DCA2E>I<B700F8
027FB512F0A5D8001F01C0C9EBC00074C7FCF101FE4F5A4F5AF10FE04F5A4F5A4FC8FCF0
01FE4E5A4E5AF00FE04E5A4E5A4EC9FCEF01FE4D5A4D5AEF0FE04D5A4D5A4DCAFCEE01FE
16034C7E4C7F5E4C7F93B57E03C18015C303C780DBCFE77FDBDFC37FEDFF8104017F4B6C
804B7F4B6D7F03E0814B6D7F8385717F717F83857180727F8486727F8486727F727F8486
7280737F8587737F87B700F8010FB612FCA5564B7CCA60>75 D<B8FCA5D8001F01C0C9FC
B3B3A4193EA4197E197CA519FCA31801A2F003F8A21807180F181F183F187FEF01FF1707
173FBA12F0A53F4B7BCA4A>I<B600E04DB612806F5FA26F5FA2D8001F09FCC7FC6FEF0F
7FA2DABFFE171EA2DA9FFF173CA3028F6D1678A202876D16F0A202836DED01E0A302816D
ED03C0A202806DED0780A26F6CED0F00A36F6C151EA26F6C5DA26F6D5CA26F6D5CA36F6D
495AA26F6D495AA26F6D495AA3706C49C7FCA2706C131EA2706C5BA3706D5AA2706D5AA2
70EBE1E0A370EBF3C0A270EBFF80A27190C8FCA2715AA3715AA2715A497EB600F06D4801
03B71280A3715A715A694B7BCA74>I<B600E092B612F88181A281D8001F6D9239001FE0
006F705A82A28202BF7F029F7FA2028F7F02877F02837F8214810280806F7F6F7F83816F
7F6F7F6F7F83816F80707F707F8482707F707F707FA2707F7014807113C019E0837113F0
7113F87113FC19FE837113FF71148F7213CF1AEF847213FF8484A284848485A2858585A2
85858585497EB600F8167F1A3F1A1F1A0FA2554B7BCA60>I<EEFFF8031FEBFFC04AB612
FC020715FF021FD9C01F13C091277FFE000313F0902601FFF09038007FFC49496E7E4901
80EC0FFF4990C86C7F49486F7F49486F7F017F8449486F7F4849707EA24849707E4885A2
4849701380A2481AC04A82A2481AE0A34890CA6C13F0A5B519F8AE6C1AF0A26E5EA36C1A
E0A26E5E6C1AC0A26C1A806E5E6C1A006E5E6C616E16FF6C616C6D4B5B6D6C4B5B6E5D6D
6D4A5B6D6D4A5B01076D4A90C7FC6D01F8ECFFFE6D01FE01035B9028007FFFC01F13F002
1F90B612C0020793C8FC020115FCDA001F14C0030101FCC9FC4D4D79CB5C>I<B912C018
FCF0FF8019F085D8001F902680000713FE05007F063F1380060F13C07213E01AF0841AF8
A27213FCA31AFEA81AFCA34E13F8A21AF0601AE04E13C0063F138095B51200050713FC92
B75A19E096C7FC18F803C0CAFCB3ABB712FCA5474B7BCA54>I<B9FC18F8F0FF8019E019
F8D8000F9026C0000713FE9439007FFF80061F7F727F727F727F84868684A286A862A24E
5BA2624E5B4E5B4E5B4E5B95B5C8FC050713FC92B712F0198006FCC9FC18FF9226C0003F
13C0050713F0717F717F717F187F85727FA28486A786A71C3E86A28474137E72157C726D
13FCB700FC6D9038FE01F872EBFF8373EBFFF0071F14E007031480CD383FFE00574C7CCA
5C>82 D<DA7FFCEB01C00103B5EAC003011FECF00749ECFC0F90B7121F48D9E00F13BF48
90C713FFD807FC141F4848804848140382484880177F485A173F171F12FFA2170F7FA217
077F7F7F6D92C7FC6D7E6C13F014FF15F86CECFF8016F86C15FF6C16C0836C826C826C82
6C82013F816D1680010716C01300020F15E01400030714F0ED007F160F16037013F88217
7F127800F8163FA3171FA27E18F0A27EA26CEE3FE07F18C001E0157F6DEDFF8001FC1600
01FF140302E0EB0FFED97FFEEB3FFC486CB612F0D8FC0F5DD8F803158048C66C49C7FC48
010313F0354D79CB44>I<003FBB12C0A5DA80019038FC001FD9FC001601D87FF0943800
7FE001C0183F49181F90C7170FA2007E1907A3007C1903A500FC1AF0481901A5C894C7FC
B3B3A749B812FCA54C4A7CC955>I<B700F8023FB512F8A5D8001F01C0C9380FE000745A
B3B3AD6D180F63811A1F6D96C7FC626D7F1A7E6D7F6D606E6C4B5A6E6CED07F06E6C4B5A
6E01C0EC3FC06E01F049B45A020101FF011F90C8FC6E91B55A033F15F8030715E0030092
C9FC040713F0554C7CCA5E>I<B700F00203B6FCA5D8001F01E0C93803FC00745A6D6181
1A036D6D5F1A076D6D5F1A0F6D616F161FA26D6D94C7FC626E6D153E1A7E6E177C7015FC
6E5F8219016E6D5D19036E5F7014076E5F82190F6E6D5D191F6E6D92C8FC616F153E8319
7E6F6D137C19FC6F6D5B18016F5DEFF003A26F01F85B18076F01FC5B180F6F5DEFFE1F6F
92C9FC17FF607013BE18FE705BA2705BA3705BA2705BA2705BA3705BA27090CAFCA2177E
A2584C7ECA5D>I<B7D8E007B791B612C0A5D8003F0180C7000101FCC9387F80006F7070
C7FC6D70183EA26F70167E6D71177C876F1BFC6D715F6F831E016D656F4B6D14036D6587
6F92B515076D656F4A8007F3160F6E647001036E141F6E04E194C8FCA27001076E5C6E04
C0163E8770010F177E6E4C6C157C70011F814F6C15FC6E637049EDC0016E033E6D5D1CE0
70017E16036E037C6D5D7001FC15F04E6D14076E63DCFF01EEF80F6F4A6D5DA20583EEFC
1F6F4A6D92C9FC1CFE05C75F6F4A6D143E05EF16FF4E6E137E6F197C05FF17FC6F91C86C
5BA36F496F5BA24D816F61A26F496F5BA370486F5BA370486F90CAFCA24D81041F5FA270
48167C7A4C7ECA7F>I<003FB600FC011FB61280A5D8000701FCC8D81FF0C7FC6D6D6F5A
626D6D4B5A6D6E4AC8FC616E6D147E6E6D5C70495A6E15036E6D5C6E6D495A4E5A6E6D13
1F6E6D5C4EC9FC6EEC807E6FEBC0FE715A6FEBE1F86FEBF3F06F13FF606F5C6F5CA26F91
CAFC6F80707FA2707F707FA2707F845E4C7F84047E805E03016D7F4C6C7FED03F04B486C
7F030F6D7F16C04B486C7F4B486C7F717F157E4B6D8002016F7F5D4A486E7F4A486E7F14
0F4B6E7F4A486E7F4AC86C7F5C027E6F7F4A6F80495A0103717F496C707FB600FC027FB6
12FCA5564B7DCA5D>I<B700F84AB6FCA5D8001F01F0C93803FC006F705A6D4E5A6D6D4C
5A816D4E5A6D6D4C5A826D4EC7FC6E6D5D70157E6E5F6E7F704A5A6E4C5A6E7F704A5A6E
4C5A6E7F71495A6E4CC8FC6F7F71137E6F5D6F7F71485A6F4A5A6F13FC71485A6F4A5A6F
13FFF09F806F02BFC9FC7013FF60705B8260705B8260B3A7037FB612FEA5584B7ECA5D>
I<ECFFFC010FEBFFC0017F14F090B612FC489038803FFE3B03FC0007FF80486C6D7F6D7F
486D6C7F83167F83A2707E6C90C7FC6C5A6C5AC9FCA5ED1FFF021FB5FC49B6FC130F013F
EBC03F9038FFFE00000313F04813C04890C7FC485A485AA2485AA2485AA4167FA26D14FF
007F15EF6D01017F6C6C903907CFFF806C6CD90F8F13FE6C9038E07F076C9038FFFE0300
014A7ED8003F9038F0007F0103018090C7FC37347CB23C>97 D<EB7FC0B5FCA512037EB3
ED07FF037F13E002C1B512FC02C714FF9126CFF80F7F9126DFC0017F02FFC77F4AEC3FF0
02F8814A6E7E717E4A81831980A37113C0A319E0AC19C0A35F1980A219005F606E141F6E
5D4D5A6E4A5A02BF4A5A91261FC0035B9027FE0FF01F5B496CB548C7FCD9F80114F8496C
6C13E0C8D80FFEC8FC3B4D7CCB44>I<91380FFF8091B512F8010314FF010F15804948C6
13C0D97FF8EB1FE0D9FFE0EB3FF04849137F4849EBFFF84890C7FCA2485A121FA24848EC
7FF0EE3FE0EE1FC0007F92C7FC5BA212FFAC127FA27FA2123FA26C6C153EA26C6C157E17
7C6C6D14FC6C6D14F86C6D13036C6DEB07F0D97FFCEB1FE06DB4EBFFC0010F90B5120001
035C010014F0020F13802F347CB237>I<EF1FF0EE3FFFA51600177FB3EC0FFF91B512E0
010314F8010F14FC013FEB01FF903A7FF8003FFFD9FFE0130F48497F48497F4890C77E48
815B121F5B123FA2127F5BA312FFAC127FA36C7EA3121F6D5C120F6C6C5C6C6D5B6C5D6C
01E0013F7F6D6C49EBFFE090393FFE03FE6DB512F801075C0100148091261FFC00EBC000
3B4D7CCB44>I<EC0FFF91B512F0010314FC010F14FF90263FFE077F90267FF0007F4948
6D7E4801806D7E486F7E4890C7120F484881707E121F491403003F82A2127F5B701380A2
12FFA390B8FCA401F8CAFCA5127FA27FA2123FA26C6CED0F80A26C6C151F6C17006E5C6C
6D147E6C6D5C6C6D495AD93FFCEB07F0903A1FFF803FE0010790B55A010192C7FC6D6C13
FC020713C031347DB238>I<DA7FFCEB0FE00103B538807FF8010F9138E1FFFC013F02FB
13FE903A7FF01FFFF39026FFC007138348D90001130348168348486DEBC1FCEFC0F8000F
EEE00049147F001F82A9000F5E6D14FF00075EA26C6C495B6C93C7FC6C9038C007FE9138
F01FFC4890B55A01EF14E0D803C314809026C07FFCC8FC000790CAFCA47FA27F13FC90B6
12FCEEFFC06C16F817FE6C8218806C17C06D16E00003B812F0120FD81FFCC7000F13F8D8
3FF0140049153F4848ED1FFC00FF160F491507A56D150F007F17F86D151F6C6CED3FF06C
6CED7FE0D80FFE913801FFC06C6C6C010713806C01F8017F1300C690B612FC013F15F001
071580D9003F01F0C7FC37497DB13D>103 D<EB7FC0B5FCA512037EB3923801FFC0030F
13F8033F7F4B13FFDBFE077F9138C1F0039126C3E0017FDAC78080ECCF0014DE02DC6D7F
14FC5CA25CA35CB3AAB6D8C07FEBFFE0A53B4C7BCB44>I<13FCEA03FF487F487FA2487F
A66C5BA26C5B6C90C7FCEA00FC90C8FCABEB7FC0B5FCA512037EB3B3A2B61280A5194D7B
CC22>I<EB7FC0B5FCA512037EB3A293383FFFFEA5040390C7FC17FC4C5AEE0FE0EE3FC0
4C5A4CC8FC4B5AED03F8ED0FF04B5A4B5A4B5A4BC9FC14C302C77F02CF7F02DF7F91B5FC
824A7F4A6C7EECF83F9138E01FFE02C07F6F7F816F7F836F7F81707E83707E161F707E84
707F84B6D8803FEBFF80A5394C7CCB41>107 D<EB7FC0B5FCA512037EB3B3B3AAB61280
A5194C7BCB22>I<90287FC001FFC0EC7FF0B5010F01FC0103B5FC033F6D010F804B6D49
80DBFE079026803F817F9126C1F801903AC07E007FF00003D9C3E0DAE0F8806C9026C780
00D9F1E06D7E02CFC7EBF3C002DEEDF780DD7FFF6E7E02FC93C7FC4A5DA24A5DA34A5DB3
AAB6D8C03FB5D8F00FB512FCA55E327BB167>I<903A7FC001FFC0B5010F13F8033F7F4B
13FFDBFE077F9138C1F00300039026C3E0017F6CD9C78080ECCF0014DE02DC6D7F14FC5C
A25CA35CB3AAB6D8C07FEBFFE0A53B327BB144>I<913807FF80027F13F80103B6FC010F
15C090261FFE017F903A7FF0003FF849486D7E480180EB07FE4890C76C7E481780498000
0F17C048486E13E0A2003F17F0A249157F007F17F8A400FF17FCAB007F17F8A46C6CEDFF
F0A2001F17E0A26C6C4A13C0A26C6C4A13806C6D4913006C5E6C01E0EB1FFC6D6C495A90
3A3FFE01FFF0010FB612C0010392C7FCD9007F13F80207138036347DB23D>I<90397FC0
07FFB5017F13E002C1B512FC02C714FF9126CFF80F7F9126DFC0037F000301FFC77F6C49
6E7E02F8814A6E7E717E4A81831980A28319C0A37113E0AC19C05FA319805F19005F606E
143F6E5D4D5A6E4A5A02FF495BDBC0075B9126EFF01F5B02E7B548C7FC02E114F8DAE07F
13E0DB0FFEC8FC92CAFCAFB612C0A53B477CB144>I<9039FF803FE0B5EBFFF8028113FE
02837FDA87E11380EC8F830003D99F0713C06C139E14BCA214F8A24A6C13806F13006F5A
4A90C7FCA45CB3A8B612E0A52A327CB132>114 D<903907FF8070017FEBF1F048B6FC12
07380FFC01391FE0003F4848130F491307127F90C71203A2481401A27FA27F01F090C7FC
13FCEBFFC06C13FEECFFE06C14FC6C806CECFF806C15C06C15E06C15F06C7E011F14F801
0114FCEB000FEC007FED1FFE0078140F00F8140715037E1501A27E16FC7E15036D14F86D
13076D14F001F8EB1FE001FFEBFFC04890B51280486C1400D8F81F13FCD8E00313C02734
7CB230>I<14F8A51301A41303A21307A2130FA2131F133F137F13FF1203000F90B512F0
B7FCA426007FF8C7FCB3A7167CAA013F14F880A290391FFE01F0010F1303903907FF87E0
6DEBFFC06D14806D6C1300EC0FFC26467EC430>I<D97FE0EC3FF0B5EC7FFFA500031501
6C81B3AC5EA25EA25E7E6EEB0F7F017F021E7F6E017CEBFFE090393FFE01F86DB512F001
0714E0010114C09027003FFE00EBC0003B337BB144>I<B600C090387FFFF0A5C601F0C7
3803F8006E5D017F5E801707013F5E6E140F011F5E6E141F6D93C7FC6F5B6D153E81177E
6D157C6F13FC6D5DEDF0016D5DEDF803027F5CA2EDFC07023F5CEDFE0F021F5CEDFF1F6E
91C8FC169F16BF6E13BE16FE6E5BA26E5BA26E5BA36F5AA26F5AA26F5AA23C327EB041>
I<B60081B500FC90387FFFF0A500019026E0000390C73801FC006E6F5C6C6F5E6E6F1303
017F61A26E6F1307013F4A5E846E49150F011F616E6F131F6D4A93C7FC179F03806E5B6D
021F153EEF0FFE6DD9C03F5DEE3E0703E06E13FC6D027E5DEE7C0303F015816D4A6C5C03
F815C3DA7FF95E4C7E03FD15E7DA3FFF5E4C137F19FF6E496D5BA26E94C8FC4C7FA26E5E
93C7120FA26E486E5AA202015E4B1403A26E486E5A54327EB059>I<B6D88007B512C0A5
26007FF8C7387F80006D6C92C7FC6E14FE6D6C495A6D6D485A6D01C05B6D4A5A6F485A6D
EBF01F6D6D485A6E6C48C8FC023F137E6F5A6E6C5A806E5B6E5BA26E7F6E7F6F7E15FF4A
7F4A7F4A8003E77FEC0FC3DA1F837FDA3F817F4AC67F02FE6D7E4948133F4A8049486D7E
01076E7F49486D7F49487F494881017F6E7FB500F8011FEBFFF0A53C317EB041>I<007F
B500C090387FFFE0A5C601F0C73803F8006E5D017F5E6E1407013F5E80170F011F5E6E14
1F6D93C7FC6F5B6D153E6F137E6D157C6F13FCA26D6D5B16016D5DEDF803027F5CEDFC07
023F5CEDFE0F021F5C15FF161F6E91C8FC16BF6E13BE16FE6E5BA26E5BA36E5BA26F5AA2
6F5AA26F5AA393C9FC5D153E157E157CD81F8013FC486C5B387FE001D8FFF05B14035D14
074A5A49485A007F133F4948CAFC383F81FE381FFFF86C5B6C13C0C648CBFC3B477EB041
>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Ff cmtt10 10.95 81
/Ff 81 127 df<00101304007C131F00FEEB3F80A26C137FA248133FB2007E1400007C7F
003C131E00101304191C75B830>34 D<903907C007C0A2496C487EA8011F131FA202C05B
A3007FB7FCA2B81280A36C16006C5D3A007F807F80A2020090C7FCA9495BA2003F90B512
FE4881B81280A36C1600A22701FC01FCC7FCA300031303A201F85BA76C486C5AA229387D
B730>I<1438147C14FCA4EB03FF011F13E090B512FC4880000780481580261FFEFD13C0
9039F0FC3FE0D83FC0131FD87F80EB0FF001001307007E15F800FE14035A1507A36CEC03
F0A2007F91C7FC138013C0EA3FF0EA1FFE13FF6C13FF6C14E0000114F86C6C7F011F7F01
037F0100148002FD13C09138FC7FE0151FED0FF015070018EC03F8127E1501B4FCA35AA2
6CEC03F07E01801307ED0FE0D83FC0131F01F0EB7FC0D81FFEB512806CB612006C5C6C5C
C614F0013F13C0D907FEC7FCEB00FCA5147C143825477BBE30>I<EB07E0EB1FF8497E13
7F497E803801FC7F497E810003131F13F0A6143F92C8FC91387F0FFF9026F87E1F138000
0113FEEBF9FC13FB4A6C1300D9FFF013C06C13E0151F02C05BEB7F809038FF003F4892C7
FC485C48EB807E5A15FE391FDFC0FC383F8FE014E1397F07F1F8EB03F300FEEBFBF0EB01
FF5D7FEDC006027F130F91393F801F8015C06C137F6CEBFFE049EBF83F018701FC130026
3FFFFBB5FC6C01F15B14E06C9038C03FFC00039038001FF8D801FCEB07E0293A7DB830>
38 D<EA07C0EA0FF0EA1FF8A213FCA213FE120F1207EA007EA513FE13FCA2120113F812
03EA07F0120FEA1FE0127FEAFFC013801300127C12380F1D70B730>I<141E147F14FF5B
EB03FEEB07FCEB0FF0EB1FE0EB3FC0EB7F80EBFF00485A5B12035B485A120F5BA2485AA2
123F5BA2127F90C7FCA412FEAD127FA47F123FA27F121FA26C7EA27F12076C7E7F12017F
6C7EEB7F80EB3FC0EB1FE0EB0FF0EB07FCEB03FEEB01FF7F147F141E184771BE30>I<12
7812FE7E7F6C7E6C7EEA0FF06C7E6C7E6C7E6C7EEB7F80133F14C0131FEB0FE014F01307
A2EB03F8A214FC1301A214FE1300A4147FAD14FEA4130114FCA2130314F8A2EB07F0A213
0F14E0EB1FC0133F1480137FEBFF00485A485A485A485AEA3FE0485A485A90C7FC5A1278
184778BE30>I<14E0497E497EA60038EC0380007EEC0FC0D8FF83EB3FE001C3137F9038
F3F9FF267FFBFB13C06CB61280000FECFE00000314F86C5C6C6C13C0011F90C7FC017F13
C048B512F04880000F14FE003FECFF80267FFBFB13C026FFF3F913E09038C3F87F018313
3FD87E03EB0FC00038EC0380000091C7FCA66D5A6D5A23277AAE30>I<143EA2147FAF00
7FB7FCA2B81280A36C1600A2C76CC8FCAF143EA229297DAF30>I<EA03E0EA0FF0EA1FF8
13FCEA3FFEA213FFA27EA27E1203EA007FA2137E13FEEA01FC1203EA07F8EA3FF0127FEA
FFE0EA7F801300123C1019708B30>I<007FB612F0A2B712F8A36C15F0A225077B9E30>I<
120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F000C0C6E8B30>I<16F01501ED03
F8A21507A2ED0FF0A2ED1FE0A2ED3FC0A2ED7F80A2EDFF00A24A5AA25D1403A24A5AA24A
5AA24A5AA24A5AA24A5AA24AC7FCA2495AA25C1303A2495AA2495AA2495AA2495AA2495A
A249C8FCA2485AA25B1203A2485AA2485AA2485AA2485AA2485AA248C9FCA25AA2127CA2
25477BBE30>I<14FE903807FFC0497F013F13F8497F90B57E48EB83FF4848C613804913
7F4848EB3FC04848EB1FE049130F001F15F0491307A24848EB03F8A290C712014815FCA4
00FEEC00FEAD6C14016C15FCA36D1303003F15F8A26D1307001F15F0A26D130F6C6CEB1F
E0A26C6CEB3FC06C6CEB7F806D13FF2601FF8313006CEBFFFE6D5B6D5B010F13E06D5BD9
00FEC7FC273A7CB830>I<EB03C0497EA2130FA2131FA2133F137F13FF1203123FB5FCA2
13EF138FEA7E0F1200B3B0003FB512F84814FCB612FEA26C14FC6C14F81F3977B830>I<
EB07FC90383FFFC090B512F00003804814FE4880261FF80F1380263FE00113C09038C000
7F4848EB3FE090C7121FED0FF04814075A6C15F81503A3127E1218C8FCA2150716F0150F
16E0151F16C0153FED7F8015FF4A13005DEC07FC4A5A4A5A4A5A4A5A4A5A4990C7FC495A
495AEB0FF0EB3FE0495A495A4890C8FC4848EB01F04848EB03F8485AEA1FE048B6FCB7FC
A37E6C15F025397BB830>I<EB03FF013F13E090B512F84814FE4880481580260FFE0113
C09038F0007F4848EB1FE0150F16F01507A26C5A6C5AC8FC150F16E0A2151FED3FC0157F
EDFF8002071300903807FFFE495B5D8115FF6D1480D9000113C09138003FE0ED1FF0ED07
F8150316FC150116FE1500A21218127EB4FCA2150116FC4814036C15F86C6C13076DEB1F
F0D83FF0133F3A1FFE01FFE06CB612C06C15806CECFE00C65C013F13F001031380273A7C
B830>I<EC03FC4A7E140F141FA2143F147F157E14FEA2EB01FCEB03F8A2EB07F0A2EB0F
E0EB1FC0A2EB3F80A2EB7F0013FEA2485A485AA2485AA2485A485AA2485AA248C7FC12FE
B8FC1780A46C1600C8007EC7FCAA91387FFFFE91B6FCA46E5B29397DB830>I<000FB612
804815C05AA316800180C8FCAEEB83FF019F13C090B512F015FC8181D9FE0313809039F0
007FC049133F0180EB1FE06CC7120F000E15F0C81207A216F81503A31218127EA2B4FC15
0716F048140F6C15E06C141F6DEB3FC06D137F3A3FE001FF80261FFC0F13006CB55A6C5C
6C5C6C14E06C6C1380D90FFCC7FC25397BB730>I<EC0FF8EC7FFF49B51280010714E013
1F4914F090387FF80F9039FFC007F84813803803FE005B485A4848EB03F0ED01E0484890
C7FC5B123F5BA2127FEB000C903803FFE0010F13F8D8FF3F13FE48B6FCB7128016C09039
FE007FE001F8EB1FF001E0130F49EB07F8ED03FC5B90C7120116FE1500A37EA46C7E1501
6D14FC121F6D1303000FEC07F86D130F6C6CEB1FF06DEB3FE03A03FF81FFC06C90B51280
6C15006D5B011F13F8010713E001011380273A7CB830>I<49B4FC011F13F0017F13FC90
B57E0003ECFF804815C048010113E03A1FF8003FF049131FD83FC0EB07F8A24848EB03FC
90C71201A56D1303003F15F86D13076C6CEB0FF06C6CEB1FE0D807FCEB7FC03A03FF83FF
806C90B512006C6C13FC011F13F0497F90B512FE48802607FE0013C0D80FF8EB3FE0D81F
E0EB0FF04848EB07F8491303007F15FC90C712014815FE481400A66C14016C15FC6D1303
003F15F86D1307D81FF0EB1FF06D133F3A0FFF01FFE06C90B512C06C1580C6ECFE006D5B
011F13F0010190C7FC273A7CB830>56 D<49B4FC010F13E0013F13F890B57E4880488048
010113803A0FFC007FC0D81FF0EB3FE04848131F49EB0FF048481307A290C7EA03F85A48
15FC1501A416FEA37E7E6D130315076C7E6C6C130F6D133FD80FFC13FF6CB6FC7E6C14FE
6C14F9013FEBE1FC010F138190380060011400ED03F8A2150716F0150F000F15E0486C13
1F486CEB3FC0157FEDFF804A1300EC07FE391FF01FFC90B55A6C5C6C5C6C1480C649C7FC
EB3FF0273A7CB830>I<120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F00C7FCAF
120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F000C276EA630>I<EA03C0EA0FF0
EA1FF8A2EA3FFCA4EA1FF8A2EA0FF0EA03C0C7FCAFEA03C0EA0FF0121F13F8123F13FCA3
121FA2120F12031200120113F8120313F01207EA1FE0123FEA7FC0EAFF80EA7F00127E12
380E3470A630>I<16F01503ED07F8151F157FEDFFF014034A13C0021F138091383FFE00
ECFFF8495B010713C0495BD93FFEC7FC495A3801FFF0485B000F13804890C8FCEA7FFC5B
EAFFE05B7FEA7FF87FEA1FFF6C7F000313E06C7F38007FFC6D7E90380FFF806D7F010113
F06D7FEC3FFE91381FFF80020713C06E13F01400ED7FF8151F1507ED03F01500252F7BB2
30>I<007FB7FCA2B81280A36C16006C5DCBFCA7003FB612FE4881B81280A36C1600A229
157DA530>I<1278127EB4FC13C07FEA7FF813FEEA1FFF6C13C000037F6C13F86C6C7EEB
1FFF6D7F010313E06D7F9038007FFC6E7E91380FFF806E13C0020113F080ED3FF8151F15
3FEDFFF05C020713C04A138091383FFE004A5A903801FFF0495B010F13804990C7FCEB7F
FC48485A4813E0000F5B4890C8FCEA7FFE13F8EAFFE05B90C9FC127E1278252F7BB230>
I<EC1FE0ECFFF8010313FE010F7F4914804914C090397FF03FE09038FF800F4890380007
F0D803FC13033A07F801FBF89038F007FF380FE01F4A13FCEA1FC0495A003FEBFF0F9038
00FE07903901FC03FE007FEBF801EA7E03ECF000A2EAFE0700FC49137EAA00FE6D13FED8
7E0314FCA2ECF801D87F0114F8003FEBFC03903900FE07F0903880FF0F001F90387FFFE0
6D6C13C0EA0FE06E13803A07F007FE009038F801F86C6CC7127C6CB414FE6CEB80039038
7FF01F6DB512FC6D14F86D14E0010314C00100EBFE00EC1FF0273A7CB830>64
D<147F4A7EA2497FA4497F14F7A401077F14E3A3010F7FA314C1A2011F7FA490383F80FE
A590387F007FA4498049133F90B6FCA34881A39038FC001F00038149130FA40007814913
07A2D87FFFEB7FFFB56CB51280A46C496C130029397DB830>I<007FB512F0B612FE6F7E
82826C813A03F8001FF815076F7E1501A26F7EA615015EA24B5A1507ED1FF0ED7FE090B6
5A5E4BC7FC6F7E16E0829039F8000FF8ED03FC6F7E1500167FA3EE3F80A6167F1700A25E
4B5A1503ED1FFC007FB6FCB75A5E16C05E6C02FCC7FC29387EB730>I<91387F803C9039
03FFF03E49EBFC7E011F13FE49EBFFFE5B9038FFE07F48EB801F3903FE000F484813075B
48481303A2484813015B123F491300A2127F90C8FC167C16005A5AAC7E7EA2167C6D14FE
123FA27F121F6D13016C6C14FCA26C6CEB03F86D13076C6CEB0FF03901FF801F6C9038E0
7FE06DB512C06D14806D1400010713FC6D13F09038007FC0273A7CB830>I<003FB512E0
4814FCB67E6F7E6C816C813A03F8007FF0ED1FF8150F6F7E6F7E15016F7EA2EE7F80A216
3F17C0161FA4EE0FE0AC161F17C0A3163F1780A2167F17005E4B5A15034B5A150F4B5AED
7FF0003FB65A485DB75A93C7FC6C14FC6C14E02B387FB730>I<007FB7FCB81280A47ED8
03F8C7123FA8EE1F0093C7FCA4157C15FEA490B5FCA6EBF800A4157C92C8FCA5EE07C0EE
0FE0A9007FB7FCB8FCA46C16C02B387EB730>I<003FB712804816C0B8FCA27E7ED801FC
C7121FA8EE0F8093C7FCA5153E157FA490B6FCA69038FC007FA4153E92C8FCAE383FFFF8
487FB5FCA27E6C5B2A387EB730>I<02FF13F00103EBC0F8010F13F1013F13FD4913FF90
B6FC4813C1EC007F4848133F4848131F49130F485A491307121F5B123F491303A2127F90
C7FC6F5A92C8FC5A5AA892B5FC4A14805CA26C7F6C6D1400ED03F8A27F003F1407A27F12
1F6D130F120F7F6C6C131FA2D803FE133F6C6C137FECC1FF6C90B5FC7F6D13FB010F13F3
0103EBC1F0010090C8FC293A7DB830>I<3B3FFF800FFFE0486D4813F0B56C4813F8A26C
496C13F06C496C13E0D803F8C7EAFE00B290B6FCA601F8C7FCB3A23B3FFF800FFFE0486D
4813F0B56C4813F8A26C496C13F06C496C13E02D387FB730>I<007FB6FCB71280A46C15
00260007F0C7FCB3B3A8007FB6FCB71280A46C1500213879B730>I<49B512F04914F85B
A27F6D14F090C7EAFE00B3B3123C127EB4FCA24A5A1403EB8007397FF01FF86CB55A5D6C
5C00075C000149C7FC38003FF025397AB730>I<D83FFF90380FFF80486D4813C0B56C5A
A26C497E6C496C1380D803F0903803F8004B5A4B5A151F4B5A5E4BC7FC15FE14014A5A5D
4A5A4A5A141F5D4A5A4AC8FC5C13F18101F37F13F790B57E14EFECC7F01483EC03F81401
01FE7F496C7E5B157F497F82151F82150F826F7EA26F7E1501821500D83FFF903803FFC0
486D4813E0B56C5AA26C497E6C496C13C02B387FB730>I<383FFFF8487FB57EA26C5B6C
5BD801FCC9FCB3B0EE0F80EE1FC0A9003FB7FC5AB8FCA27E6C16802A387EB730>I<D83F
F8ECFFE0486C4913F0486C4913F8A2007F16F06C6C4913E00007160001EF14BFEC800FA3
9039E7C01F3FA4ECE03F01E3133EA2ECF07EA201E1137CA2ECF8FCA201E013F8A214FDEC
7DF0A3147FEC3FE0A3EC1FC0A2EC070091C7FCADD83FFC903801FFE0486C4913F0B54913
F8A26C486D13F06C486D13E02D387FB730>I<D83FFC90381FFF80486C4913C0B54913E0
A26C6D6C13C06C6E13800003913801F800EBF7C0A3EBF3E0A314F013F1A214F8A213F014
FCA2147C147EA2143E143FA2141FA21581A2140F15C1A2140715E1A2140315F1A21401A2
15F91400A3157DA3153FEA3FFF481380B5EAC01FA26CEB800F6C496C5A2B387EB730>I<
90383FFFE048B512FC000714FF4815804815C04815E0EBF80001E0133FD87F80EB0FF0A2
90C71207A44815F8481403B3A96C1407A26C15F0A36D130FA26D131F6C6CEB3FE001F813
FF90B6FC6C15C06C15806C1500000114FCD8003F13E0253A7BB830>I<007FB512F0B612
FE6F7E16E0826C813903F8003FED0FFCED03FE15016F7EA2821780163FA6167F17005EA2
4B5A1503ED0FFCED3FF890B6FC5E5E16804BC7FC15F001F8C9FCB0387FFFC0B57EA46C5B
29387EB730>I<003FB57E4814F0B612FC15FF6C816C812603F8017F9138003FF0151F6F
7E15071503821501A515035E1507150F4B5A153F4AB45A90B65A5E93C7FC5D8182D9F800
7FED3FE0151F150F821507A817F8EEF1FCA53A3FFF8003FB4801C0EBFFF8B56C7E17F06C
496C13E06C49EB7FC0C9EA1F002E397FB730>82 D<90390FF803C0D97FFF13E048B512C7
4814F74814FF5A381FF80F383FE001497E4848137F90C7123F5A48141FA2150FA37EED07
C06C91C7FC7F7FEA3FF0EA1FFEEBFFF06C13FF6C14E0000114F86C80011F13FF01031480
D9003F13C014019138007FE0151FED0FF0A2ED07F8A2007C140312FEA56C140716F07F6D
EB0FE06D131F01F8EB3FC001FF13FF91B51280160000FD5CD8FC7F13F8D8F81F5BD87801
1380253A7BB830>I<003FB712C04816E0B8FCA43AFE003F800FA8007CED07C0C791C7FC
B3B1011FB5FC4980A46D91C7FC2B387EB730>I<3B7FFFC007FFFCB56C4813FEA46C496C
13FCD803F8C7EA3F80B3B16D147F00011600A36C6C14FE6D13016D5CEC800390393FE00F
F890391FF83FF06DB55A6D5C6D5C6D91C7FC9038007FFCEC1FF02F3980B730>I<D87FFE
90380FFFC0B54913E06E5AA24A7E6C486D13C0D807F0903801FC00A26D130300035DA46C
6C495AA46C6C495AA46D131F6D5CA3EC803F013F5CA46D6C48C7FCA490380FE0FEA40107
5B14F1A301035BA314FB01015BA314FFA26D5BA46E5A6E5A2B397EB730>I<D83FFC9038
01FFE0486C4913F000FF16F8A2007F16F06C486D13E0D81FC09038001FC0000F1680A76D
143F00071600A7000390380F803E9039F01FC07EEC3FE0A3EC7FF0A2147D0001157CA290
39F8FDF8FCA314F8A300005D01F913FCA2ECF07CA201FD137DA2017D5CECE03DA3017F13
3FA2ECC01FA2013F5CA2EC800F6D486C5A2D397FB730>I<3A3FFF01FFF84801837F02C7
7FA202835B6C01015B3A01FC007F806D91C7FC00005C6D5BEB7F01EC81FCEB3F8314C301
1F5B14E7010F5B14FF6D5BA26D5BA26D5BA26D90C8FCA4497FA2497FA2815B81EB0FE781
EB1FC381EB3F8181EB7F0081497F49800001143F49800003141F49800007140FD87FFEEB
7FFFB590B5128080A25C6C486D130029387DB730>I<D87FFF90381FFFC0B56C4813E0A4
6C496C13C0D803F8903803F8006D1307A26C6C495AA26C6C5C151F6D5CEC803F013F5CEC
C07F011F91C7FCA290380FE0FEA214F101075BA2903803FBF8A201015B14FF6D5BA26E5A
A36E5AB1903803FFF8497F497FA26D5B6D5B2B387EB730>I<001FB612FC4815FE5AA490
C7EA03FCED07F816F0150FED1FE016C0153FED7F80003E1500C85A4A5A5D14034A5A5D14
0F4A5A5D143F4A5A92C7FC5C495A5C1303495A5C130F495A5C133F495A91C8FC5B484814
7C4914FE1203485A5B120F485A5B123F485A90B6FCB7FCA46C15FC27387CB730>I<127C
A212FEA27EA26C7EA26C7EA26C7EA26C7EA26C7EA26C7EA212017FA26C7EA26D7EA26D7E
A26D7EA26D7EA26D7EA26D7EA2130180A26D7EA26E7EA26E7EA26E7EA26E7EA26E7EA26E
7EA2140181A26E7EA2ED7F80A2ED3FC0A2ED1FE0A2ED0FF0A2ED07F8A21503A2ED01F015
0025477BBE30>92 D<007FB612F0A2B712F8A36C15F0A225077B7D30>95
D<EB3FFC48B57E4814E04880488048809038F00FFE9038E001FF806F7E6C48133F6C4880
C8121FA491B5FC130F137F48B6FC12075A48EBC01F383FFC00EA7FE0138048C7FC5AA46C
143FA26C6C137F9038C001FF263FF80FEBFFC06CB712E0A2000714F76C14C3C6020013C0
D93FF090C7FC2B2A7CA830>97 D<EA3FFC487E12FFA2127F123F1200AAEC03FE91381FFF
80027F13E091B57E90B612FC82ECFE079138F001FF4A6C13804A137F4AEB3FC091C7121F
4915E0160FA217F01607A8160FA217E07F161F6EEB3FC0A26EEB7F806E13FFDAF0031300
9138FC0FFE91B55A5E495CD97E7F13C0D93C1F90C7FC90380003FC2C3980B730>I<ECFF
E0010713FC011F7F017F7F90B612804815C048EB807F3907FC003F485A485A49EB1F8048
48EB0F004990C7FC127F90C9FCA25A5AA87E7EA27F003FEC07C06DEB0FE06C7E6D131F6C
6C14C0D807FE133F9039FFC0FF806C90B5FCC615006D5B011F13F801075B01011380232A
7AA830>I<913801FFE04A7F5CA28080EC0007AAEB03FE90381FFF874913E790B6FC5A5A
481303380FFC00D81FF0133F49131F485A150F4848130790C7FCA25AA25AA87E6C140FA2
7F003F141F6D133F6C7E6D137F390FF801FF2607FE07EBFFC06CB712E06C16F06C14F76D
01C713E0011F010313C0D907FCC8FC2C397DB730>I<49B4FC010713E0011F13F8017F7F
90B57E488048018113803A07FC007FC04848133FD81FE0EB1FE0150F484814F049130712
7F90C7FCED03F85A5AB7FCA516F048C9FC7E7EA27F003FEC01F06DEB03F86C7E6C7E6D13
07D807FEEB1FF03A03FFC07FE06C90B5FC6C15C0013F14806DEBFE00010713F8010013C0
252A7CA830>I<EDFF80020713E0021F13F05C4A13F891B5FC491387903803FE079138FC
03F0903907F800C04A1300A8003FB612C04815E0B7FCA36C15C0260007F0C7FCB3A9003F
B512FE4880B71280A26C15006C5C25397DB830>I<D903FC13FF90261FFF8713C04913DF
90B712E05A5A2607FE07138F903AF801FE07C048486C6CC7FCA2497F001F8149133FA56D
137F000F92C7FC6D5BA26C6C485AEBFE0790B55A5D485C15C001DF5BD9C3FCC8FC01C0C9
FCA37F7F6CB512F015FF6C15C04815F0488148813A3FE0001FFE0180130148C8127F007E
8100FE168048151FA56C153F007FED7F006D5C6C6C495A01F013076CB4EB7FFC6C90B55A
6C5D000115C06C6C91C7FC011F13FC010113C02B3E7DA730>I<EA3FFC487E12FFA2127F
123F1200AAEC01FE91380FFF80023F13E091B57E90B67EA29138FE07FCECF8039138E001
FE14C0EC8000A291C7FCA25BB3A23B3FFFF81FFFF8486D4813FCB500FE14FEA26C01FC14
FC6C496C13F82F3880B730>I<14E0EB03F8A2497EA36D5AA2EB00E091C8FCA9381FFFF8
487F5AA27E7EEA0001B3A9003FB612C04815E0B7FCA27E6C15C023397AB830>I<EC01C0
EC07F0A2EC0FF8A3EC07F0A2EC01C091C7FCA990B512F04814F8A47EEB0003B3B3A5EC07
F0A2123C007EEB0FE0B4131FEC3FC0147F90B512806C14005C6C5B000F13F0000313C01D
4E7CB830>I<EA7FF8487EA4127F1200AB0203B512804A14C017E0A217C06E1480913900
1FE0004B5A4B5A4BC7FC4A5A4A5AEC0FF84A5A4A5A4A5A4A5A01FD7F90B57E8114F7ECE3
F8ECC1FCEC81FEEC00FF497F496D7E6F7E826F7E15076F7E6F7E3B7FFFF81FFFE0B56C48
13F017F8A217F06C496C13E02D387FB730>I<387FFFF8B57EA47EEA0001B3B3A8007FB6
12F0B712F8A46C15F025387BB730>I<02FC137E3B7FC3FF01FF80D8FFEF01877F90B500
CF7F15DF92B57E6C010F13872607FE07EB03F801FC13FE9039F803FC01A201F013F8A301
E013F0B3A23C7FFE0FFF07FF80B548018F13C0A46C486C01071380322881A730>I<EC01
FE3A3FFC0FFF80267FFE3F13E000FF90B57E90B67E7E6C9038FE07FCC6EBF8039138E001
FE14C0EC8000A291C7FCA25BB3A23B3FFFF81FFFF8486D4813FCB500FE14FEA26C01FC14
FC6C496C13F82F2880A730>I<49B4FC010F13E0013F13F8497F90B57E0003ECFF801401
3A07FC007FC04848EB3FE0D81FE0EB0FF0A24848EB07F8491303007F15FC90C71201A300
FEEC00FEA86C14016C15FCA26D1303003F15F86D13076D130F6C6CEB1FF06C6CEB3FE06D
137F3A07FF01FFC06C90B512806C15006C6C13FC6D5B010F13E0010190C7FC272A7CA830
>I<EC03FE3A3FFC1FFF80267FFE7F13E000FF90B57E90B612FC6C816CEBFE07C69038F0
01FF4A6C13804A137F4AEB3FC091C7121F4915E0160FA217F01607A8160FA217E07F161F
6EEB3FC0A26EEB7F806E13FFDAF00313009138FC0FFE91B55A5E495C6E13C0021F90C7FC
EC03FC91C9FCAD383FFFF8487FB57EA26C5B6C5B2C3C80A730>I<ED07F83A3FFF803FFF
486DB51280B512C302CF14C06C13DF6C9038FFFC3FD8001F13E09238801F809238000F00
4A90C7FC5C5C5CA25CA45CAF003FB512FC4880B7FCA26C5C6C5C2A287EA730>114
D<90381FFC1E48B5129F000714FF5A5A5A387FF007EB800100FEC7FC4880A46C143E007F
91C7FC13E06CB4FC6C13FC6CEBFF806C14E0000114F86C6C7F01037F9038000FFF020013
80007C147F00FEEC1FC0A2150F7EA27F151F6DEB3F806D137F9039FC03FF0090B6FC5D5D
00FC14F0D8F83F13C026780FFEC7FC222A79A830>I<EB0780497E131FA9003FB612E048
15F0B7FCA36C15E026001FC0C7FCB216F8ED01FCA5ECE003010FEB07F814F09138FC1FF0
6DB512E06D14C016806D14009038007FFCEC1FF026337EB130>I<D83FFCEB3FFC486C49
7E00FF14FFA2007F147F003F143F00001400B3A41501A2150315076D130F903A7FC07FFF
F891B612FC6D15FE7F6D4913FC6D9038F87FF8010001C0C7FC2F2880A630>I<3B3FFFC0
7FFF80486DB512C0B515E0A26C16C06C496C13803B01F80003F000A26D130700005DA26D
130F017E5CA2017F131F6D5CA2EC803F011F91C7FCA26E5A010F137EA2ECE0FE01075BA2
14F101035BA3903801FBF0A314FF6D5BA36E5A6E5A2B277EA630>I<3B3FFFC01FFFE048
6D4813F0B515F8A26C16F06C496C13E0D807E0C7EA3F00A26D5C0003157EA56D14FE0001
5DEC0F80EC1FC0EC3FE0A33A00FC7FF1F8A2147DA2ECFDF9017C5C14F8A3017E13FBA290
393FF07FE0A3ECE03FA2011F5C90390F800F802D277FA630>I<3A3FFF81FFFC4801C37F
B580A26C5D6C01815BC648C66CC7FC137FEC80FE90383F81FC90381FC3F8EB0FE3ECE7F0
6DB45A6D5B7F6D5B92C8FC147E147F5C497F81903803F7E0EB07E790380FE3F0ECC1F890
381F81FC90383F80FE90387F007E017E137F01FE6D7E48486D7E267FFF80B5FCB500C114
8014E3A214C16C0180140029277DA630>I<3B3FFFC07FFF80486DB512C0B515E0A26C16
C06C496C13803B01FC0003F000A2000014076D5C137E150F017F5C7F151FD91F805BA214
C0010F49C7FCA214E00107137EA2EB03F0157C15FCEB01F85DA2EB00F9ECFDF0147D147F
A26E5AA36E5AA35DA2143F92C8FCA25C147EA2000F13FE486C5AEA3FC1EBC3F81387EB8F
F0EBFFE06C5B5C6C90C9FC6C5AEA01F02B3C7EA630>I<001FB612FC4815FE5AA316FC90
C7EA0FF8ED1FF0ED3FE0ED7FC0EDFF80003E491300C7485A4A5A4A5A4A5A4A5A4A5A4A5A
4990C7FC495A495A495A495A495A495A4948133E4890C7127F485A485A485A485A485A48
B7FCB8FCA46C15FE28277DA630>I<017C133848B4137C48EB80FE4813C14813C348EBEF
FC397FEFFFF0D8FF8713E0010713C0486C1380D87C0113003838007C1F0C78B730>126
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fg cmsl10 10.95 47
/Fg 47 123 df<EEFF80030F13F092383FC0789238FE001CDA03F8130E4A48133FDA1FE0
13FF4A5A4B5AEC7F005C5CEE00FE010115784A1400A513035CA4EE01FC0007B7FC17F8A2
3A0007F0000F1607A2130F4A14F0A4160F131F4A14E0A4161F133F4A14C0A4163F137F91
C71380A4167F5B491500A31201486C903801FF80B5D8F83F13FC5DA230407EBF33>12
D<17E016011603831607A2160FA2161F83163FA2167F167716F7EEE7FCED01E316C31503
16831507EE03FEED0F01150E151E151C153C03387FED7800157015F05D4A4880177F4A5A
A24AC7FCA2020E81173F5C021FB6FC5CA20270C7EA3FE0171F5CA2495AA2494881170F49
C8FCA2130EA24982013C1507A2137CD801FE4B7E2607FF80EC3FFEB500F00107B512FC19
F85E3E417DC044>65 D<013FB7FC18E018FC903B007FE00007FE6E48903801FF80943800
7FC05DF03FE0F01FF0A3027F16F892C8FCA54A16F04A153F19E0187F19C0F0FF8001014B
13004A4A5A4D5AEF1FF04D5ADC03FFC7FC49B612F8EFFF8002F8C7EA3FE0EF0FF0EF07FC
717E010715014A81711380A319C0130F5CA5011F4B13805C19005F601707013F4B5A4A4A
5A4D5A4D5A017F913801FF8001FF020F90C7FCB812FC17F094C8FC3D3E7DBD40>I<DCFF
C01338030F01F01378037F01FC13F0913A01FF803F01913A07FC000781DA1FE0EB03C3DA
7FC0EB01E74AC812FF4948ED7FE0D907FC153F495A4948151F495A4948150F494816C018
074890C9FC485AA2485A000F1880491603121FA248481607A295C7FC485AA412FF5BA75B
A2181C183C1838A27F007F1778187018F0003F5F6D150160001F16036C6C4B5A95C7FC6C
6C5D6C6C151E6C6C5D6C6C15F86D6C495A6D6CEB07C0D91FF0EB1F80D907FE01FEC8FC01
01B512F86D6C13E0DA07FEC9FC3D4276BF42>I<013FB7FC18E018F8903B007FF0000FFE
6E48EB01FF9438007FC04B6E7E180F85727E727E147F4B6E7EA2727EA302FF178092C9FC
A54918C05CA41A8013034A5DA41A0013074A5DA261A24E5A130F4A5E180F61181F61011F
4C5A5C4E5A4EC7FC4D5A4D5A013F4B5A4A4A5AEF3FE0EF7F80017F4A48C8FC01FFEC1FFC
B812F0178004FCC9FC423E7DBD45>I<013FB812F8A39026007FF0C7127F6E48140F1803
4B14011800A31978147F4B1570A502FF143892C7FCA3190017784915704A14F016011603
160F91B6FC495DA29138FC001F16071603160101075D5CA2197019F019E0010F4A5A4A90
C7120119C0A218031980011F16075CF00F00A260181E013F163E4A157E4D5A1703017F15
0F01FFEDFFF8B9FCA2603D3E7DBD3E>I<013FB812E0A3903A007FF000016E48EB003F18
0F4B14071803A31801147F4B15C0A514FF92C71270A395C7FC17F0495D5C160116031607
161F49B65AA39138FC003F160F160701075D4A1303A5010F4AC8FC5C93C9FCA4131F5CA5
133F5CA3137FEBFFF0B612F8A33B3E7DBD3B>I<4BB46C1370031F01F013F0037F9038FC
01E0913A03FF807E03913A0FF8000F83DA1FE0EB07C7DA7F80EB01EF4AC812FFD903FE16
C04948157F4948153F495A4948151F495A4948168091C9120F5A485AA2485A000F180049
82121FA248485EA295C7FC485AA412FF5BA6043FB512E05BA29339001FFC00715AA2607F
127FA2171F123F6D5EA2121F7F000F163F6C7E6C6C4B5A7F6C6C15FF6C6DEB01EFD93FC0
EB07C7D91FF0EB1F87D907FE9038FE03800101B5EAF8016D6C01E0C8FCDA07FEC9FC3C42
76BF47>I<013FB5D8F807B6FC04F015FEA29026007FF0C7380FFE006E486E5AA24B5DA4
180F147F4B5DA4181F14FF92C85BA4183F5B4A5EA491B8FC5B6102FCC8127FA318FF1307
4A93C7FCA45F130F4A5DA41703131F4A5DA41707133F4A5DA3017F150F496C4A7EB6D8E0
1FB512FC6115C0483E7DBD44>I<011FB512FC5BA29039003FF8006E5AA25DA5143F5DA5
147F5DA514FF92C7FCA55B5CA513035CA513075CA5130F5CA5131F5CA3133F497E007FB5
12F0A2B6FC263E7EBD21>I<021FB512FCA3DA000713006F5AA25EA41507A25EA4150FA2
5EA4151FA25EA4153FA25EA4157FA25EA415FFA293C7FCA45C121FD87F805BEAFFC0A214
035D13804A5AEAFE0000F8495A48495A00705C6C495A6C01FEC8FC380F81FC3803FFE0C6
90C9FC2E407ABD2F>I<013FB500F8010FB5FC4C5BA29026007FF0C7000313E06E486E13
0019FC4B15F04E5A4E5A4E5A061EC7FC027F5D4B5C4D5A4D5AEF07804DC8FC02FF141E92
C7127C5FEE01E04C5A4C5A49021FC9FC4A5B5E4C7E5D03077F01035B9139FC1F3FE0153C
4B6C7E15F09139FFE00FF84913C092380007FC5C4A6D7E5C707E130F4A6D7F84177F717E
A2011F6F7E5C717EA2717EA2013F6F7E5C84A2017F83496C4A13E0B600E0017F13FFA24B
90B6FC483E7DBD47>I<013FB512FEA25E9026007FF8C8FCEC3FE0A25DA5147F5DA514FF
92C9FCA55B5CA513035CA513075CA21838A21870130F5CA218E0A3011F15014A15C01703
A21707EF0F80013F151F4A143F177FEFFF00017F140301FF143FB9FC5FA2353E7DBD39>
I<90263FFFF0933807FFFE5013FC629026007FF8EFFC00023F4D5AA2023BEF77F0A2DA39
FC16E7A2F101CF0279EE038FDA70FE5FF1070FA2190E1A1FDAF07F151C02E06019381970
6F7EF1E03F130102C0DB01C05BA26F6CEB0380A2953807007F0103160E4A6C6C93C7FC60
A2606201076D6C5B02005F60A26F6C485A94380380015B010EDB07005BA2923801FC0EA2
4D1303131E011C6D6C485C5FA25F1907013CEC7FC0013860013C5D137C01FE6EC7120F26
07FF80013E4A7EB500FC031FB512F8043C5E4A131C573E7DBD53>I<90263FFFE0023FB5
FC6F16FEA29026003FF8020313C0021F030013004A6C157C023B163C6F15381439810238
167802787FDA707F157082153F82031F15F002F07FDAE00F5D8215078203031401010180
DAC0015D82811780047F1303010315C04A013F5C17E0161F17F0040F1307010715F891C7
000791C7FC17FC160317FE04015B4915FF010E6E130E188E177F18CEEF3FDE011E16FE01
1C6F5AA2170FA21707133C01386F5A133C017C150113FE2607FF801400B512FC18705C48
3E7DBD44>I<923803FF80031F13F09238FE01FE913903F0003FDA0FC0EB1FC0DA3F80EB
07E0027EC76C7E49486E7E49488149486E7E4948157F495A013F17804948ED3FC049C9FC
A24848EE1FE012035B000718F05B120FA2485A19F8123F5BA2127FA219F04848163FA5F0
7FE0A35BF0FFC0A219805F19007F4D5A127F4D5A60003F160F6D5E001F4C5A4D5A6C6C4B
5A95C7FC6C6C15FE00034B5A6C6C4A5A6C6C4A5A017FEC1FC06D6C495AD90FE001FEC8FC
903903F807F80100B512C0DA0FFCC9FC3D4276BF47>I<013FB612FEEFFFE018F8903B00
7FF0000FFC6E48EB01FF7113804BEC7FC0183F19E0F01FF0A2147F5D19F8A402FFED3FF0
92C8FCA219E0A2F07FC05B4AEDFF8019004D5A4D5AEF0FF80103ED3FE04A903801FF8091
B648C7FC17F002FCCAFCA213075CA5130F5CA5131F5CA5133F5CA3137F497EB612E0A25D
3D3E7DBD3E>I<013FB612F017FF18E0903B007FF0003FF86E48EB07FCEF01FE4B6D7EF0
7F8019C0183F19E0147F4B15F0A502FFED7FE092C8FCA219C0F0FF80A2494B13004A5D4D
5AEF0FF04D5AEF7F800103DA07FEC7FC91B612F017809139FC0007E0EE03F8EE00FC0107
814A147F717EA284A2130F5CA484011F157F5CA41902013F17075CA2F0F00F017F170E49
6C143FB600E0011F131C94380FF83C4B01071378CA3801FFE09438003F8040407DBD43>
82 D<9239FF8003800207EBF007021F9038FC0F0091387F00FE02FCEB1F1FD903F0EB07
BF49486DB4FC49487F4A6D5A49C8FC49157E133E137E173E49153CA57F1738A26D92C7FC
808080EB7FFEECFFE06D13FEEDFFC06D14F06D14FC010380010080143F020380DA003F7F
15031500707E163F161FA2160F121CA31607160F003C5EA35F003E151F94C7FC007E5D00
7F153E6D5C16FC01E0495AD87DF0495AD8FCFCEB0FC03AF87F803F8027F01FFFFEC8FCD8
E00713F839C0007FC031427BBF33>I<0007B912F0A33C0FFE000FF8003F01F0160F01C0
4A13034848160190C7FC121EF000E048141F5E1238A212781270153F5E5AA3C81600157F
5EA515FF93C9FCA55C5DA514035DA514075DA5140F5DA3141FEC7FFC0003B7FCA33C3D76
BC42>I<B600E090B512FC4B15F8A2000101C0C7000F13006C49EC03FCEF01F091C9FC60
A317015A495EA417031203495EA4170712074993C7FCA45F120F49150EA4171E121F4915
1CA4173C123F491538A31778177017F05F001F15015F16036D4A5A000F93C8FC5E6C6C14
1E6C6C5C000115F86C6C495A017FEB07C090393FC03F8090260FFFFEC9FC010313F89038
007FC03E4073BD44>I<B6020FB5FC19FEA2000301E0020113E06C01809138007F8091C9
EA7E006C173C18386E15781870017F16F0604D5A804D5A133F4DC7FCA26E140E171E011F
151C173C17386E1478010F15705FA24C5A8001074A5AA24CC8FC5E6E130E0103141E161C
163C16386E5B13015EA24B5A14FF6D495AA24BC9FC5D158EEC7F9E159C15B8A215F0143F
5DA25DA26E5AA292CAFCA2140E404074BD44>I<B6017FB5D88007B512804A1A00A20007
01C0010101E0C713F06C90C80180EC3FC06C48735A99C7FC057F150E1B1E6D191C6C1A3C
1B3805FF15787214705E636EEB03BF017F4E5AEE073F505A040E7F051F4AC8FC161C6E17
0E013F143862167804706D5BEEF00F04E05D90381FE00104C015F003035E0480140106F8
5B9226070007130302F05F010F010E150797C9FC5D190E4BEB03FC616E5A01075F5D61DA
F9C014FE05015BECFB8002FF6F5A7F92C75CA24A93CAFC835C606D5A605C604A15781870
594074BD5D>I<010FB500F090B512F85B5FD9003F902680003F1300DA0FFEC7EA1FF84B
EC0FE00207168096C7FC6E6C141E181C6E6C143C606E6D5B4D5ADB7FC05B4D5A92383FE0
074DC8FC92381FF01E171C6F6C5A5F923807FCF0EEFDE06FB45A5F6F90C9FCA26F7FA270
7EA216FF4B7FED03DF9238079FF0ED0F1F92380E0FF8151C92383C07FC15784B6C7EEC01
E04B6C7EEC038002076D7F4AC7FC021E6E7E5C02386E7E5C02F06E7E495A49486E7E1307
49486E7E497E017F4B7E2603FFF091383FFF80007F01FC49B512FEB55CA2453E7EBD44>
I<B66C0103B51280A3000101F0C8EBF0006C49ED7FC06D486FC7FC6E153E013F163C606D
6C5D606D6C4A5A17036D6C4A5A95C8FC6E140E0103151E5F6D6C14385F6D6D13F04C5ADA
7FC05B4C5AEDE007023F49C9FC161E91381FF01C5E91380FF8785E6E6C5AEDFDC015FF6E
5B93CAFC6E5AA35DA21403A45DA21407A45DA2140FA4141F4A7E013FB512F0A3413E75BD
44>I<EC7FC0903803FFF890380FC07E90383E003F496D7E01FF6D7E82A248140782A26C
5A137890C7120FA25EA2EC03FF147F903807FF1FEB1FE0D97F805B3801FE00EA03F8485A
4848133F485A003F5D49EC81C048C7FCA2157F48ED03804814FFA2007F5B913903BF0700
903880073F3A3FC00E1F8E260FE03C13FC3A03FFF00FF83A007FC003E02A2A7CA82D>97
D<EB3F80EA1FFFA3C6FC137FA291C9FCA55B5BA512015BA4EC07F80003EB3FFF9039F8F8
0FC09039FBE003E09039FF8001F891C77E5B4848147E49147F5B821780A2120F5B17C0A3
167F001F16805BA4EEFF00123F5B4B5AA24B5A5E007F4A5AA24B5A6D495A4BC7FCD87CE0
137E39F87001F839F03C07E039E00FFF80260003FCC8FC2A4077BE33>I<EC1FF0ECFFFE
903903F01F8090390FC003C0D93F0013E0017E130F49131F000115F04848EB3FE0485AA2
4848EB1FC0001FEC0F004990C7FC123FA2485AA412FF90C9FCA96CEC0380150716006C6C
5B151E001F5C6C6C5B6C6C5B6C6C485A3901F80F8026007FFEC7FCEB0FF0242A7AA828>
I<EE03F8ED01FFA3ED000F1607A217F0A4160FA217E0A4161FA217C0A491380FF03FECFF
FC902603F81F138090390FC007BF90391F8003FF90387E0001497F0001157F4848150048
5A120F5B001F5D485A5E5B127FA2150112FF90C75BA41503A25EA37E1507A26C4A5A7F00
1F141F6C6C133F6C6CEBFFF83B03F001EFFFC03900F80F8F90383FFE0FD90FF0EBE0002D
407ABE33>I<EC3FE0903801FFF8903807E07E90380F801F90393F000F80017E14C049EB
07E0485A12034848EB03F0485AA2121F5B123FA248481307A290B6FCA2D8FF80C8FC90C9
FCA87EED01C015036C15806D1307001FEC0F006D131E000F5C6C6C5B6C6C485A3900FC07
C0D93FFFC7FCEB07F8242A7BA828>I<ED07F0ED3FFCEDFC1E913803F03F4A48B4FC4A48
1380141FEC3F81DA7F0113008102FE137C93C7FCA213015CA513035CA50007B512F8A326
0007F0C8FCA3130F5CA5131F5CA5133F5CA5137F91C9FCA55B5BA4EA03FF007F13FEB5FC
A229407DBF1C>I<177C913907F803FE91393FFE0F8F9139FC0F9C3F903901F007F89039
07E003E0D90FC013F0011F903801F80C02801400133FD97F007FA315035B495CA3017E49
5A5E150F6D5C6D495A90263F803EC7FCECC0FC903871FFF09038E07F8091C9FC485AA47F
A27F90B512F8EDFF806C15E016F86D8048B6FC3A07E0000FFED80F801300003FC8127F00
3E815A00FC815AA25E163EA25E6C15FC007C4A5A6C4A5A6CEC0FC0D80FC0013FC7FC3903
F801FCC6B512F0010F90C8FC303D7FA82D>I<147FEB3FFFA313017FA25CA513015CA513
035CA4ED07F80107EB1FFF9139F0781FC09138F1E00F9139F38007E0ECF70002FE14F049
5A5CA25CA24A130F131F4A14E0A4161F133F4A14C0A4163F137F91C71380A4167F5B4915
00A300015D486C491380B5D8F87F13FCA32E3F7DBE33>I<1478EB01FE130314FFA25B14
FE130314FCEB00F01400ACEB03F8EA01FF14F0A2EA001F130FA314E0A5131F14C0A5133F
1480A5137F1400A55B5BA4EA03FF007F13F0A2B5FC183E7DBD1A>I<143FEB1FFF5BA213
017FA214FEA5130114FCA5130314F8A5130714F0A5130F14E0A5131F14C0A5133F1480A5
137F1400A55B5BA4EA03FF007F13F8A2B5FC183F7DBE1A>108 D<902707F007F8EB03FC
D803FFD91FFF90380FFF80913CE0781FC03C0FE09126E1E00FEBF0073E001FE38007E1C0
03F090260FE700EBE38002EEDAF70013F802FC14FE02D85C14F84A5CA24A5C011F020F14
074A4A14F0A5013F021F140F4A4A14E0A5017F023F141F91C74914C0A549027F143F4992
C71380A300014B147F486C496DEBFFC0B5D8F87FD9FC3F13FEA347287DA74C>I<903907
F007F8D803FFEB1FFF9139E0781FC09138E1E00F3B001FE38007E090380FE70002EE14F0
14FC14D814F85CA24A130F131F4A14E0A4161F133F4A14C0A4163F137F91C71380A4167F
5B491500A300015D486C491380B5D8F87F13FCA32E287DA733>I<EC0FF0ECFFFE903903
F01F8090390FC007C049C66C7E013E6D7E01FC6D7E48488049147C0003157E485A000F15
7F5B121FA2485AA2007F1680A2170048C85AA54B5AA25E5A6C4A5A7E4B5A5E6C140F6C6C
5C4B5A6C6C013EC7FC6C6C5B6C6C485A3900FC0FE090383FFF80D90FF8C8FC292A7BA82D
>I<91387F01FE903A7FFF0FFFC09139FE3E03F09238F801F8903A01FFE000FE4B137F6D
497F4990C713804A15C04A141FA218E0A20103150F5C18F0A3171F010716E05CA3173F18
C0130F4A147F1880A2EFFF004C5A011F5D16034C5A6E495AEE1FC06E495AD93FDC017EC7
FC91388F01F8913883FFE0028090C8FC92C9FC137FA291CAFCA45BA25BA31201487EB512
F8A3343A81A733>I<903907F01F80D803FFEB7FE09138E1E1F09138E387F839001FE707
EB0FE614EE02FC13F002D813E09138F801804AC7FCA25C131FA25CA4133F5CA5137F91C8
FCA55B5BA31201487EB512FEA325287EA724>114 D<9138FF81C0010713E390381F807F
90397C003F8049131F4848130F5B00031407A248481400A27FA27F6D90C7FCEBFF8014FC
6C13FF6C14C015F06C6C7F011F7F13079038007FFE1403140100381300157EA2123C153E
157E007C147CA2007E147815F8007F495A4A5A486C485A26F9E01FC7FC38E0FFFC38C01F
E0222A7DA824>I<EB0380A4130791C7FCA25BA25BA2133EA2137E13FE12011207001FB5
12C0B6FCA2D801FCC7FCA312035BA512075BA5120F5BA41407001F130E13C0A4141E141C
1380A26D5AA2000F5B14F03807E1E03801FF80D8007EC7FC1A3978B723>I<01FE147F00
FFEC7FFF4914FEA20007140300031401A34914FCA4150312074914F8A41507120F4914F0
A4150F121F4914E0A2151FA3153F4914C0157F15FFEC01DF3A0FC003BFE09138073FFF38
03F01E3801FFF826003FE01380282977A733>I<B539E007FFF05D17E02707FE00031300
6C48EB01FC6F5A5E00014A5A5EA24B5A6D1307000092C7FC5D150E6D5B7F5DA25D148001
3F5B14815D14C3011F5B02C7C8FCA214CE14EEEB0FFCA25CA26D5A5CA25CA26D5A2C2878
A630>I<48B539C07FFFC0A33C000FFE003FF8006D48EB1FE0010315800101023EC7FC6E
133C01005C027F5B6F5A91383F81C0EDC380DA1FC7C8FC15EFEC0FFE6E5A5D140381A24A
7E140FEC1E7F023C7FEC383F02707FECE01F010180903803C00F49486C7ED90F007F4913
03017E80D801FE80D807FF497EB5D8803F13F8A332277FA630>120
D<90B539E007FFF05E18E0902707FE000313006D48EB01FC705A5F01014A5A5F16036E5C
0100140794C7FC160E805E805E1678ED8070023F13F05EED81C015C191381FC38015C793
C8FC15EF15EEEC0FFCA25DA26E5AA25DA26E5A5DA24AC9FC5C140E141E141C5C121C003F
5B5A485B495A130300FE5B4848CAFCEA701EEA783CEA3FF0EA0FC0343A80A630>I<017F
B512FEA2ECC00190397E0003FC49EB07F849EB0FF049EB1FE049EB3FC0ED7F8000011500
495B4A5A4A5A4848485A4A5AC7485A4A5A5D147F4AC7FC495A495A49481370494813E049
5A5C133F90387F8001D9FF0013C0485A48481303485A4848EB078049130F4848131F003F
143F397F8001FFB71200A227277EA628>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fh cmbx12 17.28 49
/Fh 49 122 df<94387FFF80041FB512F04BB612FC030F81037F6F7E4AB5D8E0077F4A49
C76C7E020F01F0EC1FF04A01C0147F4A90C8487E4A485C4A484A7F49495C495BA2495B4E
7F49705B5DA3725B725B725B735A96C9FCAB0503B512FEBBFCA6D8000F01E0C7120184B3
B3AF003FB6D8F803B71280A651657DE45A>12 D<ED0FFF4AB512F8020F14FF023F15C091
B712F049D9FC037F0107D9F00013FE4901C0EB3FFF4990C7000F7F49486E7F017F834948
6E7F4A80488448496E7FA248844A157F4884A3481980A34819C04A81A34819E0A7B518F0
B3A86C19E0A76C19C0A26E5DA26C1980A36C1900A36C6D4B5AA26C60A26C6D4A5B6C606E
5C6D6C4A5B6D6C4A5B6D6D495B6D6D4990C7FC6D01F0EBFFFE6DD9FC035B010090B612F0
023F15C0020F92C8FC020114F8DA001F138044607ADD51>48 D<16F04B7E1507151F153F
EC01FF1407147F010FB5FCB7FCA41487EBF007C7FCB3B3B3B3007FB91280A6395E74DD51
>I<913801FFF8021FEBFFC091B612F8010315FF010F16C0013F8290267FFC0114F89027
FFE0003F7F4890C7000F7F48486E7FD807F86E148048486E14C048486E14E048486F13F0
01FC17F8486C816D17FC6E80B56C16FE8380A219FFA283A36C5BA26C5B6C90C8FCD807FC
5DEA01F0CA14FEA34D13FCA219F85F19F04D13E0A294B512C019804C14004C5B604C5B4C
5B604C13804C90C7FC4C5A4C5A4B13F05F4B13804B90C8FC4B5AED1FF84B5A4B5A4B4814
3F4A5B4A48C8FC4A5A4A48157E4A5A4A5AEC7F8092C9FC02FE16FE495A495A4948ED01FC
D90FC0150749B8FC5B5B90B9FC5A4818F85A5A5A5A5ABAFCA219F0A4405E78DD51>I<92
B5FC020F14F8023F14FF49B712C04916F0010FD9C01F13FC90271FFC00077FD93FE00101
7F49486D8049C86C7F484883486C6F7F14C0486D826E806E82487FA4805CA36C5E4A5E6C
5B6C5B6C495E011FC85A90C95CA294B55A614C91C7FC604C5B4C5B4C5B4C5B047F138092
260FFFFEC8FC020FB512F817E094C9FC17F817FF91C7003F13E0040713F8040113FE707F
717F7113E085717FA2717F85A285831A80A31AC0EA03FCEA0FFF487F487F487FA2B57EA3
1A80A34D14005C7E4A5E5F6C495E49C8485BD81FF85F000F5ED807FE92B55A6C6C6C4914
806C01F0010791C7FC6C9026FF803F5B6D90B65A011F16F0010716C001014BC8FCD9001F
14F0020149C9FC426079DD51>I<F01F804E7E187F18FFA25F5F5F5FA25F5F5FA294B5FC
5E5E5EA25E5EEE3FBFEE7F3FA216FEED01FCED03F8ED07F0A2ED0FE0ED1FC0ED3F801600
5D15FE4A5A4A5AA24A5A4A5A4A5A4A5AA24AC7FC14FE495A5C1303495A495A495A5C133F
49C8FC13FE485AA2485A485A485A5B121F485A48C9FC12FEBCFCA6CA6CEBC000B1037FB8
FCA6485E7CDD51>I<01C0EE01C0D801F8160F01FF167F02F0EC07FFDAFF8090B5FC92B7
128019006060606060606095C7FC17FC5F17E0178004FCC8FC16E09026FC3FFCC9FC91CB
FCADED3FFE0203B512F0020F14FE023F6E7E91B712E001FDD9E00F7F9027FFFE00037F02
F801007F02E06EB4FC02806E138091C8FC496F13C04917E07113F0EA00F090C914F8A219
FC83A219FEA419FFA3EA03F0EA0FFC487E487E487FA2B57EA319FEA35C4D13FC6C90C8FC
5B4917F8EA3FF001804B13F06D17E0001F5E6C6C17C06D4B1380D807FC92B512006C6C4A
5B6C6C6C01075B6C01E0011F5BD97FFE90B55A6DB712C0010F93C7FC6D15FC010115F0D9
003F1480020301F0C8FC406078DD51>I<EE1FFF0303B512E0031F14F892B612FE020381
4AD9FC037F021F9039C0007FC04A90C7EA1FE0DAFFFC6E7E494914074949EC7FF8494914
FF49495B4949497F4990C7FC495D5C13FF485BA25A4A6E5B5A715B48496E5B725A4894C8
FCA35AA35C48913801FFE0030F13FE033F6D7E4B14E092B612F89126E1FE037FB53AE3F0
007FFEDAE7E06D7EDAEFC06D7F4B6D7F02FFC76C7F4A82717F4A82A24A828385A24A1780
A54A17C0A37EA77EA47E6E1780A27EA21A007E4D5B7E6E5E7E6E5E6C4C5B6D7E013F4B5B
6D6C4A5B6D01C0495B6D6D90B5C7FC6DD9FC0713FC6D90B65A6D5E023F15C0020F92C8FC
020114F8DA001F1380426079DD51>I<EA07E0120F7F13FCEBFFFC91B912F8A45AA21AF0
1AE01AC01A801A00A248606161616101E0C9123F01804C5A48CA485A4D90C7FC60007E4C
5A17074D5A4D5A4D5A485F4D5A17FF4C90C8FCC9485A5F4C5A160F4C5A5F163F4C5A16FF
5F5D94C9FC5D5D5E150FA24B5AA2153FA24B5AA215FFA34A5BA25CA35CA44A5BA45CA65C
AD6E5BA26E5BDA03FECAFC6E5A456377E051>I<92383FFF800203B512FC021FECFF8002
7F15E049B712F849D9F0077F010F90C76C7ED91FFCEC1FFFD93FF06E7F494802037F4948
82717F484980854890C9127FA24884183FA25A80A380806E157F6E5E14FE6E7E6F4A5A6C
14F003FC495B03FF495B6C1580DCE0075B6CDBF80F90C7FC9338FE1FFE6C9238FF7FF84D
5A6D16C06D5E6D4BC8FC6D6F7E6D16E00101826D16FC023F814A8149B87E010783498390
263FFE3F8190267FFC0F819026FFF003814849C6FC48496D804849131F4890C700078016
0148486E1580003F163F49150F007F7014C0491501717E8400FF835B8484A384A21A80A2
7F007F1900607F003F606D160F001F606D4C5A6C6D153F6C6D4B5A6C01F04B5A6C01FC02
035B6C01FF021F5B6D9027F001FFFEC7FC6D90B65A010F16F001035E010093C8FC020F14
F8DA007F90C9FC426079DD51>I<ED3FFF0207B512F0023F14FC91B7FC010316C049D9F8
077F49D9C00113F8013F496C6C7E4948C76C7E49486E7E4884484980717F4849825A4870
7F855A5C855A8583A2B583A41A80A71AC0A35F7EA46C5EA27E806C5EA26C5E6C7F6C5E6C
6D147D6D6C14FD6D6CEB01F96D90388003F16D9038F01FE16D90B500C11480010115816D
6C1401021F13FC020113E091C8FC1A00A25FA261A3D9FF805E487F486D4A5B487FA2486D
5E5F61615F614A4A90C7FC4D5A6C5B4A4A5A4A01035BD803FCC7485B6C6C021F13C0D9FF
C0017F5B6CD9F803B5C8FC6DB612FC6D5D010F15E0010392C9FC010014F8020F13804260
79DD51>I<F00FE04E7EA24E7EA34E7EA24E7EA34D7FA24D80A24D80A34D80A24D80A34D
80A2DD7FBF7FA2181F05FF8017FE04016D7FA24D7E04038217F804076D80A24D7E040F82
17E0041F6D80A24D7F043F825F047F6E7FA294C77E4C825E03016F7FA24C800303845E03
076F80A24C80030F845E031F6F80A24C81033F845E037F707F93B9FCA292BA7EA24A85A2
03FCC912070203865D020771805D86020F864B82021F865D87023F864B83027F8692CBFC
874A864A840101875C496C728090381FFFC0B700E092B812FEA66F647BE37A>65
D<BB12F0F2FF801BF81BFEF3FFC088D800010280C7000114F8DF003F7F080F13FF748074
80867480757FA2757FA28987A289A965A26365A2515BA298B55A505C505C5091C7FC505B
505B087F13F00703B512C096B6C8FC93B812F81BC01BF8F3FF801CE00480C8001F13F808
0713FE08016D7E7480757F757F757F89757F89871E80871EC0A41EE087A663A21EC0A363
1E80A2511400A2515B515B6398B55A505C08075C081F5C97B6C7FCBD5A1CF81CE099C8FC
1BF898C9FC63627AE173>I<4DB5ED03C0057F02F014070407B600FE140F047FDBFFC013
1F4BB800F0133F030F05FC137F033F9127F8007FFE13FF92B6C73807FF814A02F0020113
C3020702C09138007FE74A91C9001FB5FC023F01FC16074A01F08291B548824902808249
91CB7E49498449498449498449865D49498490B5FC484A84A2484A84A24891CD127FA25A
4A1A3F5AA348491A1FA44899C7FCA25CA3B5FCB07EA380A27EA2F50FC0A26C7FA37E6E1A
1F6C1D80A26C801D3F6C6E1A00A26C6E616D1BFE6D7F6F4E5A7F6D6D4E5A6D6D4E5A6D6D
4E5A6D6E171F6D02E04D5A6E6DEFFF806E01FC4C90C7FC020F01FFEE07FE6E02C0ED1FF8
020102F8ED7FF06E02FF913803FFE0033F02F8013F1380030F91B648C8FC030117F86F6C
16E004071680DC007F02F8C9FC050191CAFC626677E375>I<BB12E0F2FF801BF01BFE75
7E1CF0D800010280C7000780DF007F13FE080F6D7E0801807480093F7F090F13FC757F75
7F877580767F8A88767F8A888AA2767FA28A881F80A37614C0A41FE0A5881FF0B05214E0
A51FC0A4521480A31F006466A2525BA2525BA2525B666499B55A515C5191C7FC515B515B
515B097F5B50B512C008075C083F91C8FC0707B512FCBD12F01CC051C9FC1BF81B8008E0
CAFC6C627AE17C>I<4DB5ED03C0057F02F014070407B600FE140F047FDBFFC0131F4BB8
00F0133F030F05FC137F033F9127F8007FFE13FF92B6C73807FF814A02F0020113C30207
02C09138007FE74A91C9001FB5FC023F01FC16074A01F08291B54882490280824991CB7E
49498449498449498449865D49498490B5FC484A84A2484A84A24891CD127FA25A4A1A3F
5AA348491A1FA44899C8FCA25CA3B5FCB07E071FB812F880A37EA296C70001ECC000A26C
7FA37E807EA26C80A26C80A26C807F6D7F816D7F7F6D7F6D6D5F6D14C06D6E5E6E7F6E01
FC5E020F01FF5E6E02C0ED7FEF020102F8EDFFC76E02FF02071383033F02FC013F130103
0F91B638FC007F03014D131F6F6C04E01307040704801301DC007F02F8CAFC050191CBFC
6D6677E37F>71 D<B96C90B91280A6D8000102C0C9000102C0C7FCB3B3A293BBFCA604C0
C91201B3B3A6B96C90B91280A671627AE17E>I<B912E0A6C702E0C7FCB3B3B3B3AEB912
E0A633627CE13C>I<B912F8A6D8000102C0CBFCB3B3B1F307E0A5F30FC0A61B1FA31B3F
1C80A21B7FA21BFFA262A262625013006262624FB5FC1907191F4EB6FCBDFC63A553627A
E161>76 D<B700E0040FB7128082828282A2D800016EDC000101FCC7FC719338001FC083
83A28302FD808302FC80816F7F6F806F8084816F806F806F8084707F8270807080857080
827080708085717F83718071807180868371807180727F86728084728072808772808472
80737F87731480857314C07314E01CF07314F8857314FC7413FE7413FF1D9F867414DF74
14FF86A286868787A287878787A28787888888A288888890261FFFC084B712F8881D7F1D
3F1D1F775A71627AE17E>78 D<94381FFFE00407B67E043F15F04BB712FE030FEEFFC003
3FD9FC0014F092B500C0010F13FC020349C7000113FF4A01F86E6C7F021F496F13E04A01
C0030F7F4A496F7F91B5C96C7F0103497013FF494970804B834949717F49874949717F49
874B8390B586484A717FA24891CB6C7FA2481D804A84481DC0A348497214E0A3481DF0A3
4A85481DF8A5B51CFCB06C1DF8A36E96B5FCA36C1DF0A46C6D4E14E0A36C1DC06E606C1D
80A26C6E4D1400A26C6E4D5BA26C6E4D5BA26D6D4D5B6D636D6D4D5B6F94B5FC6D636D6D
4C5C6D6D4C91C7FC6D6E4B5B6D02E0031F5B023F6D4B13F06E01FC92B55A6E01FF02035C
020302C0010F91C8FC020002FC90B512FC033F90B712F0030F17C0030394C9FCDB007F15
F804071580DC001F01E0CAFC666677E379>I<BB7E1AFCF2FFC01BF81BFE757ED8000102
80C7001F80070114F0736C7F081F7F747F747F7414807414C0A27414E0A21DF0A27513F8
A41DFCA91DF8A498B512F0A21DE0A25014C01D8062501400505B505B087F5B4FB512E007
1F5C93B9C7FC1BFC1BF01B8008F0C8FC04C0CCFCB3B3A2B97EA65E627AE16E>I<BA12F8
F1FFE01AFEF2FFC01BF01BFED800010280C76C7F070714C0070014F0747F081F7F747F74
7F7480A2748089A37480A389A865A3505CA265A2505C9AC9FC505B505B505B087F5B4FB5
5A0707148096B548CAFC93B812F81BC050CBFC621AFF932680000314C0DE007F7F071F13
F8737F737F737F73808885888688A2747FA688A688A676140FF71F80A374801F3F867714
00745E746E5BB96E6E5B746E485A75EBFE07091F90B55A090715E009015DCF003F91C7FC
0A0013FC71647AE178>82 D<DBFFFCEC01E0020FD9FFE01303027F02FC130749B7130F01
07EEC01F011F16F049D9C007EBF83F4948C7383FFE7FD9FFF8020FB5FC4801E014014849
804849153F91C97E484882001F834982003F83845B007F187FA2193FA200FF181FA27F19
0FA27FA26D17078080806C01F893C7FC80ECFF8015F86CECFFC016FC6CEDFFE017FE6CEE
FFE018F86C17FE6C717E6C846C846D17F86D836D836D8313036D18806D6C17C0020F17E0
1401DA000F16F01500040715F8EE007F1703050014FC183F84060713FE84A2007C8300FC
83A2197FA3193F7EA31AFC7EA27F1AF86D177F7F1AF06D17FF6D18E06D5E01FF18C06E4B
138002E04B130002F84B5A02FFED3FFC01CF01E0ECFFF8018301FF010F5B010191B65A6D
6C5E48011F93C7FC48010315FC48D9003F14E048020149C8FC476677E35A>I<001FBEFC
A64849C79126E0000F148002E0180091C8171F498601F81A0349864986A2491B7FA2491B
3F007F1DC090C9181FA4007E1C0FA600FE1DE0481C07A5CA95C7FCB3B3B3A3021FBAFCA6
63617AE070>I<B96C023FB612FEA6D8000102C0CA0007EBF000E2007FC7FCB3B3B3AA65
6D63A2821C01806570170380525A6E7F6E4F5A70171F6E626E6D4D5A6E6D177F525A6E6E
030390C8FC033F01E04B5A6F6DED1FFC6F01FCED7FF80303D9FF80903803FFE06F02F801
7F5B6F6C90B7C9FC041F5E040716F8040016C0050F4ACAFCDD003F13C06F647AE17C>I<
B800FC047FB612E0A6D800070280CB6CEB80006D6EDE07FCC7FC666D6E611D0F6D6E611D
1FA26E6D611D3F6E6D611D7F6E6D96C8FC65A26E6D4D5AA26E6E5F1C036E6E5F1C076E6E
5F1C0FA26E6E5F1C1F6F6D5F1C3F6F6D5F1C7FA26F6D4CC9FCA26F6D5E1B016F6E5D1B03
A26F6E4A5AA26F6E5D1B0F6F6E5D1B1F706D5D1B3FA2706D5D1B7F706D92CAFC63706D5C
1A01A2706E485AA27002C05B1A077002E05B1A0F7002F05B1A1FA27101F85B1A3F7101FC
5B1A7F7101FE90CBFC62A2716D5AA2715CA2715CA3715CA2715CA2725BA2725BA37290CC
FCA2725AA2725AA2725A73637DE17A>I<913803FFFE027FEBFFF00103B612FE010F6F7E
4916E090273FFE001F7FD97FE001077FD9FFF801017F486D6D7F717E486D6E7F85717FA2
717FA36C496E7FA26C5B6D5AEB1FC090C9FCA74BB6FC157F0207B7FC147F49B61207010F
14C0013FEBFE004913F048B512C04891C7FC485B4813F85A5C485B5A5CA2B55AA45FA25F
806C5E806C047D7F6EEB01F96C6DD903F1EBFF806C01FED90FE114FF6C9027FFC07FC015
80000191B5487E6C6C4B7E011F02FC130F010302F001011400D9001F90CBFC49437CC14E
>97 D<903807FF80B6FCA6C6FC7F7FB3A8EFFFF8040FEBFF80047F14F00381B612FC0387
15FF038F010014C0DBBFF0011F7FDBFFC001077F93C76C7F4B02007F03F8824B6F7E4B6F
13804B17C0851BE0A27313F0A21BF8A37313FCA41BFEAE1BFCA44F13F8A31BF0A24F13E0
A24F13C06F17804F1300816F4B5A6F4A5B4AB402075B4A6C6C495B9126F83FE0013F13C0
9127F00FFC03B55A4A6CB648C7FCDAC00115F84A6C15E091C7001F91C8FC90C8000313E0
4F657BE35A>I<92380FFFF04AB67E020F15F0023F15FC91B77E01039039FE001FFF4901
F8010113804901E0010713C04901804913E0017F90C7FC49484A13F0A2485B485B5A5C5A
7113E0485B7113C048701380943800FE0095C7FC485BA4B5FCAE7EA280A27EA2806C18FC
A26C6D150119F87E6C6D15036EED07F06C18E06C6D150F6D6DEC1FC06D01E0EC7F806D6D
ECFF00010701FCEB03FE6D9039FFC03FFC010091B512F0023F5D020F1580020102FCC7FC
DA000F13C03E437BC148>I<F17FF8050FB5FCA6EF000F8484B3A892380FFF804AB512F8
020F14FE023FECFF8391B712E301039138807FF3499039F8000FFB011F01E00103B5FC49
4913004990C87E49488148498148834A815A485BA2485BA25AA3485BA4B5FCAE7EA46C7F
A37EA26C7FA26C5F806C5F6C6D5D6C6D5D017F93B5FC6D6C6C0103806D6D49806D01F0D9
1FF7EBFFFE6D9039FE01FFE7010190B612876D6CECFE07021F14F8020314E09127003FFE
00ECC0004F657BE35A>I<92380FFFC04AB512FC020FECFF80023F15E091B712F80103D9
FE037F499039F0007FFF011F01C0011F7F49496D7F4990C76C7F49486E7F48498048844A
804884485B727E5A5C48717EA35A5C721380A2B5FCA391B9FCA41A0002C0CBFCA67EA380
A27EA27E6E160FF11F806C183F6C7FF17F006C7F6C6D16FE6C17016D6C4B5A6D6D4A5A6D
01E04A5A6D6DEC3FE0010301FC49B45A6D9026FFC01F90C7FC6D6C90B55A021F15F80207
15E0020092C8FC030713F041437CC14A>I<EE3FFC0307B51280033F14C04AB612F00207
15F84A9038F03FFC4AEB807F913A7FFE00FFFE4A5A4B4813FF4913F05B4913E0A24913C0
A27013FE4949EB7FFCEF3FF8EF1FF0EF07C094C7FCB0B812C0A6D8001F01C0C8FCB3B3B0
007FB612FCA638657CE431>I<F107F8DB7FFEEC3FFE020FB5D8F001B5FC027FDAFE0314
8049B7128F49DCDFFD13C0010FD9F00FEBFFC149D9800114014990C7EBFC0349486E6C7E
4948EC3FFF48496E018113800780130048F0C03E97C7FC48496E7FA34884A96C60A36C6D
4A5BA26C60A26C6D4A90C8FC6D6C4A5A6D6C4A5A6D6D485BDBF00F5B4990B612C060D97C
7F4AC9FCD9FC0F14F09126007FFECAFC92CCFC1201A47FA27F8014F091B77E18FE6CEFFF
C019F06D17FC19FF6D846D846D846D84013F8490BAFC0003854801E0C712014890C9000F
7F484816014848EE007F4848717E8512FF5B85A56D5F007F616D173F003F616D177F6C6C
4D5A6C01C003035B6C6D4B5B6C01F8031F5BC601FF92B5C7FC6D01F8011F5B011F90B712
F8010717E0010094C8FC020F15F0DA003F01FCC9FC4A607CC151>I<903807FF80B6FCA6
C6FC7F7FB3A8EF1FFF94B512F0040714FC041F14FF4C8193267FE07F7F922781FE001F7F
DB83F86D7FDB87F07FDB8FC0814C7F039FC78015BE03BC8003FC825DA25DA25DA45DB3B2
B7D8F007B71280A651647BE35A>I<EB0FE0EB3FF8497E48B5FCA24880A24880A76C5CA2
6C91C7FCA238007FFC6D5AEB0FE090C9FCAF903807FF80007FB5FCA6C6FC7F7FB3B3AEB7
12C0A622657BE42C>I<903807FF80B6FCA6C6FC7F7FB3B3B3B3ADB712E0A623647BE32C>
108 D<902607FF80D91FFFEEFFF8B691B500F00207EBFF80040702FC023F14E0041F02FF
91B612F84C6F488193267FE07F6D4801037F922781FE001F9027E00FF0007FC6DA83F86D
9026F01FC06D7F6DD987F06D4A487F6DD98FC0DBF87EC7804C6D027C80039FC76E488203
BEEEFDF003BC6E4A8003FC04FF834B5FA24B5FA24B94C8FCA44B5EB3B2B7D8F007B7D880
3FB612FCA67E417BC087>I<902607FF80EB1FFFB691B512F0040714FC041F14FF4C8193
267FE07F7F922781FE001F7FC6DA83F86D7F6DD987F07F6DD98FC0814C7F039FC78015BE
03BC8003FC825DA25DA25DA45DB3B2B7D8F007B71280A651417BC05A>I<923807FFE092
B6FC020715E0021F15F8027F15FE494848C66C6C7E010701F0010F13E04901C001037F49
496D7F4990C87F49486F7E49486F7E48496F13804819C04A814819E048496F13F0A24819
F8A348496F13FCA34819FEA4B518FFAD6C19FEA46C6D4B13FCA36C19F8A26C6D4B13F0A2
6C19E06C6D4B13C0A26C6D4B13806C6D4B13006D6C4B5A6D6D495B6D6D495B010701F001
0F13E06D01FE017F5B010090B7C7FC023F15FC020715E0020092C8FC030713E048437CC1
51>I<902607FF80EBFFF8B6010FEBFF80047F14F00381B612FC038715FF038F010114C0
9227BFF0003F7FC6DAFFC0010F7F6D91C76C7F6D496E7F03F86E7F4B6E7F4B17804B6F13
C0A27313E0A27313F0A21BF885A21BFCA3851BFEAE4F13FCA41BF861A21BF0611BE0611B
C06F92B512801B006F5C6F4A5B6F4A5B03FF4A5B70495B04E0017F13C09226CFFC03B55A
03C7B648C7FC03C115F803C015E0041F91C8FC040313E093CBFCB3A3B712F0A64F5D7BC0
5A>I<DB0FFFEC01F04AB500E01303020F02F81307023F14FE91B7130F01030280EB801F
49903AFC001FC03F011F01F0EB0FE04949903803F07F490180903801F8FF90B56E7E4891
C8B5FC48498184485B484981A248835C5A845C5AA4B55AAE7E80A37EA2807EA26C6D5D60
6C7F606C6D5D7E6C6D92B5FC6D6D5B6D6D13076D6DEB0FEF6D01F8EB3FCF6D9039FE01FF
8F010190B6120F6D6C14FC021F14F0020314C09139003FFE0092C8FCB3A3053FB612FCA6
4E5D7BC055>I<D90FFFEB0FFCB690383FFF8093B512E04B14F04B14F8923907FC7FFC92
390FE0FFFEC6EC1F806DD93F0113FF6D133E157E157C15F8A215F07013FEA24BEB7FFCEF
3FF8EF0FE04B90C7FCA55DB3B0B712F8A638417BC042>I<913A3FFF8007800107B5EAF8
1F011FECFE7F017F91B5FC48B8FC48EBE0014890C7121FD80FFC1407D81FF0801600485A
007F167F49153FA212FF171FA27F7F7F6D92C7FC13FF14E014FF6C14F8EDFFC06C15FC16
FF6C16C06C16F06C826C826C826C82013F1680010F16C01303D9007F15E0020315F0EC00
1F1500041F13F81607007C150100FC81177F6C163FA2171F7EA26D16F0A27F173F6D16E0
6D157F6D16C001FEEDFF806D0203130002C0EB0FFE02FCEB7FFC01DFB65A010F5DD8FE03
15C026F8007F49C7FC48010F13E035437BC140>I<EC07E0A6140FA5141FA3143FA2147F
A214FF5BA25B5B5B5B137F48B5FC000F91B512FEB8FCA5D8001F01E0C8FCB3AFEF0FC0AC
171F6D6D1480A2173F6D16006F5B6D6D137E6D6D5B6DEBFF836EEBFFF86E5C020F14C002
035C9126003FFCC7FC325C7DDA3F>I<902607FFC0ED3FFEB60207B5FCA6C6EE00076D82
6D82B3B3A260A360A2607F60183E6D6D147E4E7F6D6D4948806D6DD907F0ECFF806D01FF
EB3FE06D91B55A6E1500021F5C020314F8DA003F018002F0C7FC51427BC05A>I<B700C0
0103B512FCA6C66C01C0C8381FFE006D6DED07F0A26D6D5E190F6D6D5E191F6D606F153F
6D95C7FC6F5DA26D6D157E19FE6D6E5C18016E5E7013036E5E701307A26E6D5C180F6E6D
5C181F6E6D5C183F6E93C8FC705BA26E6D13FEA26E6E5A17816FEBC1F817C36F5C17E76F
5C17FFA26F5CA26F5CA26F91C9FCA26F5BA36F5BA2705AA2705AA2705AA2705A4E417DBF
55>I<B70081B600FC0103B512FCA6C66C0180C701FCC8381FFE006F6FED03F86D047F5F
856F6E16076D646F70140F6D705F866F6E161F6D646F4A6D143F6D99C7FC4E7F6F616D1B
7E6F4A6D14FE6D6395B57E7001FC15016E62DCC0016E13036EDBF87F5D05038004E0496C
14076E62DCF007ED800F6E4B6C5D050F15C004F8496C141F6E62DCFC1FEDE03F6E4B6C92
C8FC053F15F004FE496C5C6E197E7048EDF8FE6E027E6D5C05FE15FC4D6D13FD6F601BFF
6F496E5BA24D806F60A26F496E5BA24D806F60A26F496E90C9FCA294C87E6F5FA26F486F
5A047C6F5A6E417DBF75>I<B700C00103B512FCA6D8003F01C0C8381FFE006FED07F0A2
6D6D5E190F6D6D5E191F6D6D5E193F6D95C7FC6F5D6D177E6F15FEA26D6E495AA26E6D5C
18036E6D5C18076E5E70130F6E5E70131FA26E6D495AA26E6D91C8FC606E6D137E18FE6E
5D17816F5C17C3A26FEBE7F0A26FEBF7E017FF6F5CA26F5CA26F91C9FCA36F5BA26F5BA2
705AA2705AA2705AA35FA25F163F94CAFC5E167E16FED807E05CD81FF81301487E486C49
5AA2B5495AA24B5A5E151F4B5A6C4849CBFC15FEEBFC01393FF807FC391FF03FF06CB55A
6C5C6C91CCFCC613FCEB1FE04E5D7DBF55>121 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fi cmsy10 10.95 4
/Fi 4 106 df<EE7FFE0307B512E0033F14FC92B7FC0203D9C00313C0DA0FFCC7EA3FF0
DA3FE0EC07FCDA7F80EC01FED901FEC9EA7F80D903F8EE1FC0D907E0EE07E04948707E49
48707E49CB7E017E187E498449844848F00F8000031AC04918074848F003E0A24848F001
F0A248CD12F8A2001E1A78003E1A7CA2003C1A3C007C1A3EA200781A1EA300F81A1FA248
1A0FAB6C1A1FA200781A1EA3007C1A3EA2003C1A3C003E1A7CA2001E1A78001F1AF8A26C
6CF001F0A26C6CF003E0A26C6CF007C06D180F00011A806C6CF01F006D60017E187E6D60
6D6C4C5A6D6C4C5A6D6C4C5AD903F8EE1FC0D901FEEE7F809026007F80DA01FEC7FCDA3F
E0EC07FCDA0FFCEC3FF0913B03FFC003FFC0020090B6C8FC033F14FC030714E09226007F
FEC9FC50557BC05B>13 D<EB0FFCEB3FFF90B512C0000314F04880488048804880A24815
80A3B712C0AA6C1580A36C1500A26C5C6C5C6C5C6C5CC614C0013F90C7FCEB0FFC22227B
A72D>15 D<146014F01301A214E01303A214C01307A2EB0F80A214005BA2131E133EA25B
A2137813F8A25B1201A25B1203A2485AA25B120FA290C7FC5AA2123EA2123C127CA21278
12F8A41278127CA2123C123EA27EA27E7FA212077FA26C7EA212017FA212007FA2137813
7CA27FA2131E131FA27F1480A2EB07C0A2130314E0A2130114F0A213001460145A77C323
>104 D<126012F07EA21278127CA2123C123EA27EA27E7FA212077FA26C7EA212017FA2
12007FA21378137CA27FA2131E131FA27F1480A2EB07C0A2130314E0A2130114F0A414E0
1303A214C01307A2EB0F80A214005BA2131E133EA25BA2137813F8A25B1201A25B1203A2
485AA25B120FA290C7FC5AA2123EA2123C127CA2127812F8A25A1260145A7BC323>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fj cmbx12 14.4 62
/Fj 62 123 df<EEFFFC031FEBFF804AB612E0020781021F9038C00FF8913A7FFE0003FC
DAFFF0EB00FE4949EB03FF4901805B4990C7487F49485CA2495A4D7F013F6F5B5CA37190
C7FC715AEF01F894C9FCA90403B512C0BAFCA526003FFCC7120783B3B3A6003FB5D8FC03
B612C0A542547DD34B>12 D<B712F0AB240B7F9F2D>45 D<EA07F0487E487E487E487EB5
1280A76C13006C5A6C5A6C5A6C5A1111769025>I<EF01E01703EF07F0A2170FA2EF1FE0
A218C0173FA2EF7F80A218005FA24C5AA25F1603A24C5AA25F160FA24C5AA25F163FA24C
5AA294C7FC5EA24B5AA25E1503A24B5AA25E150FA24B5AA25E153FA24B5AA293C8FC5DA2
4A5AA25D1403A25D1407A24A5AA25D141FA24A5AA25D147FA24AC9FCA25C1301A2495AA2
5C1307A2495AA25C131FA2495AA25C137FA249CAFCA25B1201A2485AA25B1207A2485AA2
5B121FA2485AA25B127FA248CBFCA25AA2127CA2347879D943>I<913803FFC0023F13FC
91B6FC010315C0010F018113F0903A1FFC003FF849486D7E49486D7E49486D7E48496D13
8048496D13C0A24817E04890C813F0A34817F8A24817FC49157FA3007F17FEA600FF17FF
B3A5007F17FEA6003F17FCA26D15FFA26C17F8A36C17F0A26C6D4913E0A26C6D4913C06C
17806E5B6C6D4913006D6C495AD91FFCEB3FF8903A0FFF81FFF06D90B55A01011580D900
3F01FCC7FC020313C0384F7BCD43>I<157815FC14031407141F14FF130F0007B5FCB6FC
A2147F13F0EAF800C7FCB3B3B3A6007FB712FEA52F4E76CD43>I<EC3FFE0103B512E001
0F14FC013F14FF90B712C048D9C07F7F2703FE000F13F8D807F801037FD80FE06D7F4848
6D7F48488001F01680486C6E13C07F486C6E13E07FA27013F0A56C5AA26C5AEA0FF0EA03
C0C914E05EA218C05E1880A24C13005F4C5A4B5B5F4B5B5F4B5B4B90C7FC4B5A5E4B5AED
7FE04B5A4A5B4A48C8FC4A5A5D4A48EB01F04A5AEC3F804AC7FC02FEEC03E0495A495A49
5A495AD91F80140749C8FC013E150F017FB7FC90B812C05A5A5A5A5A5A5AB9FC1880A434
4E79CD43>I<91380FFFC091B512FC0107ECFF80011F15E090263FF8077F9026FF800113
FC4848C76C7ED803F86E7E491680D807FC8048B416C080486D15E0A4805CA36C17C06C5B
6C90C75AD801FC1680C9FC4C13005FA24C5A4B5B4B5B4B13C04B5BDBFFFEC7FC91B512F8
16E016FCEEFF80DA000713E0030113F89238007FFE707E7013807013C018E07013F0A218
F8A27013FCA218FEA2EA03E0EA0FF8487E487E487EB57EA318FCA25E18F891C7FC6C17F0
495C6C4816E001F04A13C06C484A1380D80FF84A13006CB44A5A6CD9F0075BC690B612F0
6D5D011F1580010302FCC7FCD9001F1380374F7ACD43>I<177C17FEA216011603160716
0FA2161F163F167FA216FF5D5DA25D5DED1FBFED3F3F153E157C15FCEC01F815F0EC03E0
1407EC0FC01580EC1F005C147E147C5C1301495A495A5C495A131F49C7FC133E5B13FC48
5A5B485A1207485A485A90C8FC123E127E5ABA12C0A5C96C48C7FCAF020FB712C0A53A4F
7CCE43>I<D80380150ED807E0157E01FEEC03FED9FFF0137F91B65A5F5F5F5F5F94C7FC
5E5E16F016C093C8FC15F801E190C9FC01E0CAFCABEC0FFF027F13F001E3B512FE01E76E
7E9026FFF8077FDAC0017F49C713F8496E7E49143F4981496E7E6C481680C9FC18C08218
E0A418F0A3EA0FE0487E487E487E487EA418E0A35B6C484A13C05B491680003EC85A003F
17006C6C4A5A6D5D6C6C4A5AD807F8495BD803FE01075B2701FFC03F5B6C90B65A013F4A
C7FC6D14F8010314C09026007FF8C8FC344F79CD43>I<ED0FFF92B512E0020780021F14
FC91397FFE03FE903A01FFF0007F4901C0EB3F804990C7121F4948EC7FC0494814FF4948
4913E049485B01FF5C485BA2485B5AA2486F13C04A6D1380486F1300177E94C7FC5AA291
CAFC5AA21508913801FFF8020713FFB54814C04A14F04AC66C7E023C6D7E4A6D7E4A6D7E
7013804A15C0A24A15E07013F05C18F8A491C714FCA37EA67EA46C17F880A27E18F06C5D
18E06C6D15C07E6E4913806C6D15006D6C495A6D6CEB7FFC6DB448485A6D90B55A010315
C0010092C7FC023F13FC020713C0364F7ACD43>I<121F7F7FEBFF8091B81280A45A1900
606060A2606060485F0180C86CC7FC007EC95A4C5A007C4B5A5F4C5A160F4C5A484B5A4C
5A94C8FC16FEC812014B5A5E4B5A150F4B5AA24B5AA24B5A15FFA24A90C9FCA25C5D1407
A2140FA25D141FA2143FA4147F5DA314FFA55BAC6D5BA2EC3FC06E5A395279D043>I<91
3807FFC0027F13FC0103B67E010F15E090261FFC0113F8903A3FE0003FFCD97F80EB0FFE
49C76C7E48488048486E1380000717C04980120F18E0177FA2121F7FA27F7F6E14FF02E0
15C014F802FE4913806C7FDBC00313009238F007FE6C02F85B9238FE1FF86C9138FFBFF0
6CEDFFE017806C4BC7FC6D806D81010F15E06D81010115FC010781011F81491680EBFFE7
48018115C048D9007F14E04848011F14F048487F48481303030014F8484880161F484802
0713FC1601824848157F173FA2171FA2170FA218F8A27F007F17F06D151FA26C6CED3FE0
001F17C06D157F6C6CEDFF806C6C6C010313006C01E0EB0FFE6C01FCEBFFFC6C6CB612F0
6D5D010F1580010102FCC7FCD9000F13C0364F7ACD43>I<91380FFF8091B512F8010314
FE010F6E7E4901037F90267FF8007F4948EB3FF048496D7E484980486F7E484980824817
805A91C714C05A7013E0A218F0B5FCA318F8A618FCA46C5DA37EA25E6C7F6C5DA26C5D6C
7F6C6D137B6C6D13F390387FF803011FB512E36D14C30103028313F89039007FFE03EC00
401500A218F05EA3D801F816E0487E486C16C0487E486D491380A218005E5F4C5A91C7FC
6C484A5A494A5A49495B6C48495BD803FC010F5B9027FF807FFEC7FC6C90B55A6C6C14F0
6D14C0010F49C8FC010013F0364F7ACD43>I<EA07F0487E487E487E487EB51280A76C13
006C5A6C5A6C5A6C5AC8FCB3EA07F0487E487E487E487EB51280A76C13006C5A6C5A6C5A
6C5A113576B425>I<171F4D7E4D7EA24D7EA34C7FA24C7FA34C7FA34C7FA24C7FA34C80
83047F80167E8304FE804C7E03018116F8830303814C7E03078116E083030F814C7E031F
81168083033F8293C77E4B82157E8403FE824B800201835D840203834B800207835D844A
B87EA24A83A3DA3F80C88092C97E4A84A2027E8202FE844A82010185A24A820103854A82
010785A24A82010F855C011F717FEBFFFCB600F8020FB712E0A55B547BD366>65
D<BA12C019FEF1FFC01AF01AFCD8000701F0C7000313FFDE007F7F737F070F7F737F8785
87858785A287A84F5BA263616361634F5B4F5B077F90C7FC4E485A060713F892B812E097
C8FC861AF003F0C7000313FE9539003FFF80070F13E0737F07017F87737F747E1C807413
C0A27413E0A31CF0A386A362A31CE0A2621CC0A250138097B5FC1C004F5B19074F5B073F
13F04EB55ABC128098C7FC1AF81AC007F8C8FC54527CD160>I<932601FFFCEC01C0047F
D9FFC013030307B600F81307033F03FE131F92B8EA803F0203DAE003EBC07F020F01FCC7
383FF0FF023F01E0EC0FF94A01800203B5FC494848C9FC4901F882494982494982494982
4949824990CA7E494883A2484983485B1B7F485B481A3FA24849181FA3485B1B0FA25AA2
98C7FC5CA2B5FCAE7EA280A2F307C07EA36C7FA21B0F6C6D1980A26C1A1F6C7F1C006C6D
606C6D187EA26D6C606D6D4C5A6D6D16036D6D4C5A6D6D4C5A6D01FC4C5A6D6DEE7F806D
6C6C6C4BC7FC6E01E0EC07FE020F01FEEC1FF80203903AFFE001FFF0020091B612C0033F
93C8FC030715FCDB007F14E0040101FCC9FC525479D261>I<BA7E19FCF1FF801AF01AFC
D8000701F0C7000F13FF060014C0071F7F070713F807017F737F747E747F747F86747F74
7F8886888688A2757EA31D8087A21DC0A51DE0A387A963A31DC0A51D80A2631D00A3515A
A2646264505B6264505B505B5090C7FCF2FFFE4F5B07075B071F5B96B512C0060F91C8FC
BB5A1AF01AC007FCC9FC19805B527CD167>I<BC1280A5D8000701F8C7000114C0F0001F
19071901851A7F1A3F1A1FA2F20FE0A21A07A31A03A318F81BF01A01A497C7FC1701A317
031707170F177F92B6FCA59238F8007F170F170717031701A317001B3EA31B7CA395C8FC
A21BFCA21BF8A21A01A31A031BF01A071A0FA21A1F1A3FF27FE0F101FF1907191F0603B5
FCBCFCA21BC0A34F517CD058>I<BB12FEA5D8000701F8C700077FF0007F191F19078585
8586861B80A21A1FA31A0FA41BC006F81307A497C7FCA31701A317031707170F177F92B6
FCA59238F8007F170F170717031701A31700A795C9FCB3B812F8A54A517CD055>I<9326
01FFFCEC01C0047FD9FFC013030307B600F81307033F03FE131F92B8EA803F0203DAE003
EBC07F020F01FCC7383FF0FF023F01E0EC0FF94A01800203B5FC494848C9FC4901F88249
49824949824949824949824990CA7E494883A2484983485B1B7F485B481A3FA24849181F
A3485B1B0FA25AA298C8FC5CA2B5FCAE6C057FB712E0A280A36C94C7003FEBC000A36C7F
A36C7FA27E6C7FA26C7F6C7FA26D7E6D7F6D7F6D6D5E6D7F6D01FC93B5FC6D13FF6D6C6D
5C6E01F0EC07FB020F01FEEC1FF10203903AFFF001FFE0020091B6EAC07F033FEE001F03
0703FC1307DB007F02E01301040149CAFC5B5479D26A>I<B8D8C003B8FCA5D8000701F8
C9001FEBE000B3AE92BAFCA503F8C9121FB3B1B8D8C003B8FCA560527CD169>I<B812C0
A5D8000701F8C7FCB3B3B3B2B812C0A52A527CD132>I<027FB71280A591C76C90C7FCB3
B3B3EA07F0EA1FFC487E487EA2B57EA44C5AA34A485B7E49495BD83FF8495BD81FE05DD8
0FFC011F5B2707FF807F90C8FC000190B512FC6C6C14F0011F14C0010101F8C9FC39537D
D145>I<B812F8A5D8000701F8CAFCB3B3A91A7CA41AFC1AF8A51901A31903A219071AF0
190FA2191F193F197F19FF180360183F4DB5FCBB12E0A546527CD151>76
D<B600FC073FB512FE6F61A26F96B6FCA2D80007F5C00070EF01EFA202EF6DEF03CFA202
E76DEF078FA202E36DEF0F0FA202E16D171EA302E06D173CA26F6C1778A26F6C17F0A26F
6DED01E0A26F6DED03C0A36F6DED0780A26F6DED0F00A26F6D151EA26F6D5DA3706C5DA2
706C5DA2706D495AA2706D495AA2706D495AA3706D49C7FCA2706D131EA2706D5BA2716C
5BA3716C5BA271EB81E0A271EBC3C0A271EBE780A27101FFC8FCA3715BA2715BA2725AA2
725AA2D93FFC6F5AB74DB712FEA2725AA2725A77527CD180>I<B600FC93B7FC8181A282
D800076E9239003FFC0070EE07E08282A28202EF7F02E77F02E380A202E18002E0806F7F
6F7F6F7FA26F7F6F7F6F806F80A26F80707F707F707F707FA2707F708070807080858371
7F717F717F717FA27114807114C07114E07213F07213F8A27213FC7213FE7213FF721487
A27214C77214E77313F77313FF85A285858585A28586868686A286868686A2D93FFC187F
B7173F1B1F1B0F1B07755A60527CD169>I<93380FFFC00303B6FC031F15E092B712FC02
03D9FC0013FF020F01C0010F13C0023F90C7000313F0DA7FFC02007F494848ED7FFE4901
E0ED1FFF49496F7F49496F7F4990C96C7F49854948707F4948707FA24849717E48864A83
481B804A83481BC0A2481BE04A83A2481BF0A348497113F8A5B51AFCAF6C1BF86E5FA46C
1BF0A26E5F6C1BE0A36C6D4D13C0A26C6D4D1380A26C1B006C6D4D5A6E5E6C626D6C4C5B
6D6D4B5B6D6D4B5B6D6D4B5B6D6D4B5B6D6D4B90C7FC6D6D4B5A6D01FF02035B023F01E0
011F13F0020F01FC90B512C0020390B7C8FC020016FC031F15E0030392C9FCDB001F13E0
565479D265>I<BAFC19F819FF1AE086D8000701F0C7001F13FC060113FF726C13807313
C0070F13E01BF0857313F81BFCA27313FEA41BFFA81BFEA31BFC61A21BF84F13F04F13E0
614F13C04F13004E485A061F5B92B812F01AC04FC7FC19E003F8CBFCB3AEB812C0A55052
7CD15C>I<B912F0F0FF8019F819FF1AC0D8000701F0C714F0060F7F060113FE727F737F
737F85737F87A2737FA387A863A2616363A24F5B4F5B4F90C8FC4F5A06035B060F13F095
B512C092B8C9FC19F819E019F89226F0000313FE9439007FFF80727F727F727F727F727F
8684A28684A787A71D1C75133EA38575137E73157C7513FC731401B86C6D9038F803F807
039038FE07F07390B512E0736C14C0080F1400CEEA7FFC5F537CD164>82
D<91260FFF80130791B500F85B010702FF5B011FEDC03F49EDF07F9026FFFC006D5A4801
E0EB0FFD4801800101B5FC4848C87E48488149150F001F824981123F4981007F82A28412
FF84A27FA26D82A27F7F6D93C7FC14C06C13F014FF15F86CECFF8016FC6CEDFFC017F06C
16FC6C16FF6C17C06C836C836D826D82010F821303010082021F16801400030F15C0ED00
7F040714E01600173F050F13F08383A200788200F882A3187FA27EA219E07EA26CEFFFC0
A27F6D4B13806D17006D5D01FC4B5A01FF4B5A02C04A5A02F8EC7FF0903B1FFFC003FFE0
486C90B65AD8FC0393C7FC48C66C14FC48010F14F048D9007F90C8FC3C5479D24B>I<00
3FBC1280A59126C0003F9038C0007F49C71607D87FF8060113C001E08449197F49193F90
C8171FA2007E1A0FA3007C1A07A500FC1BE0481A03A6C994C7FCB3B3AC91B912F0A55351
7BD05E>I<B800C00103B612FCA5D8000701F8CAEBF000F31F80B3B3B11B3FA26D97C7FC
81637F1B7E6D6D17FE505A6E7E505A6E6D15076E4D5A6E6D4B5A6E6D4B5A6E01F84B5A6E
6DDA03FFC8FC6E6CB46CEB0FFE6F9039F001FFF8030F90B65A030316C0DB007F92C9FC04
0F14F8DC007F13805E537CD167>I<B700FE031FB512FEA5D8001F01F0CA383FFE00F307
F06D626F170F6D62811B1F6D6D601B3F6D97C7FC6F5F6D197E821BFE6E6D5E1A016E6D5E
1A036E60701507A26E6D5E1A0F6E6D5E1A1F6E6070153FA26E6D93C8FC626E6E147E1AFE
6F5E711301A26F6D5C19036F6D5C19076F5E71130FA26F6D5C191F6F6D5C193F6F93C9FC
715BA26FEC807E19FE706D5A18C1705C18E3705C18F318F770EBFFE0A2705CA2705CA370
91CAFCA2705BA2715AA3715AA2715AA2715A715A5F537DD166>I<B700FC017FB600FE91
B612F0A5D8003F01C0C8001F01E0C9EBF8006F71EE0FC06D7161876F1C1F6D7196C7FC6F
8373606D1E3E6F836D7160876F1CFC6D666F4B801F016D66704A806E525A88704A17076E
059F5F70021F80080F160F6E6570023F806EDC3E074CC8FC8870027E5F6EDC7C03163E70
02FC804F6C167E6E1C7C700101814F6C16FC6E745B70010317016E4C6D5D060716C00580
496D14036F63DDC00F16E04F6D14076F07F05BDDE01F170F6F92C76C5D1DF8DDF03E6E14
1F6F98C9FCDDF87E16FC067C6E5C6FF1FE3EDDFCFC177E6F4A6E147C1DFFDDFFF06E14FC
6F62A24E816F62A270496F5BA24E817061A295C97E7061A270487090CAFCA37048705AA2
4D1601040360A27048705A84537DD18B>I<EC7FFF0107B512F0013F14FE90B77E48D9E0
0F7F2703FE000113F0486C6D7F6EEB3FFC48826E131F83707FA36C496D7FA26C90C7FC6C
5AC9FCA6037FB5FC020FB6FC91B7FC01071487013FEBF0074913803901FFFC004813F048
5B485B485B4890C7FC5A5BA2485AA45EA26D5C007F151D163D6C6C02797F6C6D01F113F8
6C9026C003E1EBFFE06C9026F81FC014F06C90B5487EC6ED001F011F01FC010713E00101
01E090C8FC3C387CB641>97 D<EB3FF0B5FCA51203C6FCB3A4923801FFE0030F13FE033F
EBFFC092B612F002F301017F913AF7F8003FFEDAFFE0EB0FFF03806D7F92C76C7F4A6E7F
4A824A6E7FA2727EA285A28584A31A80AC1A00A44E5AA36118FF616E4A5BA26E4A5B6E4A
5B6F495BDACFC04990C7FCDA87F0EB7FFC913A03FE03FFF849C6B612E0496D148049011F
01FCC8FC90C7000313C041547BD24B>I<913801FFF8021FEBFF8091B612F0010315FC01
0F9038C00FFE903A1FFE0001FFD97FFC491380D9FFF05B4817C048495B5C5A485BA2486F
138091C7FC486F1300705A4892C8FC5BA312FFAD127F7FA27EA2EF03E06C7F17076C6D15
C07E6E140F6CEE1F806C6DEC3F006C6D147ED97FFE5C6D6CEB03F8010F9038E01FF00103
90B55A01001580023F49C7FC020113E033387CB63C>I<4DB47E0407B5FCA5EE001F1707
B3A4913801FFE0021F13FC91B6FC010315C7010F9038E03FE74990380007F7D97FFC0101
B5FC49487F4849143F484980485B83485B5A91C8FC5AA3485AA412FFAC127FA36C7EA37E
A26C7F5F6C6D5C7E6C6D5C6C6D49B5FC6D6C4914E0D93FFED90FEFEBFF80903A0FFFC07F
CF6D90B5128F0101ECFE0FD9003F13F8020301C049C7FC41547CD24B>I<913803FFC002
3F13FC49B6FC010715C04901817F903A3FFC007FF849486D7E49486D7E4849130F48496D
7E48178048497F18C0488191C7FC4817E0A248815B18F0A212FFA490B8FCA318E049CAFC
A6127FA27F7EA218E06CEE01F06E14037E6C6DEC07E0A26C6DEC0FC06C6D141F6C6DEC3F
806D6CECFF00D91FFEEB03FE903A0FFFC03FF8010390B55A010015C0021F49C7FC020113
F034387CB63D>I<ED3FFC0203B5FC020F14C0023F14E09139FFF81FF0499038C03FF849
EB807F49903800FFFC495A495AA2495AA2EE7FF8495AEE3FF0EE0FC093C7FCAEB712E0A5
26007FF8C8FCB3B3A7007FB512FEA52E547CD329>I<DA3FFF14FF0103B5D8F00713C001
0FDAFC1F13E0013FECFF7F90267FFC0F9038FF9FF09026FFE001EBF83F48496C13E04849
90387FF01F4890C7D83FF813E0489338FC0FC0F0078048486E6CC7FCA2003F82A9001F5E
A26C6C4A5AA26C5E6C6D495A6C6D495A6C6D485BDAFC0F5B4890B6C8FCD803EF14FC01C3
14F02607C03F90C9FC91CBFCA2120FA37FA213F813FE90B7FC6C16F817FF18C06C836C83
6C836D828448B9FC12074848C700031480D81FF8EC003F4848150748486F13C083485A83
A56D5D007F18806D5D003F18006C6C4B5AD80FFEED1FFC6C6C6CEC7FF86C01E049485A6C
01FE011F5B6C6CB71280010F03FCC7FC010115E0D9000F01FCC8FC3C4F7CB543>I<EB3F
F0B5FCA51203C6FCB3A4EE1FFC93B512C0030314F0030F8092391FE07FFC92393F001FFE
037C8003F07FDAF1E081ECF3C0DAF7807F8502FFC7FC5CA25CA45CB3ACB6D8F807B612C0
A542537BD24B>I<137F497E000313E0487FA2487FA76C5BA26C5BC613806DC7FC90C8FC
ADEB3FF0B5FCA512017EB3B3A6B612E0A51B547BD325>I<157FEDFF80020313E04A13F0
A24A13F8A76E13F0A26E13E002001380ED7F0092C7FCADED1FF891B5FCA51401EC007FB3
B3B1EA0780EA1FE0487E487E486C13FF16F0A216E05C16C04A13806C4848130049485A00
3F495A000FB512F06C5C0001148026001FFCC7FC256C87D329>I<EB3FF0B5FCA51203C6
FCB3A54CB512F8A59339003FFE00EF1FF0EF3FC04D5A4DC7FCEE03FEEE07F84C5A4C5AEE
7FC04CC8FC4B5A4B5AED0FF8ED1FE04B7E4B7EECF1FF02F37F02F77F91B6FC83159F030F
7F02FE80DAF8077F4A7E6F7F6F7F83707E82707F84707F707F82707F84707F177F717E4D
13C0B6D8F003B6FCA540537CD247>I<EB3FF0B5FCA512017EB3B3B3B1B612F0A51C537B
D225>I<D93FF0D91FFCEDFFE0B591B500C0010713FE030302F0011F6D7E030F6E017F80
92271FE07FFCD9FF037F922A3F001FFE01F8007F0003027C9126FF03E080C602F06DD907
80137FDAF1E0038FC77FDAF3C0159EDAF7806D01BC143F07FC8102FFC75C4A5EA24A5EA4
4A5EB3ACB6D8F807B6D8C03FB512FEA567367BB570>I<D93FF0EB1FFCB591B512C00303
14F0030F8092391FE07FFC92393F001FFE0003027C80C602F07FDAF1E081ECF3C0DAF780
7F8502FFC7FC5CA25CA45CB3ACB6D8F807B612C0A542367BB54B>I<913801FFE0021F13
FE91B612C0010315F0010F9038807FFC903A1FFC000FFED97FF86D6C7E49486D7F48496D
7F48496D7F4A147F48834890C86C7EA24883A248486F7EA3007F1880A400FF18C0AC007F
1880A3003F18006D5DA26C5FA26C5F6E147F6C5F6C6D4A5A6C6D495B6C6D495B6D6C495B
D93FFE011F90C7FC903A0FFF807FFC6D90B55A010015C0023F91C8FC020113E03A387CB6
43>I<903A3FF001FFE0B5010F13FE033FEBFFC092B612F002F301017F913AF7F8007FFE
0003D9FFE0EB1FFFC602806D7F92C76C7F4A824A6E7F4A6E7FA2717FA285187F85A47213
80AC1A0060A36118FFA2615F616E4A5BA26E4A5B6E4A5B6F495B6F4990C7FC03F0EBFFFC
9126FBFE075B02F8B612E06F1480031F01FCC8FC030313C092CBFCB1B612F8A5414D7BB5
4B>I<912601FFE0EB0780021F01F8130F91B500FE131F0103ECFF80010F9039F03FC03F
499039800FE07F903A7FFE0003F04948903801F8FF4849EB00FD4849147F4A805A484980
5A4A805AA291C87E5AA35B12FFAC6C7EA37EA2806C5EA26C6D5CA26C6D5C6C6D5C6C93B5
FC6C6D5B6D6C5B6DB4EB0FEF010F9038C07FCF6D90B5120F010114FED9003F13F8020313
8091C8FCB1040FB61280A5414D7CB547>I<90397FE003FEB590380FFF80033F13E04B13
F09238FE1FF89139E1F83FFC0003D9E3E013FEC6ECC07FECE78014EF150014EE02FEEB3F
FC5CEE1FF8EE0FF04A90C7FCA55CB3AAB612FCA52F367CB537>I<903903FFF00F013FEB
FE1F90B7FC120348EB003FD80FF81307D81FE0130148487F4980127F90C87EA24881A27F
A27F01F091C7FC13FCEBFFC06C13FF15F86C14FF16C06C15F06C816C816C81C681013F15
80010F15C01300020714E0EC003F030713F015010078EC007F00F8153F161F7E160FA27E
17E07E6D141F17C07F6DEC3F8001F8EC7F0001FEEB01FE9039FFC00FFC6DB55AD8FC1F14
E0D8F807148048C601F8C7FC2C387CB635>I<143EA6147EA414FEA21301A313031307A2
130F131F133F13FF5A000F90B6FCB8FCA426003FFEC8FCB3A9EE07C0AB011FEC0F8080A2
6DEC1F0015806DEBC03E6DEBF0FC6DEBFFF86D6C5B021F5B020313802A4D7ECB34>I<D9
3FF8913801FFC0B50207B5FCA50003ED001FC61607B3AE5FA35FA2017F5D173B177B6D6C
14F3DC01E313F06D6CD907C3EBFFC0903A0FFFC03F836D90B51203010114FE6D6C13F802
0701E091C7FC42377BB54B>I<B600F00107B5FCA5000101F8C8EA7FE06C6DED3F00A201
7F163E6E157E013F167C6E15FC6D5E6F13016D5E8117036D5E6F13076D5E6F130F6D5E6F
131F6D93C7FC815F6E6C133E177E023F147C6F13FC6E5C16816E5C16C3A26EEBE3E016E7
6E5C16FF6E5CA26E91C8FCA26F5AA36F5AA26F5AA26F5AA26F5A6F5A40367DB447>I<B6
D8E07FB5D8C003B512C0A5000101F0C701F0C7381FF8006E027FED07E06C715DA26E023F
150F017F705DA26E181F013F4B6C92C7FC6E606D70143E94B5FC6F177E6D4A6E137C03C0
01F315FC6D715B160303E001E114016D020702E05B03F013C06D71485A160F03F8D9807F
13076D05F85B93381F003F03FC160F027F4902FC5BDBFE3E011F131F023F04FE90C8FC16
7EDBFF7C010F5B6E01FCECFF3E4C6D137E6E5FA24C7F6E5F4C7F6E5FA24C7F6E5F4C147F
A26E5F93C8123F6F5EA2033E6FC9FC5A367DB461>I<007FB500F090387FFFFEA5C66C48
C7000F90C7FC6D6CEC07F86D6D5C6D6D495A6D4B5A6F495A6D6D91C8FC6D6D137E6D6D5B
91387FFE014C5A6E6C485A6EEB8FE06EEBCFC06EEBFF806E91C9FCA26E5B6E5B6F7E6F7E
A26F7F834B7F4B7F92B5FCDA01FD7F03F87F4A486C7E4A486C7E020F7FDA1FC0804A486C
7F4A486C7F02FE6D7F4A6D7F495A49486D7F01076F7E49486E7E49486E7FEBFFF0B500FE
49B612C0A542357EB447>I<B600F00107B5FCA5C601F8C8EA7FE06EED3F00A26D6C153E
187E013F167C6E15FC6D5E6F13016D5E6F13036D5E8117076D6D5C170F6D6D5C171F6D93
C7FC6F5B027F143E6F137E023F147C6F13FCA26E6D5A16816EEBC1F016C36E5C16E76E5C
16FF6E5CA26E91C8FCA36F5AA26F5AA26F5AA26F5AA26F5AA35E150F5E151F93C9FC5DD8
1FC0133E486C137E486C137C486C13FC5D14015D14034A5A6C48485A49485A263FC07FCA
FCEB81FE6CB45A6C13F000035BC690CBFC404D7DB447>I<001FB8FC1880A3912680007F
130001FCC7B5FC01F0495B495D49495B495B4B5B48C75C5D4B5B5F003E4A90C7FC92B5FC
4A5B5E4A5B5CC7485B5E4A5B5C4A5B93C8FC91B5FC495B5D4949EB0F805B495B5D495B49
151F4949140092C7FC495A485E485B5C485E485B4A5C48495B4815074849495A91C712FF
B8FCA37E31357CB43C>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fk cmr10 10.95 89
/Fk 89 125 df<4AB4EB0FE0021F9038E03FFC913A7F00F8FC1ED901FC90383FF03FD907
F090397FE07F80494801FF13FF4948485BD93F805C137F0200ED7F00EF003E01FE6D91C7
FC82ADB97EA3C648C76CC8FCB3AE486C4A7E007FD9FC3FEBFF80A339407FBF35>11
D<4AB4FC021F13C091387F01F0903901FC0078D907F0131C4948133E494813FF49485A13
7F1400A213FE6F5A163893C7FCAA167FB8FCA33900FE00018182B3AC486CECFF80007FD9
FC3F13FEA32F407FBF33>I<4AB47E021F13F791387F00FFEB01F8903807F001EB0FE0EB
1FC0EB3F80137F14008101FE80AEB8FCA3C648C77EB3AE486CECFF80007FD9FC3F13FEA3
2F407FBF33>I<4AB4ECFF80021FD9C00F13E0913B7F01F03F80F8903C01F80078FE003C
D907F0D93FF8130E49484948131F49484948EB7F804948484913FF137F02005CA201FE92
C7FC6FED7F0070141C96C7FCAAF13F80BBFCA3C648C76CC7FC197F193FB3AC486C4A6CEB
7FC0007FD9FC3FD9FE1FB5FCA348407FBF4C>I<121EEA7F80EAFFC0A9EA7F80ACEA3F00
AC121EAB120CC7FCA8121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A4179C019>33
D<001E130F397F803FC000FF137F01C013E0A201E013F0A3007F133F391E600F30000013
00A401E01370491360A3000114E04913C00003130101001380481303000EEB070048130E
0018130C0038131C003013181C1C7DBE2D>I<4B6C130C4B6C131EA20307143EA24C133C
A2030F147CA293C71278A24B14F8A2031E5CA2033E1301A2033C5CA3037C1303A203785C
A203F81307A24B5CA20201140F007FBAFCBB1280A26C1900C72707C0003EC8FC4B133CA3
020F147CA292C71278A24A14F8A2021E5CA3023E1301007FBAFCBB1280A26C1900C727F8
0007C0C8FC4A5CA20101140FA24A91C9FCA301035CA24A131EA20107143EA24A133CA201
0F147CA291C71278A34914F8A2011E5CA2013E1301A2013C5CA201186D5A41517BBE4C>
I<14E0A4EB07FC90383FFF8090B512E03901F8E3F03903E0E0FCD807C0133CD80F807FD8
1F007F003E80003C1580007C140316C00078141F00F8143F157FA47EED3F806CEC0E0092
C7FC127F138013C0EA3FF013FEEA1FFF6C13FC6C13FF6C14C06C806C6C13F8011F7F1303
01007FECE7FF14E102E01380157F153FED1FC0A2003E140F127FD8FF801307A5130000FC
158000F0140F1270007815005D6C141E153E6C5C6C5C3907C0E1F03903F8EFE0C6B51280
D93FFEC7FCEB0FF8EB00E0A422497BC32D>I<013F4C7ED9FFC04B7E2601E0E015072607
C070150F48486C4B5A023E4BC7FC48486C5D48D90FC0EB01FE003ED90EF0EB07FCDA0F3F
133E007E903A070FFFF8F8007C0200EBC1F0EE000300FC6D6C495A604D5A171F95C8FC17
3E177E177C5F16015F007C4948485A1607007E5E003E49495A020E131F003F93C9FC6C49
133E260F803C137E0238137C6C6C485B3901E0E0016CB448485AD93F0049133F90C74848
EBFFC0030F903801E0E093398007C0704B4848487E4B153C033E90381F001C4B497F03FC
133E4B150F4A48017E7F0203147C5D4A4801FCEB0380140F5D4AC7FC5C143E5C14FC5C49
5A13034948027CEB07005C4948147E011F033E5B91C8140E013E153F017E6F5B017C9238
0F803C4917380001706C5A49923801E0E0496FB45A6C48043FC7FC41497BC34C>I<EC0F
C0EC3FF0ECF878903801F01CEB03E049487E130FEC800F011F7FA2EB3F00A5EC800EA25D
A25DA25D6D6C5AECC1C0A2ECC38002E7C7387FFFFCEB0FEE14FC4A020713C06D48913801
FE006E5DEF00F06D7E4D5A496C5D010F1503D91DFF4A5A013893C7FC496C6C5B01E0150E
48486C6C131E00036E131C2607801F143C000F6E5B001F6D6C1370263F000714F06F485A
48D903FE5B913801FF03486D495A0487C8FCED7FCFED3FFE6F4814386D6D5AA2007F6E6C
14786D6D6C14704B6C14F06C6C496C6C13E0001F91393E3FC0016C6C903AFC1FF003C03D
07FC07F007FC1F800001B5D8C001B512006C6C90C7EA7FFCD90FF8EC0FF03E437CC047>
I<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312011380120313005A
120E5A1218123812300B1C79BE19>I<1430147014E0EB01C0EB03801307EB0F00131E13
3E133C5B13F85B12015B1203A2485AA2120F5BA2121F90C7FCA25AA3123E127EA6127C12
FCB2127C127EA6123E123FA37EA27F120FA27F1207A26C7EA212017F12007F13787F133E
131E7FEB07801303EB01C0EB00E014701430145A77C323>I<12C07E12707E7E121E7E6C
7E7F12036C7E7F12007F1378137CA27FA2133F7FA21480130FA214C0A3130714E0A61303
14F0B214E01307A614C0130FA31480A2131F1400A25B133EA25BA2137813F85B12015B48
5A12075B48C7FC121E121C5A5A5A5A145A7BC323>I<EB03C0A2805CA600F0140F00FC14
3F00FE147F00FF14FF393FC3C3FC390FE187F03903F18FC03900FDBF00EB3FFCEB0FF0EB
03C0EB0FF0EB3FFCEBFDBF3903F18FC0390FE187F0393FC3C3FC39FF03C0FF00FE147F00
FC143F00F0140F00001400A6805CA220277AC32D>I<121EEA7F8012FF13C0A213E0A312
7FEA1E601200A413E013C0A312011380120313005A120E5A1218123812300B1C798919>
44 D<B512FEA617067F961E>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A0A798919>
I<ED0180ED03C01507A21680150FA216005DA2151E153EA2153C157CA2157815F8A25D14
01A25D1403A25D1407A25D140FA24AC7FCA2141E143EA2143C147CA2147814F8A25C1301
A25C1303A25C1307A25C130FA291C8FC5BA2131E133EA25BA2137813F8A25B1201A25B12
03A25B1207A25B120FA290C9FC5AA2121E123EA2123C127CA2127812F8A25A1260225B7B
C32D>I<EB01FE90380FFFC090383F03F090387C00F849137C48487F48487F4848EB0F80
A2000F15C04848EB07E0A3003F15F0A290C712034815F8A64815FCB3A26C15F8A56C6CEB
07F0A3001F15E0A36C6CEB0FC0A26C6CEB1F80000315006C6C133E6C6C5B017C5B90383F
03F090380FFFC0D901FEC7FC263F7DBC2D>I<EB01C013031307131F137FEA07FFB5FC13
9FEAF81F1200B3B3ACEB7FF0B612F8A31D3D78BC2D>I<EB07FC90383FFF8090B512E039
03F01FF83907C007FC390F0001FE001E6D7E001C1580003CEC7FC05AED3FE01270B4FC6D
EB1FF07FA56C5A6CC7FC120CC813E0153FA216C0157F168015FF16004A5A5D4A5A4A5A5D
4A5A4A5A4AC7FC147E147C5C495A495A495A495A49C71270133E133C5B4914E0485A485A
485A48C7120148B6FCA25A4815C0B7FCA3243D7CBC2D>I<EB07FC90383FFF809038F80F
E03901E003F839078001FCD80F007F000E6D7E001E1580D81F80137F486C14C07FA27F5B
A2121F6C5AC8138015FF1600A24A5AA24A5A5DEC07E04A5A023FC7FCEB1FFCECFF809038
000FE0EC07F86E7E6E7E6E7E1680ED7FC0A216E0153FA216F0A2120C123F487E487EA316
E0A249137F6CC713C01278EDFF807E6C4913006C495A3907C007FC3903F80FF0C6B55A01
3F1380D907F8C7FC243F7CBC2D>I<150E151E153EA2157EA215FE1401A21403EC077E14
06140E141CA214381470A214E0EB01C0A2EB0380EB0700A2130E5BA25B5BA25B5B120148
5A90C7FC5A120E120C121C5AA25A5AB8FCA3C8EAFE00AC4A7E49B6FCA3283E7EBD2D>I<
00061403D80780131F01F813FE90B5FC5D5D5D15C092C7FC14FCEB3FE090C9FCACEB01FE
90380FFF8090383E03E090387001F8496C7E49137E497F90C713800006141FC813C0A216
E0150FA316F0A3120C127F7F12FFA416E090C7121F12FC007015C012780038EC3F80123C
6CEC7F00001F14FE6C6C485A6C6C485A3903F80FE0C6B55A013F90C7FCEB07F8243F7CBC
2D>I<EC1FE0ECFFF8903803F03E90380FC00F90391F000780133E017EEB1FC049133F48
48137F12035B12074848EB3F80ED1F00001F91C7FC5BA2123FA3485AA214FE903887FF80
39FF8F07E090389C01F09038B800FC01B0137E13F0497F16804914C0A2ED1FE0A34914F0
A5127FA6123F6D14E0A2121FED3FC0A26C6C1480A20007EC7F006C6C137E6C6C5B6C6C48
5A90387E07F06DB45A010F1380D903FCC7FC243F7CBC2D>I<1238123C123F90B612FCA3
16F85A16F016E00078C712010070EC03C0ED078016005D48141E151C153C5DC8127015F0
4A5A5D14034A5A92C7FC5C141EA25CA2147C147814F8A213015C1303A31307A3130F5CA2
131FA6133FAA6D5A0107C8FC26407BBD2D>I<EB03FC90381FFF8090387C07E09038F001
F83901E0007C48487F48487F48C7FCED0F80121E16C0003E1407A4123FA26DEB0F807F6C
6C131F6D140001FC133E6C6C5B9038FF80786C6D5A6CEBF3E06CEBFF806C91C7FC133F6D
13C06D7F013F13F801787F48486C7E3903E01FFF48486C1380260F800313C048487E4890
38007FE0003E143F007E141F007CEC0FF01507481403A31501A46C15E0007C1403A2007E
15C06C14076CEC0F806DEB1F006C6C133ED807F05B3901FC03F86CB512E0011F1380D903
FCC7FC243F7CBC2D>I<EB03FCEB1FFF90387E07C09038FC03F048486C7E48486C7E4848
137C000F147E4848137F81003F15805B007F15C0A2151F12FF16E0A516F0A5127F153FA3
6C7EA2001F147F120F6C6C13FF6D13DF000313013900F8039F90387E0F1FD91FFE13E0EB
07F090C7FCA2ED3FC0A41680157FD80F801400487E486C13FEA24A5A5D49485AEB800739
1E000FE0001F495A260FC07FC7FC3803FFFE6C13F838003FC0243F7CBC2D>I<121EEA7F
80A2EAFFC0A4EA7F80A2EA1E00C7FCB3121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A2779
A619>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7FCB3121E127FEAFF80A213C0A412
7F121E1200A412011380A3120313005A1206120E120C121C5A1230A20A3979A619>I<EB
1FF890B5FC3903E01FC0390F0007F0001EEB03F848EB01FC4814FE140000FE14FF7E7FA4
6CC7FC123EC7EA01FEA2EC03FCEC07F815F0EC0FC0EC1F80EC3F00143E5C147814F85C13
015CA2495AA25CAB91C7FC90C8FCA8EB0780EB1FE0A2497EA46D5AA2EB078020407BBF2B
>63 D<15074B7EA34B7EA34B7EA34B7EA34B7E15E7A2913801C7FC15C3A291380381FEA3
4AC67EA3020E6D7EA34A6D7EA34A6D7EA34A6D7EA34A6D7EA349486D7E91B6FCA2498191
38800001A249C87EA24982010E157FA2011E82011C153FA2013C820138151FA201788217
0F13FC00034C7ED80FFF4B7EB500F0010FB512F8A33D417DC044>65
D<B712FCEEFF8017F00001903980000FF86C6CC7EA03FE707E701380EF7FC0EF3FE0A2EF
1FF0A218F8A3170F171FA318F0A2EF3FE0177F18C0EFFF804C1300EE03FCEE0FF8EE7FE0
91B6C7FC17E091C7EA07FCEE01FE933800FF80EF7FC0EF3FE0EF1FF018F8170F18FC1707
A218FEA718FC170FA2EF1FF818F0173FEF7FE0EFFFC00403138048486C90380FFE00B85A
17E094C7FC373E7DBD40>I<DB3FF01306912603FFFE130E020F9038FF801E913A3FF007
E03E9139FF8000F8D903FEC7EA7C7ED907F8EC1EFE4948140FD93FE0140749481403495A
91C812014848150012034848167E5B000F173EA24848161EA2123F5B180E127FA3491600
12FFAC127F7F180EA2123FA27F001F171E181C6C7EA20007173C6D16386C6C1678000117
706C6C16F06EEC01E06D6C15C06D6C1403D90FF0EC07806D6CEC1F00D903FE143E902600
FF8013F891393FF007F0020FB512C0020391C7FC9138003FF037427BBF42>I<B712FCEE
FF8017E000019039C0001FF86C6C48EB03FEEE00FF717E717EEF0FE084717E717E170184
717EA21980187F19C0A3F03FE0A519F0AB19E0A5F07FC0A21980A218FF19004D5AA24D5A
6017074D5A4D5AEF7FC04DC7FCEE03FE48486CEB1FF8B85A178004FCC8FC3C3E7DBD45>
I<B912E0A300019038C000016C6C48EB001FEF0FF01703A217011700A31870A41838161C
A41800A2163CA2167C16FC150391B5FCA3EC80031500167C163CA2161CA21807A3180E93
C7FCA4181E181CA2183CA2187CA218F8170117031707171F48486CEB01FFB912F0A3383E
7DBD3E>I<B91280A300019038C000036C6C48EB007FEF1FC0170F1707A21703A31701A4
EF00E0A21638A31800A31678A216F81501150791B5FCA3EC8007150115001678A21638A6
93C8FCAF3801FFE0B612F0A3333E7DBD3B>I<DB3FE0130C912603FFFE131C021F9038FF
803C913A7FF00FC07C9139FF0001F0D903FC90380078FC4948143DD91FE0141F4948140F
4948140701FF15034890C8FC491501485A000716005B000F177C5B001F173CA2485AA218
1C127FA25B95C7FC12FFAB041FB512F0127FA26D9139000FFE00EF03FC123FA27F121FA2
6C7EA212077F12036C7E7F6C7F6D6C14076D7E6D6C140FD907F8141ED903FEEC3C7C9026
00FF80EBF83C913A7FF007F01C021FB5EAC00C020391C8FC9138003FF03C427BBF47>I<
B6D8C01FB512F8A3000101E0C7383FFC0026007F80EC0FF0B3A691B7FCA30280C7120FB3
A92601FFE0EC3FFCB6D8C01FB512F8A33D3E7DBD44>I<B612F0A3C6EBF000EB3FC0B3B3
B2EBFFF0B612F0A31C3E7EBD21>I<011FB512FCA3D9000713006E5A1401B3B3A6123FEA
7F80EAFFC0A44A5A1380D87F005B007C130700385C003C495A6C495A6C495A2603E07EC7
FC3800FFF8EB3FC026407CBD2F>I<B600C090387FFFFCA3000101E0C7000F138026007F
80913807FE0018F818E0604D5A4DC7FC173E5F5F4C5A4C5A4C5A4C5A4CC8FC163E5E5E4B
5A4B5AED07804B7E151F4B7E4B7E15FF913881EFF8913883C7FCEC878791388F03FE9138
9E01FF14BCDAF8007F4A6D7E5C4A6D7E4A6D7EA2707E707EA2707E707EA2707F717E8417
3F717E717EA2717E848419802601FFE04A13C0B600C090B6FCA3403E7DBD47>I<B612F8
A3000101E0C9FC38007F80B3B0EF0380A517071800A45FA35FA25F5F5F4C5A160748486C
133FB8FCA3313E7DBD39>I<B500C093383FFFF0A300016D93387FF800D8007F18E0D977
F016EFA3D973F8ED01CFA2D971FCED038FA3D970FEED070FA26E150E80A26E6C141CA36E
6C1438A26E6C1470A36E6C14E0A26E6CEB01C0A36E6CEB0380A36E6CEB0700A2037F130E
A36F6C5AA26F6C5AA36F6C5AA25FED07F0A2923803F9C0A36FB45AA26F90C7FCA213F848
6C147ED807FFEF3FF8B500F8013C011FB512F0A34C3E7DBD53>I<B56C91B512F88080D8
007F030713006EEC01FC6E6E5A1870EB77FCEB73FEA2EB71FF01707FA26E7E6E7EA26E7E
6E7EA26E7E6E7EA26E7E6E7FA26F7E6F7EA26F7E6F7EA26F7E6F7EA26F7E6F1380A2EE7F
C0EE3FE0A2EE1FF0EE0FF8A2EE07FCEE03FEA2EE01FF7013F0A2177F173FA2171F170FA2
170701F81503487ED807FF1501B500F81400A218703D3E7DBD44>I<ED7FE0913807FFFE
91391FC03F8091397E0007E04948EB03F8D907F0EB00FE4948147F49486E7E49486E7E49
C86C7E01FE6F7E00018349150300038348486F7EA248486F7EA2001F188049167F003F18
C0A3007F18E049163FA300FF18F0AC007F18E06D167FA4003F18C0A26C6CEEFF80A36C6C
4B1300A26C6C4B5A00035F6D150700015F6C6C4B5A6D5E6D6C4A5A6D6C4A5A6D6C4AC7FC
6D6C14FED901FCEB03F8D9007FEB0FE091391FC03F80912607FFFEC8FC9138007FE03C42
7BBF47>I<B712F8EEFF8017E000019039C0003FF86C6C48EB07FCEE01FE707EEF7F80EF
3FC018E0A2EF1FF0A218F8A818F0A2EF3FE0A218C0EF7F80EFFF004C5AEE07FCEE3FF091
B612C04CC7FC0280C9FCB3A73801FFE0B612C0A3353E7DBD3E>I<ED7FE0913807FFFE91
391FC03F8091397F000FE0D901FCEB03F8D907F0EB00FE4948147F49486E7E49486E7E49
C86C7E498248486F7E49150300038348486F7EA2000F834981001F1880A24848EE7FC0A3
007F18E0A249163FA200FF18F0AC007F18E0A26D167FA3003F18C0A26C6CEEFF80A3000F
18006D5D0007DA0F805B6C6C90393FE003FCED70706C6C496C485A6C6C48486C485A017F
D9800E5BD93F819038061FC0D91FC19038073F80D90FE14AC7FCD907F1EB03FE902601FD
C013F8903A007EE007E091271FF03FC013180207B5FC9139007FE1E0DB00011438837113
78A2706C13F0EFFF0318FFA27113E0A37113C0711380711300715AEF01F83D527BBF47>
I<B712C016FCEEFF800001D9C00013E06C6C48EB1FF0EE07FCEE01FE707E84717EA2717E
A284A760177F606017FF95C7FCEE01FCEE07F8EE1FE0EEFF8091B500FCC8FC16F0913880
01FCED003FEE1FC0707E707E83160383160183A383A484A4F0C004190EA28218E0057F13
1E2601FFE0161CB600C0EB3FF094381FF83805071370CA3801FFE09438003F803F407DBD
43>I<D907FC130C90391FFF801C017FEBF03C3901FC03F83A03F0007E7CD807C0EB1FFC
4848130F001F140748C71203003E1401007E1400A2007C157C12FCA2163CA36C151CA27E
A26C6C14007F7FEA3FF8EBFF806C13F86CEBFF806C14F06C14FC6C14FF6C15C0013F14E0
010714F0EB007F020713F89138007FFC150FED07FE15031501ED00FFA200E0157FA3163F
A27EA3163E7E167E6C157C6C15FC6C15F86D13016DEB03F06DEB07E0D8F9FCEB0FC03AF0
7F803F8090391FFFFE00D8E00713F839C0007FC028427BBF33>I<003FB91280A3903AF0
007FE001018090393FC0003F48C7ED1FC0007E1707127C00781703A300701701A548EF00
E0A5C81600B3B14B7E4B7E0107B612FEA33B3D7DBC42>I<B600C090B512F8A3000101E0
C70007130026007F80EC01FC715A1870B3B3A4013F16F06E5DA21701011F5E80010F1503
6E4A5A010793C7FC6D6C5C6D6C141E6D6C5C027F14F86E6C485A91390FF00FE00203B512
80020049C8FCED1FF03D407DBD44>I<B691380FFFFEA3000301E0020113E06C01809138
007F806CEF3F00017F163E181C6E153C013F1638A26E1578011F1670A26D6C5DA26E1401
01075EA26E140301035EA26D6C4AC7FCA2806D150EA26F131E027F141CA26F133C023F14
38A26E6C5BA26F13F0020F5CA2EDF80102075CA26E6C485AA2EDFE07020191C8FCA26F5A
6E130EA2ED7F9CA216DCED3FF8A36F5AA36F5AA26F5AA36F5A3F407EBD44>I<B500FE01
7FB5D88007B5FCA3000301C0010101E0C713F86C90C849EC3FE07148EC0F807E7215006E
143F017F190E84A26D6C60A24D7E6D6C60A2EFE7F86D6C60A2933801C3FC6E18F0010761
04037F6E0281140101036104077F17006D6C4D5AA2040EEB7F806D6C4DC7FCA24CEB3FC0
DA7F80160EA24CEB1FE003C0161E023F171C047814F0DBE070010F133C021F173804F014
F84C1307DA0FF05EA2DBF1C0EB03FCDA07F95EA2DBFB80EB01FEDA03FF6F5AA293C8FCA2
6E5FA24B157F020094C8FCA24B81037C153EA20378151E0338151C58407EBD5D>I<007F
B5D8C003B512E0A3C649C7EBFC00D93FF8EC3FE06D48EC1F806D6C92C7FC171E6D6C141C
6D6C143C5F6D6C14706D6D13F04C5ADA7FC05B023F13036F485ADA1FF090C8FC020F5BED
F81E913807FC1C163C6E6C5A913801FF7016F06E5B6F5AA26F7E6F7EA28282153FED3BFE
ED71FF15F103E07F913801C07F0203804B6C7EEC07004A6D7E020E6D7E5C023C6D7E0238
6D7E14784A6D7E4A6D7F130149486E7E4A6E7E130749C86C7E496F7E497ED9FFC04A7E00
076DEC7FFFB500FC0103B512FEA33F3E7EBD44>I<B66C0103B51280A3000101F0C8EBF8
006C6C48ED3FC0725A013F041EC7FC6D7E606D6C15386D6C1578606D6C5D6E14016D5E6D
6D1303606E6C49C8FC6E6C5B170E6E6C131E171C6E6C5B6E6C137817706E6C13F06F5B6E
13016EEB83C05FED7FC7DB3FE7C9FC16EFED1FFE5E150F6F5AB3A4ED1FFC020FB512FCA3
413E7FBD44>I<003FB712F8A391C7EA1FF013F801E0EC3FE00180EC7FC090C8FC003EED
FF80A2003C4A1300007C4A5A12784B5A4B5AA200704A5AA24B5A4B5AA2C8485A4A90C7FC
A24A5A4A5AA24A5AA24A5A4A5AA24A5A4A5AA24990C8FCA2495A4948141CA2495A495AA2
495A495A173C495AA24890C8FC485A1778485A484815F8A24848140116034848140F4848
143FED01FFB8FCA32E3E7BBD38>I<EAFFFCA4EAF000B3B3B3B3ABEAFFFCA40E5B77C319>
I<486C13C00003130101001380481303000EEB070048130E0018130C0038131C00301318
0070133800601330A300E01370481360A400CFEB678039FFC07FE001E013F0A3007F133F
A2003F131F01C013E0390F0007801C1C73BE2D>I<EAFFFCA4EA003CB3B3B3B3ABEAFFFC
A40E5B7FC319>I<EA0180120313005A120E5A12181238123012701260A312E05AA412CF
EAFFC013E0A3127FA2123F13C0EA0F000B1C7ABE19>96 D<EB0FF8EBFFFE3903F01F8039
078007E0000F6D7E9038E001F8D81FF07F6E7EA3157F6C5AEA0380C8FCA4EC1FFF0103B5
FC90381FF87FEB7F803801FC00EA07F8EA0FE0485A485AA248C7FCEE038012FEA315FFA3
007F5BEC03BF3B3F80071F8700261FC00E13CF3A07F03C0FFE3A01FFF807FC3A003FC001
F0292A7DA82D>I<EA01FC12FFA3120712031201B1EC03FC91381FFF8091387C07E09039
FDE001F09039FFC000FC4A137E91C77E49158049141F17C0EE0FE0A217F0A2160717F8AA
17F0A2160FA217E0161F17C06D1580EE3F006D5C6E13FE9039F3C001F89039F1E003F090
39E0780FC09026C03FFFC7FCC7EA07F82D407EBE33>I<49B4FC010F13E090383F00F801
7C131E4848131F4848137F0007ECFF80485A5B121FA24848EB7F00151C007F91C7FCA290
C9FC5AAB6C7EA3003FEC01C07F001F140316806C6C13076C6C14000003140E6C6C131E6C
6C137890383F01F090380FFFC0D901FEC7FC222A7DA828>I<ED01FC15FFA31507150315
01B114FF010713E190381F80F990387E003D49131FD803F81307485A4913034848130112
1F123F5B127FA290C7FCA25AAA7E7FA2123FA26C7E000F14037F000714076C6C497E6C6C
497ED8007C017913F890383F01F190380FFFC1903A01FE01FC002D407DBE33>I<EB01FE
90380FFFC090383F03F09038FC01F848486C7E4848137E48487F000F158049131F001F15
C04848130FA2127F16E090C7FCA25AA290B6FCA290C9FCA67EA27F123F16E06C7E150100
0F15C06C6C13036DEB07806C6C1400C66C131E017E5B90381F80F8903807FFE0010090C7
FC232A7EA828>I<EC1FC0EC7FF8903801F83C903807E07E90380FC0FFEB1FC1EB3F8114
01137FEC00FE01FE137C1500AEB6FCA3C648C7FCB3AE487E007F13FFA320407EBF1C>I<
167C903903F801FF903A1FFF078F8090397E0FDE1F9038F803F83803F001A23B07E000FC
0600000F6EC7FC49137E001F147FA8000F147E6D13FE00075C6C6C485AA23901F803E039
03FE0FC026071FFFC8FCEB03F80006CAFC120EA3120FA27F7F6CB512E015FE6C6E7E6C15
E06C810003813A0FC0001FFC48C7EA01FE003E140048157E825A82A46C5D007C153E007E
157E6C5D6C6C495A6C6C495AD803F0EB0FC0D800FE017FC7FC90383FFFFC010313C0293D
7EA82D>I<EA01FC12FFA3120712031201B1EC01FE913807FFC091381E07E091387803F0
9138E001F8D9FDC07F148001FF6D7E91C7FCA25BA25BB3A6486C497EB5D8F87F13FCA32E
3F7DBE33>I<EA01E0EA07F8A2487EA46C5AA2EA01E0C8FCACEA01FC127FA31207120312
01B3AC487EB512F0A3143E7DBD1A>I<1478EB01FEA2EB03FFA4EB01FEA2EB00781400AC
147FEB7FFFA313017F147FB3B3A5123E127F38FF807E14FEA214FCEB81F8EA7F01387C03
F0381E07C0380FFF803801FC00185185BD1C>I<EA01FC12FFA3120712031201B292B512
80A392383FFC0016E0168093C7FC153C5D5D4A5AEC07C04A5A4AC8FC143E147F4A7E13FD
9038FFDFC0EC9FE0140F496C7E01FC7F496C7E1401816E7E81826F7E151F826F7EA28248
6C14FEB539F07FFFE0A32B3F7EBE30>I<EA01FC12FFA3120712031201B3B3B1487EB512
F8A3153F7DBE1A>I<2701F801FE14FF00FF902707FFC00313E0913B1E07E00F03F0913B
7803F03C01F80007903BE001F87000FC2603F9C06D487F000101805C01FBD900FF147F91
C75B13FF4992C7FCA2495CB3A6486C496CECFF80B5D8F87FD9FC3F13FEA347287DA74C>
I<3901F801FE00FF903807FFC091381E07E091387803F000079038E001F82603F9C07F00
01138001FB6D7E91C7FC13FF5BA25BB3A6486C497EB5D8F87F13FCA32E287DA733>I<14
FF010713E090381F81F890387E007E01F8131F4848EB0F804848EB07C04848EB03E0000F
15F04848EB01F8A2003F15FCA248C812FEA44815FFA96C15FEA36C6CEB01FCA3001F15F8
6C6CEB03F0A26C6CEB07E06C6CEB0FC06C6CEB1F80D8007EEB7E0090383F81FC90380FFF
F0010090C7FC282A7EA82D>I<3901FC03FC00FF90381FFF8091387C0FE09039FDE003F0
3A03FFC001FC6C496C7E91C7127F49EC3F805BEE1FC017E0A2EE0FF0A3EE07F8AAEE0FF0
A4EE1FE0A2EE3FC06D1580EE7F007F6E13FE9138C001F89039FDE007F09039FC780FC0DA
3FFFC7FCEC07F891C9FCAD487EB512F8A32D3A7EA733>I<02FF131C0107EBC03C90381F
80F090397F00387C01FC131CD803F8130E4848EB0FFC150748481303121F485A1501485A
A448C7FCAA6C7EA36C7EA2001F14036C7E15076C6C130F6C7E6C6C133DD8007E13799038
3F81F190380FFFC1903801FE0190C7FCAD4B7E92B512F8A32D3A7DA730>I<3901F807E0
00FFEB1FF8EC787CECE1FE3807F9C100031381EA01FB1401EC00FC01FF1330491300A35B
B3A5487EB512FEA31F287EA724>I<90383FC0603901FFF8E03807C03F381F000F003E13
07003C1303127C0078130112F81400A27E7E7E6D1300EA7FF8EBFFC06C13F86C13FE6C7F
6C1480000114C0D8003F13E0010313F0EB001FEC0FF800E01303A214017E1400A27E15F0
7E14016C14E06CEB03C0903880078039F3E01F0038E0FFFC38C01FE01D2A7DA824>I<13
1CA6133CA4137CA213FCA2120112031207001FB512C0B6FCA2D801FCC7FCB3A215E0A912
009038FE01C0A2EB7F03013F138090381F8700EB07FEEB01F81B397EB723>I<D801FC14
FE00FF147FA3000714030003140100011400B3A51501A31503120015076DEB06FF017E01
0E13806D4913FC90381FC078903807FFE00100903880FE002E297DA733>I<B539E00FFF
E0A32707FE000313006C48EB00FC5E00015D7F00005DA26D13016D5CA26D6C485AA2ECC0
07011F91C7FCA290380FE00EA2ECF01E0107131CA26D6C5AA2ECFC7801011370A2ECFEF0
01005BA2EC7FC0A36E5AA26EC8FCA3140E2B287EA630>I<B53BC3FFFE03FFF8A3290FFE
003FE00013C06C486D48EB3F806C4817006D010F141E00016F131C15076D163C00004A6C
1338A2017F5E4B7E151DD93F805DED3DFC1538D91FC04A5AED78FE9238707E03D90FE001
7F5BEDE03F02F0140701070387C7FC9138F1C01F02F9148F010315CE9138FB800F02FF14
DE6D15FCED00076D5DA24A1303027E5CA2027C1301023C5C023813003D287EA642>I<B5
39F01FFFE0A30003D9C00F1300C690388007F8D97F0013E002805BD93FC05B011F49C7FC
90380FE00EECF01E6D6C5A01035B6D6C5A6E5AEB00FF6E5A6E5A81141F814A7E81147BEC
F1FC903801E1FEECC0FF01037F49486C7ED90F007F011E6D7E013E130F496D7E01FC8048
6C80000F4A7EB539803FFFF8A32D277FA630>I<B539E00FFFE0A32707FE000313006C48
EB01FC6F5A00015D7F00005DA2017F495AA2EC8003013F5CA26D6C48C7FCA26E5A010F13
0EA26D6C5AA2ECF83C01031338A26D6C5AA2ECFEF001005BA2EC7FC0A36E5AA36EC8FCA2
140EA2141E141C143C1438A2147800181370127EB45BA2495AA248485AD87E07C9FCEA78
0EEA3C3CEA1FF8EA07E02B3A7EA630>I<001FB61280A2EBE0000180140049485A001E49
5A121C4A5A003C495A141F00385C4A5A147F5D4AC7FCC6485AA2495A495A130F5C495A90
393FC00380A2EB7F80EBFF005A5B484813071207491400485A48485BA248485B4848137F
00FF495A90B6FCA221277EA628>I<B812F0A22C0280982D>I<BE12C0A25A0280985B>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fl cmbx12 20.736 11
/Fl 11 117 df<BDFC1CFEF4FFC01DF81DFF1EC01EF08AC7003F49C9000F14FE09018075
6C800A1F807680768076807680A27680A2777FA2208089A320C0A289A565A22080A45314
00A29AB55AA2525C6764525C525C525C525C5249C7FC51B55A090714F0093F14C00807B6
C8FC93BA12F81DC0651DFCF5FF801EF04CCA14FC0A3F13FF0A0F800A0314E076807614FC
777F777F2080897714C020E0A27714F0A220F88920FCA47714FEA96520FCA45314F8A265
20F06520E05314C0659AB61280521500525C1C0F5214F899B65A09075DC05A9CC7FC1EFC
1EF01EC053C8FC1DE00AF8C9FC777679F58A>66 D<BDFC1CFCF4FFC01DF81DFF1EC01EF8
8AC7003F91C96C14FF090315C0E1007F800A0F14F80A03800A00800B3F7F778077807780
0B018077808C8A787F787FA278808D8A8D8A8D8A8DA28D8AA28DA28BA28DA42280A38BA3
22C0B22280A367A32200A4699CB5FCA269A3545CA2696669666966695491C7FC6668545B
9BB55A65535C535C535C0B3F5C9AB6C8FC5214FC0A0F5C0A3F5C0903B612C0097F5DBF48
C9FC1EF81EE01E800BFCCAFC1DE052CBFC99CCFC82767AF594>68
D<96267FFFE01670063FB6ED01F80503B700F01403053F04FC14074CB96C130F040706E0
131F043F72133F93BA00FC137F0303DC00076D13FF030F03C09039003FFF814B02FCC800
0713C3037F02E0030113F792B600806F6CB5FC02034ACA121F4A02F8834A02E0834A4A17
01027F4A8391B548CC7E494A85495C4C854988494A85494A85495C8A4991CDFC90B54886
A2484A1B7FA2481E3F5D481E1F5D5A1F0FA2485CA3481E075DA2795A489BC9FCA45DA2B6
FCB27EA26F0403BA12C0A47EA3816C96C8000302F8C7FCA36C80A36C80A27E817E817E81
7F6D80827F6D806D806D80826D6E606D806E80021F6E5F6E02F05F6E806E02FE5F0200DA
FFC05E6F02F04BB6FC031F02FE030713CF6FDAFFE0021F138703039226FF8003B5120103
0093B6EAFC00043F4E133F040706E0131F04014E1307DC003F4CC71201050304F8EC0070
DD003F038092C8FCDE007F01F0CCFC827A75F798>71 D<BA12F8A8C7001F02C0C7FCB3B3
B3B3B3ACBA12F8A83D767BF548>73 D<92383FFFF80207B612E0027F15FC49B87E010717
E0011F83499026F0007F13FC4948C7000F7F90B502036D7E486E6D806F6D80727F486E6E
7F8486727FA28684A26C5C72806C5C6D90C8FC6D5AEB0FF8EB03E090CAFCA70507B6FC04
1FB7FC0303B8FC157F0203B9FC021FECFE0391B612800103ECF800010F14C04991C7FC01
7F13FC90B512F04814C0485C4891C8FC485B5A485B5C5A5CA2B5FC5CA360A36E5DA26C5F
6E5D187E6C6D846E4A48806C6D4A4814FC6C6ED90FF0ECFFFC6C02E090263FE07F14FE00
019139FC03FFC06C91B6487E013F4B487E010F4B1307010303F01301D9003F0280D9003F
13FC020101F8CBFC57507ACE5E>97 D<93387FFF80030FB512FC037FECFF804AB712E002
0716F8021F16FE027FD9F8077F49B5D8C000804991C7003F13E04901FC020F7F49496E7F
49498049496E7F49496E7F90B55A48727E92C914804884485B1BC048841BE0485BA27313
F05AA25C5AA21BF885A2B5FCA391BAFCA41BF002F8CCFCA67EA3807EA47E806CF103F0F2
07F86C7F1A0F6C6E17F06C191F6F17E06C6E163F6D6DEE7FC06D6D16FF6D6D4B13806D6D
4B13006D6D6CEC0FFE6D02E0EC3FFC6D02F8ECFFF86D9126FFC00F5B023F91B65A020F17
8002034CC7FC020016F8031F15E0030392C8FCDB000F13E04D507BCE58>101
D<903801FFFCB6FCA8C67E131F7FB3B3B3B3B3ABB812C0A82A7879F735>108
D<902601FFF891380FFFE0B692B512FE05036E7E050F15E0053F15F84D81932701FFF01F
7F4CD900077FDC07FC6D80C66CDA0FF06D80011FDA1FC07F6D4A48824CC8FC047E6F7F5E
EDF9F85E03FB707F5E15FF5EA25EA293C9FCA45DB3B3A6B8D8E003B81280A8614E79CD6C
>110 D<902601FFF8EB07FEB691383FFFC094B512F00403804C14FE4C8093261FFC3F13
8093263FE07F13C0DC7F80B5FCC66C5D011FDAFE0114E06DEBF9FC16F815FB16F016E015
FF16C07114C05E72138095381FFE0093C76C5AF001E095C8FCA25DA65DB3B3A2B812F8A8
434E7ACD4F>114 D<912603FFFCEB0780027F9039FFE00FC00103B6EAF83F010FEDFEFF
013F92B5FC49EB000F2601FFF01300480180143F4890C8120F4848814848814981123F83
485A187FA212FF6D163FA37F7F6DEE1F8002C092C7FC14F014FEECFFF06CECFF8016FEEE
FFE06C16FC6C16FF18C06C836C17F86C836C836C83013F17806D17C0010717E0010117F0
EB003F020716F8EC001F030015FC1607EE007F051F13FE1707007E82B482836D167FA218
3F7F181FA27F19FC7FA26D163F6D17F86D167F19F06D16FF6E4A13E002E04A13C06E4A13
8002FE023F1300913AFFC003FFFE01E790B65A01C316F0018016C026FE003F92C7FC4801
0714F80070D9007F90C8FC3F507ACE4C>I<15FFA75CA55CA45CA25CA25CA25CA25C91B5
FCA25B5B5B131F5B90B9FC120FBAFCA6D8000791C9FCB3B3A3F01FE0AE183F7014C07F18
7F7014806D16FF826D4B13006E6D485AEEFE0F6E90B55A020F5D6E5D020115C06E6C5C03
1F49C7FC030113F03B6E7CEC4B>I E
%EndDVIPSBitmapFont
end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
%%PaperSize: A4

%%EndSetup
%%Page: 1 1
1 0 bop 150 1318 a Fl(GDB)65 b(In)-5 b(ternals)p 150
1385 3600 34 v 1912 1481 a Fk(A)31 b(guide)e(to)j(the)e(in)m(ternals)f
(of)i(the)f(GNU)h(debugger)150 4536 y Fj(John)45 b(Gilmore)150
4669 y(Cygn)l(us)g(Solutions)150 4802 y(Second)f(Edition:)150
4935 y(Stan)h(Shebs)150 5068 y(Cygn)l(us)g(Solutions)p
150 5141 3600 17 v eop
%%Page: 2 2
2 1 bop 3062 408 a Fk(Cygn)m(us)30 b(Solutions)3140 518
y(Revision:)39 b(1.127)3194 628 y(T)3245 647 y(E)3295
628 y(Xinfo)30 b(2.257)150 5078 y(Cop)m(yrigh)m(t)602
5075 y(c)577 5078 y Fi(\015)g Fk(1990-1999)k(F)-8 b(ree)32
b(Soft)m(w)m(are)f(F)-8 b(oundation,)31 b(Inc.)150 5213
y(P)m(ermission)f(is)i(gran)m(ted)h(to)f(mak)m(e)i(and)d(distribute)f
(v)m(erbatim)i(copies)g(of)g(this)f(man)m(ual)h(pro)m(vided)f(the)150
5322 y(cop)m(yrigh)m(t)g(notice)f(and)g(this)f(p)s(ermission)f(notice)i
(are)h(preserv)m(ed)f(on)h(all)e(copies.)p eop
%%Page: 1 3
1 2 bop 150 -116 a Fk(Chapter)30 b(2:)41 b(Ov)m(erall)29
b(Structure)2397 b(1)150 299 y Fh(Scop)t(e)53 b(of)g(this)h(Do)t(cumen)
l(t)275 550 y Fk(This)23 b(do)s(cumen)m(t)h(do)s(cumen)m(ts)h(the)g(in)
m(ternals)f(of)h(the)g(GNU)g(debugger,)h(GDB.)h(It)e(includes)d
(descrip-)150 659 y(tion)32 b(of)g(GDB's)i(k)m(ey)f(algorithms)e(and)g
(op)s(erations,)i(as)f(w)m(ell)f(as)i(the)f(mec)m(hanisms)g(that)g
(adapt)h(GDB)150 769 y(to)e(sp)s(eci\014c)e(hosts)i(and)e(targets.)150
1062 y Fh(1)80 b(Requiremen)l(ts)275 1313 y Fk(Before)41
b(diving)d(in)m(to)i(the)h(in)m(ternals,)h(y)m(ou)e(should)f
(understand)f(the)j(formal)e(requiremen)m(ts)h(and)150
1423 y(other)c(exp)s(ectations)g(for)g(GDB.)h(Although)e(some)h(of)g
(these)g(ma)m(y)g(seem)g(ob)m(vious,)h(there)f(ha)m(v)m(e)h(b)s(een)150
1532 y(prop)s(osals)29 b(for)h(GDB)h(that)g(ha)m(v)m(e)h(run)d(coun)m
(ter)i(to)g(these)g(requiremen)m(ts.)275 1672 y(First)38
b(of)i(all,)h(GDB)g(is)d(a)i(debugger.)68 b(It's)40 b(not)g(designed)e
(to)j(b)s(e)d(a)i(fron)m(t)g(panel)f(for)g(em)m(b)s(edded)150
1782 y(systems.)i(It's)30 b(not)h(a)g(text)g(editor.)40
b(It's)31 b(not)g(a)f(shell.)39 b(It's)31 b(not)f(a)h(programming)e(en)
m(vironmen)m(t.)275 1922 y(GDB)j(is)e(an)h(in)m(teractiv)m(e)h(to)s
(ol.)43 b(Although)30 b(a)h(batc)m(h)h(mo)s(de)f(is)f(a)m(v)-5
b(ailable,)31 b(GDB's)h(primary)d(role)i(is)150 2032
y(to)g(in)m(teract)g(with)e(a)i(h)m(uman)f(programmer.)275
2172 y(GDB)23 b(should)d(b)s(e)h(resp)s(onsiv)m(e)g(to)i(the)g(user.)37
b(A)22 b(programmer)g(hot)g(on)g(the)h(trail)e(of)h(a)g(nast)m(y)h
(bug,)h(and)150 2281 y(op)s(erating)31 b(under)e(a)j(lo)s(oming)d
(deadline,)h(is)g(going)h(to)h(b)s(e)f(v)m(ery)g(impatien)m(t)g(of)g
(ev)m(erything,)g(including)150 2391 y(the)g(resp)s(onse)e(time)h(to)h
(debugger)f(commands.)275 2531 y(GDB)c(should)e(b)s(e)h(relativ)m(ely)g
(p)s(ermissiv)m(e,)g(suc)m(h)h(as)g(for)f(expressions.)38
b(While)25 b(the)h(compiler)e(should)150 2640 y(b)s(e)39
b(pic)m(ky)g(\(or)h(ha)m(v)m(e)h(the)f(option)f(to)i(b)s(e)e(made)h
(pic)m(ky\),)i(since)d(source)h(co)s(de)g(liv)m(es)e(for)i(a)g(long)f
(time)150 2750 y(usually)-8 b(,)24 b(the)g(programmer)g(doing)f
(debugging)g(shouldn't)f(b)s(e)i(sp)s(ending)d(time)j(\014guring)e(out)
i(to)h(mollify)150 2860 y(the)31 b(debugger.)275 3000
y(GDB)j(will)d(b)s(e)j(called)e(up)s(on)h(to)h(deal)f(with)g(really)f
(large)i(programs.)51 b(Executable)33 b(sizes)h(of)g(50)g(to)150
3109 y(100)26 b(megab)m(ytes)g(o)s(ccur)f(regularly)-8
b(,)24 b(and)g(w)m(e'v)m(e)j(heard)d(rep)s(orts)g(of)g(programs)h
(approac)m(hing)f(1)h(gigab)m(yte)150 3219 y(in)k(size.)275
3359 y(GDB)i(should)e(b)s(e)h(able)h(to)g(run)f(ev)m(erywhere.)42
b(No)31 b(other)g(debugger)g(is)f(a)m(v)-5 b(ailable)30
b(for)g(ev)m(en)i(half)e(as)150 3468 y(man)m(y)g(con\014gurations)g(as)
h(GDB)g(supp)s(orts.)150 3762 y Fh(2)80 b(Ov)l(erall)56
b(Structure)275 4013 y Fk(GDB)31 b(consists)g(of)f(three)h(ma)5
b(jor)31 b(subsystems:)40 b(user)30 b(in)m(terface,)i(sym)m(b)s(ol)d
(handling)f(\(the)k(\\sym)m(b)s(ol)150 4122 y(side"\),)e(and)g(target)i
(system)f(handling)c(\(the)k(\\target)i(side"\).)275
4262 y(Ther)c(user)h(in)m(terface)h(consists)e(of)i(sev)m(eral)g
(actual)f(in)m(terfaces,)i(plus)c(supp)s(orting)g(co)s(de.)275
4402 y(The)e(sym)m(b)s(ol)g(side)g(consists)g(of)h(ob)5
b(ject)28 b(\014le)e(readers,)h(debugging)f(info)g(in)m(terpreters,)h
(sym)m(b)s(ol)f(table)150 4512 y(managemen)m(t,)32 b(source)f(language)
f(expression)g(parsing,)f(t)m(yp)s(e)h(and)g(v)-5 b(alue)30
b(prin)m(ting.)275 4652 y(The)j(target)i(side)e(consists)g(of)h
(execution)h(con)m(trol,)g(stac)m(k)g(frame)f(analysis,)g(and)f(ph)m
(ysical)f(target)150 4762 y(manipulation.)275 4902 y(The)37
b(target)i(side/sym)m(b)s(ol)e(side)g(division)e(is)i(not)h(formal,)h
(and)e(there)i(are)f(a)g(n)m(um)m(b)s(er)f(of)h(excep-)150
5011 y(tions.)46 b(F)-8 b(or)33 b(instance,)f(core)h(\014le)e(supp)s
(ort)g(in)m(v)m(olv)m(es)h(sym)m(b)s(olic)f(elemen)m(ts)h(\(the)h
(basic)f(core)h(\014le)e(reader)150 5121 y(is)g(in)g(BFD\))i(and)f
(target)h(elemen)m(ts)g(\(it)f(supplies)d(the)j(con)m(ten)m(ts)i(of)e
(memory)g(and)f(the)i(v)-5 b(alues)31 b(of)h(reg-)150
5230 y(isters\).)41 b(Instead,)30 b(this)g(division)d(is)j(useful)e
(for)j(understanding)c(ho)m(w)k(the)g(minor)e(subsystems)g(should)150
5340 y(\014t)h(together.)p eop
%%Page: 2 4
2 3 bop 150 -116 a Fk(Chapter)30 b(3:)41 b(Algorithms)2646
b(2)150 299 y Fj(2.1)68 b(The)45 b(Sym)l(b)t(ol)f(Side)275
509 y Fk(The)25 b(sym)m(b)s(olic)g(side)h(of)g(GDB)i(can)f(b)s(e)e
(though)m(t)i(of)g(as)g(\\ev)m(erything)f(y)m(ou)h(can)g(do)f(in)f(GDB)
j(without)150 618 y(ha)m(ving)k(a)i(liv)m(e)e(program)g(running".)46
b(F)-8 b(or)34 b(instance,)f(y)m(ou)g(can)g(lo)s(ok)g(at)g(the)g(t)m
(yp)s(es)g(of)g(v)-5 b(ariables,)33 b(and)150 728 y(ev)-5
b(aluate)31 b(man)m(y)g(kinds)d(of)i(expressions.)150
1028 y Fj(2.2)68 b(The)45 b(T)-11 b(arget)45 b(Side)275
1237 y Fk(The)37 b(target)i(side)e(of)i(GDB)g(is)e(the)h(\\bits)f(and)g
(b)m(ytes)i(manipulator".)62 b(Although)37 b(it)g(ma)m(y)i(mak)m(e)150
1347 y(reference)k(to)g(sym)m(b)s(olic)e(info)g(here)h(and)g(there,)k
(most)d(of)f(the)h(target)h(side)d(will)f(run)h(with)g(only)h(a)150
1457 y(stripp)s(ed)28 b(executable)j(a)m(v)-5 b(ailable)30
b({)g(or)h(ev)m(en)g(no)f(executable)h(at)g(all,)f(in)f(remote)i
(debugging)e(cases.)275 1608 y(Op)s(erations)21 b(suc)m(h)i(as)h
(disassem)m(bly)-8 b(,)24 b(stac)m(k)g(frame)g(cra)m(wls,)g(and)f
(register)g(displa)m(y)-8 b(,)24 b(are)g(able)f(to)h(w)m(ork)150
1718 y(with)35 b(no)h(sym)m(b)s(olic)e(info)i(at)g(all.)57
b(In)36 b(some)g(cases,)j(suc)m(h)d(as)h(disassem)m(bly)-8
b(,)36 b(GDB)h(will)d(use)i(sym)m(b)s(olic)150 1827 y(info)31
b(to)i(presen)m(t)f(addresses)f(relativ)m(e)i(to)f(sym)m(b)s(ols)f
(rather)h(than)g(as)g(ra)m(w)g(n)m(um)m(b)s(ers,)f(but)h(it)f(will)f(w)
m(ork)150 1937 y(either)g(w)m(a)m(y)-8 b(.)150 2237 y
Fj(2.3)68 b(Con\014gurations)275 2446 y Fg(Host)39 b
Fk(refers)e(to)h(attributes)e(of)h(the)g(system)h(where)e(GDB)i(runs.)
59 b Fg(T)-8 b(arget)40 b Fk(refers)d(to)h(the)f(system)150
2556 y(where)30 b(the)h(program)g(b)s(eing)f(debugged)g(executes.)44
b(In)30 b(most)h(cases)h(they)f(are)g(the)g(same)g(mac)m(hine,)g(in)150
2666 y(whic)m(h)e(case)j(a)e(third)f(t)m(yp)s(e)h(of)h
Fg(Nativ)m(e)36 b Fk(attributes)30 b(come)i(in)m(to)e(pla)m(y)-8
b(.)275 2817 y(De\014nes)27 b(and)g(include)e(\014les)h(needed)h(to)h
(build)c(on)k(the)f(host)h(are)f(host)h(supp)s(ort.)38
b(Examples)26 b(are)i(tt)m(y)150 2927 y(supp)s(ort,)h(system)h
(de\014ned)g(t)m(yp)s(es,)g(host)h(b)m(yte)g(order,)f(host)g(\015oat)h
(format.)275 3078 y(De\014nes)h(and)g(information)e(needed)i(to)h
(handle)e(the)h(target)i(format)f(are)g(target)g(dep)s(enden)m(t.)46
b(Ex-)150 3188 y(amples)36 b(are)h(the)g(stac)m(k)h(frame)f(format,)i
(instruction)c(set,)k(breakp)s(oin)m(t)d(instruction,)g(registers,)j
(and)150 3297 y(ho)m(w)30 b(to)i(set)e(up)g(and)g(tear)h(do)m(wn)f(the)
g(stac)m(k)i(to)f(call)f(a)g(function.)275 3449 y(Information)c(that)i
(is)f(only)f(needed)h(when)g(the)h(host)f(and)g(target)i(are)f(the)g
(same,)g(is)f(nativ)m(e)h(dep)s(en-)150 3559 y(den)m(t.)45
b(One)31 b(example)h(is)e(Unix)h(c)m(hild)f(pro)s(cess)h(supp)s(ort;)g
(if)g(the)h(host)g(and)f(target)i(are)f(not)g(the)g(same,)150
3668 y(doing)25 b(a)h(fork)g(to)g(start)h(the)f(target)h(pro)s(cess)f
(is)e(a)j(bad)e(idea.)39 b(The)25 b(v)-5 b(arious)25
b(macros)h(needed)g(for)f(\014nding)150 3778 y(the)31
b(registers)f(in)f(the)h Ff(upage)p Fk(,)f(running)f
Ff(ptrace)p Fk(,)h(and)h(suc)m(h)g(are)h(all)e(in)g(the)i(nativ)m
(e-dep)s(enden)m(t)f(\014les.)275 3929 y(Another)35 b(example)g(of)h
(nativ)m(e-dep)s(enden)m(t)g(co)s(de)f(is)g(supp)s(ort)f(for)h
(features)h(that)h(are)f(really)e(part)150 4039 y(of)e(the)g(target)i
(en)m(vironmen)m(t,)e(but)f(whic)m(h)g(require)f Ff(#include)g
Fk(\014les)h(that)h(are)h(only)e(a)m(v)-5 b(ailable)31
b(on)h(the)150 4148 y(host)e(system.)41 b(Core)31 b(\014le)e(handling)f
(and)i Ff(setjmp)e Fk(handling)g(are)j(t)m(w)m(o)h(common)e(cases.)275
4300 y(When)42 b(y)m(ou)i(w)m(an)m(t)g(to)g(mak)m(e)g(GDB)g(w)m(ork)f
(\\nativ)m(e")h(on)f(a)h(particular)d(mac)m(hine,)46
b(y)m(ou)e(ha)m(v)m(e)g(to)150 4410 y(include)28 b(all)h(three)i(kinds)
d(of)j(information.)150 4726 y Fh(3)80 b(Algorithms)275
5011 y Fk(GDB)40 b(uses)g(a)g(n)m(um)m(b)s(er)e(of)i(debugging-sp)s
(eci\014c)e(algorithms.)68 b(They)39 b(are)h(often)g(not)g(v)m(ery)g
(com-)150 5121 y(plicated,)h(but)f(get)h(lost)e(in)g(the)h(thic)m(k)m
(et)h(of)f(sp)s(ecial)e(cases)j(and)e(real-w)m(orld)g(issues.)67
b(This)38 b(c)m(hapter)150 5230 y(describ)s(es)i(the)i(basic)f
(algorithms)f(and)h(men)m(tions)h(some)g(of)g(the)f(sp)s(eci\014c)g
(target)i(de\014nitions)c(that)150 5340 y(they)31 b(use.)p
eop
%%Page: 3 5
3 4 bop 150 -116 a Fk(Chapter)30 b(3:)41 b(Algorithms)2646
b(3)150 299 y Fj(3.1)68 b(F)-11 b(rames)275 491 y Fk(A)30
b(frame)g(is)g(a)g(construct)h(that)g(GDB)h(uses)e(to)h(k)m(eep)g(trac)
m(k)g(of)g(calling)e(and)h(called)f(functions.)275 625
y Ff(FRAME_FP)h Fk(in)h(the)h(mac)m(hine)g(description)e(has)j(no)f
(meaning)f(to)i(the)g(mac)m(hine-indep)s(enden)m(t)d(part)150
734 y(of)h(GDB,)g(except)h(that)f(it)f(is)f(used)g(when)h(setting)g(up)
g(a)g(new)g(frame)h(from)e(scratc)m(h,)j(as)f(follo)m(ws:)676
862 y Ff(create_new_frame)44 b(\(read_register)g(\(FP_REGNUM\),)g
(read_pc)i(\(\)\)\);)275 996 y Fk(Other)33 b(than)h(that,)j(all)c(the)h
(meaning)g(imparted)f(to)i Ff(FP_REGNUM)d Fk(is)h(imparted)g(b)m(y)h
(the)h(mac)m(hine-)150 1106 y(dep)s(enden)m(t)h(co)s(de.)62
b(So,)39 b Ff(FP_REGNUM)c Fk(can)i(ha)m(v)m(e)i(an)m(y)e(v)-5
b(alue)37 b(that)h(is)e(con)m(v)m(enien)m(t)i(for)f(the)h(co)s(de)f
(that)150 1215 y(creates)26 b(new)e(frames.)39 b(\()p
Ff(create_new_frame)20 b Fk(calls)k Ff(INIT_EXTRA_FRAME_INFO)19
b Fk(if)k(it)h(is)g(de\014ned;)h(that)150 1325 y(is)k(where)h(y)m(ou)h
(should)d(use)i(the)h Ff(FP_REGNUM)d Fk(v)-5 b(alue,)30
b(if)f(y)m(our)i(frames)f(are)h(nonstandard.\))275 1459
y(Giv)m(en)i(a)g(GDB)i(frame,)f(de\014ne)e Ff(FRAME_CHAIN)f
Fk(to)j(determine)e(the)h(address)g(of)g(the)h(calling)e(func-)150
1569 y(tion's)f(frame.)44 b(This)30 b(will)f(b)s(e)i(used)g(to)h
(create)h(a)f(new)f(GDB)i(frame)f(struct,)g(and)f(then)g
Ff(INIT_EXTRA_)150 1678 y(FRAME_INFO)d Fk(and)h Ff(INIT_FRAME_PC)e
Fk(will)h(b)s(e)i(called)f(for)h(the)h(new)f(frame.)150
1934 y Fj(3.2)68 b(Breakp)t(oin)l(t)46 b(Handling)275
2126 y Fk(In)39 b(general,)j(a)e(breakp)s(oin)m(t)f(is)g(a)h
(user-designated)g(lo)s(cation)f(in)g(the)h(program)f(where)h(the)g
(user)150 2235 y(w)m(an)m(ts)31 b(to)g(regain)f(con)m(trol)h(if)e
(program)h(execution)h(ev)m(er)g(reac)m(hes)h(that)f(lo)s(cation.)275
2369 y(There)i(are)i(t)m(w)m(o)h(main)d(w)m(a)m(ys)i(to)g(implemen)m(t)
e(breakp)s(oin)m(ts;)i(either)f(as)g(\\hardw)m(are")h(breakp)s(oin)m
(ts)150 2479 y(or)30 b(as)h(\\soft)m(w)m(are")i(breakp)s(oin)m(ts.)275
2613 y(Hardw)m(are)25 b(breakp)s(oin)m(ts)f(are)h(sometimes)g(a)m(v)-5
b(ailable)24 b(as)i(a)f(builtin)d(debugging)i(features)h(with)f(some)
150 2722 y(c)m(hips.)39 b(T)m(ypically)26 b(these)i(w)m(ork)g(b)m(y)g
(ha)m(ving)g(dedicated)f(register)h(in)m(to)g(whic)m(h)f(the)h(breakp)s
(oin)m(t)f(address)150 2832 y(ma)m(y)h(b)s(e)g(stored.)40
b(If)27 b(the)h(PC)f(ev)m(er)i(matc)m(hes)g(a)f(v)-5
b(alue)27 b(in)g(a)h(breakp)s(oin)m(t)f(registers,)h(the)g(CPU)g
(raises)f(an)150 2941 y(exception)32 b(and)f(rep)s(orts)g(it)g(to)h
(GDB.)h(Another)f(p)s(ossibilit)m(y)c(is)j(when)f(an)i(em)m(ulator)g
(is)e(in)h(use;)h(man)m(y)150 3051 y(em)m(ulators)i(include)d
(circuitry)h(that)i(w)m(atc)m(hes)h(the)f(address)f(lines)f(coming)h
(out)h(from)f(the)h(pro)s(cessor,)150 3161 y(and)i(force)i(it)f(to)h
(stop)f(if)f(the)h(address)f(matc)m(hes)i(a)g(breakp)s(oin)m(t's)e
(address.)60 b(A)37 b(third)e(p)s(ossibilit)m(y)f(is)150
3270 y(that)k(the)f(target)i(already)e(has)g(the)g(abilit)m(y)f(to)i
(do)f(breakp)s(oin)m(ts)f(someho)m(w;)41 b(for)c(instance,)i(a)f(R)m
(OM)150 3380 y(monitor)24 b(ma)m(y)i(do)e(its)h(o)m(wn)g(soft)m(w)m
(are)h(breakp)s(oin)m(ts.)38 b(So)24 b(although)h(these)g(are)g(not)g
(literally)e(\\hardw)m(are)150 3489 y(breakp)s(oin)m(ts",)38
b(from)f(GDB's)h(p)s(oin)m(t)e(of)i(view)e(they)h(w)m(ork)g(the)h
(same;)j(GDB)d(need)f(not)g(do)g(nothing)150 3599 y(more)31
b(than)f(set)h(the)f(breakp)s(oin)m(t)f(and)h(w)m(ait)h(for)f
(something)g(to)h(happ)s(en.)275 3733 y(Since)25 b(they)h(dep)s(end)e
(on)i(hardw)m(are)g(resources,)h(hardw)m(are)f(breakp)s(oin)m(ts)f(ma)m
(y)h(b)s(e)g(limited)e(in)g(n)m(um-)150 3842 y(b)s(er;)30
b(when)f(the)i(user)e(asks)i(for)f(more,)h(GDB)g(will)d(start)j(trying)
e(to)i(set)g(soft)m(w)m(are)h(breakp)s(oin)m(ts.)275
3976 y(Soft)m(w)m(are)c(breakp)s(oin)m(ts)e(require)g(GDB)j(to)f(do)f
(somewhat)h(more)g(w)m(ork.)40 b(The)26 b(basic)h(theory)h(is)e(that)
150 4086 y(GDB)g(will)c(replace)j(a)g(program)g(instruction)d(a)j
(trap,)h(illegal)e(divide,)g(or)g(some)i(other)f(instruction)d(that)150
4195 y(will)28 b(cause)k(an)e(exception,)i(and)e(then)h(when)f(it's)g
(encoun)m(tered,)i(GDB)g(will)c(tak)m(e)k(the)f(exception)h(and)150
4305 y(stop)22 b(the)h(program.)37 b(When)22 b(the)h(user)e(sa)m(ys)i
(to)g(con)m(tin)m(ue,)h(GDB)g(will)19 b(restore)k(the)f(original)f
(instruction,)150 4415 y(single-step,)30 b(re-insert)f(the)i(trap,)f
(and)g(con)m(tin)m(ue)h(on.)275 4549 y(Since)f(it)i(literally)d(o)m(v)m
(erwrites)k(the)f(program)f(b)s(eing)g(tested,)i(the)f(program)g(area)g
(m)m(ust)g(b)s(e)f(write-)150 4658 y(able,)d(so)h(this)e(tec)m(hnique)g
(w)m(on't)i(w)m(ork)f(on)g(programs)g(in)f(R)m(OM.)h(It)h(can)f(also)g
(distort)f(the)i(b)s(eha)m(vior)e(of)150 4768 y(programs)j(that)h
(examine)f(themselv)m(es,)h(although)f(the)g(situation)f(w)m(ould)h(b)s
(e)f(highly)g(un)m(usual.)275 4902 y(Also,)35 b(the)g(soft)m(w)m(are)h
(breakp)s(oin)m(t)e(instruction)e(should)h(b)s(e)h(the)h(smallest)e
(size)i(of)g(instruction,)f(so)150 5011 y(it)g(do)s(esn't)h(o)m(v)m
(erwrite)g(an)g(instruction)e(that)i(migh)m(t)g(b)s(e)f(a)h(jump)f
(target,)j(and)e(cause)g(disaster)f(when)150 5121 y(the)h(program)g
(jumps)f(in)m(to)h(the)h(middle)d(of)i(the)g(breakp)s(oin)m(t)g
(instruction.)53 b(\(Strictly)34 b(sp)s(eaking,)i(the)150
5230 y(breakp)s(oin)m(t)31 b(m)m(ust)i(b)s(e)f(no)g(larger)g(than)h
(the)f(smallest)g(in)m(terv)-5 b(al)32 b(b)s(et)m(w)m(een)h
(instructions)d(that)j(ma)m(y)h(b)s(e)150 5340 y(jump)28
b(targets;)j(p)s(erhaps)c(there)j(is)e(an)h(arc)m(hitecture)h(where)e
(only)h(ev)m(en-n)m(um)m(b)s(ered)f(instructions)f(ma)m(y)p
eop
%%Page: 4 6
4 5 bop 150 -116 a Fk(Chapter)30 b(4:)41 b(User)30 b(In)m(terface)2535
b(4)150 299 y(jump)s(ed)22 b(to.\))40 b(Note)26 b(that)f(it's)f(p)s
(ossible)d(for)k(an)f(instruction)e(set)j(not)g(to)g(ha)m(v)m(e)g(an)m
(y)g(instructions)d(usable)150 408 y(for)33 b(a)i(soft)m(w)m(are)g
(breakp)s(oin)m(t,)e(although)h(in)e(practice)i(only)f(the)h(AR)m(C)g
(has)f(failed)f(to)j(de\014ne)e(suc)m(h)g(an)150 518
y(instruction.)275 654 y(The)c(basic)h(de\014nition)e(of)j(the)f(soft)m
(w)m(are)i(breakp)s(oin)m(t)d(is)h(the)g(macro)h Ff(BREAKPOINT)p
Fk(.)275 790 y(Basic)23 b(breakp)s(oin)m(t)g(ob)5 b(ject)24
b(handling)d(is)h(in)g(`)p Ff(breakpoint.c)p Fk('.)36
b(Ho)m(w)m(ev)m(er,)27 b(m)m(uc)m(h)c(of)h(the)g(in)m(teresting)150
900 y(breakp)s(oin)m(t)29 b(action)i(is)e(in)h(`)p Ff(infrun.c)p
Fk('.)150 1162 y Fj(3.3)68 b(Single)46 b(Stepping)150
1482 y(3.4)68 b(Signal)46 b(Handling)150 1801 y(3.5)68
b(Thread)45 b(Handling)150 2121 y(3.6)68 b(Inferior)46
b(F)-11 b(unction)44 b(Calls)150 2441 y(3.7)68 b(Long)t(jmp)45
b(Supp)t(ort)275 2635 y Fk(GDB)34 b(has)g(supp)s(ort)e(for)i
(\014guring)e(out)i(that)g(the)g(target)i(is)c(doing)h(a)h
Ff(longjmp)e Fk(and)i(for)f(stopping)150 2745 y(at)h(the)f(target)i(of)
e(the)h(jump,)e(if)h(w)m(e)g(are)h(stepping.)48 b(This)31
b(is)h(done)h(with)f(a)i(few)f(sp)s(ecialized)e(in)m(ternal)150
2854 y(breakp)s(oin)m(ts,)e(whic)m(h)h(are)g(visible)e(in)h(the)i
Ff(maint)e(info)g(breakpoint)e Fk(command.)275 2991 y(T)-8
b(o)30 b(mak)m(e)i(this)d(w)m(ork,)i(y)m(ou)f(need)g(to)h(de\014ne)f(a)
h(macro)f(called)g Ff(GET_LONGJMP_TARGET)p Fk(,)c(whic)m(h)j(will)150
3100 y(examine)41 b(the)g Ff(jmp_buf)d Fk(structure)j(and)f(extract)i
(the)f(long)s(jmp)e(target)k(address.)71 b(Since)40 b
Ff(jmp_buf)150 3210 y Fk(is)g(target)j(sp)s(eci\014c,)f(y)m(ou)g(will)c
(need)j(to)h(de\014ne)e(it)h(in)e(the)j(appropriate)e(`)p
Ff(tm-)p Fg(xyz)p Ff(.h)p Fk(')g(\014le.)72 b(Lo)s(ok)41
b(in)150 3319 y(`)p Ff(tm-sun4os4.h)p Fk(')28 b(and)h(`)p
Ff(sparc-tdep.c)p Fk(')f(for)i(examples)g(of)g(ho)m(w)h(to)g(do)f
(this.)150 3605 y Fh(4)80 b(User)53 b(In)l(terface)275
3844 y Fk(GDB)46 b(has)f(sev)m(eral)g(user)g(in)m(terfaces.)86
b(Although)44 b(the)h(command-line)f(in)m(terface)i(is)e(the)i(most)150
3954 y(common)31 b(and)e(most)i(familiar,)d(there)j(are)g(others.)150
4216 y Fj(4.1)68 b(Command)45 b(In)l(terpreter)275 4410
y Fk(The)30 b(command)h(in)m(terpreter)g(in)f(GDB)i(is)f(fairly)e
(simple.)42 b(It)31 b(is)f(designed)h(to)h(allo)m(w)e(for)h(the)h(set)g
(of)150 4520 y(commands)d(to)h(b)s(e)f(augmen)m(ted)h(dynamically)-8
b(,)28 b(and)g(also)i(has)f(a)g(recursiv)m(e)g(sub)s(command)e
(capabilit)m(y)-8 b(,)150 4629 y(where)29 b(the)h(\014rst)f(argumen)m
(t)i(to)f(a)g(command)g(ma)m(y)g(itself)f(direct)g(a)i(lo)s(okup)d(on)i
(a)g(di\013eren)m(t)f(command)150 4739 y(list.)275 4875
y(F)-8 b(or)26 b(instance,)g(the)g Ff(set)f Fk(command)g(just)h(starts)
g(a)g(lo)s(okup)e(on)h(the)h Ff(setlist)e Fk(command)h(list,)h(while)
150 4985 y Ff(set)j(thread)g Fk(recurses)h(to)h(the)g
Ff(set_thread_cmd_list)p Fk(.)275 5121 y(T)-8 b(o)36
b(add)f(commands)g(in)f(general,)j(use)f Ff(add_cmd)p
Fk(.)54 b Ff(add_com)34 b Fk(adds)h(to)h(the)g(main)f(command)g(list,)
150 5230 y(and)43 b(should)e(b)s(e)i(used)g(for)g(those)h(commands.)80
b(The)43 b(usual)f(place)h(to)h(add)f(commands)g(is)g(in)f(the)150
5340 y Ff(_initialize_)p Fg(xyz)32 b Fk(routines)e(at)h(the)f(ends)g
(of)g(most)h(source)g(\014les.)p eop
%%Page: 5 7
5 6 bop 150 -116 a Fk(Chapter)30 b(5:)41 b(Sym)m(b)s(ol)29
b(Handling)2401 b(5)150 299 y Fj(4.2)68 b(Console)46
b(Prin)l(ting)150 615 y(4.3)68 b(TUI)150 932 y(4.4)g(libgdb)275
1125 y Ff(libgdb)38 b Fk(w)m(as)j(an)f(ab)s(ortiv)m(e)h(pro)5
b(ject)40 b(of)h(y)m(ears)g(ago.)72 b(The)40 b(theory)g(w)m(as)h(to)g
(pro)m(vide)f(an)g(API)g(to)150 1235 y(GDB's)32 b(functionalit)m(y)-8
b(.)150 1518 y Fh(5)80 b(Sym)l(b)t(ol)54 b(Handling)275
1753 y Fk(Sym)m(b)s(ols)31 b(are)j(a)f(k)m(ey)h(part)g(of)f(GDB's)h(op)
s(eration.)49 b(Sym)m(b)s(ols)32 b(include)f(v)-5 b(ariables,)33
b(functions,)g(and)150 1863 y(t)m(yp)s(es.)150 2121 y
Fj(5.1)68 b(Sym)l(b)t(ol)45 b(Reading)275 2314 y Fk(GDB)29
b(reads)f(sym)m(b)s(ols)g(from)g(\\sym)m(b)s(ol)f(\014les".)40
b(The)28 b(usual)f(sym)m(b)s(ol)g(\014le)h(is)f(the)i(\014le)f(con)m
(taining)g(the)150 2424 y(program)i(whic)m(h)f(GDB)j(is)d(debugging.)40
b(GDB)31 b(can)g(b)s(e)e(directed)h(to)h(use)f(a)h(di\013eren)m(t)f
(\014le)f(for)h(sym)m(b)s(ols)150 2533 y(\(with)36 b(the)h
Ff(symbol-file)d Fk(command\),)39 b(and)e(it)f(can)i(also)f(read)g
(more)g(sym)m(b)s(ols)e(via)i(the)g(\\add-\014le")150
2643 y(and)30 b(\\load")h(commands,)f(or)g(while)f(reading)g(sym)m(b)s
(ols)g(from)h(shared)g(libraries.)275 2778 y(Sym)m(b)s(ol)k(\014les)h
(are)h(initially)c(op)s(ened)j(b)m(y)h(co)s(de)g(in)f(`)p
Ff(symfile.c)p Fk(')e(using)i(the)h(BFD)h(library)-8
b(.)55 b(BFD)150 2887 y(iden)m(ti\014es)29 b(the)h(t)m(yp)s(e)g(of)g
(the)h(\014le)e(b)m(y)h(examining)f(its)g(header.)41
b Ff(symfile_init)26 b Fk(then)k(uses)g(this)f(iden)m(ti-)150
2997 y(\014cation)h(to)h(lo)s(cate)g(a)g(set)g(of)g(sym)m(b)s
(ol-reading)d(functions.)275 3132 y(Sym)m(b)s(ol)d(reading)h(mo)s
(dules)f(iden)m(tify)h(themselv)m(es)h(to)h(GDB)g(b)m(y)f(calling)e
Ff(add_symtab_fns)e Fk(during)150 3241 y(their)31 b(mo)s(dule)f
(initialization.)41 b(The)31 b(argumen)m(t)h(to)h Ff(add_symtab_fns)27
b Fk(is)k(a)h Ff(struct)d(sym_fns)g Fk(whic)m(h)150 3351
y(con)m(tains)40 b(the)h(name)f(\(or)g(name)g(pre\014x\))g(of)g(the)g
(sym)m(b)s(ol)f(format,)k(the)e(length)e(of)h(the)h(pre\014x,)h(and)150
3461 y(p)s(oin)m(ters)33 b(to)i(four)e(functions.)50
b(These)34 b(functions)e(are)i(called)g(at)g(v)-5 b(arious)33
b(times)h(to)g(pro)s(cess)g(sym)m(b)s(ol-)150 3570 y(\014les)29
b(whose)i(iden)m(ti\014cation)d(matc)m(hes)k(the)f(sp)s(eci\014ed)d
(pre\014x.)275 3705 y(The)h(functions)g(supplied)e(b)m(y)k(eac)m(h)g
(mo)s(dule)e(are:)150 3865 y Fg(xyz)5 b Ff(_symfile_init\(struct)25
b(sym_fns)k(*sf\))630 3975 y Fk(Called)34 b(from)h Ff(symbol_file_add)d
Fk(when)j(w)m(e)h(are)g(ab)s(out)g(to)g(read)g(a)g(new)f(sym)m(b)s(ol)g
(\014le.)630 4084 y(This)30 b(function)h(should)g(clean)h(up)f(an)m(y)h
(in)m(ternal)f(state)j(\(p)s(ossibly)c(resulting)g(from)i(half-)630
4194 y(read)i(previous)e(\014les,)i(for)g(example\))g(and)f(prepare)g
(to)i(read)f(a)g(new)g(sym)m(b)s(ol)e(\014le.)51 b(Note)630
4303 y(that)25 b(the)f(sym)m(b)s(ol)f(\014le)g(whic)m(h)g(w)m(e)h(are)h
(reading)e(migh)m(t)h(b)s(e)f(a)h(new)g Ff(")p Fk(main)p
Ff(")e Fk(sym)m(b)s(ol)h(\014le,)i(or)630 4413 y(migh)m(t)f(b)s(e)h(a)g
(secondary)g(sym)m(b)s(ol)e(\014le)h(whose)h(sym)m(b)s(ols)e(are)i(b)s
(eing)e(added)h(to)i(the)f(existing)630 4523 y(sym)m(b)s(ol)k(table.)
630 4657 y(The)50 b(argumen)m(t)g(to)h Fg(xyz)5 b Ff(_symfile_init)47
b Fk(is)j(a)g(newly)f(allo)s(cated)h Ff(struct)29 b(sym_fns)630
4767 y Fk(whose)45 b Ff(bfd)f Fk(\014eld)f(con)m(tains)i(the)g(BFD)h
(for)f(the)g(new)g(sym)m(b)s(ol)e(\014le)h(b)s(eing)g(read.)84
b(Its)630 4877 y Ff(private)36 b Fk(\014eld)h(has)h(b)s(een)f(zero)s
(ed,)k(and)c(can)i(b)s(e)e(mo)s(di\014ed)f(as)i(desired.)63
b(T)m(ypically)-8 b(,)39 b(a)630 4986 y(struct)25 b(of)g(priv)-5
b(ate)25 b(information)e(will)f(b)s(e)i Ff(malloc)p Fk('d,)h(and)f(a)i
(p)s(oin)m(ter)e(to)h(it)g(will)d(b)s(e)i(placed)630
5096 y(in)29 b(the)i Ff(private)d Fk(\014eld.)630 5230
y(There)33 b(is)g(no)g(result)f(from)h Fg(xyz)5 b Ff(_symfile_init)p
Fk(,)32 b(but)g(it)i(can)f(call)g Ff(error)f Fk(if)h(it)g(detects)630
5340 y(an)d(una)m(v)m(oidable)g(problem.)p eop
%%Page: 6 8
6 7 bop 150 -116 a Fk(Chapter)30 b(5:)41 b(Sym)m(b)s(ol)29
b(Handling)2401 b(6)150 299 y Fg(xyz)5 b Ff(_new_init\(\))630
408 y Fk(Called)22 b(from)i Ff(symbol_file_add)19 b Fk(when)k
(discarding)e(existing)i(sym)m(b)s(ols.)37 b(This)22
b(function)630 518 y(need)29 b(only)g(handle)g(the)h(sym)m(b)s
(ol-reading)d(mo)s(dule's)i(in)m(ternal)f(state;)k(the)e(sym)m(b)s(ol)e
(table)630 628 y(data)33 b(structures)f(visible)d(to)k(the)g(rest)f(of)
h(GDB)g(will)d(b)s(e)h(discarded)g(b)m(y)h Ff(symbol_file_)630
737 y(add)p Fk(.)45 b(It)32 b(has)f(no)h(argumen)m(ts)h(and)e(no)h
(result.)44 b(It)32 b(ma)m(y)h(b)s(e)e(called)h(after)g
Fg(xyz)5 b Ff(_symfile_)630 847 y(init)p Fk(,)28 b(if)g(a)h(new)f(sym)m
(b)s(ol)f(table)h(is)g(b)s(eing)f(read,)i(or)g(ma)m(y)g(b)s(e)f(called)
g(alone)g(if)g(all)f(sym)m(b)s(ols)630 956 y(are)k(simply)d(b)s(eing)h
(discarded.)150 1100 y Fg(xyz)5 b Ff(_symfile_read\(struct)25
b(sym_fns)k(*sf,)g(CORE_ADDR)f(addr,)h(int)g(mainline\))630
1210 y Fk(Called)f(from)i Ff(symbol_file_add)c Fk(to)k(actually)g(read)
f(the)i(sym)m(b)s(ols)d(from)h(a)i(sym)m(b)s(ol-\014le)630
1319 y(in)m(to)f(a)h(set)g(of)g(psym)m(tabs)f(or)g(sym)m(tabs.)630
1446 y Ff(sf)g Fk(p)s(oin)m(ts)f(to)i(the)f(struct)h(sym)p
1725 1446 28 4 v 32 w(fns)f(originally)d(passed)j(to)h
Fg(xyz)5 b Ff(_sym_init)28 b Fk(for)i(p)s(ossible)630
1556 y(initialization.)36 b Ff(addr)25 b Fk(is)f(the)i(o\013set)h(b)s
(et)m(w)m(een)f(the)g(\014le's)f(sp)s(eci\014ed)f(start)j(address)d
(and)i(its)630 1665 y(true)33 b(address)g(in)f(memory)-8
b(.)51 b Ff(mainline)31 b Fk(is)h(1)i(if)f(this)f(is)h(the)g(main)g
(sym)m(b)s(ol)f(table)h(b)s(eing)630 1775 y(read,)26
b(and)d(0)i(if)e(a)h(secondary)h(sym)m(b)s(ol)e(\014le)g(\(e.g.)40
b(shared)24 b(library)d(or)j(dynamically)e(loaded)630
1884 y(\014le\))30 b(is)f(b)s(eing)g(read.)275 2028 y(In)46
b(addition,)k(if)c(a)h(sym)m(b)s(ol-reading)e(mo)s(dule)h(creates)i
(psym)m(tabs)f(when)f Fg(xyz)p 3133 2028 V 38 w Fk(sym\014le)p
3443 2028 V 32 w(read)h(is)150 2138 y(called,)27 b(these)h(psym)m(tabs)
g(will)c(con)m(tain)k(a)g(p)s(oin)m(ter)e(to)j(a)e(function)g
Fg(xyz)5 b Ff(_psymtab_to_symtab)p Fk(,)23 b(whic)m(h)150
2247 y(can)31 b(b)s(e)e(called)h(from)g(an)m(y)h(p)s(oin)m(t)e(in)g
(the)i(GDB)g(sym)m(b)s(ol-handling)c(co)s(de.)150 2391
y Fg(xyz)5 b Ff(_psymtab_to_symtab)26 b(\(struct)i(partial_symtab)f
(*pst\))630 2501 y Fk(Called)34 b(from)h Ff(psymtab_to_symtab)c
Fk(\(or)36 b(the)g(PSYMT)-8 b(AB)p 2758 2501 V 33 w(TO)p
2928 2501 V 32 w(SYMT)g(AB)36 b(macro\))h(if)630 2610
y(the)26 b(psym)m(tab)g(has)f(not)h(already)g(b)s(een)f(read)g(in)g
(and)g(had)g(its)h Ff(pst->symtab)c Fk(p)s(oin)m(ter)j(set.)630
2720 y(The)36 b(argumen)m(t)g(is)f(the)h(psym)m(tab)g(to)h(b)s(e)e
(\015eshed-out)h(in)m(to)g(a)h(sym)m(tab.)58 b(Up)s(on)35
b(return,)630 2829 y(pst-)p Ff(>)p Fk(readin)21 b(should)g(ha)m(v)m(e)j
(b)s(een)f(set)g(to)h(1,)h(and)d(pst-)p Ff(>)p Fk(sym)m(tab)h(should)e
(con)m(tain)j(a)f(p)s(oin)m(ter)630 2939 y(to)29 b(the)f(new)f(corresp)
s(onding)f(sym)m(tab,)j(or)e(zero)i(if)e(there)h(w)m(ere)g(no)g(sym)m
(b)s(ols)e(in)h(that)h(part)630 3048 y(of)j(the)f(sym)m(b)s(ol)f
(\014le.)150 3282 y Fj(5.2)68 b(P)l(artial)47 b(Sym)l(b)t(ol)e(T)-11
b(ables)275 3467 y Fk(GDB)31 b(has)f(three)h(t)m(yp)s(es)f(of)h(sym)m
(b)s(ol)e(tables.)225 3594 y Fi(\017)60 b Fk(full)29
b(sym)m(b)s(ol)h(tables)h(\(sym)m(tabs\).)45 b(These)31
b(con)m(tain)g(the)h(main)e(information)g(ab)s(out)h(sym)m(b)s(ols)f
(and)330 3703 y(addresses.)225 3830 y Fi(\017)60 b Fk(partial)28
b(sym)m(b)s(ol)f(tables)i(\(psym)m(tabs\).)41 b(These)28
b(con)m(tain)i(enough)e(information)g(to)h(kno)m(w)g(when)f(to)330
3940 y(read)i(the)h(corresp)s(onding)d(part)i(of)h(the)g(full)d(sym)m
(b)s(ol)h(table.)225 4066 y Fi(\017)60 b Fk(minimal)42
b(sym)m(b)s(ol)i(tables)g(\(msym)m(tabs\).)85 b(These)45
b(con)m(tain)g(information)e(gleaned)i(from)f(non-)330
4176 y(debugging)29 b(sym)m(b)s(ols.)275 4320 y(This)f(section)j
(describ)s(es)d(partial)h(sym)m(b)s(ol)h(tables.)275
4446 y(A)d(psym)m(tab)g(is)g(constructed)h(b)m(y)f(doing)f(a)i(v)m(ery)
g(quic)m(k)f(pass)g(o)m(v)m(er)i(an)e(executable)h(\014le's)f
(debugging)150 4556 y(information.)41 b(Small)29 b(amoun)m(ts)j(of)f
(information)e(are)j(extracted)g({)f(enough)g(to)h(iden)m(tify)d(whic)m
(h)h(parts)150 4665 y(of)36 b(the)h(sym)m(b)s(ol)e(table)h(will)d(need)
j(to)h(b)s(e)f(re-read)g(and)g(fully)e(digested)h(later,)j(when)d(the)i
(user)e(needs)150 4775 y(the)i(information.)60 b(The)37
b(sp)s(eed)g(of)g(this)f(pass)h(causes)h(GDB)g(to)g(start)g(up)e(v)m
(ery)i(quic)m(kly)-8 b(.)61 b(Later,)40 b(as)150 4885
y(the)h(detailed)g(rereading)f(o)s(ccurs,)k(it)c(o)s(ccurs)h(in)f
(small)g(pieces,)j(at)f(v)-5 b(arious)40 b(times,)k(and)d(the)g(dela)m
(y)150 4994 y(therefrom)30 b(is)g(mostly)g(in)m(visible)d(to)k(the)f
(user.)275 5121 y(The)35 b(sym)m(b)s(ols)g(that)h(sho)m(w)g(up)f(in)g
(a)h(\014le's)f(psym)m(tab)h(should)e(b)s(e,)j(roughly)-8
b(,)37 b(those)g(visible)c(to)k(the)150 5230 y(debugger's)23
b(user)g(when)f(the)i(program)f(is)f(not)i(running)d(co)s(de)i(from)g
(that)h(\014le.)38 b(These)23 b(include)e(external)150
5340 y(sym)m(b)s(ols)29 b(and)h(t)m(yp)s(es,)g(static)h(sym)m(b)s(ols)e
(and)h(t)m(yp)s(es,)h(and)f(en)m(um)f(v)-5 b(alues)30
b(declared)g(at)h(\014le)f(scop)s(e.)p eop
%%Page: 7 9
7 8 bop 150 -116 a Fk(Chapter)30 b(5:)41 b(Sym)m(b)s(ol)29
b(Handling)2401 b(7)275 299 y(The)29 b(psym)m(tab)g(also)h(con)m(tains)
g(the)g(range)g(of)f(instruction)f(addresses)h(that)h(the)g(full)e(sym)
m(b)s(ol)g(table)150 408 y(w)m(ould)h(represen)m(t.)275
546 y(The)20 b(idea)h(is)g(that)h(there)f(are)h(only)e(t)m(w)m(o)j(w)m
(a)m(ys)f(for)f(the)h(user)f(\(or)g(m)m(uc)m(h)h(of)f(the)h(co)s(de)f
(in)f(the)i(debugger\))150 656 y(to)31 b(reference)g(a)g(sym)m(b)s(ol:)
225 793 y Fi(\017)60 b Fk(b)m(y)32 b(its)g(address)f(\(e.g.)48
b(execution)33 b(stops)f(at)h(some)g(address)e(whic)m(h)g(is)g(inside)f
(a)j(function)e(in)g(this)330 903 y(\014le\).)72 b(The)41
b(address)f(will)e(b)s(e)j(noticed)g(to)h(b)s(e)e(in)g(the)h(range)g
(of)h(this)e(psym)m(tab,)j(and)e(the)g(full)330 1013
y(sym)m(tab)c(will)e(b)s(e)h(read)h(in.)59 b Ff(find_pc_function)p
Fk(,)34 b Ff(find_pc_line)p Fk(,)i(and)g(other)h Ff(find_pc_...)330
1122 y Fk(functions)29 b(handle)g(this.)225 1258 y Fi(\017)60
b Fk(b)m(y)31 b(its)g(name)g(\(e.g.)44 b(the)31 b(user)g(asks)g(to)h
(prin)m(t)e(a)h(v)-5 b(ariable,)31 b(or)g(set)g(a)h(breakp)s(oin)m(t)e
(on)h(a)h(function\).)330 1368 y(Global)d(names)h(and)f(\014le-scop)s
(e)g(names)h(will)d(b)s(e)j(found)e(in)h(the)h(psym)m(tab,)g(whic)m(h)e
(will)f(cause)k(the)330 1477 y(sym)m(tab)i(to)h(b)s(e)f(pulled)d(in.)47
b(Lo)s(cal)33 b(names)g(will)e(ha)m(v)m(e)j(to)g(b)s(e)e(quali\014ed)f
(b)m(y)i(a)g(global)g(name,)h(or)f(a)330 1587 y(\014le-scop)s(e)27
b(name,)i(in)d(whic)m(h)h(case)h(w)m(e)h(will)c(ha)m(v)m(e)j(already)g
(read)f(in)g(the)h(sym)m(tab)g(as)g(w)m(e)g(ev)-5 b(aluated)330
1697 y(the)32 b(quali\014er.)44 b(Or,)31 b(a)i(lo)s(cal)e(sym)m(b)s(ol)
g(can)h(b)s(e)f(referenced)h(when)f(w)m(e)i(are)f Ff(")p
Fk(in)p Ff(")e Fk(a)i(lo)s(cal)g(scop)s(e,)g(in)330 1806
y(whic)m(h)d(case)j(the)e(\014rst)g(case)h(applies.)39
b Ff(lookup_symbol)27 b Fk(do)s(es)j(most)h(of)f(the)h(w)m(ork)f(here.)
275 1970 y(The)38 b(only)g(reason)i(that)f(psym)m(tabs)g(exist)g(is)f
(to)i(cause)f(a)h(sym)m(tab)f(to)h(b)s(e)f(read)g(in)e(at)j(the)f(righ)
m(t)150 2080 y(momen)m(t.)g(An)m(y)24 b(sym)m(b)s(ol)f(that)i(can)f(b)s
(e)g(elided)e(from)i(a)g(psym)m(tab,)h(while)d(still)g(causing)i(that)h
(to)f(happ)s(en,)150 2190 y(should)31 b(not)j(app)s(ear)f(in)f(it.)49
b(Since)32 b(psym)m(tabs)i(don't)f(ha)m(v)m(e)i(the)e(idea)g(of)h(scop)
s(e,)g(y)m(ou)g(can't)g(put)f(lo)s(cal)150 2299 y(sym)m(b)s(ols)c(in)h
(them)g(an)m(yw)m(a)m(y)-8 b(.)43 b(Psym)m(tabs)31 b(don't)g(ha)m(v)m
(e)g(the)g(idea)f(of)h(the)g(t)m(yp)s(e)g(of)g(a)g(sym)m(b)s(ol,)e
(either,)i(so)150 2409 y(t)m(yp)s(es)f(need)h(not)f(app)s(ear,)g
(unless)f(they)h(will)e(b)s(e)i(referenced)g(b)m(y)g(name.)275
2546 y(It)c(is)f(a)i(bug)f(for)g(GDB)h(to)g(b)s(eha)m(v)m(e)g(one)g(w)m
(a)m(y)g(when)e(only)g(a)i(psym)m(tab)f(has)g(b)s(een)g(read,)h(and)f
(another)150 2656 y(w)m(a)m(y)39 b(if)e(the)i(corresp)s(onding)d(sym)m
(tab)i(has)g(b)s(een)f(read)h(in.)63 b(Suc)m(h)37 b(bugs)h(are)g(t)m
(ypically)f(caused)i(b)m(y)f(a)150 2766 y(psym)m(tab)31
b(that)i(do)s(es)e(not)h(con)m(tain)g(all)e(the)i(visible)d(sym)m(b)s
(ols,)i(or)g(whic)m(h)g(has)g(the)h(wrong)f(instruction)150
2875 y(address)e(ranges.)275 3013 y(The)23 b(psym)m(tab)h(for)f(a)i
(particular)d(section)i(of)g(a)g(sym)m(b)s(ol-\014le)e(\(ob)5
b(j\014le\))24 b(could)f(b)s(e)g(thro)m(wn)h(a)m(w)m(a)m(y)h(after)150
3123 y(the)33 b(sym)m(tab)g(has)f(b)s(een)g(read)g(in.)46
b(The)32 b(sym)m(tab)h(should)e(alw)m(a)m(ys)i(b)s(e)f(searc)m(hed)h(b)
s(efore)f(the)h(psym)m(tab,)150 3232 y(so)k(the)g(psym)m(tab)f(will)e
(nev)m(er)j(b)s(e)f(used)g(\(in)g(a)h(bug-free)f(en)m(vironmen)m(t\).)
60 b(Curren)m(tly)-8 b(,)37 b(psym)m(tabs)g(are)150 3342
y(allo)s(cated)f(on)h(an)f(obstac)m(k,)j(and)d(all)g(the)g(psym)m(b)s
(ols)f(themselv)m(es)h(are)h(allo)s(cated)f(in)f(a)i(pair)e(of)i(large)
150 3451 y(arra)m(ys)31 b(on)f(an)g(obstac)m(k,)i(so)e(there)h(is)e
(little)g(to)i(b)s(e)e(gained)h(b)m(y)g(trying)g(to)g(free)h(them)f
(unless)f(y)m(ou)h(w)m(an)m(t)150 3561 y(to)h(do)f(a)h(lot)f(more)h(w)m
(ork.)150 3826 y Fj(5.3)68 b(T)l(yp)t(es)275 4022 y Fk(F)-8
b(undamen)m(tal)30 b(T)m(yp)s(es)f(\(e.g.,)k(FT)p 1452
4022 28 4 v 32 w(V)m(OID,)f(FT)p 1904 4022 V 32 w(BOOLEAN\).)275
4160 y(These)37 b(are)i(the)f(fundamen)m(tal)g(t)m(yp)s(es)g(that)h
(GDB)g(uses)f(in)m(ternally)-8 b(.)62 b(F)-8 b(undamen)m(tal)38
b(t)m(yp)s(es)g(from)150 4269 y(the)d(v)-5 b(arious)35
b(debugging)f(formats)i(\(stabs,)h(ELF,)e(etc\))i(are)f(mapp)s(ed)d(in)
m(to)j(one)f(of)h(these.)56 b(They)35 b(are)150 4379
y(basically)28 b(a)j(union)d(of)i(all)f(fundamen)m(tal)g(t)m(yp)s(es)h
(that)g(gdb)g(kno)m(ws)g(ab)s(out)f(for)h(all)f(the)h(languages)g(that)
150 4489 y(GDB)h(kno)m(ws)g(ab)s(out.)275 4626 y(T)m(yp)s(e)e(Co)s(des)
h(\(e.g.,)i(TYPE)p 1270 4626 V 33 w(CODE)p 1571 4626
V 32 w(PTR,)e(TYPE)p 2111 4626 V 32 w(CODE)p 2411 4626
V 33 w(ARRA)-8 b(Y\).)275 4764 y(Eac)m(h)45 b(time)g(GDB)h(builds)c(an)
i(in)m(ternal)g(t)m(yp)s(e,)49 b(it)c(marks)f(it)h(with)e(one)i(of)h
(these)f(t)m(yp)s(es.)84 b(The)150 4874 y(t)m(yp)s(e)37
b(ma)m(y)g(b)s(e)f(a)i(fundamen)m(tal)d(t)m(yp)s(e,)k(suc)m(h)d(as)h
(TYPE)p 2138 4874 V 33 w(CODE)p 2439 4874 V 32 w(INT,)g(or)f(a)i(deriv)
m(ed)d(t)m(yp)s(e,)k(suc)m(h)e(as)150 4983 y(TYPE)p 413
4983 V 32 w(CODE)p 713 4983 V 33 w(PTR)29 b(whic)m(h)g(is)g(a)h(p)s
(oin)m(ter)f(to)i(another)f(t)m(yp)s(e.)41 b(T)m(ypically)-8
b(,)29 b(sev)m(eral)h(FT)p 3235 4983 V 33 w(*)g(t)m(yp)s(es)g(map)150
5093 y(to)37 b(one)f(TYPE)p 702 5093 V 32 w(CODE)p 1002
5093 V 33 w(*)g(t)m(yp)s(e,)i(and)d(are)i(distinguished)32
b(b)m(y)k(other)g(mem)m(b)s(ers)f(of)h(the)h(t)m(yp)s(e)f(struct,)150
5202 y(suc)m(h)30 b(as)h(whether)e(the)i(t)m(yp)s(e)g(is)e(signed)g(or)
i(unsigned,)d(and)i(ho)m(w)g(man)m(y)h(bits)e(it)h(uses.)275
5340 y(Builtin)d(T)m(yp)s(es)j(\(e.g.,)i(builtin)p 1350
5340 V 30 w(t)m(yp)s(e)p 1554 5340 V 33 w(v)m(oid,)e(builtin)p
2075 5340 V 29 w(t)m(yp)s(e)p 2278 5340 V 33 w(c)m(har\).)p
eop
%%Page: 8 10
8 9 bop 150 -116 a Fk(Chapter)30 b(5:)41 b(Sym)m(b)s(ol)29
b(Handling)2401 b(8)275 299 y(These)22 b(are)h(instances)f(of)g(t)m(yp)
s(e)h(structs)f(that)h(roughly)e(corresp)s(ond)h(to)h(fundamen)m(tal)e
(t)m(yp)s(es)i(and)f(are)150 408 y(created)35 b(as)f(global)g(t)m(yp)s
(es)g(for)g(GDB)h(to)g(use)e(for)h(v)-5 b(arious)33 b(ugly)g
(historical)g(reasons.)52 b(W)-8 b(e)35 b(ev)m(en)m(tually)150
518 y(w)m(an)m(t)k(to)g(eliminate)e(these.)65 b(Note)40
b(for)e(example)g(that)h(builtin)p 2408 518 28 4 v 30
w(t)m(yp)s(e)p 2612 518 V 33 w(in)m(t)f(initialized)d(in)i(gdbt)m(yp)s
(es.c)150 628 y(is)43 b(basically)f(the)j(same)f(as)g(a)h(TYPE)p
1530 628 V 32 w(CODE)p 1830 628 V 32 w(INT)f(t)m(yp)s(e)g(that)h(is)e
(initialized)e(in)h(c-lang.c)j(for)f(an)150 737 y(FT)p
280 737 V 33 w(INTEGER)32 b(fundamen)m(tal)f(t)m(yp)s(e.)46
b(The)32 b(di\013erence)f(is)h(that)h(the)f(builtin)p
2860 737 V 29 w(t)m(yp)s(e)h(is)e(not)h(asso)s(ciated)150
847 y(with)41 b(an)m(y)i(particular)d(ob)5 b(j\014le,)44
b(and)e(only)f(one)i(instance)f(exists,)j(while)40 b(c-lang.c)j(builds)
c(as)k(man)m(y)150 956 y(TYPE)p 413 956 V 32 w(CODE)p
713 956 V 33 w(INT)29 b(t)m(yp)s(es)h(as)h(needed,)f(with)e(eac)m(h)k
(one)e(asso)s(ciated)g(with)f(some)h(particular)f(ob)5
b(j\014le.)150 1208 y Fj(5.4)68 b(Ob)7 b(ject)46 b(File)f(F)-11
b(ormats)150 1484 y Fe(5.4.1)63 b(a.out)275 1675 y Fk(The)39
b(`)p Ff(a.out)p Fk(')g(format)h(is)g(the)g(original)e(\014le)h(format)
h(for)g(Unix.)69 b(It)40 b(consists)f(of)h(three)h(sections:)150
1784 y(text,)f(data,)g(and)d(bss,)h(whic)m(h)e(are)i(for)f(program)g
(co)s(de,)i(initialized)34 b(data,)40 b(and)d(uninitialized)c(data,)150
1894 y(resp)s(ectiv)m(ely)-8 b(.)275 2026 y(The)35 b(`)p
Ff(a.out)p Fk(')f(format)i(is)e(so)i(simple)e(that)i(it)f(do)s(esn't)g
(ha)m(v)m(e)i(an)m(y)f(reserv)m(ed)f(place)h(for)f(debugging)150
2136 y(information.)52 b(\(Hey)-8 b(,)37 b(the)e(original)e(Unix)h(hac)
m(k)m(ers)i(used)e(`)p Ff(adb)p Fk(',)h(whic)m(h)f(is)f(a)j(mac)m
(hine-language)f(de-)150 2246 y(bugger.\))k(The)22 b(only)h(debugging)f
(format)i(for)f(`)p Ff(a.out)p Fk(')f(is)g(stabs,)j(whic)m(h)d(is)h
(enco)s(ded)g(as)g(a)h(set)g(of)f(normal)150 2355 y(sym)m(b)s(ols)29
b(with)g(distinctiv)m(e)g(attributes.)275 2488 y(The)g(basic)h(`)p
Ff(a.out)p Fk(')g(reader)g(is)f(in)g(`)p Ff(dbxread.c)p
Fk('.)150 2706 y Fe(5.4.2)63 b(COFF)275 2896 y Fk(The)31
b(COFF)i(format)f(w)m(as)h(in)m(tro)s(duced)e(with)f(System)j(V)f
(Release)h(3)f(\(SVR3\))h(Unix.)46 b(COFF)32 b(\014les)150
3006 y(ma)m(y)f(ha)m(v)m(e)h(m)m(ultiple)c(sections,)i(eac)m(h)i
(pre\014xed)d(b)m(y)h(a)h(header.)41 b(The)29 b(n)m(um)m(b)s(er)h(of)g
(sections)g(is)g(limited.)275 3139 y(The)i(COFF)g(sp)s(eci\014cation)f
(includes)f(supp)s(ort)h(for)h(debugging.)47 b(Although)31
b(this)h(w)m(as)g(a)h(step)g(for-)150 3248 y(w)m(ard,)d(the)g
(debugging)f(information)g(w)m(as)h(w)m(o)s(efully)f(limited.)38
b(F)-8 b(or)31 b(instance,)f(it)g(w)m(as)g(not)h(p)s(ossible)c(to)150
3358 y(represen)m(t)j(co)s(de)h(that)g(came)g(from)f(an)g(included)e
(\014le.)275 3490 y(The)h(COFF)i(reader)f(is)f(in)h(`)p
Ff(coffread.c)p Fk('.)150 3708 y Fe(5.4.3)63 b(ECOFF)275
3899 y Fk(ECOFF)30 b(is)f(an)h(extended)h(COFF)f(originally)e(in)m(tro)
s(duced)h(for)h(Mips)f(and)h(Alpha)f(w)m(orkstations.)275
4032 y(The)g(basic)h(ECOFF)g(reader)h(is)e(in)g(`)p Ff(mipsread.c)p
Fk('.)150 4250 y Fe(5.4.4)63 b(X)m(COFF)275 4440 y Fk(The)33
b(IBM)i(RS/6000)h(running)c(AIX)i(uses)g(an)h(ob)5 b(ject)35
b(\014le)e(format)i(called)f(X)m(COFF.)h(The)f(COFF)150
4550 y(sections,)k(sym)m(b)s(ols,)e(and)f(line)f(n)m(um)m(b)s(ers)h
(are)h(used,)h(but)e(debugging)g(sym)m(b)s(ols)g(are)h(db)m(x-st)m(yle)
g(stabs)150 4660 y(whose)d(strings)f(are)h(lo)s(cated)h(in)d(the)j(`)p
Ff(.debug)p Fk(')d(section)j(\(rather)f(than)g(the)g(string)f(table\).)
49 b(F)-8 b(or)34 b(more)150 4769 y(information,)29 b(see)i(See)g
(section)f(\\T)-8 b(op")31 b(in)e Fg(The)h(Stabs)g(Debugging)g(F)-8
b(ormat)r Fk(.)275 4902 y(The)36 b(shared)g(library)e(sc)m(heme)k(has)f
(a)g(clean)g(in)m(terface)g(for)g(\014guring)e(out)i(what)g(shared)f
(libraries)150 5011 y(are)g(in)f(use,)j(but)d(the)h(catc)m(h)i(is)d
(that)i(ev)m(erything)f(whic)m(h)f(refers)g(to)i(addresses)f(\(sym)m(b)
s(ol)f(tables)h(and)150 5121 y(breakp)s(oin)m(ts)21 b(at)h(least\))g
(needs)g(to)g(b)s(e)f(relo)s(cated)h(for)g(b)s(oth)f(shared)g
(libraries)d(and)k(the)f(main)g(executable.)150 5230
y(A)m(t)35 b(least)f(using)f(the)h(standard)g(mec)m(hanism)f(this)g
(can)h(only)g(b)s(e)f(done)h(once)h(the)f(program)g(has)g(b)s(een)150
5340 y(run)29 b(\(or)i(the)f(core)h(\014le)f(has)g(b)s(een)g(read\).)p
eop
%%Page: 9 11
9 10 bop 150 -116 a Fk(Chapter)30 b(5:)41 b(Sym)m(b)s(ol)29
b(Handling)2401 b(9)150 299 y Fe(5.4.5)63 b(PE)275 504
y Fk(Windo)m(ws)25 b(95)i(and)f(NT)g(use)g(the)h(PE)f(\(P)m(ortable)h
(Executable\))f(format)h(for)f(their)f(executables.)40
b(PE)150 614 y(is)29 b(basically)g(COFF)h(with)g(additional)e(headers.)
275 761 y(While)h(BFD)i(includes)d(sp)s(ecial)h(PE)h(supp)s(ort,)f(GDB)
j(needs)d(only)h(the)h(basic)e(COFF)i(reader.)150 1010
y Fe(5.4.6)63 b(ELF)275 1216 y Fk(The)28 b(ELF)g(format)h(came)h(with)d
(System)i(V)g(Release)g(4)g(\(SVR4\))g(Unix.)39 b(ELF)29
b(is)f(similar)e(to)j(COFF)150 1325 y(in)g(b)s(eing)g(organized)h(in)m
(to)h(a)f(n)m(um)m(b)s(er)g(of)g(sections,)h(but)e(it)h(remo)m(v)m(es)i
(man)m(y)e(of)h(COFF's)f(limitations.)275 1473 y(The)f(basic)h(ELF)h
(reader)f(is)f(in)g(`)p Ff(elfread.c)p Fk('.)150 1722
y Fe(5.4.7)63 b(SOM)275 1927 y Fk(SOM)29 b(is)g(HP's)h(ob)5
b(ject)31 b(\014le)e(and)g(debug)g(format)i(\(not)f(to)h(b)s(e)e
(confused)g(with)g(IBM's)i(SOM,)e(whic)m(h)150 2037 y(is)g(a)i
(cross-language)g(ABI\).)275 2184 y(The)e(SOM)h(reader)h(is)e(in)g(`)p
Ff(hpread.c)p Fk('.)150 2434 y Fe(5.4.8)63 b(Other)41
b(File)g(F)-10 b(ormats)275 2639 y Fk(Other)24 b(\014le)f(formats)i
(that)g(ha)m(v)m(e)h(b)s(een)e(supp)s(orted)f(b)m(y)h(GDB)i(include)c
(Net)m(w)m(are)27 b(Loadable)d(Mo)s(dules)150 2748 y(\(`)p
Ff(nlmread.c)p Fk('.)150 3038 y Fj(5.5)68 b(Debugging)46
b(File)f(F)-11 b(ormats)275 3243 y Fk(This)30 b(section)h(describ)s(es)
g(c)m(haracteristics)h(of)g(debugging)f(information)f(that)i(are)g
(indep)s(enden)m(t)e(of)150 3352 y(the)h(ob)5 b(ject)31
b(\014le)e(format.)150 3602 y Fe(5.5.1)63 b(stabs)275
3807 y Ff(stabs)31 b Fk(started)i(out)f(as)h(sp)s(ecial)e(sym)m(b)s
(ols)g(within)f(the)j Ff(a.out)e Fk(format.)48 b(Since)31
b(then,)i(it)f(has)h(b)s(een)150 3917 y(encapsulated)d(in)m(to)g(other)
h(\014le)e(formats,)i(suc)m(h)f(as)h(COFF)f(and)g(ELF.)275
4064 y(While)35 b(`)p Ff(dbxread.c)p Fk(')g(do)s(es)i(some)g(of)h(the)f
(basic)f(stab)h(pro)s(cessing,)h(including)c(for)i(encapsulated)150
4174 y(v)m(ersions,)30 b(`)p Ff(stabsread.c)p Fk(')e(do)s(es)i(the)g
(real)g(w)m(ork.)150 4423 y Fe(5.5.2)63 b(COFF)275 4628
y Fk(The)42 b(basic)h(COFF)g(de\014nition)d(includes)h(debugging)h
(information.)77 b(The)43 b(lev)m(el)f(of)i(supp)s(ort)d(is)150
4738 y(minimal)28 b(and)h(non-extensible,)h(and)f(is)h(not)g(often)h
(used.)150 4988 y Fe(5.5.3)63 b(Mips)42 b(debug)f(\(Third)h(Ey)m(e\))
275 5193 y Fk(ECOFF)30 b(includes)e(a)j(de\014nition)d(of)i(a)h(sp)s
(ecial)e(debug)g(format.)275 5340 y(The)g(\014le)h(`)p
Ff(mdebugread.c)p Fk(')d(implemen)m(ts)i(reading)h(for)g(this)f
(format.)p eop
%%Page: 10 12
10 11 bop 150 -116 a Fk(Chapter)30 b(6:)41 b(Language)31
b(Supp)s(ort)2311 b(10)150 299 y Fe(5.5.4)63 b(D)m(W)-14
b(ARF)40 b(1)275 491 y Fk(D)m(W)-10 b(ARF)35 b(1)f(is)f(a)h(debugging)f
(format)h(that)g(w)m(as)h(originally)c(designed)h(to)j(b)s(e)e(used)g
(with)f(ELF)i(in)150 601 y(SVR4)c(systems.)275 735 y(The)f(D)m(W)-10
b(ARF)32 b(1)f(reader)f(is)g(in)f(`)p Ff(dwarfread.c)p
Fk('.)150 958 y Fe(5.5.5)63 b(D)m(W)-14 b(ARF)40 b(2)275
1150 y Fk(D)m(W)-10 b(ARF)32 b(2)e(is)g(an)g(impro)m(v)m(ed)g(but)f
(incompatible)g(v)m(ersion)h(of)g(D)m(W)-10 b(ARF)32
b(1.)275 1284 y(The)d(D)m(W)-10 b(ARF)32 b(2)f(reader)f(is)g(in)f(`)p
Ff(dwarf2read.c)p Fk('.)150 1507 y Fe(5.5.6)63 b(SOM)275
1700 y Fk(Lik)m(e)30 b(COFF,)g(the)h(SOM)f(de\014nition)e(includes)g
(debugging)h(information.)150 1956 y Fj(5.6)68 b(Adding)44
b(a)h(New)h(Sym)l(b)t(ol)f(Reader)h(to)f(GDB)275 2148
y Fk(If)24 b(y)m(ou)i(are)f(using)f(an)h(existing)f(ob)5
b(ject)26 b(\014le)e(format)i(\(a.out,)i(COFF,)d(ELF,)g(etc\),)j(there)
e(is)e(probably)150 2258 y(little)29 b(to)i(b)s(e)f(done.)275
2392 y(If)25 b(y)m(ou)h(need)f(to)h(add)g(a)g(new)f(ob)5
b(ject)26 b(\014le)f(format,)i(y)m(ou)f(m)m(ust)g(\014rst)f(add)g(it)g
(to)h(BFD.)h(This)d(is)h(b)s(ey)m(ond)150 2501 y(the)31
b(scop)s(e)f(of)h(this)e(do)s(cumen)m(t.)275 2636 y(Y)-8
b(ou)34 b(m)m(ust)g(then)g(arrange)g(for)g(the)g(BFD)h(co)s(de)g(to)g
(pro)m(vide)e(access)i(to)g(the)f(debugging)f(sym)m(b)s(ols.)150
2745 y(Generally)24 b(GDB)j(will)c(ha)m(v)m(e)j(to)g(call)f(sw)m
(apping)f(routines)g(from)h(BFD)h(and)f(a)h(few)f(other)h(BFD)g(in)m
(ternal)150 2855 y(routines)d(to)j(lo)s(cate)f(the)g(debugging)e
(information.)37 b(As)25 b(m)m(uc)m(h)f(as)h(p)s(ossible,)f(GDB)h
(should)e(not)i(dep)s(end)150 2964 y(on)30 b(the)h(BFD)g(in)m(ternal)e
(data)i(structures.)275 3098 y(F)-8 b(or)34 b(some)g(targets)i(\(e.g.,)
g(COFF\),)f(there)f(is)f(a)h(sp)s(ecial)f(transfer)g(v)m(ector)i(used)f
(to)g(call)f(sw)m(apping)150 3208 y(routines,)39 b(since)f(the)g
(external)g(data)g(structures)g(on)g(v)-5 b(arious)37
b(platforms)g(ha)m(v)m(e)i(di\013eren)m(t)f(sizes)g(and)150
3318 y(la)m(y)m(outs.)48 b(Sp)s(ecialized)31 b(routines)h(that)h(will)d
(only)i(ev)m(er)h(b)s(e)f(implemen)m(ted)g(b)m(y)g(one)h(ob)5
b(ject)34 b(\014le)e(format)150 3427 y(ma)m(y)h(b)s(e)f(called)g
(directly)-8 b(.)47 b(This)31 b(in)m(terface)i(should)e(b)s(e)h
(describ)s(ed)e(in)i(a)h(\014le)f(`)p Ff(bfd/libxyz.h)p
Fk(',)e(whic)m(h)150 3537 y(is)f(included)f(b)m(y)i(GDB.)150
3818 y Fh(6)80 b(Language)53 b(Supp)t(ort)275 4051 y
Fk(GDB's)33 b(language)f(supp)s(ort)f(is)g(mainly)f(driv)m(en)h(b)m(y)h
(the)g(sym)m(b)s(ol)f(reader,)i(although)f(it)f(is)g(p)s(ossible)150
4160 y(for)f(the)h(user)e(to)i(set)g(the)g(source)g(language)f(man)m
(ually)-8 b(.)275 4294 y(GDB)30 b(c)m(ho)s(oses)g(the)f(source)g
(language)g(b)m(y)g(lo)s(oking)f(at)i(the)f(extension)g(of)g(the)g
(\014le)f(recorded)h(in)f(the)150 4404 y(debug)f(info;)h
Ff(.c)f Fk(means)h(C,)g Ff(.f)f Fk(means)g(F)-8 b(ortran,)30
b(etc.)41 b(It)28 b(ma)m(y)g(also)g(use)f(a)h(sp)s(ecial-purp)s(ose)e
(language)150 4514 y(iden)m(ti\014er)j(if)g(the)h(debug)g(format)h
(supp)s(orts)d(it,)i(suc)m(h)h(as)f(D)m(W)-10 b(ARF.)150
4770 y Fj(6.1)68 b(Adding)44 b(a)h(Source)g(Language)h(to)f(GDB)275
4962 y Fk(T)-8 b(o)30 b(add)g(other)h(languages)f(to)i(GDB's)f
(expression)e(parser,)h(follo)m(w)g(the)g(follo)m(wing)f(steps:)150
5121 y Fd(Cr)-5 b(e)g(ate)34 b(the)f(expr)-5 b(ession)34
b(p)-5 b(arser.)630 5230 y Fk(This)31 b(should)f(reside)h(in)g(a)i
(\014le)e(`)p Fg(lang)p Ff(-exp.y)p Fk('.)45 b(Routines)32
b(for)g(building)c(parsed)k(expres-)630 5340 y(sions)d(in)m(to)i(a)f(`)
p Ff(union)g(exp_element)p Fk(')d(list)i(are)i(in)e(`)p
Ff(parse.c)p Fk('.)p eop
%%Page: 11 13
11 12 bop 150 -116 a Fk(Chapter)30 b(6:)41 b(Language)31
b(Supp)s(ort)2311 b(11)630 299 y(Since)21 b(w)m(e)h(can't)g(dep)s(end)e
(up)s(on)g(ev)m(ery)m(one)k(ha)m(ving)d(Bison,)i(and)e(Y)-8
b(A)m(CC)22 b(pro)s(duces)f(parsers)630 408 y(that)26
b(de\014ne)g(a)g(bunc)m(h)e(of)i(global)g(names,)h(the)f(follo)m(wing)e
(lines)g Fd(must)35 b Fk(b)s(e)25 b(included)e(at)k(the)630
518 y(top)i(of)h(the)f(Y)-8 b(A)m(CC)30 b(parser,)f(to)h(prev)m(en)m(t)
f(the)h(v)-5 b(arious)28 b(parsers)g(from)h(de\014ning)e(the)j(same)630
628 y(global)g(names:)870 754 y Ff(#define)46 b(yyparse)93
b Fg(lang)8 b Ff(_parse)870 858 y(#define)46 b(yylex)94
b Fg(lang)8 b Ff(_lex)870 961 y(#define)46 b(yyerror)93
b Fg(lang)8 b Ff(_error)870 1065 y(#define)46 b(yylval)94
b Fg(lang)8 b Ff(_lval)870 1169 y(#define)46 b(yychar)94
b Fg(lang)8 b Ff(_char)870 1273 y(#define)46 b(yydebug)93
b Fg(lang)8 b Ff(_debug)870 1377 y(#define)46 b(yypact)141
b Fg(lang)8 b Ff(_pact)870 1480 y(#define)46 b(yyr1)g
Fg(lang)8 b Ff(_r1)870 1584 y(#define)46 b(yyr2)g Fg(lang)8
b Ff(_r2)870 1688 y(#define)46 b(yydef)g Fg(lang)8 b
Ff(_def)870 1792 y(#define)46 b(yychk)g Fg(lang)8 b Ff(_chk)870
1895 y(#define)46 b(yypgo)g Fg(lang)8 b Ff(_pgo)870 1999
y(#define)46 b(yyact)142 b Fg(lang)8 b Ff(_act)870 2103
y(#define)46 b(yyexca)141 b Fg(lang)8 b Ff(_exca)870
2207 y(#define)46 b(yyerrflag)141 b Fg(lang)8 b Ff(_errflag)870
2311 y(#define)46 b(yynerrs)141 b Fg(lang)8 b Ff(_nerrs)630
2443 y Fk(A)m(t)39 b(the)g(b)s(ottom)f(of)h(y)m(our)f(parser,)i
(de\014ne)d(a)i Ff(struct)28 b(language_defn)35 b Fk(and)j(initialize)
630 2552 y(it)h(with)f(the)h(righ)m(t)g(v)-5 b(alues)38
b(for)h(y)m(our)g(language.)68 b(De\014ne)39 b(an)h Ff(initialize_)p
Fg(lang)j Fk(rou-)630 2662 y(tine)33 b(and)f(ha)m(v)m(e)i(it)f(call)g
(`)p Ff(add_language\()p Fg(lang)8 b Ff(_language)o(_de)o(fn\))p
Fk(')27 b(to)34 b(tell)e(the)h(rest)h(of)630 2771 y(GDB)j(that)g(y)m
(our)f(language)h(exists.)58 b(Y)-8 b(ou'll)35 b(need)h(some)h(other)g
(supp)s(orting)c(v)-5 b(ariables)630 2881 y(and)27 b(functions,)g(whic)
m(h)g(will)e(b)s(e)i(used)g(via)g(p)s(oin)m(ters)g(from)g(y)m(our)h
Fg(lang)8 b Ff(_language_defn)p Fk(.)630 2991 y(See)34
b(the)g(declaration)f(of)h Ff(struct)29 b(language_defn)h
Fk(in)i(`)p Ff(language.h)p Fk(',)h(and)g(the)h(other)630
3100 y(`)p Ff(*-exp.y)p Fk(')29 b(\014les,)g(for)i(more)f(information.)
150 3255 y Fd(A)-5 b(dd)33 b(any)h(evaluation)f(r)-5
b(outines,)34 b(if)e(ne)-5 b(c)g(essary)630 3364 y Fk(If)34
b(y)m(ou)g(need)g(new)f(op)s(co)s(des)h(\(that)h(represen)m(t)f(the)g
(op)s(erations)f(of)h(the)h(language\),)h(add)630 3474
y(them)d(to)i(the)e(en)m(umerated)h(t)m(yp)s(e)g(in)e(`)p
Ff(expression.h)p Fk('.)47 b(Add)33 b(supp)s(ort)f(co)s(de)h(for)g
(these)630 3584 y(op)s(erations)e(in)f Ff(eval.c:evaluate_subexp\(\))p
Fk(.)39 b(Add)30 b(cases)j(for)f(new)f(op)s(co)s(des)g(in)g(t)m(w)m(o)
630 3693 y(functions)48 b(from)g(`)p Ff(parse.c)p Fk(':)77
b Ff(prefixify_subexp\(\))44 b Fk(and)49 b Ff(length_of_subexp\(\))p
Fk(.)630 3803 y(These)30 b(compute)h(the)f(n)m(um)m(b)s(er)f(of)i
Ff(exp_element)p Fk(s)c(that)k(a)g(giv)m(en)f(op)s(eration)g(tak)m(es)i
(up.)150 3957 y Fd(Up)-5 b(date)34 b(some)f(existing)g(c)-5
b(o)g(de)630 4067 y Fk(Add)33 b(an)h(en)m(umerated)g(iden)m(ti\014er)e
(for)i(y)m(our)g(language)g(to)h(the)f(en)m(umerated)g(t)m(yp)s(e)g
Ff(enum)630 4177 y(language)28 b Fk(in)h(`)p Ff(defs.h)p
Fk('.)630 4309 y(Up)s(date)i(the)h(routines)e(in)g(`)p
Ff(language.c)p Fk(')f(so)j(y)m(our)f(language)h(is)f(included.)41
b(These)31 b(rou-)630 4418 y(tines)43 b(include)f(t)m(yp)s(e)j
(predicates)e(and)h(suc)m(h,)j(whic)m(h)c(\(in)g(some)i(cases\))g(are)g
(language)630 4528 y(dep)s(enden)m(t.)39 b(If)30 b(y)m(our)f(language)h
(do)s(es)f(not)h(app)s(ear)f(in)f(the)i(switc)m(h)f(statemen)m(t,)j(an)
d(error)630 4637 y(is)g(rep)s(orted.)630 4770 y(Also)i(included)e(in)h
(`)p Ff(language.c)p Fk(')f(is)i(the)g(co)s(de)h(that)g(up)s(dates)e
(the)i(v)-5 b(ariable)30 b Ff(current_)630 4879 y(language)p
Fk(,)23 b(and)g(the)i(routines)d(that)j(translate)f(the)g
Ff(language_)p Fg(lang)29 b Fk(en)m(umerated)24 b(iden-)630
4989 y(ti\014er)29 b(in)m(to)i(a)g(prin)m(table)d(string.)630
5121 y(Up)s(date)38 b(the)g(function)f Ff(_initialize_language)32
b Fk(to)39 b(include)d(y)m(our)i(language.)64 b(This)630
5230 y(function)31 b(pic)m(ks)g(the)i(default)e(language)h(up)s(on)f
(startup,)h(so)g(is)g(dep)s(enden)m(t)f(up)s(on)f(whic)m(h)630
5340 y(languages)h(that)g(GDB)g(is)f(built)e(for.)p eop
%%Page: 12 14
12 13 bop 150 -116 a Fk(Chapter)30 b(7:)41 b(Host)31
b(De\014nition)2435 b(12)630 299 y(Up)s(date)31 b Ff(allocate_symtab)d
Fk(in)i(`)p Ff(symfile.c)p Fk(')f(and/or)i(sym)m(b)s(ol-reading)f(co)s
(de)i(so)f(that)630 408 y(the)f(language)f(of)h(eac)m(h)g(sym)m(tab)g
(\(source)g(\014le\))f(is)f(set)i(prop)s(erly)-8 b(.)39
b(This)27 b(is)i(used)f(to)i(deter-)630 518 y(mine)g(the)i(language)g
(to)h(use)e(at)h(eac)m(h)h(stac)m(k)g(frame)f(lev)m(el.)44
b(Curren)m(tly)-8 b(,)31 b(the)h(language)g(is)630 628
y(set)j(based)e(up)s(on)g(the)h(extension)g(of)g(the)g(source)h
(\014le.)51 b(If)33 b(the)i(language)f(can)g(b)s(e)g(b)s(etter)630
737 y(inferred)27 b(from)h(the)i(sym)m(b)s(ol)d(information,)h(please)h
(set)g(the)g(language)h(of)f(the)g(sym)m(tab)g(in)630
847 y(the)i(sym)m(b)s(ol-reading)d(co)s(de.)630 983 y(Add)22
b(help)s(er)f(co)s(de)h(to)i Ff(expprint.c:print_subexp)o(\(\))16
b Fk(to)24 b(handle)d(an)m(y)i(new)f(expression)630 1093
y(op)s(co)s(des)31 b(y)m(ou)g(ha)m(v)m(e)i(added)d(to)i(`)p
Ff(expression.h)p Fk('.)40 b(Also,)32 b(add)e(the)h(prin)m(ted)f
(represen)m(ta-)630 1202 y(tions)g(of)g(y)m(our)h(op)s(erators)f(to)h
Ff(op_print_tab)p Fk(.)150 1365 y Fd(A)-5 b(dd)33 b(a)g(plac)-5
b(e)34 b(of)f(c)-5 b(al)5 b(l)630 1474 y Fk(Add)29 b(a)i(call)f(to)h
Fg(lang)8 b Ff(_parse\(\))28 b Fk(and)h Fg(lang)8 b Ff(_error)28
b Fk(in)i Ff(parse.c:parse_exp_1\(\))p Fk(.)150 1637
y Fd(Use)i(macr)-5 b(os)35 b(to)e(trim)g(c)-5 b(o)g(de)630
1747 y Fk(The)34 b(user)g(has)g(the)h(option)f(of)h(building)30
b(GDB)36 b(for)e(some)h(or)g(all)e(of)i(the)g(languages.)53
b(If)630 1856 y(the)29 b(user)f(decides)g(to)h(build)d(GDB)k(for)e(the)
h(language)g Fg(lang)p Fk(,)g(then)g(ev)m(ery)g(\014le)f(dep)s(enden)m
(t)630 1966 y(on)h(`)p Ff(language.h)p Fk(')d(will)g(ha)m(v)m(e)k(the)e
(macro)i Ff(_LANG_)p Fg(lang)k Fk(de\014ned)27 b(in)h(it.)39
b(Use)29 b Ff(#ifdef)p Fk(s)e(to)630 2075 y(lea)m(v)m(e)33
b(out)e(large)g(routines)f(that)i(the)f(user)g(w)m(on't)h(need)f(if)f
(he)h(or)g(she)g(is)f(not)h(using)f(y)m(our)630 2185
y(language.)630 2321 y(Note)f(that)f(y)m(ou)g(do)f(not)h(need)f(to)i
(do)e(this)g(in)f(y)m(our)h(Y)-8 b(A)m(CC)28 b(parser,)g(since)f(if)f
(GDB)j(is)e(not)630 2431 y(build)d(for)j Fg(lang)p Fk(,)g(then)g(`)p
Fg(lang)p Ff(-exp.tab.o)p Fk(')e(\(the)i(compiled)f(form)g(of)i(y)m
(our)f(parser\))g(is)f(not)630 2540 y(link)m(ed)j(in)m(to)h(GDB)i(at)f
(all.)630 2676 y(See)g(the)f(\014le)f(`)p Ff(configure.in)p
Fk(')f(for)i(ho)m(w)g(GDB)i(is)d(con\014gured)h(for)g(di\013eren)m(t)f
(languages.)150 2839 y Fd(Edit)k(`)p Ff(Makefile.in)p
Fd(')630 2948 y Fk(Add)22 b(dep)s(endencies)g(in)g(`)p
Ff(Makefile.in)p Fk('.)35 b(Mak)m(e)25 b(sure)e(y)m(ou)h(up)s(date)e
(the)h(macro)h(v)-5 b(ariables)630 3058 y(suc)m(h)28
b(as)h Ff(HFILES)e Fk(and)h Ff(OBJS)p Fk(,)g(otherwise)g(y)m(our)g(co)s
(de)h(ma)m(y)g(not)g(get)h(link)m(ed)d(in,)g(or,)j(w)m(orse)630
3168 y(y)m(et,)i(it)e(ma)m(y)h(not)f(get)i Ff(tar)p Fk(red)d(in)m(to)h
(the)h(distribution!)150 3456 y Fh(7)80 b(Host)54 b(De\014nition)275
3700 y Fk(With)41 b(the)h(adv)m(en)m(t)g(of)g(auto)s(conf,)k(it's)41
b(rarely)g(necessary)h(to)g(ha)m(v)m(e)h(host)f(de\014nition)e(mac)m
(hinery)150 3810 y(an)m(ymore.)150 4075 y Fj(7.1)68 b(Adding)44
b(a)h(New)h(Host)275 4271 y Fk(Most)35 b(of)g(GDB's)h(host)f
(con\014guration)f(supp)s(ort)g(happ)s(ens)f(via)h(auto)s(conf.)54
b(It)35 b(should)e(b)s(e)h(rare)h(to)150 4381 y(need)23
b(new)h(host-sp)s(eci\014c)f(de\014nitions.)36 b(GDB)25
b(still)c(uses)i(the)h(host-sp)s(eci\014c)f(de\014nitions)f(and)h
(\014les)f(listed)150 4490 y(b)s(elo)m(w,)30 b(but)f(these)i(mostly)f
(exist)g(for)h(historical)d(reasons,)j(and)f(should)e(ev)m(en)m(tually)
i(disapp)s(ear.)275 4628 y(Sev)m(eral)g(\014les)f(con)m(trol)i(GDB's)h
(con\014guration)d(for)i(host)f(systems:)150 4792 y(`)p
Ff(gdb/config/)p Fg(arc)m(h)p Ff(/)p Fg(xyz)p Ff(.mh)p
Fk(')630 4902 y(Sp)s(eci\014es)41 b(Mak)m(e\014le)j(fragmen)m(ts)g
(needed)f(when)f(hosting)g(on)i(mac)m(hine)e Fg(xyz)p
Fk(.)80 b(In)42 b(par-)630 5011 y(ticular,)57 b(this)52
b(lists)f(the)h(required)f(mac)m(hine-dep)s(enden)m(t)h(ob)5
b(ject)53 b(\014les,)k(b)m(y)c(de\014ning)630 5121 y(`)p
Ff(XDEPFILES=...)m Fk('.)64 b(Also)38 b(sp)s(eci\014es)f(the)i(header)f
(\014le)f(whic)m(h)g(describ)s(es)g(host)h Fg(xyz)p Fk(,)j(b)m(y)630
5230 y(de\014ning)20 b Ff(XM_FILE=)28 b(xm-)p Fg(xyz)p
Ff(.h)p Fk(.)36 b(Y)-8 b(ou)23 b(can)e(also)h(de\014ne)f
Ff(CC)p Fk(,)i Ff(SYSV_DEFINE)p Fk(,)d Ff(XM_CFLAGS)p
Fk(,)630 5340 y Ff(XM_ADD_FILES)p Fk(,)27 b Ff(XM_CLIBS)p
Fk(,)i Ff(XM_CDEPS)p Fk(,)f(etc.;)k(see)f(`)p Ff(Makefile.in)p
Fk('.)p eop
%%Page: 13 15
13 14 bop 150 -116 a Fk(Chapter)30 b(7:)41 b(Host)31
b(De\014nition)2435 b(13)150 299 y(`)p Ff(gdb/config/)p
Fg(arc)m(h)p Ff(/xm-)p Fg(xyz)p Ff(.h)p Fk(')630 408
y(\(`)p Ff(xm.h)p Fk(')25 b(is)g(a)h(link)d(to)k(this)d(\014le,)i
(created)g(b)m(y)g(con\014gure\).)39 b(Con)m(tains)25
b(C)g(macro)h(de\014nitions)630 518 y(describing)34 b(the)j(host)g
(system)g(en)m(vironmen)m(t,)h(suc)m(h)e(as)h(b)m(yte)g(order,)h(host)f
(C)f(compiler)630 628 y(and)30 b(library)-8 b(.)150 780
y(`)p Ff(gdb/)p Fg(xyz)p Ff(-xdep.c)p Fk(')630 890 y(Con)m(tains)39
b(an)m(y)g(miscellaneous)f(C)h(co)s(de)g(required)e(for)i(this)f(mac)m
(hine)h(as)h(a)f(host.)68 b(On)630 999 y(most)27 b(mac)m(hines)g(it)f
(do)s(esn't)h(exist)g(at)g(all.)39 b(If)26 b(it)h(do)s(es)f(exist,)i
(put)e(`)p Fg(xyz)p Ff(-xdep.o)p Fk(')g(in)m(to)h(the)630
1109 y Ff(XDEPFILES)h Fk(line)h(in)g(`)p Ff(gdb/config/)p
Fg(arc)m(h)p Ff(/)p Fg(xyz)p Ff(.mh)p Fk('.)150 1323
y Fe(Generic)40 b(Host)i(Supp)s(ort)g(Files)275 1512
y Fk(There)h(are)h(some)g(\\generic")g(v)m(ersions)f(of)h(routines)e
(that)i(can)g(b)s(e)f(used)g(b)m(y)g(v)-5 b(arious)43
b(systems.)150 1622 y(These)26 b(can)h(b)s(e)f(customized)h(in)e(v)-5
b(arious)26 b(w)m(a)m(ys)h(b)m(y)f(macros)i(de\014ned)d(in)g(y)m(our)i
(`)p Ff(xm-)p Fg(xyz)p Ff(.h)p Fk(')f(\014le.)38 b(If)26
b(these)150 1731 y(routines)k(w)m(ork)i(for)f(the)g Fg(xyz)37
b Fk(host,)32 b(y)m(ou)g(can)g(just)e(include)g(the)h(generic)g
(\014le's)g(name)g(\(with)g(`)p Ff(.o)p Fk(',)h(not)150
1841 y(`)p Ff(.c)p Fk('\))f(in)e Ff(XDEPFILES)p Fk(.)275
1972 y(Otherwise,)21 b(if)f(y)m(our)h(mac)m(hine)g(needs)g(custom)g
(supp)s(ort)e(routines,)j(y)m(ou)g(will)c(need)j(to)h(write)e(routines)
150 2082 y(that)36 b(p)s(erform)e(the)i(same)g(functions)f(as)g(the)h
(generic)g(\014le.)55 b(Put)36 b(them)f(in)m(to)h Fg(xyz)5
b Ff(-xdep.c)p Fk(,)36 b(and)f(put)150 2191 y Fg(xyz)5
b Ff(-xdep.o)29 b Fk(in)m(to)h Ff(XDEPFILES)p Fk(.)150
2344 y(`)p Ff(ser-unix.c)p Fk(')630 2454 y(This)d(con)m(tains)h(serial)
f(line)g(supp)s(ort)g(for)h(Unix)f(systems.)40 b(This)27
b(is)g(alw)m(a)m(ys)i(included,)d(via)630 2563 y(the)36
b(mak)m(e\014le)g(v)-5 b(ariable)34 b Ff(SER_HARDWIRE)p
Fk(;)i(o)m(v)m(erride)g(this)e(v)-5 b(ariable)35 b(in)f(the)i(`)p
Ff(.mh)p Fk(')f(\014le)g(to)630 2673 y(a)m(v)m(oid)c(it.)150
2825 y(`)p Ff(ser-go32.c)p Fk(')630 2935 y(This)25 b(con)m(tains)h
(serial)g(line)e(supp)s(ort)h(for)h(32-bit)h(programs)f(running)e
(under)h(DOS,)h(using)630 3045 y(the)31 b(GO32)g(execution)f(en)m
(vironmen)m(t.)150 3197 y(`)p Ff(ser-tcp.c)p Fk(')630
3307 y(This)f(con)m(tains)h(generic)g(TCP)g(supp)s(ort)f(using)f(so)s
(c)m(k)m(ets.)150 3554 y Fj(7.2)68 b(Host)46 b(Conditionals)275
3743 y Fk(When)28 b(GDB)i(is)e(con\014gured)h(and)f(compiled,)g(v)-5
b(arious)28 b(macros)h(are)h(de\014ned)d(or)i(left)g(unde\014ned,)e(to)
150 3853 y(con)m(trol)38 b(compilation)f(based)g(on)h(the)g(attributes)
g(of)g(the)g(host)g(system.)64 b(These)37 b(macros)i(and)e(their)150
3962 y(meanings)25 b(\(or)i(if)e(the)h(meaning)f(is)h(not)g(do)s(cumen)
m(ted)g(here,)h(then)f(one)g(of)g(the)h(source)f(\014les)f(where)h
(they)150 4072 y(are)31 b(used)e(is)h(indicated\))f(are:)150
4225 y Ff(GDBINIT_FILENAME)630 4334 y Fk(The)h(default)f(name)i(of)f
(GDB's)i(initialization)27 b(\014le)j(\(normally)f(`)p
Ff(.gdbinit)p Fk('\).)150 4487 y Ff(MEM_FNS_DECLARED)630
4596 y Fk(Y)-8 b(our)21 b(host)g(con\014g)g(\014le)f(de\014nes)g(this)g
(if)g(it)h(includes)d(declarations)j(of)g Ff(memcpy)e
Fk(and)h Ff(memset)p Fk(.)630 4706 y(De\014ne)33 b(this)f(to)i(a)m(v)m
(oid)g(con\015icts)f(b)s(et)m(w)m(een)h(the)f(nativ)m(e)h(include)d
(\014les)h(and)g(the)i(declara-)630 4816 y(tions)c(in)f(`)p
Ff(defs.h)p Fk('.)150 4968 y Ff(NO_STD_REGS)630 5078
y Fk(This)g(macro)i(is)e(deprecated.)150 5230 y Ff(NO_SYS_FILE)630
5340 y Fk(De\014ne)i(this)e(if)g(y)m(our)h(system)h(do)s(es)f(not)h(ha)
m(v)m(e)g(a)g Ff(<sys/file.h>)p Fk(.)p eop
%%Page: 14 16
14 15 bop 150 -116 a Fk(Chapter)30 b(7:)41 b(Host)31
b(De\014nition)2435 b(14)150 299 y Ff(SIGWINCH_HANDLER)630
408 y Fk(If)28 b(y)m(our)g(host)h(de\014nes)e Ff(SIGWINCH)p
Fk(,)g(y)m(ou)i(can)g(de\014ne)e(this)h(to)h(b)s(e)f(the)g(name)h(of)f
(a)h(function)630 518 y(to)i(b)s(e)f(called)f(if)h Ff(SIGWINCH)e
Fk(is)h(receiv)m(ed.)150 676 y Ff(SIGWINCH_HANDLER_BODY)630
785 y Fk(De\014ne)42 b(this)f(to)i(expand)e(in)m(to)h(co)s(de)g(that)h
(will)c(de\014ne)i(the)i(function)d(named)i(b)m(y)g(the)630
895 y(expansion)29 b(of)i Ff(SIGWINCH_HANDLER)p Fk(.)150
1052 y Ff(ALIGN_STACK_ON_STARTUP)630 1162 y Fk(De\014ne)37
b(this)e(if)g(y)m(our)h(system)h(is)e(of)i(a)g(sort)f(that)h(will)d
(crash)i(in)f Ff(tgetent)g Fk(if)g(the)h(stac)m(k)630
1271 y(happ)s(ens)19 b(not)i(to)h(b)s(e)e(longw)m(ord-aligned)f(when)h
Ff(main)g Fk(is)g(called.)37 b(This)19 b(is)h(a)h(rare)g(situation,)630
1381 y(but)30 b(is)f(kno)m(wn)h(to)h(o)s(ccur)f(on)h(sev)m(eral)f
(di\013eren)m(t)g(t)m(yp)s(es)h(of)f(systems.)150 1539
y Ff(CRLF_SOURCE_FILES)630 1648 y Fk(De\014ne)h(this)f(if)g(host)h
(\014les)f(use)h Ff(\\r\\n)e Fk(rather)i(than)g Ff(\\n)f
Fk(as)i(a)f(line)e(terminator.)42 b(This)30 b(will)630
1758 y(cause)k(source)f(\014le)f(listings)e(to)k(omit)f
Ff(\\r)f Fk(c)m(haracters)j(when)c(prin)m(ting)g(and)i(it)f(will)e
(allo)m(w)630 1867 y Ff(\\)p Fk(r)p Ff(\\)p Fk(n)k(line)f(endings)h(of)
h(\014les)f(whic)m(h)g(are)i Ff(")p Fk(sourced)p Ff(")e
Fk(b)m(y)h(gdb.)55 b(It)35 b(m)m(ust)g(b)s(e)f(p)s(ossible)f(to)630
1977 y(op)s(en)d(\014les)f(in)g(binary)g(mo)s(de)h(using)f
Ff(O_BINARY)f Fk(or,)i(for)g(fop)s(en,)g Ff("rb")p Fk(.)150
2134 y Ff(DEFAULT_PROMPT)630 2244 y Fk(The)g(default)f(v)-5
b(alue)30 b(of)h(the)f(prompt)g(string)f(\(normally)g
Ff("\(gdb\))g(")p Fk(\).)150 2402 y Ff(DEV_TTY)144 b
Fk(The)30 b(name)g(of)h(the)f(generic)h(TTY)f(device,)g(defaults)f(to)j
Ff("/dev/tty")p Fk(.)150 2559 y Ff(FCLOSE_PROVIDED)630
2669 y Fk(De\014ne)38 b(this)e(if)h(the)g(system)h(declares)f
Ff(fclose)f Fk(in)g(the)i(headers)f(included)e(in)h Ff(defs.h)p
Fk(.)630 2778 y(This)29 b(isn't)g(needed)h(unless)f(y)m(our)h(compiler)
f(is)g(un)m(usually)f(anal.)150 2936 y Ff(FOPEN_RB)96
b Fk(De\014ne)31 b(this)e(if)g(binary)g(\014les)g(are)i(op)s(ened)e
(the)i(same)g(w)m(a)m(y)g(as)g(text)g(\014les.)150 3093
y Ff(GETENV_PROVIDED)630 3203 y Fk(De\014ne)40 b(this)f(if)g(the)h
(system)g(declares)g Ff(getenv)f Fk(in)f(its)i(headers)f(included)f(in)
g Ff(defs.h)p Fk(.)630 3313 y(This)29 b(isn't)g(needed)h(unless)f(y)m
(our)h(compiler)f(is)g(un)m(usually)f(anal.)150 3470
y Ff(HAVE_MMAP)630 3580 y Fk(In)35 b(some)i(cases,)i(use)d(the)g
(system)h(call)e Ff(mmap)g Fk(for)h(reading)g(sym)m(b)s(ol)f(tables.)58
b(F)-8 b(or)37 b(some)630 3689 y(mac)m(hines)30 b(this)f(allo)m(ws)h
(for)g(sharing)f(and)h(quic)m(k)g(up)s(dates.)150 3847
y Ff(HAVE_SIGSETMASK)630 3956 y Fk(De\014ne)21 b(this)f(if)g(the)i
(host)f(system)g(has)g(job)g(con)m(trol,)i(but)e(do)s(es)f(not)i
(de\014ne)e Ff(sigsetmask\(\))p Fk(.)630 4066 y(Curren)m(tly)-8
b(,)29 b(this)h(is)f(only)h(true)g(of)g(the)h(RS/6000.)150
4224 y Ff(HAVE_TERMIO)630 4333 y Fk(De\014ne)g(this)e(if)g(the)i(host)f
(system)h(has)f Ff(termio.h)p Fk(.)150 4491 y Ff(HOST_BYTE_ORDER)630
4600 y Fk(The)22 b(ordering)g(of)g(b)m(ytes)i(in)d(the)i(host.)38
b(This)21 b(m)m(ust)i(b)s(e)f(de\014ned)f(to)j(b)s(e)e(either)g
Ff(BIG_ENDIAN)630 4710 y Fk(or)30 b Ff(LITTLE_ENDIAN)p
Fk(.)150 4867 y Ff(INT_MAX)150 5025 y(INT_MIN)150 5182
y(LONG_MAX)150 5340 y(UINT_MAX)p eop
%%Page: 15 17
15 16 bop 150 -116 a Fk(Chapter)30 b(7:)41 b(Host)31
b(De\014nition)2435 b(15)150 299 y Ff(ULONG_MAX)630 408
y Fk(V)-8 b(alues)30 b(for)h(host-side)e(constan)m(ts.)150
565 y Ff(ISATTY)192 b Fk(Substitute)29 b(for)h(isatt)m(y)-8
b(,)32 b(if)d(not)i(a)m(v)-5 b(ailable.)150 722 y Ff(LONGEST)144
b Fk(This)37 b(is)h(the)h(longest)g(in)m(teger)g(t)m(yp)s(e)g(a)m(v)-5
b(ailable)39 b(on)f(the)h(host.)67 b(If)38 b(not)h(de\014ned,)h(it)f
(will)630 831 y(default)30 b(to)h Ff(long)e(long)g Fk(or)h
Ff(long)p Fk(,)g(dep)s(ending)e(on)i Ff(CC_HAS_LONG_LONG)p
Fk(.)150 988 y Ff(CC_HAS_LONG_LONG)630 1097 y Fk(De\014ne)41
b(this)f(if)h(the)g(host)g(C)g(compiler)f(supp)s(orts)f(\\long)i
(long".)73 b(This)40 b(is)g(set)i(b)m(y)f(the)630 1207
y(con\014gure)30 b(script.)150 1363 y Ff(PRINTF_HAS_LONG_LONG)630
1473 y Fk(De\014ne)35 b(this)e(if)g(the)i(host)f(can)h(handle)e(prin)m
(ting)f(of)i(long)g(long)g(in)m(tegers)h(via)f(the)h(prin)m(tf)630
1583 y(format)c(directiv)m(e)f(\\ll".)40 b(This)28 b(is)i(set)h(b)m(y)f
(the)g(con\014gure)h(script.)150 1739 y Ff(HAVE_LONG_DOUBLE)630
1849 y Fk(De\014ne)k(this)f(if)h(the)g(host)g(C)g(compiler)f(supp)s
(orts)f(\\long)i(double".)54 b(This)34 b(is)g(set)i(b)m(y)f(the)630
1958 y(con\014gure)30 b(script.)150 2115 y Ff(PRINTF_HAS_LONG_DOUBLE)
630 2225 y Fk(De\014ne)k(this)f(if)g(the)h(host)g(can)h(handle)d(prin)m
(ting)g(of)i(long)g(double)e(\015oat-p)s(oin)m(t)i(n)m(um)m(b)s(ers)630
2334 y(via)c(the)h(prin)m(tf)d(format)j(directiv)m(e)f(\\Lg".)42
b(This)28 b(is)i(set)h(b)m(y)f(the)h(con\014gure)f(script.)150
2491 y Ff(SCANF_HAS_LONG_DOUBLE)630 2600 y Fk(De\014ne)24
b(this)f(if)f(the)i(host)g(can)g(handle)f(the)h(parsing)e(of)i(long)f
(double)g(\015oat-p)s(oin)m(t)g(n)m(um)m(b)s(ers)630
2710 y(via)h(the)h(scanf)g(format)g(directiv)m(e)f(directiv)m(e)h
(\\Lg".)40 b(This)23 b(is)g(set)j(b)m(y)e(the)h(con\014gure)g(script.)
150 2866 y Ff(LSEEK_NOT_LINEAR)630 2976 y Fk(De\014ne)40
b(this)f(if)g Ff(lseek)29 b(\(n\))39 b Fk(do)s(es)h(not)g(necessarily)f
(mo)m(v)m(e)j(to)f(b)m(yte)f(n)m(um)m(b)s(er)f Ff(n)h
Fk(in)f(the)630 3086 y(\014le.)i(This)29 b(is)h(only)g(used)h(when)e
(reading)h(source)h(\014les.)42 b(It)31 b(is)f(normally)f(faster)i(to)h
(de\014ne)630 3195 y Ff(CRLF_SOURCE_FILES)26 b Fk(when)j(p)s(ossible.)
150 3352 y Ff(L_SET)240 b Fk(This)36 b(macro)j(is)f(used)f(as)h(the)h
(argumen)m(t)f(to)h(lseek)g(\(or,)h(most)f(commonly)-8
b(,)40 b(bfd)p 3498 3352 28 4 v 32 w(seek\).)630 3461
y(FIXME,)29 b(should)c(b)s(e)i(replaced)h(b)m(y)f(SEEK)p
2126 3461 V 32 w(SET)g(instead,)h(whic)m(h)e(is)h(the)h(POSIX)f(equiv-)
630 3571 y(alen)m(t.)150 3727 y Ff(MALLOC_INCOMPATIBLE)630
3837 y Fk(De\014ne)33 b(this)e(if)h(the)g(system's)h(protot)m(yp)s(e)g
(for)f Ff(malloc)f Fk(di\013ers)g(from)h(the)h Fc(ANSI)f
Fk(de\014ni-)630 3947 y(tion.)150 4103 y Ff(MMAP_BASE_ADDRESS)630
4213 y Fk(When)e(using)f(HA)-10 b(VE)p 1394 4213 V 33
w(MMAP)i(,)32 b(the)e(\014rst)g(mapping)f(should)f(go)j(at)g(this)f
(address.)150 4369 y Ff(MMAP_INCREMENT)630 4479 y Fk(when)f(using)g(HA)
-10 b(VE)p 1366 4479 V 33 w(MMAP)i(,)32 b(this)d(is)h(the)g(incremen)m
(t)g(b)s(et)m(w)m(een)h(mappings.)150 4635 y Ff(NEED_POSIX_SETPGID)630
4745 y Fk(De\014ne)42 b(this)f(to)h(use)g(the)g(POSIX)f(v)m(ersion)g
(of)h Ff(setpgid)e Fk(to)i(determine)f(whether)g(job)630
4855 y(con)m(trol)31 b(is)e(a)m(v)-5 b(ailable.)150 5011
y Ff(NORETURN)96 b Fk(If)35 b(de\014ned,)h(this)e(should)g(b)s(e)h(one)
h(or)f(more)h(tok)m(ens,)i(suc)m(h)d(as)h Ff(volatile)p
Fk(,)f(that)h(can)g(b)s(e)630 5121 y(used)f(in)f(b)s(oth)h(the)h
(declaration)f(and)g(de\014nition)e(of)j(functions)e(to)j(indicate)e
(that)h(they)630 5230 y(nev)m(er)31 b(return.)39 b(The)30
b(default)g(is)f(already)h(set)h(correctly)g(if)e(compiling)f(with)i
(GCC.)g(This)630 5340 y(will)e(almost)i(nev)m(er)h(need)f(to)h(b)s(e)f
(de\014ned.)p eop
%%Page: 16 18
16 17 bop 150 -116 a Fk(Chapter)30 b(7:)41 b(Host)31
b(De\014nition)2435 b(16)150 299 y Ff(ATTR_NORETURN)630
408 y Fk(If)20 b(de\014ned,)h(this)e(should)g(b)s(e)g(one)i(or)f(more)g
(tok)m(ens,)k(suc)m(h)c(as)g Ff(__attribute__)27 b(\(\(noreturn\)\))p
Fk(,)p 3924 426 42 81 v 630 518 a(that)38 b(can)g(b)s(e)f(used)f(in)h
(the)g(declarations)g(of)h(functions)e(to)i(indicate)f(that)h(they)g
(nev)m(er)630 628 y(return.)55 b(The)35 b(default)f(is)h(already)g(set)
h(correctly)g(if)e(compiling)f(with)i(GCC.)g(This)f(will)630
737 y(almost)c(nev)m(er)h(need)f(to)h(b)s(e)f(de\014ned.)150
887 y Ff(USE_GENERIC_DUMMY_FRAMES)630 996 y Fk(De\014ne)e(this)e(to)i
(1)g(if)e(the)i(target)h(is)d(using)g(the)h(generic)h(inferior)d
(function)h(call)h(co)s(de.)40 b(See)630 1106 y Ff(blockframe.c)27
b Fk(for)j(more)h(information.)150 1255 y Ff(USE_MMALLOC)630
1365 y Fk(GDB)h(will)c(use)j(the)f Ff(mmalloc)f Fk(library)g(for)h
(memory)h(allo)s(cation)f(for)h(sym)m(b)s(ol)e(reading)h(if)630
1474 y(this)h(sym)m(b)s(ol)g(is)g(de\014ned.)45 b(Be)33
b(careful)e(de\014ning)f(it)i(since)f(there)i(are)f(systems)g(on)g
(whic)m(h)630 1584 y Ff(mmalloc)22 b Fk(do)s(es)h(not)h(w)m(ork)g(for)g
(some)g(reason.)38 b(One)24 b(example)f(is)g(the)h(DECstation,)h(where)
630 1694 y(its)41 b(RPC)f(library)f(can't)j(cop)s(e)f(with)f(our)h
(rede\014nition)e(of)i Ff(malloc)e Fk(to)j(call)f Ff(mmalloc)p
Fk(.)630 1803 y(When)27 b(de\014ning)e Ff(USE_MMALLOC)p
Fk(,)g(y)m(ou)i(will)d(also)j(ha)m(v)m(e)h(to)g(set)f
Ff(MMALLOC)e Fk(in)h(the)h(Mak)m(e\014le,)630 1913 y(to)40
b(p)s(oin)m(t)f(to)h(the)f(mmallo)s(c)f(library)-8 b(.)66
b(This)38 b(de\014ne)h(is)f(set)i(when)e(y)m(ou)i(con\014gure)f(with)
630 2022 y({with-mmallo)s(c.)150 2172 y Ff(NO_MMCHECK)630
2281 y Fk(De\014ne)21 b(this)e(if)h(y)m(ou)h(are)g(using)e
Ff(mmalloc)p Fk(,)i(but)f(don't)h(w)m(an)m(t)h(the)f(o)m(v)m(erhead)g
(of)g(c)m(hec)m(king)h(the)630 2391 y(heap)31 b(with)f
Ff(mmcheck)p Fk(.)41 b(Note)33 b(that)e(on)g(some)h(systems,)g(the)f(C)
g(run)m(time)f(mak)m(es)i(calls)e(to)630 2501 y(mallo)s(c)d(prior)f(to)
j(calling)d Ff(main)p Fk(,)h(and)h(if)f Ff(free)f Fk(is)h(ev)m(er)i
(called)e(with)f(these)j(p)s(oin)m(ters)d(after)630 2610
y(calling)37 b Ff(mmcheck)f Fk(to)j(enable)f(c)m(hec)m(king,)j(a)e
(memory)f(corruption)f(ab)s(ort)i(is)e(certain)h(to)630
2720 y(o)s(ccur.)i(These)30 b(systems)g(can)g(still)e(use)i(mmallo)s
(c,)f(but)g(m)m(ust)h(de\014ne)f(NO)p 3198 2720 28 4
v 33 w(MMCHECK.)150 2869 y Ff(MMCHECK_FORCE)630 2979
y Fk(De\014ne)22 b(this)e(to)j(1)f(if)f(the)h(C)f(run)m(time)f(allo)s
(cates)i(memory)g(prior)e(to)i Ff(mmcheck)e Fk(b)s(eing)g(called,)630
3088 y(but)33 b(that)i(memory)e(is)g(nev)m(er)i(freed)e(so)h(w)m(e)g
(don't)g(ha)m(v)m(e)h(to)g(w)m(orry)f(ab)s(out)f(it)h(triggering)630
3198 y(a)g(memory)f(corruption)f(ab)s(ort.)49 b(The)33
b(default)f(is)h(0,)h(whic)m(h)e(means)h(that)h Ff(mmcheck)e
Fk(will)630 3308 y(only)f(install)e(the)j(heap)g(c)m(hec)m(king)g
(functions)e(if)h(there)h(has)f(not)h(y)m(et)h(b)s(een)e(an)m(y)h
(memory)630 3417 y(allo)s(cation)d(calls,)h(and)f(if)g(it)g(fails)f(to)
j(install)d(the)i(functions,)e(gdb)i(will)d(issue)i(a)h(w)m(arning.)630
3527 y(This)f(is)g(curren)m(tly)g(de\014ned)h(if)f(y)m(ou)i
(con\014gure)f(using)f({with-mmallo)s(c.)150 3676 y Ff(NO_SIGINTERRUPT)
630 3786 y Fk(De\014ne)i(this)e(to)i(indicate)e(that)i(sigin)m
(terrupt\(\))e(is)h(not)h(a)m(v)-5 b(ailable.)150 3935
y Ff(R_OK)288 b Fk(De\014ne)31 b(if)e(this)g(is)h(not)g(in)f(a)i
(system)g(.h)f(\014le.)150 4085 y Ff(SEEK_CUR)150 4234
y(SEEK_SET)96 b Fk(De\014ne)29 b(these)g(to)h(appropriate)e(v)-5
b(alue)28 b(for)h(the)g(system)g(lseek\(\),)h(if)d(not)i(already)g
(de\014ned.)150 4384 y Ff(STOP_SIGNAL)630 4493 y Fk(This)c(is)i(the)g
(signal)f(for)h(stopping)f(GDB.)i(Defaults)f(to)h(SIGTSTP)-8
b(.)26 b(\(Only)g(rede\014ned)g(for)630 4603 y(the)31
b(Con)m(v)m(ex.\))150 4752 y Ff(USE_O_NOCTTY)630 4862
y Fk(De\014ne)39 b(this)f(if)g(the)h(in)m(terior's)e(tt)m(y)j(should)d
(b)s(e)h(op)s(ened)h(with)e(the)i(O)p 3113 4862 V 33
w(NOCTTY)e(\015ag.)630 4971 y(\(FIXME:)27 b(This)c(should)h(b)s(e)h(a)h
(nativ)m(e-only)f(\015ag,)i(but)e(`)p Ff(inflow.c)p Fk(')f(is)h(alw)m
(a)m(ys)h(link)m(ed)e(in.\))150 5121 y Ff(USG)336 b Fk(Means)33
b(that)h(System)e(V)h(\(prior)f(to)i(SVR4\))f(include)d(\014les)i(are)h
(in)f(use.)48 b(\(FIXME:)34 b(This)630 5230 y(sym)m(b)s(ol)g(is)h
(abused)f(in)g(`)p Ff(infrun.c)p Fk(',)i(`)p Ff(regex.c)p
Fk(',)f(`)p Ff(remote-nindy.c)p Fk(',)f(and)g(`)p Ff(utils.c)p
Fk(')630 5340 y(for)c(other)h(things,)e(at)i(the)g(momen)m(t.\))p
eop
%%Page: 17 19
17 18 bop 150 -116 a Fk(Chapter)30 b(8:)41 b(GDB)31 b(Ov)m(erview)2437
b(17)150 299 y Ff(lint)288 b Fk(De\014ne)31 b(this)e(to)i(help)e
(placate)i(lin)m(t)e(in)g(some)i(situations.)150 465
y Ff(volatile)96 b Fk(De\014ne)31 b(this)e(to)i(o)m(v)m(erride)f(the)h
(defaults)e(of)i Ff(__volatile__)c Fk(or)j Ff(/**/)p
Fk(.)150 761 y Fh(8)80 b(GDB)53 b(Ov)l(erview)150 1149
y Fj(8.1)68 b(Libraries)46 b(used)f(b)l(y)f(GDB)275 1348
y Fk(GDB)31 b(relies)e(on)h(a)h(n)m(um)m(b)s(er)e(of)i(libraries:)150
1518 y(`)p Ff(config/)p Fk(')94 b(Con\014guration)27
b(options)h(shared)f(b)m(y)i(GDB)g(and)f(all)f(of)i(the)g(libraries)c
(it)j(uses.)40 b(GDB)29 b(has)630 1627 y(it's)h(o)m(wn)g(m)m(uc)m(h)h
(more)f(extensiv)m(e)h(con\014guration)f(in)f(`)p Ff(gdb/config)p
Fk('.)150 1794 y(`)p Ff(readline/)p Fk(')630 1903 y(Con)m(tains)36
b(the)g Ff(-lreadline)d Fk(and)j Ff(-lhistory)d Fk(libraries)h(for)h
(command-line)g(pro)s(cess-)630 2013 y(ing.)k(The)26
b Ff(-lreadline)d Fk(library)h(handles)h(command-line)g(editing,)h
(terminal)f(in)m(terface,)630 2122 y(k)m(eymap)33 b(in)m(terfaces,)h
(and)f(\014le)f(completion;)h(the)g Ff(-lhistory)d Fk(library)h
(handles)g(history)630 2232 y(pro)s(cessing)h(and)h(history)f
(substitution)f(using)h(csh-st)m(yle)h(syn)m(tax.)50
b(F)-8 b(or)34 b(more)g(informa-)630 2342 y(tion,)c(see)h(`)p
Ff(readline/doc/hist.texi)p Fk(')25 b(and)30 b(`)p Ff
(readline/doc/rlman.texi)p Fk('.)150 2508 y(`)p Ff(bfd/)p
Fk(')238 b(BFD)27 b(is)f(a)g(pac)m(k)-5 b(age)28 b(whic)m(h)d(allo)m
(ws)h(applications)e(to)j(use)f(the)h(same)f(routines)f(to)i(op)s
(erate)630 2617 y(on)h(ob)5 b(ject)30 b(\014les)d(whatev)m(er)i(the)g
(ob)5 b(ject)29 b(\014le)f(format.)40 b(A)29 b(new)f(ob)5
b(ject)29 b(\014le)f(format)h(can)g(b)s(e)630 2727 y(supp)s(orted)24
b(simply)g(b)m(y)i(creating)g(a)h(new)e(BFD)j(bac)m(k)e(end)g(and)f
(adding)g(it)h(to)g(the)h(library)-8 b(.)630 2865 y(BFD)40
b(is)d(split)g(in)m(to)i(t)m(w)m(o)h(parts:)56 b(the)39
b(fron)m(t)g(end,)h(and)e(the)h(bac)m(k)g(ends)f(\(one)h(for)g(eac)m(h)
630 2975 y(ob)5 b(ject)31 b(\014le)f(format\).)705 3112
y Fi(\017)60 b Fk(The)27 b(fron)m(t)g(end)g(of)g(BFD)h(pro)m(vides)f
(the)g(in)m(terface)h(to)g(the)f(user.)39 b(It)28 b(manages)g(mem-)810
3222 y(ory)22 b(and)g(v)-5 b(arious)22 b(canonical)g(data)h
(structures.)38 b(The)22 b(fron)m(t)g(end)g(also)g(decides)g(whic)m(h)
810 3332 y(bac)m(k)31 b(end)f(to)h(use)f(and)g(when)f(to)i(call)f(bac)m
(k)h(end)f(routines.)705 3470 y Fi(\017)60 b Fk(The)40
b(bac)m(k)h(ends)e(pro)m(vide)g(BFD)j(its)d(view)h(of)g(the)h(real)f(w)
m(orld.)69 b(Eac)m(h)41 b(bac)m(k)g(end)810 3579 y(pro)m(vides)c(a)i
(set)g(of)f(calls)f(whic)m(h)g(the)i(BFD)g(fron)m(t)f(end)g(can)g(use)g
(to)h(main)m(tain)f(its)810 3689 y(canonical)27 b(form.)39
b(The)27 b(bac)m(k)i(ends)d(also)i(ma)m(y)g(k)m(eep)g(around)f
(information)f(for)h(their)810 3798 y(o)m(wn)j(use,)h(for)f(greater)h
(e\016ciency)-8 b(.)630 3965 y(F)g(or)29 b(more)f(information)f(on)h
(BFD,)h(see)g(`)p Ff(bfd/doc/bfd.texi)p Fk('.)36 b(F)-8
b(or)29 b(more)g(information)630 4074 y(on)f(the)g(use)f(of)h(BFD)h(in)
e(GDB,)i(see)g Fi(h)p Fk(unde\014ned)p Fi(i)d Fk([BFD)j(supp)s(ort)e
(for)g(GDB],)j(page)e Fi(h)p Fk(un-)630 4184 y(de\014ned)p
Fi(i)p Fk(.)150 4350 y(`)p Ff(opcodes/)p Fk(')630 4460
y(A)37 b(collection)f(of)h(routines)e(to)j(parse/prin)m(t)d(mac)m
(hine-language)i(instructions)e(and)h(ar-)630 4569 y(gumen)m(ts)31
b(for)f(a)h(n)m(um)m(b)s(er)e(of)h(pro)s(cessors.)150
4735 y(`)p Ff(mmalloc/)p Fk(')630 4845 y(The)g(gn)m(u)g
Ff(malloc\(\))e Fk(library)-8 b(.)150 5011 y(`)p Ff(sim/)p
Fk(')238 b(Sim)m(ulators)36 b(for)h(a)h(n)m(um)m(b)s(er)e(of)i(common)f
(micropro)s(cessors.)61 b(Allo)m(ws)37 b(GDB)h(to)h(debug)630
5121 y(mac)m(hine)32 b(co)s(de)g(for)f(arc)m(hitectures)i(for)e(whic)m
(h)g(no)h(CPU)f(is)g(readily)f(a)m(v)-5 b(ailable)31
b(or)h(whic)m(h)630 5230 y(are)22 b(not)g(y)m(et)h(capable)f(of)g(in)m
(teracting)f(with)g(GDB)h(directly)-8 b(.)37 b(Generally)21
b(used)g(to)i(sim)m(ulate)630 5340 y(and/or)30 b(debug)g(em)m(b)s
(edded)f(systems.)p eop
%%Page: 18 20
18 19 bop 150 -116 a Fk(Chapter)30 b(8:)41 b(GDB)31 b(Ov)m(erview)2437
b(18)150 299 y(`)p Ff(texinfo/)p Fk(')630 408 y(T)-8
b(exinfo)24 b(is)f(a)h(do)s(cumen)m(tation)g(system)g(that)h(uses)f(a)g
(single)f(source)i(\014le)e(to)i(pro)s(duce)e(b)s(oth)630
518 y(online)37 b(information)g(and)h(prin)m(ted)f(output.)65
b(Most)39 b(GDB-related)h(do)s(cumen)m(tation)f(is)630
628 y(pro)s(duced)19 b(using)f(this)i(system.)37 b(F)-8
b(or)21 b(more)g(information,)f(see)h(`)p Ff(texinfo/doc/texinfo.texi)p
Fk('.)p 3989 645 42 81 v 150 775 a(`)p Ff(libiberty/)p
Fk(')630 884 y(Con)m(tains)28 b(the)g Ff(-liberty)e Fk(library)f(of)k
(free)f(soft)m(w)m(are.)41 b(It)29 b(is)e(a)h(collection)g(of)g
(subroutines)630 994 y(used)k(b)m(y)g(v)-5 b(arious)31
b(GNU)i(programs,)g(t)m(ypically)e(functions)g(that)i(are)g(included)c
(in)i(GNU)630 1104 y(lib)s(c,)d(but)g(not)i(in)e(certain)h(v)m(endor)g
(v)m(ersions)f(of)i(lib)s(c.)38 b(Example)28 b(functions)g(pro)m(vided)
g(b)m(y)630 1213 y Ff(-liberty)p Fk(:)630 1360 y Ff(getopt)192
b Fk(get)32 b(options)d(from)h(command)g(line)630 1508
y Ff(obstack)144 b Fk(stac)m(ks)32 b(of)e(arbitrarily-sized)e(ob)5
b(jects)630 1655 y Ff(strerror)96 b Fk(error)30 b(message)h(strings)f
(corresp)s(onding)e(to)j(errno)630 1802 y Ff(strtol)192
b Fk(string-to-long)30 b(con)m(v)m(ersion)630 1949 y
Ff(strtoul)144 b Fk(string-to-unsigned-long)29 b(con)m(v)m(ersion)150
2188 y Fj(8.2)68 b(GDB)44 b(Directory)i(Structure)275
2375 y Fk(The)35 b(sources)h(to)h(GDB)g(itself)e(are)h(curren)m(tly)f
(stored)i(in)d(four)i(sub)s(directories,)f(all)g(of)h(whic)m(h)f(are)
150 2484 y(used)30 b(to)h(build)c(the)k(\014nal)e(executable:)150
2631 y(`)p Ff(gdb/)p Fk(')238 b(The)26 b(main)f(GDB)i(sources)f(as)g
(pro)m(vided)f(b)m(y)h(the)g(FSF.)h(Changes)e(to)i(this)e(directory)h
(ha)m(v)m(e)630 2741 y(b)s(een)j(k)m(ept)h(as)f(small)f(as)i(p)s
(ossible)d(to)j(minimize)d(the)i(e\013ort)h(of)g(merging)e(them)i(with)
e(the)630 2851 y(FSF)i(sources)h(\(though)f(man)m(y)h(c)m(hanges)g
(still)d(ha)m(v)m(e)k(b)s(een)e(made\).)150 2998 y(`)p
Ff(gdb-next/)p Fk(')630 3107 y(Apple-sp)s(eci\014c)42
b(additions)g(to)i(the)g(GDB)h(source)f(base.)82 b(These)43
b(will)f(ev)m(en)m(tually)i(b)s(e)630 3217 y(merged)27
b(in)m(to)h(the)f(`)p Ff(gdb/)p Fk(')g(directory)-8 b(,)28
b(but)f(are)h(curren)m(tly)e(k)m(ept)i(separate)g(to)h(mak)m(e)f(them)
630 3327 y(easier)i(to)h(manage.)150 3474 y(`)p Ff(gdb-4.14/)p
Fk(')630 3583 y(GDB)26 b(sources)g(as)f(mo)s(di\014ed)f(b)m(y)h(NeXT)h
(for)f(gdb-4.14.)40 b(These)25 b(are)h(nearly)e(obsolete,)k(but)630
3693 y(are)k(k)m(ept)g(around)f(un)m(til)f(I)h(ha)m(v)m(e)i(merged)f
(all)e(of)i(the)g(original)e(NeXT)i(c)m(hanges)g(in)m(to)g(the)630
3803 y(new)e(GDB)h(source)g(base.)150 3950 y(`)p Ff(gdb-next-4.14/)p
Fk(')630 4059 y(Apple-sp)s(eci\014c)e(additions)g(to)i(the)g(\(nearly)f
(obsolete\))i(GDB)g(4.14)g(source)f(base.)42 b(These)630
4169 y(are)g(k)m(ept)h(around)e(solely)g(for)h(the)g(purp)s(ose)e(of)i
(building)d(GDB)k(4.14)g(binaries)d(when)630 4278 y(necessary)-8
b(.)275 4426 y(Un)m(til)33 b(recen)m(tly)-8 b(,)37 b(it)e(w)m(as)g(p)s
(ossible)d(to)k(build)31 b(b)s(oth)j(GDB)i(4.17)h(and)d(the)h(GDB)h
(4.14/4.17)i(h)m(ybrid)150 4535 y(that)c(shipp)s(ed)c(with)i(DR1)h
(from)g(the)g(same)h(source)f(tree.)50 b(GDB)34 b(4.17)g(w)m(as)g
(built)d(in)h(`)p Ff(gdb)p Fk(')g(and)h(used)150 4645
y(\014les)c(from)g(`)p Ff(gdb-next)p Fk(')f(and)h(`)p
Ff(gdb/)p Fk(',)g(in)f(that)i(order,)g(and)f(GDB)i(4.14)g(w)m(as)f
(built)d(in)i(`)p Ff(gdb-4.14)p Fk(')f(and)150 4754 y(used)35
b(the)h(\014les)f(from)g(`)p Ff(gdb-next-4.14/)p Fk(',)f(`)p
Ff(gdb-next/)p Fk(',)h(`)p Ff(gdb-4.14/)p Fk(',)g(and)h(`)p
Ff(gdb/)p Fk(',)g(also)g(in)e(that)150 4864 y(order.)275
4992 y(As)26 b(of)i(Jan)m(uary)e(8,)i(I)f(ha)m(v)m(e)h(stopp)s(ed)e
(building)d(GDB)28 b(4.14)h(along)e(with)e(GDB)j(4.17)h(from)d(the)i
(same)150 5102 y(sources.)44 b(I)31 b(susp)s(ect)g(GDB)i(4.14)g(will)c
(no)i(longer)g(build)d(from)j(these)h(sources)g(without)e(mo)s
(di\014cation,)150 5212 y(although)g(I)g(susp)s(ect)g(the)g(necessary)h
(c)m(hanges)g(w)m(ould)e(b)s(e)h(relativ)m(ely)g(minor.)275
5340 y(GDB)h(also)f(uses)g(the)h(follo)m(wing)e(sub)s(directories:)p
eop
%%Page: 19 21
19 20 bop 150 -116 a Fk(Chapter)30 b(8:)41 b(GDB)31 b(Ov)m(erview)2437
b(19)150 299 y(`)p Ff(include/)p Fk(')630 408 y(Header)28
b(\014les)e(shared)g(b)m(y)i(GDB)g(and)f(all)f(of)h(the)h(libraries)c
(it)j(uses.)39 b(These)27 b(\014les)f(t)m(ypically)630
518 y(will)i(t)m(ypically)h(apply)g(to)i(either:)810
651 y(General)g(op)s(erating-system)f(functions)f(\(suc)m(h)i(as)g(sym)
m(b)s(ol)e(reading,)h(IEEE)g(\015oats,)810 761 y(etc.\))42
b(for)30 b(whic)m(h)f(GDB)j(and)e(it's)g(libraries)d(w)m(an)m(t)k(to)h
(ha)m(v)m(e)f(a)g(common)g(in)m(terface.)810 893 y(In)m(terfaces)36
b(b)s(et)m(w)m(een)f(GDB)h(and)e(one)h(of)f(its)g(libraries)e(\(suc)m
(h)j(as)g(`)p Ff(remote-sim.h)p Fk(')810 1003 y(and)30
b(`)p Ff(libiberty.h)p Fk('\).)150 1159 y(`)p Ff(gdb/config/)p
Fk(')630 1269 y(Con)m(tains)21 b(GDB-sp)s(eci\014c)g(con\014guration)g
(\014les.)37 b(F)-8 b(or)22 b(more)f(information)f(see)h
Fi(h)p Fk(unde\014ned)p Fi(i)630 1378 y Fk([Con\014g],)31
b(page)g Fi(h)p Fk(unde\014ned)p Fi(i)p Fk(.)150 1631
y Fj(8.3)68 b(Ov)l(erview)46 b(of)g(Source)e(Files)150
1908 y Fe(8.3.1)63 b(T)-10 b(op)41 b(Lev)m(el)150 2123
y Fk(`)p Ff(main.c)p Fk(')142 b(Con)m(tains)29 b(the)h(GDB)g(top-lev)m
(el)g(in)m(terpreter.)40 b(P)m(arses)30 b(command-line)d(argumen)m(ts,)
k(p)s(er-)630 2232 y(forms)f(GDB)h(initialization,)d(and)i(passes)g
(con)m(trol)h(to)g(command-line)e(in)m(terpreter.)150
2388 y(`)p Ff(maint.c)p Fk(')94 b(Collection)25 b(of)h(utilit)m(y)e
(functions)g(for)h(viewing/debugging)f(the)i(in)m(ternal)f(state)i(of)f
(GDB.)150 2545 y(`)p Ff(top.c)p Fk(')190 b(T)-8 b(op-lev)m(el)32
b(routine)g(used)f(b)m(y)h(GDB.)i(Ev)-5 b(aluates)32
b(commands,)h(and)e(pro)m(vides)h(a)g(n)m(um)m(b)s(er)630
2654 y(of)f(top-lev)m(el)f(functions)f(and)h(mec)m(hanisms)f(to)j(set)e
(general)h(purp)s(ose)e(v)-5 b(ariables.)150 2810 y(`)p
Ff(command.c)p Fk(')630 2920 y(parse)30 b(and)g(ev)-5
b(aluate)31 b(gdb)f(commands)g(and)f(command)i(do)s(cumen)m(tation)150
3076 y(`)p Ff(printcmd.c)p Fk(')630 3186 y(user)f(commands)g(for)g
(prin)m(ting)e(expressions)h(and)h(displa)m(ying)e(memory)150
3405 y Fe(8.3.2)63 b(GDB)40 b(T)-10 b(argets)42 b(/)f(Program)g(Con)m
(trol)150 3619 y Fk(`)p Ff(target.c)p Fk(')630 3729 y(De\014nes)25
b(the)g(target)h(abstraction,)h(used)d(to)h(encapsulate)g(all)f(comm)m
(unications)g(b)s(et)m(w)m(een)630 3839 y(GDB)31 b(and)f(a)h(target.)42
b(See)31 b(the)f(commen)m(ts)i(in)d(`)p Ff(target.h)p
Fk(')f(for)j(more)f(information.)150 3995 y(`)p Ff(exec.c)p
Fk(')142 b(In)m(terface)41 b(b)s(et)m(w)m(een)f(executable)g(\014les)f
(and)g(the)h('target')h(abstraction.)69 b(Allo)m(ws)39
b(GDB)630 4104 y(to)29 b(insp)s(ect/analyze)e(executable)i(images,)g
(without)e(necessarily)g(ha)m(ving)g(a)i(debuggable)630
4214 y(pro)s(cess)h(a)m(v)-5 b(ailable.)150 4370 y(`)p
Ff(corefile.c)p Fk(')630 4480 y(In)m(terface)42 b(b)s(et)m(w)m(een)g
(core)g(images)f(and)g(the)g('target')i(abstraction.)74
b(Allo)m(ws)40 b(GDB)i(to)630 4589 y(insp)s(ect/analyze)30
b(memory)h(and)f(register)g(dumps)f(from)h(core\014le)g(images.)42
b(Not)31 b(used)f(in)630 4699 y(GDB)h(4.14.)150 4855
y(`)p Ff(thread.c)p Fk(')630 4965 y(In)m(terface)46 b(b)s(et)m(w)m(een)
g(GDB)h(and)d(m)m(ultiply-threaded)f(subpro)s(cesses.)84
b(Not)46 b(curren)m(tly)630 5074 y(used)30 b(b)m(y)g(either)g(GDB)h
(4.14)h(or)e(GDB)i(4.17.)150 5230 y(`)p Ff(fork-child.c)p
Fk(')630 5340 y(Co)s(de)e(to)h(create)h(an)e(inferior)e(pro)s(cess)i
(on)g(UNIX)h(systems.)p eop
%%Page: 20 22
20 21 bop 150 -116 a Fk(Chapter)30 b(8:)41 b(GDB)31 b(Ov)m(erview)2437
b(20)150 299 y(`)p Ff(infcmd.c)p Fk(')630 408 y(User-lev)m(el)32
b(commands)g(for)f(insp)s(ecting/con)m(trolling)f(the)i(state)h(of)f
(pro)s(cess)f(execution.)630 518 y(Commands)e(suc)m(h)h(as)h('step',)g
('next',)g('\014nish',)e(and)h('con)m(tin)m(ue')h(go)g(here.)150
680 y(`)p Ff(inflow.c)p Fk(')630 790 y(Handles)e(terminal)g(mo)s(des)h
(and)g(signal)f(handling)f(for)i(UNIX)h(c)m(hild)d(pro)s(cesses.)150
951 y(`)p Ff(infrun.c)p Fk(')630 1061 y(T)-8 b(arget-indep)s(enden)m(t)
20 b(co)s(de)h(to)h(con)m(trol)f(the)g(execution)g(of)g(an)f(inferior)f
(pro)s(cess.)37 b(Handles)630 1171 y(breakp)s(oin)m(ts,)44
b(signal)e(handling,)h(shared)e(library)f(handling)g(\(on)j(some)g
(systems\),)j(as)630 1280 y(w)m(ell)27 b(as)h(far)f(to)s(o)h(man)m(y)g
(other)g(things.)39 b(Con)m(tains)27 b Ff(wait_for_inferior)p
Fk(,)d(probably)i(the)630 1390 y(hairiest)j(function)g(in)g(all)g(of)i
(GDB.)150 1552 y(`)p Ff(inftarg.c)p Fk(')630 1661 y(In)m(terface)49
b(b)s(et)m(w)m(een)f(the)g(GDB)g('target')i(abstraction)d(and)g(UNIX)h
(c)m(hild)e(pro)s(cesses.)630 1771 y(Man)m(y)26 b(of)g(the)f(functions)
f(in)h(the)g(\014le)g(are)h(o)m(v)m(erridden)e(\(via)i(macros\))g(in)e
(the)i Ff(nextstep-*)630 1881 y Fk(functions.)150 2110
y Fe(8.3.3)63 b(T)m(yp)s(es,)41 b(V)-10 b(alues,)41 b(and)g
(Expressions)275 2305 y Fk(A)d Ff(type)g Fk(is)f(the)i(fundamen)m(tal)f
(data)h(structure)f(in)g(GDB)h(for)g(represen)m(ting)f(t)m(yp)s(e)g
(information.)150 2414 y(Eac)m(h)43 b Ff(type)e Fk(structure)h(is)f
(asso)s(ciated)i(with)e(a)i(particular)d(ob)5 b(ject)43
b(\014le,)i(with)c(the)i(exception)f(of)h(a)150 2524
y(few)28 b(pre-created)h(t)m(yp)s(e)f(structures)g(used)f(for)h(bac)m
(kw)m(ards)h(compatibilit)m(y)d(with)h(other)h(parts)g(of)h(GDB.)150
2634 y(GDB)40 b(pro)m(vides)e(a)h(n)m(um)m(b)s(er)f(of)h(\\fundamen)m
(tal")f(data)i(t)m(yp)s(es;)j(more)c(complex)g(data)g(t)m(yp)s(es)g
(can)h(b)s(e)150 2743 y(represen)m(ted)24 b(b)m(y)g(nesting)f
Ff(type)g Fk(structures)g(within)f(eac)m(h)j(other.)39
b(See)24 b(Section)g(8.3.3)i([T)m(yp)s(es],)f(page)g(20)150
2853 y(for)30 b(more)h(information.)275 2990 y(A)24 b
Ff(value)g Fk(is)g(the)h(GDB)h(data)f(structure)f(for)h(represen)m
(ting)f(b)s(oth)g(R-)h(and)f(L-v)-5 b(alues)25 b(of)g(an)m(y)g(t)m(yp)s
(e.)39 b(A)150 3099 y Ff(value)23 b Fk(con)m(tains)h(a)h(p)s(oin)m(ter)
e(to)i(a)g(GDB)g Ff(type)f Fk(structure,)h(as)f(w)m(ell)g(as)g(a)h
(region)f(of)g(memory)g(con)m(taining)150 3209 y(the)31
b(v)-5 b(alue's)30 b(con)m(ten)m(ts)i(\(for)e(an)g(R-v)-5
b(alue\))31 b(or)f(address)g(\(for)g(an)g(L-v)-5 b(alue\).)275
3346 y(A)38 b Ff(expression)e Fk(is)h(the)i(GDB)g(data)g(structure)f
(for)h(all)e(expressions)g(in)g(all)g(programming)g(lan-)150
3456 y(guages.)72 b(Expressions)38 b(can)j(b)s(e)f(parsed)f(and)h(ev)-5
b(aluated)41 b(in)m(teractiv)m(ely)f(according)g(to)i(the)e(curren)m(t)
150 3565 y(language)32 b(syn)m(tax,)h(can)f(b)s(e)f(used)f(b)m(y)i
(breakp)s(oin)m(ts)e(and)h(w)m(atc)m(hp)s(oin)m(ts)h(to)g(compute)g(v)
-5 b(alues,)32 b(and)f(can)150 3675 y(cause)h(execution)f(to)h(tak)m(e)
g(place)f(within)e(a)i(target)i(pro)s(cess)d(\(b)m(y)h(ev)-5
b(aluating)31 b(function)f(expressions\).)150 3784 y(Expressions)d(are)
i(parsed,)f(ev)-5 b(aluated,)30 b(and)e(prin)m(ted)f(using)g(the)i
(language-dispatc)m(hing)f(mec)m(hanisms)150 3894 y(describ)s(ed)g(in)h
(`)p Ff(language.c)p Fk(')f(and)i(Section)g(8.3.7)j([Language-Sp)s
(eci\014c)d(Sources],)g(page)i(23.)275 4031 y(GDB)f(source)g(\014les)e
(to)i(manipulate)e Ff(type)g Fk(structures:)150 4194
y(`)p Ff(typeprint.c)p Fk(')630 4304 y(Prin)m(ts)23 b(t)m(yp)s(e)i
(information)e(structures)h(in)f(readable)h(form.)39
b(In)m(terfaces)25 b(to)g(the)g(language-)630 4413 y(sp)s(eci\014c)45
b(t)m(yp)s(e)h(prin)m(ting)d(routines)i(describ)s(ed)f(in)h(Section)g
(8.3.7)j([Language-Sp)s(eci\014c)630 4523 y(Sources],)31
b(page)g(23.)150 4685 y(`)p Ff(gdbtypes.c)p Fk(')630
4794 y(F)-8 b(undamen)m(tal)30 b(t)m(yp)s(e)h(de\014nitions)d(used)h(b)
m(y)i(GDB.)275 4958 y(GDB)g(source)g(\014les)e(to)i(manipulate)e
Ff(expression)e Fk(structures:)150 5121 y(`)p Ff(parse.c)p
Fk(')94 b(P)m(arse)49 b(expressions)e(t)m(yp)s(ed)h(at)i(the)e
(command-line)f(in)m(to)i Ff(expression)p Fk(.)92 b(In)m(terfaces)630
5230 y(to)35 b(the)g(language-sp)s(eci\014c)f(expression)g(parsing)f
(routines)g(describ)s(ed)g(in)g(Section)h(8.3.7)630 5340
y([Language-Sp)s(eci\014c)c(Sources],)h(page)g(23.)p
eop
%%Page: 21 23
21 22 bop 150 -116 a Fk(Chapter)30 b(8:)41 b(GDB)31 b(Ov)m(erview)2437
b(21)150 299 y(`)p Ff(eval.c)p Fk(')142 b(Ev)-5 b(aluates)30
b Ff(expression)e Fk(structures)i(in)f(the)h(curren)m(t)h(execution)f
(con)m(text.)150 452 y(`)p Ff(expprint.c)p Fk(')630 561
y(Prin)m(ts)54 b Ff(expression)e Fk(structures)i(in)g(readable)g
(\(in\014x\))g(form.)113 b(In)m(terfaces)56 b(to)g(the)630
671 y(language-sp)s(eci\014c)36 b(t)m(yp)s(e)g(prin)m(ting)e(routines)h
(describ)s(ed)f(in)h(Section)h(8.3.7)h([Language-)630
781 y(Sp)s(eci\014c)29 b(Sources],)h(page)h(23.)275 933
y(GDB)g(source)g(\014les)e(to)i(manipulate)e Ff(value)g
Fk(structures:)150 1086 y(`)p Ff(valarith.c)p Fk(')630
1196 y(p)s(erform)g(arithmetic)h(op)s(erations)f(on)i(v)-5
b(alues)150 1349 y(`)p Ff(valops.c)p Fk(')630 1458 y(p)s(erform)29
b(non-arithmetic)g(op)s(erations)h(on)g(v)-5 b(alues)150
1611 y(`)p Ff(valprint.c)p Fk(')630 1721 y(prin)m(t)29
b(functions)g(for)h(v)-5 b(alues)150 1874 y(`)p Ff(values.c)p
Fk(')630 1983 y(lo)m(w-lev)m(el)30 b(pac)m(king/unpac)m(king)g(of)h(v)
-5 b(alue)29 b(ob)5 b(jects)32 b(to/from)f(ra)m(w)f(format)150
2136 y(`)p Ff(findvar.c)p Fk(')630 2246 y(resolv)m(e)k(v)-5
b(ariables)31 b(to)j(their)f(v)-5 b(alue)32 b(structures)h(\(as)h
(appropriate)e(to)i(the)f(curren)m(t)g(stac)m(k)630 2355
y(en)m(vironmen)m(t\).)150 2570 y Fe(8.3.4)63 b(Stac)m(k)39
b(Analysis)150 2781 y Fk(`)p Ff(blockframe.c)p Fk(')630
2890 y(mac)m(hine-indep)s(enden)m(t)28 b(co)s(de)j(to)g(analyze)g(stac)
m(k)h(frames)150 3043 y(`)p Ff(stack.c)p Fk(')94 b(mac)m(hine-indep)s
(enden)m(t)22 b(stac)m(k)k(frame)e(analysis,)h(user-lev)m(el)e
(commands)h(to)h(manage)h(and)630 3153 y(insp)s(ect)j(the)i(stac)m(k.)
150 3367 y Fe(8.3.5)63 b(Breakp)s(oin)m(ts)150 3578 y
Fk(`)p Ff(breakpoint.c)p Fk(')630 3688 y(Mac)m(hine-indep)s(enden)m(t)
42 b(breakp)s(oin)m(t)g(co)s(de.)79 b(Handles)42 b(and)h(dispatc)m(hes)
f(all)g(forms)h(of)630 3797 y(breakp)s(oin)m(ts,)c(including)34
b(hardw)m(are)k(breakp)s(oin)m(ts,)g(soft)m(w)m(are)i(breakp)s(oin)m
(ts,)e(hardw)m(are)630 3907 y(and)c(soft)m(w)m(are)i(w)m(atc)m(hp)s
(oin)m(ts,)h(and)d(shared)g(library)f(breakp)s(oin)m(ts.)52
b(Con)m(tains)35 b(top-lev)m(el)630 4016 y(commands)d(to)h(set,)g(insp)
s(ect,)e(and)h(manipulate)e(breakp)s(oin)m(ts)h(and)h(w)m(atc)m(hp)s
(oin)m(ts.)46 b(Pro-)630 4126 y(vides)36 b(routine)h(to)h(read)f
(memory)h(from)f(inferior,)g(replacing)f(an)m(y)i(memory)f(that)h(ma)m
(y)630 4235 y(ha)m(v)m(e)32 b(b)s(een)d(o)m(v)m(erwritten)i(b)m(y)f(a)h
(breakp)s(oin)m(t)e(with)g(its)h(sa)m(v)m(ed)i(v)-5 b(alue.)150
4388 y(`)p Ff(mem-break.c)p Fk(')630 4498 y(Implemen)m(ts)23
b(soft)m(w)m(are)i(breakp)s(oin)m(ts.)38 b(T)-8 b(o)24
b(set)h(a)f(breakp)s(oin)m(t)f(at)i(a)f(giv)m(en)g(lo)s(cation,)h(GDB)
630 4608 y(sa)m(v)m(es)31 b(the)e(instruction)e(at)j(that)g(lo)s
(cation)f(and)g(inserts)f(a)h(soft)m(w)m(are)i(trap)e(instruction)e(in)
630 4717 y(its)j(place.)150 4931 y Fe(8.3.6)63 b(Sym)m(b)s(ol)40
b(File)i(Managemen)m(t)275 5121 y Fk(The)32 b(follo)m(wing)f(\014les)h
(allo)m(w)g(GDB)i(to)f(parse)g(and)f(manage)i(sym)m(b)s(ol)d
(information)g(in)h(a)h(v)-5 b(ariet)m(y)33 b(of)150
5230 y(formats.)40 b(F)-8 b(or)29 b(an)e(o)m(v)m(erview)i(of)f(GDB)h
(ob)5 b(ject)29 b(\014le)e(and)g(sym)m(b)s(ol)g(handling,)e(see)k
Fi(h)p Fk(unde\014ned)p Fi(i)d Fk([Sym)m(b)s(ol)150 5340
y(T)-8 b(ables],)30 b(page)h Fi(h)p Fk(unde\014ned)p
Fi(i)p Fk(.)p eop
%%Page: 22 24
22 23 bop 150 -116 a Fk(Chapter)30 b(8:)41 b(GDB)31 b(Ov)m(erview)2437
b(22)150 299 y(`)p Ff(objfiles.c)p Fk(')630 408 y(create/destro)m
(y/manage)35 b(ob)5 b(j\014le)29 b(structures)150 580
y(`)p Ff(symfile.c)p Fk(')630 690 y(top-lev)m(el)i(commands)f(to)h
(handle)e(ob)5 b(j\014les,)29 b(also)h(handles)f(o)m(v)m(erla)m(ys)j
(\(un)m(used\))150 862 y(`)p Ff(symmisc.c)p Fk(')630
972 y(v)-5 b(arious)29 b(ob)5 b(j\014le)30 b(and)f(\(p\)sym)m(tab)i
(utilities)d(\(mainly)h(debugging\))150 1144 y(`)p Ff(symtab.c)p
Fk(')630 1253 y(basic)h(sym)m(b)s(ol)f(table)h(utilities)e(\(mainly)h
(lo)s(okup\))150 1425 y(`)p Ff(minsyms.c)p Fk(')630 1535
y(manage)i(minimal)d(sym)m(b)s(ol)h(tables)150 1707 y(`)p
Ff(buildsym.c)p Fk(')630 1816 y(build)e(complete)k(sym)m(b)s(ol)e(data)
i(structures)275 1995 y(The)e(follo)m(wing)f(source)i(\014les)f(pro)m
(vide)f(sym)m(b)s(ol-reading)g(in)m(terfaces)j(for)e(v)-5
b(arious)29 b(\014le)g(formats.)40 b(Al-)150 2104 y(though)22
b(all)e(these)j(\014les)e(are)h(compiled)e(in)m(to)i(GDB)h(for)f(Mac)h
(OS)e(X,)h(only)f(the)h(\014rst)f(three)h(\(`)p Ff(stabsread)p
Fk(',)150 2214 y(`)p Ff(dbxread)p Fk(',)29 b(and)h(`)p
Ff(machoread)p Fk('\))f(are)h(activ)m(ely)h(used)f(b)m(y)g(the)h(rest)f
(of)h(GDB.)150 2392 y(`)p Ff(stabsread.c)p Fk(')630 2502
y(common)g(stabs)f(parsing)f(routines)150 2674 y(`)p
Ff(dbxread.c)p Fk(')630 2783 y(read)h(DBX)i(\(stabs\))f(sym)m(b)s(ol)e
(\014les)150 2955 y(`)p Ff(machoread.c)p Fk(')630 3065
y(read)h(Mac)m(h-O)i(\(stabs\))f(sym)m(b)s(ol)e(\014les)150
3237 y(`)p Ff(nlmread.c)p Fk(')630 3346 y(read)h(Net)m(w)m(are)j(NLM)d
(sym)m(b)s(ol)f(\014les)h(\(un)m(used\))150 3518 y(`)p
Ff(os9kread.c)p Fk(')630 3628 y(read)g(OS9/OS9K)g(sym)m(b)s(ol)f
(\014les)h(\(un)m(used\))150 3800 y(`)p Ff(dwarf2read.c)p
Fk(')630 3909 y(read)g(D)m(W)-10 b(ARF2)33 b(sym)m(b)s(ol)c(\014les)g
(\(un)m(used\))150 4081 y(`)p Ff(dwarfread.c)p Fk(')630
4191 y(read)h(D)m(W)-10 b(ARF)32 b(sym)m(b)s(ol)d(\014les)h(\(un)m
(used\))150 4363 y(`)p Ff(elfread.c)p Fk(')630 4473 y(read)g(ELF)h(sym)
m(b)s(ol)e(\014les)g(\(un)m(used\))150 4645 y(`)p Ff(coffread.c)p
Fk(')630 4754 y(read)h(COFF)h(sym)m(b)s(ol)e(\014les)g(\(un)m(used\))
150 4926 y(`)p Ff(mdebugread.c)p Fk(')630 5036 y(read)h(ECOFF)g(sym)m
(b)s(ol)g(\014les)f(\(un)m(used\))150 5208 y(`)p Ff(mipsread.c)p
Fk(')630 5317 y(read)h(MIPS)g(sym)m(b)s(ol)f(\014les)h(\(un)m(used\))p
eop
%%Page: 23 25
23 24 bop 150 -116 a Fk(Chapter)30 b(8:)41 b(GDB)31 b(Ov)m(erview)2437
b(23)150 299 y Fe(8.3.7)63 b(Language-Sp)s(eci\014c)41
b(Sources)275 490 y Fk(The)25 b(follo)m(wing)g(\014les)h(are)h(used)e
(to)i(pro)m(vide)f(language-sp)s(eci\014c)g(expression)f(ev)-5
b(aluation)26 b(and)g(prin)m(t-)150 599 y(ing)38 b(supp)s(ort.)66
b(The)39 b(\014le)f Fg(lang)p Fk(-exp)h(handles)f(expression)f
(parsing,)k Fg(lang)p Fk(-t)m(yp)s(eprin)m(t)d(prin)m(ts)f(h)m(uman-)
150 709 y(readable)e(v)m(ersions)h(of)g(GDB)h('t)m(yp)s(e')f
(structures,)h(and)f Fg(lang)p Fk(-v)-5 b(alprin)m(t)34
b(prin)m(ts)g(h)m(uman-readable)h(v)m(er-)150 819 y(sions)g(of)h(GDB)h
('v)-5 b(alue')36 b(structures,)h(and)e Fg(lang)p Fk(-lang)g(pro)m
(vides)g(general)h(language-sp)s(eci\014c)g(supp)s(ort)150
928 y(functions.)80 b(F)-8 b(or)45 b(more)f(information)e(on)i
(language-sp)s(eci\014c)g(supp)s(ort)e(in)h(GDB,)i(see)f
Fi(h)p Fk(unde\014ned)p Fi(i)150 1038 y Fk([Languages],)32
b(page)f Fi(h)p Fk(unde\014ned)p Fi(i)p Fk(.)150 1194
y Ff(C)432 b Fk(`)p Ff(c-exp)p Fk(',)30 b(`)p Ff(c-lang)p
Fk(',)f(`)p Ff(c-typeprint)p Fk(',)f(`)p Ff(c-valprint)p
Fk(')150 1350 y Ff(C++)336 b Fk(`)p Ff(cp-valprint)p
Fk(')150 1506 y Ff(Objective-C)630 1615 y Fk(`)p Ff(objc-exp)p
Fk(',)29 b(`)p Ff(objc-lang)p Fk(',)f(`)p Ff(objc)p Fk(')150
1771 y Ff(Chill)240 b Fk(`)p Ff(ch-exp)p Fk(',)29 b(`)p
Ff(ch-lang)p Fk(',)h(`)p Ff(ch-typeprint)p Fk(',)d(`)p
Ff(ch-valprint)p Fk(')150 1927 y Ff(Fortran)144 b Fk(`)p
Ff(f-exp)p Fk(',)30 b(`)p Ff(f-lang)p Fk(',)f(`)p Ff(f-typeprint)p
Fk(',)f(`)p Ff(f-valprint)p Fk(')150 2083 y Ff(Java)288
b Fk(`)p Ff(jv-exp)p Fk(',)29 b(`)p Ff(jv-lang)p Fk(',)h(`)p
Ff(jv-typeprint)p Fk(',)d(`)p Ff(jv-valprint)p Fk(')150
2239 y Ff(Modula)i(II)67 b Fk(`)p Ff(m2-exp)p Fk(',)29
b(`)p Ff(m2-lang)p Fk(',)h(`)p Ff(m2-typeprint)p Fk(',)d(`)p
Ff(m2-valprint)p Fk(')150 2395 y Ff(Scheme)192 b Fk(`)p
Ff(scm-exp)p Fk(',)29 b(`)p Ff(scm-lang)p Fk(',)g(`)p
Ff(scm-valprint)p Fk(')150 2614 y Fe(8.3.8)63 b(Kernel)41
b(Debugging)150 2828 y Fk(`)p Ff(remote-kdp.c)p Fk(')630
2938 y(in)m(terface)31 b(gdb)f('target')i(in)m(terface)f(to)g(a)g
(remote)g(Mac)h(OS)d(X)i(k)m(ernel)f(via)g(KDP)150 3094
y(`)p Ff(kdp-udp.c)p Fk(')630 3204 y(comm)m(unications)g(library)e(for)
i(KDP)150 3360 y(`)p Ff(remote-utils.c)p Fk(')630 3469
y(more)h(serial-line)c(supp)s(ort)i(\(un)m(used\))150
3625 y(`)p Ff(remote.c)p Fk(')630 3735 y(generic)h(serial-line)e
(debugging)i(\(un)m(used\))150 3891 y(`)p Ff(ser-tcp.c)p
Fk(')630 4000 y(treat)h(TCP)f(connection)h(as)f(serial)f(line)g(\(un)m
(used\))150 4156 y(`)p Ff(ser-unix.c)p Fk(')630 4266
y(in)m(terface)i(to)g(unix)e(serial)g(p)s(orts)g(\(un)m(used\))150
4422 y(`)p Ff(serial.c)p Fk(')630 4532 y(implemen)m(t)g(generic)h
(serial)f(routines)h(\(un)m(used\))150 4751 y Fe(8.3.9)63
b(Sources)41 b(Sp)s(eci\014c)g(to)g(Mac)g(OS)g(X)150
4965 y Fk(`)p Ff(nextstep-nat-dyld.c)p Fk(')630 5074
y(handle)29 b(dyld)f(debugging)i(messages)h(and)f(tak)m(e)i(action)f
(\(mainly)d(load)i(sym\014les\))150 5230 y(`)p Ff
(nextstep-nat-inferior.c)p Fk(')630 5340 y(in)m(terface)d(b)s(et)m(w)m
(een)g(GDB)g('target')h(abstraction)e(and)g(Mac)m(h)h(pro)s(cess)f(con)
m(trol)g(functions)p eop
%%Page: 24 26
24 25 bop 150 -116 a Fk(Chapter)30 b(8:)41 b(GDB)31 b(Ov)m(erview)2437
b(24)150 299 y(`)p Ff(nextstep-nat-mutils.c)p Fk(')630
408 y(mac)m(h)31 b(functions)e(to)i(read/write)f(memory)-8
b(,)31 b(other)f(manipulations)150 561 y(`)p Ff
(nextstep-nat-sigthread.c)p Fk(')630 671 y(create/manage)j(thread)e(to)
g(detect)g(signals)e(sen)m(t)i(to)g(the)g(inferior)d(pro)s(cess)150
824 y(`)p Ff(nextstep-nat-threads.c)p Fk(')630 934 y(in)m(terface)40
b(gdb)e('target')k(in)m(terface)d(to)h(a)g(running)c(Mac)41
b(OS)d(X)h(pro)s(cess)g(on)g(the)h(same)630 1043 y(mac)m(hine)150
1196 y(`)p Ff(nextstep-tdep.c)p Fk(')630 1306 y(extra)31
b(functions)e(needed)h(for)g(all)f(nextstep)i(targets)h(\(empt)m(y\))
150 1459 y(`)p Ff(nextstep-xdep.c)p Fk(')630 1568 y(extra)f(functions)e
(needed)h(for)g(nextstep)h(hosts)f(\(empt)m(y\))150 1783
y Fe(8.3.10)63 b(P)m(o)m(w)m(erPC-sp)s(eci\014c)39 b(Sources)150
1994 y Fk(`)p Ff(ppc-frameinfo.c)p Fk(')630 2103 y(determine/prin)m(t)
29 b(PPC)g(stac)m(k)j(frame)e(info)g(\(\014nd)f(prologue,)h(etc\))150
2256 y(`)p Ff(ppc-frameops.c)p Fk(')630 2366 y(basic)39
b(PPC)f(stac)m(k)j(frame)f(op)s(erations)e(\(push)g(dumm)m(y)-8
b(,)41 b(push)d(args,)k(p)s(op,)f(\014nd)d(sa)m(v)m(ed)630
2475 y(regs\))150 2628 y(`)p Ff(ppc-next-tcore.c)p Fk(')630
2738 y(fetc)m(h/store)32 b(PPC)e(registers)g(to/from)h(running)d(Mac)m
(h)j(thread)150 2891 y(`)p Ff(ppc-next-tdep.c)p Fk(')630
3000 y(fetc)m(h/store)h(PPC)e(registers)g(from)g(Mac)m(h)i(data)f
(structure)150 3153 y(`)p Ff(ppc-tdep.c)p Fk(')630 3263
y(PPC)f(analysis)f(functions)g(used)g(b)m(y)h(rest)h(of)f(GDB)150
3477 y Fe(8.3.11)63 b(Miscellaneous)150 3689 y Fk(`)p
Ff(demangle)p Fk(')630 3798 y(Allo)m(w)20 b(user)g(to)i(explicitly)c
(select)k(function)d(name)i(demangling)e(st)m(yle)j(\(e.g.)39
b('k)p Ff(+)p Fk(r',)22 b('lucid',)630 3908 y('GNU'\).)150
4061 y(`)p Ff(language)p Fk(')630 4170 y(Multiple-language)27
b(supp)s(ort)g(for)i(GDB.)h(Con)m(tains)e(dispatc)m(h)g(tables)h(to)g
(the)g(language-)630 4280 y(sp)s(eci\014c)21 b(routines,)h(routines)f
(to)h(detect)h(the)f(language)h(of)f(a)g(source)g(\014le)f(/)h(ob)5
b(ject)22 b(mo)s(dule,)630 4389 y(and)30 b(explicit)e(commands)i(to)i
(prin)m(t/set)e(the)g(curren)m(t)g(language)h(en)m(vironmen)m(t.)150
4542 y(`)p Ff(source)p Fk(')142 b(View)35 b(and)g(na)m(vigate)i
(through)e(source)h(\014les.)56 b(Also)36 b(resp)s(onsible)d(for)i
(directory)g(searc)m(h)630 4652 y(path)30 b(mec)m(hanisms.)150
4866 y Fe(8.3.12)63 b(Assorted)42 b(Utilities)150 5077
y Fk(`)p Ff(bcache)p Fk(')142 b(e\016ciency)30 b(additions)f(for)h
(obstac)m(k)150 5230 y(`)p Ff(gnu-regex)p Fk(')630 5340
y(regular)g(expression)f(library)p eop
%%Page: 25 27
25 26 bop 150 -116 a Fk(Chapter)30 b(9:)41 b(T)-8 b(arget)32
b(Arc)m(hitecture)e(De\014nition)1834 b(25)150 299 y(`)p
Ff(dcache)p Fk(')142 b(cac)m(hes)32 b(inferior)c(memory)i(accesses)i
(\(for)f(remote)g(targets\))150 489 y(`)p Ff(complaints)p
Fk(')630 598 y(error-prin)m(ting)g(for)i(sym)m(b)s(ol)f(\014le)g
(reading)h(allo)m(ws)f(error)h(messages)h(to)g(b)s(e)f(prin)m(ted)f
(only)630 708 y(once)f(p)s(er)e(op)s(eration,)h(rather)h(than)f(rep)s
(eated)g(incessan)m(tly)150 898 y(`)p Ff(copying)p Fk(')94
b(prin)m(ts)29 b(license/w)m(arran)m(t)m(y)i(information)150
1087 y(`)p Ff(version)p Fk(')94 b(automatically)30 b(generated,)i(con)m
(tains)e(v)m(ersion)g(string)150 1277 y(`)p Ff(annotate)p
Fk(')630 1387 y(con)m(v)m(enience)h(functions)e(to)j(prin)m(t)d
(annotations)h(for)g(libgdb)150 1576 y(`)p Ff(environ)p
Fk(')94 b(utilities)28 b(to)j(read/mo)s(dify)e(the)h(pro)s(cess)g(en)m
(vironmen)m(t)150 1766 y(`)p Ff(utils)p Fk(')190 b(Utilities)24
b(used)i(b)m(y)g(GDB.)h(Pro)m(vides)e(routines)g(to)i(pro)m(vide)f
(formatted)g(output,)h(memory)630 1876 y(managemen)m(t,)32
b(and)e(data)h(con)m(v)m(ersion)g(routines.)150 2219
y Fh(9)80 b(T)-13 b(arget)53 b(Arc)l(hitecture)f(De\014nition)275
2544 y Fk(GDB's)40 b(target)h(arc)m(hitecture)f(de\014nes)e(what)i
(sort)f(of)h(mac)m(hine-language)f(programs)g(GDB)i(can)150
2654 y(w)m(ork)30 b(with,)g(and)g(ho)m(w)g(it)g(w)m(orks)g(with)f
(them.)275 2818 y(A)m(t)i(presen)m(t,)g(the)f(target)i(arc)m(hitecture)
f(de\014nition)d(consists)i(of)g(a)h(n)m(um)m(b)s(er)e(of)i(C)f
(macros.)150 3152 y Fj(9.1)68 b(Registers)47 b(and)e(Memory)275
3375 y Fk(GDB's)25 b(mo)s(del)e(of)h(the)h(target)h(mac)m(hine)e(is)f
(rather)h(simple.)37 b(GDB)25 b(assumes)f(the)g(mac)m(hine)g(includes)
150 3484 y(a)31 b(bank)f(of)g(registers)g(and)g(a)h(blo)s(c)m(k)f(of)g
(memory)-8 b(.)41 b(Eac)m(h)31 b(register)f(ma)m(y)h(ha)m(v)m(e)h(a)f
(di\013eren)m(t)f(size.)275 3649 y(GDB)23 b(do)s(es)f(not)h(ha)m(v)m(e)
h(a)f(magical)f(w)m(a)m(y)h(to)h(matc)m(h)f(up)e(with)h(the)g
(compiler's)f(idea)h(of)h(whic)m(h)e(registers)150 3759
y(are)32 b(whic)m(h;)e(ho)m(w)m(ev)m(er,)j(it)e(is)f(critical)g(that)i
(they)f(do)g(matc)m(h)h(up)f(accurately)-8 b(.)44 b(The)31
b(only)f(w)m(a)m(y)i(to)g(mak)m(e)150 3868 y(this)38
b(w)m(ork)i(is)e(to)i(get)h(accurate)g(information)c(ab)s(out)i(the)h
(order)f(that)h(the)f(compiler)f(uses,)j(and)e(to)150
3978 y(re\015ect)31 b(that)g(in)e(the)i Ff(REGISTER_NAME)26
b Fk(and)k(related)g(macros.)275 4143 y(GDB)h(can)g(handle)e
(big-endian,)f(little-endian,)h(and)g(bi-endian)f(arc)m(hitectures.)150
4476 y Fj(9.2)68 b(F)-11 b(rame)45 b(In)l(terpretation)150
4867 y(9.3)68 b(Inferior)46 b(Call)g(Setup)150 5259 y(9.4)68
b(Compiler)46 b(Characteristics)p eop
%%Page: 26 28
26 27 bop 150 -116 a Fk(Chapter)30 b(9:)41 b(T)-8 b(arget)32
b(Arc)m(hitecture)e(De\014nition)1834 b(26)150 299 y
Fj(9.5)68 b(T)-11 b(arget)45 b(Conditionals)275 491 y
Fk(This)28 b(section)j(describ)s(es)d(the)j(macros)g(that)g(y)m(ou)f
(can)h(use)f(to)h(de\014ne)f(the)g(target)i(mac)m(hine.)150
648 y Ff(ADDITIONAL_OPTIONS)150 782 y(ADDITIONAL_OPTION_CASES)150
916 y(ADDITIONAL_OPTION_HANDLE)o(R)150 1049 y(ADDITIONAL_OPTION_HELP)
630 1159 y Fk(These)h(are)h(a)g(set)g(of)f(macros)h(that)g(allo)m(w)f
(the)h(addition)d(of)j(additional)d(command)j(line)630
1268 y(options)29 b(to)h(GDB.)g(They)f(are)h(curren)m(tly)e(used)h
(only)f(for)i(the)f(unsupp)s(orted)e(i960)j(Nindy)630
1378 y(target,)i(and)e(should)e(not)j(b)s(e)f(used)f(in)g(an)m(y)i
(other)g(con\014guration.)150 1536 y Ff(ADDR_BITS_REMOVE)26
b(\(addr\))630 1645 y Fk(If)21 b(a)g(ra)m(w)h(mac)m(hine)f(address)f
(includes)f(an)m(y)i(bits)g(that)g(are)h(not)g(really)e(part)h(of)g
(the)h(address,)630 1755 y(then)f(de\014ne)f(this)g(macro)i(to)g
(expand)e(in)m(to)i(an)f(expression)f(that)h(zeros)h(those)g(bits)e(in)
g Fg(addr)p Fk(.)630 1865 y(F)-8 b(or)37 b(example,)h(the)f(t)m(w)m(o)h
(lo)m(w-order)e(bits)g(of)h(a)g(Motorola)h(88K)f(address)f(ma)m(y)h(b)s
(e)f(used)630 1974 y(b)m(y)30 b(some)h(k)m(ernels)f(for)h(their)e(o)m
(wn)i(purp)s(oses,)e(since)h(addresses)g(m)m(ust)g(alw)m(a)m(ys)i(b)s
(e)e(4-b)m(yte)630 2084 y(aligned,)i(and)g(so)h(are)g(of)g(no)g(use)f
(for)g(addressing.)46 b(Those)33 b(bits)e(should)g(b)s(e)h(\014ltered)g
(out)630 2193 y(with)d(an)h(expression)f(suc)m(h)i(as)f
Ff(\(\(addr\))f(&)h(~3\))p Fk(.)150 2351 y Ff(BEFORE_MAIN_LOOP_HOOK)630
2461 y Fk(De\014ne)i(this)e(to)i(expand)f(in)m(to)g(an)m(y)h(co)s(de)f
(that)h(y)m(ou)g(w)m(an)m(t)g(to)h(execute)f(b)s(efore)f(the)h(main)630
2570 y(lo)s(op)i(starts.)54 b(Although)33 b(this)h(is)f(not,)k
(strictly)c(sp)s(eaking,)i(a)g(target)h(conditional,)e(that)630
2680 y(is)c(ho)m(w)h(it)f(is)g(curren)m(tly)g(b)s(eing)g(used.)41
b(Note)32 b(that)g(if)e(a)h(con\014guration)f(w)m(ere)i(to)f(de\014ne)f
(it)630 2789 y(one)k(w)m(a)m(y)h(for)e(a)i(host)e(and)h(a)g(di\013eren)
m(t)f(w)m(a)m(y)i(for)e(the)h(target,)j(GDB)e(will)c(probably)h(not)630
2899 y(compile,)25 b(let)f(alone)g(run)f(correctly)-8
b(.)39 b(This)23 b(is)g(curren)m(tly)g(used)h(only)f(for)h(the)h
(unsupp)s(orted)630 3009 y(i960)31 b(Nindy)e(target,)j(and)e(should)e
(not)j(b)s(e)e(used)h(in)f(an)m(y)i(other)f(con\014guration.)150
3166 y Ff(BELIEVE_PCC_PROMOTION)630 3276 y Fk(De\014ne)35
b(if)f(the)h(compiler)f(promotes)h(a)g(short)g(or)g(c)m(har)g
(parameter)g(to)h(an)f(in)m(t,)h(but)e(still)630 3385
y(rep)s(orts)c(the)g(parameter)h(as)g(its)e(original)g(t)m(yp)s(e,)i
(rather)f(than)g(the)h(promoted)f(t)m(yp)s(e.)150 3543
y Ff(BELIEVE_PCC_PROMOTION_TY)o(PE)630 3653 y Fk(De\014ne)f(this)f(if)g
(GDB)i(should)d(b)s(eliev)m(e)h(the)i(t)m(yp)s(e)f(of)g(a)g(short)g
(argumen)m(t)g(when)f(compiled)630 3762 y(b)m(y)h(p)s(cc,)g(but)f(lo)s
(ok)h(within)d(a)j(full)e(in)m(t)h(space)i(to)f(get)h(its)e(v)-5
b(alue.)40 b(Only)27 b(de\014ned)h(for)h(Sun-3)630 3872
y(at)i(presen)m(t.)150 4030 y Ff(BITS_BIG_ENDIAN)630
4139 y Fk(De\014ne)i(this)f(if)g(the)h(n)m(um)m(b)s(ering)e(of)i(bits)f
(in)f(the)i(targets)i(do)s(es)d(*not*)i(matc)m(h)g(the)f(endi-)630
4249 y(anness)27 b(of)h(the)g(target)i(b)m(yte)e(order.)39
b(A)28 b(v)-5 b(alue)27 b(of)h(1)g(means)g(that)h(the)f(bits)e(are)i(n)
m(um)m(b)s(ered)630 4358 y(in)h(a)i(big-endian)d(order,)i(0)h(means)f
(little-endian.)150 4516 y Ff(BREAKPOINT)630 4626 y Fk(This)35
b(is)h(the)g(c)m(haracter)j(arra)m(y)e(initializer)c(for)k(the)g(bit)e
(pattern)i(to)g(put)f(in)m(to)h(memory)630 4735 y(where)32
b(a)g(breakp)s(oin)m(t)g(is)f(set.)47 b(Although)31 b(it's)h(common)g
(to)h(use)f(a)h(trap)f(instruction)e(for)630 4845 y(a)e(breakp)s(oin)m
(t,)g(it's)g(not)g(required;)f(for)h(instance,)h(the)f(bit)f(pattern)h
(could)f(b)s(e)g(an)h(in)m(v)-5 b(alid)630 4954 y(instruction.)38
b(The)29 b(breakp)s(oin)m(t)e(m)m(ust)i(b)s(e)g(no)f(longer)h(than)g
(the)g(shortest)g(instruction)e(of)630 5064 y(the)k(arc)m(hitecture.)
630 5198 y Fg(BREAKPOINT)36 b Fk(has)30 b(b)s(een)g(deprecated)h(in)e
(fa)m(v)m(our)i(of)f Fg(BREAKPOINT)p 3259 5198 28 4 v
32 w(FR)m(OM)p 3568 5198 V 34 w(PC)p Fk(.)150 5355 y
Ff(BIG_BREAKPOINT)p eop
%%Page: 27 29
27 28 bop 150 -116 a Fk(Chapter)30 b(9:)41 b(T)-8 b(arget)32
b(Arc)m(hitecture)e(De\014nition)1834 b(27)150 299 y
Ff(LITTLE_BREAKPOINT)630 408 y Fk(Similar)27 b(to)k(BREAKPOINT,)f(but)g
(used)g(for)g(bi-endian)e(targets.)630 546 y Fg(BIG)p
803 546 28 4 v 33 w(BREAKPOINT)49 b Fk(and)42 b Fg(LITTLE)p
2047 546 V 31 w(BREAKPOINT)48 b Fk(ha)m(v)m(e)c(b)s(een)e(deprecated)h
(in)630 656 y(fa)m(v)m(our)31 b(of)g Fg(BREAKPOINT)p
1649 656 V 32 w(FR)m(OM)p 1958 656 V 33 w(PC)p Fk(.)150
822 y Ff(REMOTE_BREAKPOINT)150 960 y(LITTLE_REMOTE_BREAKPOINT)150
1098 y(BIG_REMOTE_BREAKPOINT)630 1208 y Fk(Similar)c(to)k(BREAKPOINT,)f
(but)g(used)g(for)g(remote)h(targets.)630 1346 y Fg(BIG)p
803 1346 V 33 w(REMOTE)p 1247 1346 V 32 w(BREAKPOINT)26
b Fk(and)20 b Fg(LITTLE)p 2445 1346 V 31 w(REMOTE)p 2887
1346 V 33 w(BREAKPOINT)26 b Fk(ha)m(v)m(e)p 3751 1346
42 64 v 630 1456 a(b)s(een)k(deprecated)g(in)g(fa)m(v)m(our)h(of)f
Fg(BREAKPOINT)p 2429 1456 28 4 v 32 w(FR)m(OM)p 2738
1456 V 34 w(PC)p Fk(.)150 1622 y Ff(BREAKPOINT_FROM_PC)25
b(\(pcptr,)k(lenptr\))630 1732 y Fk(Use)38 b(the)h(program)e(coun)m
(ter)i(to)g(determine)e(the)h(con)m(ten)m(ts)i(and)d(size)h(of)h(a)f
(breakp)s(oin)m(t)630 1841 y(instruction.)46 b(It)33
b(returns)e(a)i(p)s(oin)m(ter)f(to)i(a)f(string)e(of)i(b)m(ytes)h(that)
f(enco)s(de)g(a)g(breakp)s(oin)m(t)630 1951 y(instruction,)c(stores)i
(the)g(length)f(of)h(the)g(string)f(to)h(*lenptr,)f(and)g(adjusts)g(p)s
(c)g(\(if)g(neces-)630 2060 y(sary\))k(to)h(p)s(oin)m(t)e(to)i(the)f
(actual)h(memory)f(lo)s(cation)f(where)h(the)g(breakp)s(oin)m(t)f
(should)g(b)s(e)630 2170 y(inserted.)630 2308 y(Although)44
b(it)g(is)g(common)h(to)g(use)g(a)g(trap)f(instruction)f(for)i(a)g
(breakp)s(oin)m(t,)i(it's)e(not)630 2418 y(required;)h(for)c(instance,)
j(the)d(bit)f(pattern)i(could)e(b)s(e)g(an)h(in)m(v)-5
b(alid)40 b(instruction.)73 b(The)630 2527 y(breakp)s(oin)m(t)28
b(m)m(ust)g(b)s(e)h(no)f(longer)h(than)f(the)h(shortest)g(instruction)e
(of)i(the)g(arc)m(hitecture.)630 2665 y(Replaces)i(all)e(the)h(other)h
Fg(BREAKPOINT)36 b Fk(macros.)150 2832 y Ff(CALL_DUMMY_P)630
2941 y Fk(A)30 b(C)g(expresson)g(that)h(is)f(non-zero)h(when)e(the)i
(target)h(sup)s(orts)c(inferior)h(function)g(calls.)150
3108 y Ff(CALL_DUMMY_WORDS)630 3217 y Fk(P)m(oin)m(ter)34
b(to)f(an)h(arra)m(y)f(of)h Fg(LONGEST)k Fk(w)m(ords)33
b(of)g(data)h(con)m(taining)f(host-b)m(yte-ordered)630
3327 y Fg(REGISTER)p 1114 3327 V 32 w(BYTES)e Fk(sized)26
b(v)-5 b(alues)26 b(that)h(partially)d(sp)s(ecify)h(the)i(sequence)g
(of)f(instruc-)630 3436 y(tions)k(needed)g(for)g(an)g(inferior)e
(function)h(call.)630 3574 y(Should)f(b)s(e)i(deprecated)h(in)e(fa)m(v)
m(our)i(of)f(a)h(macro)g(that)g(uses)f(target-b)m(yte-ordered)j(data.)
150 3741 y Ff(SIZEOF_CALL_DUMMY_WORDS)630 3850 y Fk(The)e(size)h(of)g
Fg(CALL)p 1350 3850 V 32 w(DUMMY)p 1753 3850 V 34 w(W)m(ORDS)p
Fk(.)h(When)e Fg(CALL)p 2707 3850 V 32 w(DUMMY)p 3110
3850 V 35 w(P)36 b Fk(this)31 b(m)m(ust)h(re-)630 3960
y(turn)d(a)i(p)s(ositiv)m(e)e(v)-5 b(alue.)41 b(See)30
b(also)h Fg(CALL)p 2112 3960 V 32 w(DUMMY)p 2515 3960
V 34 w(LENGTH)p Fk(.)150 4126 y Ff(CALL_DUMMY)630 4236
y Fk(A)f(static)h(initializer)d(for)i Fg(CALL)p 1773
4236 V 32 w(DUMMY)p 2176 4236 V 34 w(W)m(ORDS)p Fk(.)h(Deprecated.)150
4402 y Ff(CALL_DUMMY_LOCATION)630 4512 y Fk(inferior.h)150
4678 y Ff(CALL_DUMMY_STACK_ADJUST)630 4788 y Fk(Stac)m(k)g(adjustmen)m
(t)g(needed)f(when)f(p)s(erforming)f(an)j(inferior)d(function)h(call.)
630 4926 y(Should)f(b)s(e)i(deprecated)h(in)e(fa)m(v)m(or)i(of)g
(something)f(lik)m(e)f Fg(ST)-8 b(A)m(CK)p 2871 4926
V 33 w(ALIGN)p Fk(.)150 5092 y Ff(CALL_DUMMY_STACK_ADJUST_)o(P)630
5202 y Fk(Predicate)31 b(for)f(use)g(of)g Fg(CALL)p 1688
5202 V 33 w(DUMMY)p 2092 5202 V 34 w(ST)-8 b(A)m(CK)p
2437 5202 V 32 w(ADJUST)p Fk(.)630 5340 y(Should)28 b(b)s(e)i
(deprecated)h(in)e(fa)m(v)m(or)i(of)g(something)f(lik)m(e)f
Fg(ST)-8 b(A)m(CK)p 2871 5340 V 33 w(ALIGN)p Fk(.)p eop
%%Page: 28 30
28 29 bop 150 -116 a Fk(Chapter)30 b(9:)41 b(T)-8 b(arget)32
b(Arc)m(hitecture)e(De\014nition)1834 b(28)150 299 y
Ff(CANNOT_FETCH_REGISTER)25 b(\(regno\))630 408 y Fk(A)43
b(C)f(expression)f(that)i(should)e(b)s(e)h(nonzero)h(if)e
Fg(regno)48 b Fk(cannot)43 b(b)s(e)f(fetc)m(hed)h(from)f(an)630
518 y(inferior)e(pro)s(cess.)75 b(This)40 b(is)h(only)g(relev)-5
b(an)m(t)42 b(if)f Ff(FETCH_INFERIOR_REGISTERS)36 b Fk(is)41
b(not)630 628 y(de\014ned.)150 783 y Ff(CANNOT_STORE_REGISTER)25
b(\(regno\))630 892 y Fk(A)36 b(C)f(expression)g(that)h(should)e(b)s(e)
h(nonzero)h(if)e Fg(regno)41 b Fk(should)34 b(not)h(b)s(e)h(written)e
(to)j(the)630 1002 y(target.)65 b(This)36 b(is)h(often)h(the)h(case)g
(for)e(program)h(coun)m(ters,)j(status)d(w)m(ords,)h(and)f(other)630
1112 y(sp)s(ecial)29 b(registers.)40 b(If)30 b(this)f(is)g(not)i
(de\014ned,)e(GDB)i(will)d(assume)i(that)g(all)f(registers)h(ma)m(y)630
1221 y(b)s(e)g(written.)150 1377 y Ff(DO_DEFERRED_STORES)150
1509 y(CLEAR_DEFERRED_STORES)630 1619 y Fk(De\014ne)j(this)g(to)h
(execute)g(an)m(y)g(deferred)e(stores)i(of)g(registers)f(in)m(to)g(the)
g(inferior,)g(and)f(to)630 1728 y(cancel)f(an)m(y)f(deferred)g(stores.)
630 1861 y(Curren)m(tly)f(only)g(implemen)m(ted)g(correctly)i(for)f
(nativ)m(e)h(Sparc)e(con\014gurations?)150 2016 y Ff(CPLUS_MARKER)630
2125 y Fk(De\014ne)f(this)f(to)h(expand)f(in)m(to)h(the)g(c)m(haracter)
h(that)g(G)p Ff(++)e Fk(uses)h(to)g(distinguish)c(compiler-)630
2235 y(generated)44 b(iden)m(ti\014ers)d(from)i(programmer-sp)s
(eci\014ed)e(iden)m(ti\014ers.)77 b(By)43 b(default,)j(this)630
2345 y(expands)30 b(in)m(to)g Ff('$')p Fk(.)40 b(Most)31
b(System)f(V)h(targets)g(should)e(de\014ne)g(this)h(to)h
Ff('.')p Fk(.)150 2500 y Ff(DBX_PARM_SYMBOL_CLASS)630
2609 y Fk(Ho)s(ok)f(for)f(the)h Ff(SYMBOL_CLASS)c Fk(of)k(a)g
(parameter)g(when)e(deco)s(ding)g(DBX)j(sym)m(b)s(ol)d(infor-)630
2719 y(mation.)49 b(In)33 b(the)g(i960,)i(parameters)f(can)f(b)s(e)g
(stored)g(as)h(lo)s(cals)e(or)h(as)h(args,)g(dep)s(ending)630
2829 y(on)c(the)h(t)m(yp)s(e)f(of)h(the)f(debug)g(record.)150
2984 y Ff(DECR_PC_AFTER_BREAK)630 3093 y Fk(De\014ne)f(this)g(to)h(b)s
(e)e(the)i(amoun)m(t)f(b)m(y)h(whic)m(h)e(to)i(decremen)m(t)g(the)f(PC)
g(after)h(the)f(program)630 3203 y(encoun)m(ters)g(a)f(breakp)s(oin)m
(t.)39 b(This)27 b(is)g(often)i(the)f(n)m(um)m(b)s(er)f(of)i(b)m(ytes)f
(in)f(BREAKPOINT,)630 3313 y(though)j(not)h(alw)m(a)m(ys.)41
b(F)-8 b(or)31 b(most)g(targets)h(this)d(v)-5 b(alue)30
b(will)d(b)s(e)j(0.)150 3468 y Ff(DECR_PC_AFTER_HW_BREAK)630
3577 y Fk(Similarly)-8 b(,)27 b(for)j(hardw)m(are)g(breakp)s(oin)m(ts.)
150 3733 y Ff(DISABLE_UNSETTABLE_BREAK)24 b(addr)630
3842 y Fk(If)42 b(de\014ned,)j(this)c(should)g(ev)-5
b(aluate)43 b(to)g(1)g(if)f Fg(addr)48 b Fk(is)42 b(in)f(a)i(shared)f
(library)e(in)h(whic)m(h)630 3952 y(breakp)s(oin)m(ts)29
b(cannot)i(b)s(e)f(set)h(and)f(so)g(should)f(b)s(e)g(disabled.)150
4107 y Ff(DO_REGISTERS_INFO)630 4217 y Fk(If)h(de\014ned,)f(use)h(this)
g(to)h(prin)m(t)e(the)h(v)-5 b(alue)30 b(of)h(a)f(register)h(or)f(all)f
(registers.)150 4372 y Ff(END_OF_TEXT_DEFAULT)630 4482
y Fk(This)19 b(is)g(an)h(expression)f(that)i(should)e(designate)h(the)h
(end)e(of)i(the)f(text)i(section)e(\(?)37 b(FIXME)630
4591 y(?\))150 4746 y Ff(EXTRACT_RETURN_VALUE\(typ)o(e,re)o(gbuf)o(,va)
o(lbuf)o(\))630 4856 y Fk(De\014ne)22 b(this)e(to)i(extract)h(a)f
(function's)e(return)h(v)-5 b(alue)21 b(of)g(t)m(yp)s(e)h
Fg(t)m(yp)s(e)27 b Fk(from)21 b(the)g(ra)m(w)h(register)630
4966 y(state)32 b Fg(regbuf)47 b Fk(and)30 b(cop)m(y)h(that,)g(in)e
(virtual)g(format,)i(in)m(to)f Fg(v)-5 b(albuf)p Fk(.)150
5121 y Ff(EXTRACT_STRUCT_VALUE_ADD)o(RESS)o(\(reg)o(buf)o(\))630
5230 y Fk(When)38 b Fg(EXTRA)m(CT)p 1368 5230 28 4 v
33 w(STR)m(UCT)p 1782 5230 V 32 w(V)-10 b(ALUE)p 2127
5230 V 32 w(ADDRESS)p 2596 5230 V 33 w(P)44 b Fk(this)37
b(is)h(used)g(to)h(to)g(extract)630 5340 y(from)27 b(an)g(arra)m(y)h
Fg(regbuf)44 b Fk(\(con)m(taining)27 b(the)g(ra)m(w)h(register)f
(state\))i(the)e(address)g(in)f(whic)m(h)g(a)p eop
%%Page: 29 31
29 30 bop 150 -116 a Fk(Chapter)30 b(9:)41 b(T)-8 b(arget)32
b(Arc)m(hitecture)e(De\014nition)1834 b(29)630 299 y(function)24
b(should)g(return)h(its)g(structure)g(v)-5 b(alue,)27
b(as)f(a)g(CORE)p 2752 299 28 4 v 32 w(ADDR)g(\(or)h(an)e(expression)
630 408 y(that)31 b(can)g(b)s(e)e(used)h(as)h(one\).)150
564 y Ff(EXTRACT_STRUCT_VALUE_ADD)o(RESS)o(_P)630 673
y Fk(Predicate)g(for)f Fg(EXTRA)m(CT)p 1640 673 V 32
w(STR)m(UCT)p 2053 673 V 32 w(V)-10 b(ALUE)p 2398 673
V 33 w(ADDRESS)p Fk(.)150 829 y Ff(FLOAT_INFO)630 938
y Fk(If)31 b(de\014ned,)f(then)h(the)g(`info)f(\015oat')i(command)f
(will)d(prin)m(t)i(information)f(ab)s(out)i(the)g(pro-)630
1048 y(cessor's)g(\015oating)f(p)s(oin)m(t)g(unit.)150
1203 y Ff(FP_REGNUM)630 1313 y Fk(If)k(the)g(virtual)f(frame)h(p)s(oin)
m(ter)f(is)g(k)m(ept)i(in)e(a)i(register,)g(then)f(de\014ne)g(this)f
(macro)i(to)g(b)s(e)630 1422 y(the)c(n)m(um)m(b)s(er)e(\(greater)j
(than)e(or)g(equal)g(to)h(zero\))h(of)e(that)h(register.)630
1555 y(This)d(should)f(only)h(need)i(to)g(b)s(e)e(de\014ned)h(if)f
Ff(TARGET_READ_FP)d Fk(and)k Ff(TARGET_WRITE_FP)630 1664
y Fk(are)i(not)f(de\014ned.)150 1819 y Ff(FRAMELESS_FUNCTION_INVOC)o
(ATIO)o(N\(fi)o(\))630 1929 y Fk(De\014ne)23 b(this)f(to)i(an)e
(expression)g(that)i(returns)d(1)i(if)f(the)h(function)f(in)m(v)m(o)s
(cation)h(represen)m(ted)630 2039 y(b)m(y)30 b Fg(\014)k
Fk(do)s(es)c(not)g(ha)m(v)m(e)i(a)f(stac)m(k)g(frame)g(asso)s(ciated)g
(with)e(it.)40 b(Otherwise)29 b(return)g(0.)150 2194
y Ff(FRAME_ARGS_ADDRESS_CORRE)o(CT)630 2303 y Fk(stac)m(k.c)150
2459 y Ff(FRAME_CHAIN\(frame\))630 2568 y Fk(Giv)m(en)h
Fg(frame)p Fk(,)h(return)e(a)i(p)s(oin)m(ter)e(to)i(the)g(calling)e
(frame.)150 2724 y Ff(FRAME_CHAIN_COMBINE\(chai)o(n,fr)o(ame\))630
2833 y Fk(De\014ne)39 b(this)e(to)i(tak)m(e)h(the)e(frame)h(c)m(hain)e
(p)s(oin)m(ter)h(and)f(the)i(frame's)f(nominal)f(address)630
2943 y(and)32 b(pro)s(duce)g(the)g(nominal)f(address)h(of)h(the)g
(caller's)f(frame.)47 b(Presen)m(tly)32 b(only)g(de\014ned)630
3052 y(for)e(HP)g(P)-8 b(A.)150 3208 y Ff(FRAME_CHAIN_VALID\(chain,)o
(this)o(fram)o(e\))630 3317 y Fk(De\014ne)29 b(this)e(to)i(b)s(e)f(an)g
(expression)f(that)i(returns)f(zero)h(if)e(the)i(giv)m(en)f(frame)h(is)
e(an)h(outer-)630 3427 y(most)33 b(frame,)g(with)e(no)h(caller,)g(and)g
(nonzero)g(otherwise.)46 b(Three)32 b(common)g(de\014nitions)630
3536 y(are)22 b(a)m(v)-5 b(ailable.)37 b Ff(default_frame_chain_val)o
(id)15 b Fk(\(the)22 b(default\))e(is)g(nonzero)i(if)e(the)h(c)m(hain)
630 3646 y(p)s(oin)m(ter)32 b(is)g(nonzero)h(and)f(giv)m(en)h(frame's)f
(PC)h(is)e(not)i(inside)e(the)i(startup)f(\014le)g(\(suc)m(h)h(as)630
3755 y(`)p Ff(crt0.o)p Fk('\).)64 b Ff(alternate_frame_chain_v)o(ali)o
(d)32 b Fk(is)38 b(nonzero)g(if)f(the)i(c)m(hain)f(p)s(oin)m(ter)f(is)
630 3865 y(nonzero)k(and)f(the)g(giv)m(en)h(frame's)f(PC)g(is)f(not)i
(in)e Ff(main\(\))g Fk(or)h(a)h(kno)m(wn)f(en)m(try)h(p)s(oin)m(t)630
3975 y(function)29 b(\(suc)m(h)h(as)h Ff(_start\(\))p
Fk(\).)150 4130 y Ff(FRAME_INIT_SAVED_REGS\(fr)o(ame\))630
4240 y Fk(See)24 b(`)p Ff(frame.h)p Fk('.)37 b(Determines)23
b(the)h(address)e(of)i(all)e(registers)h(in)f(the)i(curren)m(t)f(stac)m
(k)i(frame)630 4349 y(storing)38 b(eac)m(h)i(in)e Ff(frame->saved_regs)
p Fk(.)61 b(Space)39 b(for)f Ff(frame->saved_regs)d Fk(shall)i(b)s(e)
630 4459 y(allo)s(cated)27 b(b)m(y)f Ff(FRAME_INIT_SAVED_REGS)21
b Fk(using)k(either)h Ff(frame_saved_regs_zalloc)630
4568 y Fk(or)k Ff(frame_obstack_alloc)p Fk(.)630 4701
y Fg(FRAME)p 974 4701 V 33 w(FIND)p 1236 4701 V 34 w(SA)-10
b(VED)p 1578 4701 V 33 w(REGS)35 b Fk(and)30 b Fg(EXTRA)p
2405 4701 V 32 w(FRAME)p 2776 4701 V 34 w(INF)m(O)35
b Fk(are)c(deprecated.)150 4856 y Ff(FRAME_NUM_ARGS)26
b(\(fi\))630 4966 y Fk(F)-8 b(or)35 b(the)g(frame)g(describ)s(ed)e(b)m
(y)h Fg(\014)k Fk(return)c(the)h(n)m(um)m(b)s(er)e(of)i(argumen)m(ts)g
(that)g(are)g(b)s(eing)630 5075 y(passed.)40 b(If)30
b(the)h(n)m(um)m(b)s(er)e(of)h(argumen)m(ts)h(is)e(not)i(kno)m(wn,)f
(return)f Ff(-1)p Fk(.)150 5230 y Ff(FRAME_SAVED_PC\(frame\))630
5340 y Fk(Giv)m(en)h Fg(frame)p Fk(,)h(return)e(the)i(p)s(c)e(sa)m(v)m
(ed)j(there.)41 b(That)30 b(is,)g(the)g(return)g(address.)p
eop
%%Page: 30 32
30 31 bop 150 -116 a Fk(Chapter)30 b(9:)41 b(T)-8 b(arget)32
b(Arc)m(hitecture)e(De\014nition)1834 b(30)150 299 y
Ff(FUNCTION_EPILOGUE_SIZE)630 408 y Fk(F)-8 b(or)33 b(some)g(COFF)f
(targets,)i(the)e Ff(x_sym.x_misc.x_fsize)27 b Fk(\014eld)k(of)h(the)h
(function)e(end)630 518 y(sym)m(b)s(ol)36 b(is)h(0.)63
b(F)-8 b(or)38 b(suc)m(h)f(targets,)k(y)m(ou)d(m)m(ust)g(de\014ne)f
Ff(FUNCTION_EPILOGUE_SIZE)31 b Fk(to)630 628 y(expand)f(in)m(to)g(the)h
(standard)e(size)h(of)h(a)g(function's)e(epilogue.)150
794 y Ff(GCC_COMPILED_FLAG_SYMBOL)150 933 y(GCC2_COMPILED_FLAG_SYMBO)o
(L)630 1042 y Fk(If)f(de\014ned,)g(these)h(are)f(the)h(names)f(of)h
(the)f(sym)m(b)s(ols)f(that)i(GDB)h(will)25 b(lo)s(ok)j(for)g(to)i
(detect)630 1152 y(that)46 b(GCC)f(compiled)f(the)h(\014le.)85
b(The)45 b(default)f(sym)m(b)s(ols)g(are)i Ff(gcc_compiled.)c
Fk(and)630 1261 y Ff(gcc2_compiled.)p Fk(,)27 b(resp)s(ectiv)m(ely)-8
b(.)40 b(\(Curren)m(tly)29 b(only)h(de\014ned)f(for)h(the)h(Delta)g
(68.\))150 1428 y Ff(GDB_MULTI_ARCH)630 1538 y Fk(If)e(de\014ned)g(and)
g(non-zero,)h(enables)f(sup)s(ort)g(for)g(m)m(ultiple)e(arc)m
(hitectures)j(within)e(GDB.)630 1676 y(The)39 b(supp)s(ort)e(can)i(b)s
(e)g(enabled)f(at)i(t)m(w)m(o)g(lev)m(els.)67 b(A)m(t)40
b(lev)m(el)e(one,)k(only)d(de\014nitions)d(for)630 1785
y(previously)29 b(unde\014ned)f(macros)k(are)f(pro)m(vided;)f(at)i(lev)
m(el)f(t)m(w)m(o,)i(a)e(m)m(ulti-arc)m(h)f(de\014nition)630
1895 y(of)h(all)e(arc)m(hitecture)i(dep)s(endan)m(t)e(macros)i(will)d
(b)s(e)i(de\014ned.)150 2062 y Ff(GDB_TARGET_IS_HPPA)630
2171 y Fk(This)i(determines)h(whether)g(horrible)e(kludge)i(co)s(de)h
(in)f(db)m(xread.c)h(and)f(partial-stab.h)630 2281 y(is)d(used)h(to)g
(mangle)g(m)m(ultiple-sym)m(b)s(ol-table)e(\014les)h(from)g(HPP)-8
b(A's.)44 b(This)29 b(should)h(all)g(b)s(e)630 2391 y(ripp)s(ed)e(out,)
i(and)g(a)h(sc)m(heme)g(lik)m(e)f(elfread.c)g(used.)150
2557 y Ff(GDB_TARGET_IS_MACH386)150 2696 y(GDB_TARGET_IS_SUN3)150
2834 y(GDB_TARGET_IS_SUN386)630 2943 y Fk(Kludges)f(that)i(should)d(go)
k(a)m(w)m(a)m(y)-8 b(.)150 3110 y Ff(GET_LONGJMP_TARGET)630
3220 y Fk(F)g(or)32 b(most)h(mac)m(hines,)e(this)g(is)g(a)h(target-dep)
s(enden)m(t)h(parameter.)45 b(On)31 b(the)h(DECstation)630
3329 y(and)g(the)i(Iris,)e(this)g(is)g(a)i(nativ)m(e-dep)s(enden)m(t)e
(parameter,)j(since)d Ff(<)p Fk(setjmp.h)p Ff(>)g Fk(is)g(needed)630
3439 y(to)f(de\014ne)f(it.)630 3577 y(This)41 b(macro)j(determines)e
(the)h(target)h(PC)f(address)f(that)h(long)s(jmp\(\))f(will)f(jump)g
(to,)630 3687 y(assuming)47 b(that)i(w)m(e)g(ha)m(v)m(e)h(just)e(stopp)
s(ed)f(at)i(a)g(long)s(jmp)e(breakp)s(oin)m(t.)94 b(It)49
b(tak)m(es)h(a)630 3796 y(CORE)p 901 3796 28 4 v 32 w(ADDR)45
b(*)f(as)h(argumen)m(t,)j(and)c(stores)g(the)h(target)g(PC)f(v)-5
b(alue)44 b(through)f(this)630 3906 y(p)s(oin)m(ter.)d(It)30
b(examines)g(the)h(curren)m(t)f(state)i(of)e(the)h(mac)m(hine)f(as)g
(needed.)150 4073 y Ff(GET_SAVED_REGISTER)630 4182 y
Fk(De\014ne)42 b(this)f(if)f(y)m(ou)j(need)e(to)i(supply)c(y)m(our)j(o)
m(wn)g(de\014nition)d(for)j(the)g(function)e Ff(get_)630
4292 y(saved_register)p Fk(.)150 4458 y Ff(HAVE_REGISTER_WINDOWS)630
4568 y Fk(De\014ne)31 b(this)e(if)g(the)i(target)h(has)e(register)g
(windo)m(ws.)150 4735 y Ff(REGISTER_IN_WINDOW_P)25 b(\(regnum\))630
4844 y Fk(De\014ne)31 b(this)e(to)i(b)s(e)f(an)g(expression)f(that)i
(is)e(1)i(if)f(the)g(giv)m(en)g(register)h(is)e(in)g(the)i(windo)m(w.)
150 5011 y Ff(IBM6000_TARGET)630 5121 y Fk(Sho)m(ws)39
b(that)h(w)m(e)g(are)g(con\014gured)f(for)h(an)f(IBM)h(RS/6000)i
(target.)70 b(This)38 b(conditional)630 5230 y(should)27
b(b)s(e)h(eliminated)f(\(FIXME\))j(and)e(replaced)h(b)m(y)f(feature-sp)
s(eci\014c)h(macros.)41 b(It)29 b(w)m(as)630 5340 y(in)m(tro)s(duced)g
(in)g(haste)i(and)f(w)m(e)g(are)h(rep)s(en)m(ting)e(at)j(leisure.)p
eop
%%Page: 31 33
31 32 bop 150 -116 a Fk(Chapter)30 b(9:)41 b(T)-8 b(arget)32
b(Arc)m(hitecture)e(De\014nition)1834 b(31)150 299 y
Ff(IEEE_FLOAT)630 408 y Fk(De\014ne)31 b(this)e(if)g(the)i(target)h
(system)e(uses)g(IEEE-format)h(\015oating)f(p)s(oin)m(t)f(n)m(um)m(b)s
(ers.)150 585 y Ff(INIT_EXTRA_FRAME_INFO)c(\(fromleaf,)i(frame\))630
694 y Fk(If)34 b(additional)e(information)h(ab)s(out)h(the)h(frame)f
(is)g(required)e(this)i(should)e(b)s(e)i(stored)g(in)630
804 y Ff(frame->extra_info)p Fk(.)j(Space)31 b(for)f
Ff(frame->extra_info)c Fk(is)k(allo)s(cated)g(using)g
Ff(frame_)630 914 y(obstack_alloc)p Fk(.)150 1090 y Ff(INIT_FRAME_PC)d
(\(fromleaf,)g(prev\))630 1199 y Fk(This)35 b(is)h(a)h(C)f(statemen)m
(t)i(that)g(sets)f(the)g(p)s(c)f(of)g(the)h(frame)g(p)s(oin)m(ted)e(to)
j(b)m(y)e Fg(prev)p Fk(.)59 b([By)630 1309 y(default...])150
1485 y Ff(INNER_THAN)28 b(\(lhs,rhs\))630 1595 y Fk(Returns)20
b(non-zero)i(if)e(stac)m(k)i(address)e Fg(lhs)k Fk(is)c(inner)f(than)i
(\(nearer)g(to)h(the)f(stac)m(k)i(top\))e(stac)m(k)630
1704 y(address)33 b Fg(rhs)p Fk(.)50 b(De\014ne)33 b(this)g(as)h
Ff(lhs)c(<)g(rhs)i Fk(if)h(the)h(target's)h(stac)m(k)h(gro)m(ws)e(do)m
(wn)m(w)m(ard)f(in)630 1814 y(memory)-8 b(,)31 b(or)f
Ff(lhs)g(>)g(rsh)f Fk(if)h(the)g(stac)m(k)i(gro)m(ws)f(up)m(w)m(ard.)
150 1990 y Ff(IN_SIGTRAMP)c(\(pc,)j(name\))630 2100 y
Fk(De\014ne)24 b(this)e(to)i(return)f(true)g(if)f(the)i(giv)m(en)g
Fg(p)s(c)k Fk(and/or)23 b Fg(name)29 b Fk(indicates)22
b(that)i(the)g(curren)m(t)630 2210 y(function)29 b(is)g(a)i(sigtramp.)
150 2386 y Ff(SIGTRAMP_START)26 b(\(pc\))150 2529 y(SIGTRAMP_END)h
(\(pc\))630 2638 y Fk(De\014ne)33 b(these)g(to)g(b)s(e)f(the)g(start)h
(and)f(end)g(address)g(of)g(the)h(sigtramp)f(for)g(the)h(giv)m(en)f
Fg(p)s(c)p Fk(.)630 2748 y(On)42 b(mac)m(hines)h(where)f(the)h(address)
f(is)g(just)h(a)g(compile)f(time)h(constan)m(t,)k(the)c(macro)630
2858 y(expansion)29 b(will)f(t)m(ypically)h(just)h(ignore)g(the)g
(supplied)e Fg(p)s(c)p Fk(.)150 3034 y Ff(IN_SOLIB_CALL_TRAMPOLINE)c
(pc)30 b(name)630 3143 y Fk(De\014ne)i(this)e(to)i(ev)-5
b(aluate)32 b(to)g(nonzero)g(if)e(the)h(program)h(is)e(stopp)s(ed)g(in)
g(the)i(tramp)s(oline)630 3253 y(that)f(connects)g(to)g(a)g(shared)f
(library)-8 b(.)150 3429 y Ff(IN_SOLIB_RETURN_TRAMPOLI)o(NE)24
b(pc)30 b(name)630 3539 y Fk(De\014ne)i(this)e(to)i(ev)-5
b(aluate)32 b(to)g(nonzero)g(if)e(the)h(program)h(is)e(stopp)s(ed)g(in)
g(the)i(tramp)s(oline)630 3648 y(that)f(returns)e(from)h(a)h(shared)e
(library)-8 b(.)150 3825 y Ff(IS_TRAPPED_INTERNALVAR)24
b(\(name\))630 3934 y Fk(This)35 b(is)i(an)g(ugly)f(ho)s(ok)h(to)h
(allo)m(w)f(the)g(sp)s(eci\014cation)f(of)i(sp)s(ecial)e(actions)h
(that)h(should)630 4044 y(o)s(ccur)d(as)g(a)g(side-e\013ect)g(of)g
(setting)g(the)g(v)-5 b(alue)34 b(of)h(a)g(v)-5 b(ariable)34
b(in)m(ternal)f(to)j(GDB.)g(Cur-)630 4154 y(ren)m(tly)c(only)f(used)g
(b)m(y)h(the)g(h8500.)47 b(Note)34 b(that)f(this)e(could)g(b)s(e)g
(either)h(a)g(host)g(or)g(target)630 4263 y(conditional.)150
4439 y Ff(NEED_TEXT_START_END)630 4549 y Fk(De\014ne)37
b(this)f(if)g(GDB)i(should)d(determine)h(the)i(start)f(and)g(end)f
(addresses)g(of)i(the)f(text)630 4659 y(section.)k(\(Seems)30
b(dubious.\))150 4835 y Ff(NO_HIF_SUPPORT)630 4945 y
Fk(\(Sp)s(eci\014c)f(to)i(the)g(a29k.\))150 5121 y Ff
(SOFTWARE_SINGLE_STEP_P)630 5230 y Fk(De\014ne)g(this)f(as)i(1)f(if)f
(the)h(target)i(do)s(es)e(not)g(ha)m(v)m(e)h(a)g(hardw)m(are)e
(single-step)g(mec)m(hanism.)630 5340 y(The)g(macro)h
Ff(SOFTWARE_SINGLE_STEP)25 b Fk(m)m(ust)30 b(also)g(b)s(e)g(de\014ned.)
p eop
%%Page: 32 34
32 33 bop 150 -116 a Fk(Chapter)30 b(9:)41 b(T)-8 b(arget)32
b(Arc)m(hitecture)e(De\014nition)1834 b(32)150 299 y
Ff(SOFTWARE_SINGLE_STEP\(sig)o(nal,)o(inse)o(rt_)o(brea)o(poin)o(ts_)o
(p\))630 408 y Fk(A)35 b(function)f(that)i(inserts)e(or)h(remo)m(v)m
(es)h(\(dep)s(endan)m(t)f(on)g Fg(insert)p 2902 408 28
4 v 31 w(breap)s(oin)m(ts)p 3349 408 V 32 w(p)s Fk(\))g(break-)630
518 y(p)s(oin)m(ts)28 b(at)i(eac)m(h)g(p)s(ossible)d(destinations)h(of)
h(the)g(next)h(instruction.)38 b(See)29 b Ff(sparc-tdep.c)630
628 y Fk(and)h Ff(rs6000-tdep.c)d Fk(for)j(examples.)150
783 y Ff(PCC_SOL_BROKEN)630 892 y Fk(\(Used)h(only)e(in)g(the)i(Con)m
(v)m(ex)g(target.\))150 1047 y Ff(PC_IN_CALL_DUMMY)630
1157 y Fk(inferior.h)150 1312 y Ff(PC_LOAD_SEGMENT)630
1421 y Fk(If)h(de\014ned,)h(prin)m(t)e(information)g(ab)s(out)i(the)g
(load)f(segmen)m(t)i(for)f(the)f(program)h(coun)m(ter.)630
1531 y(\(De\014ned)d(only)g(for)g(the)h(RS/6000.\))150
1686 y Ff(PC_REGNUM)630 1795 y Fk(If)k(the)h(program)f(coun)m(ter)h(is)
e(k)m(ept)i(in)e(a)i(register,)h(then)e(de\014ne)g(this)f(macro)i(to)g
(b)s(e)f(the)630 1905 y(n)m(um)m(b)s(er)29 b(\(greater)j(than)e(or)g
(equal)g(to)h(zero\))h(of)f(that)g(register.)630 2037
y(This)d(should)f(only)h(need)i(to)g(b)s(e)e(de\014ned)h(if)f
Ff(TARGET_READ_PC)d Fk(and)k Ff(TARGET_WRITE_PC)630 2147
y Fk(are)i(not)f(de\014ned.)150 2302 y Ff(NPC_REGNUM)630
2411 y Fk(The)g(n)m(um)m(b)s(er)f(of)h(the)h(\\next)g(program)f(coun)m
(ter")i(register,)e(if)f(de\014ned.)150 2566 y Ff(NNPC_REGNUM)630
2676 y Fk(The)e(n)m(um)m(b)s(er)f(of)h(the)h(\\next)f(next)h(program)f
(coun)m(ter")h(register,)g(if)f(de\014ned.)38 b(Curren)m(tly)-8
b(,)630 2785 y(this)29 b(is)h(only)f(de\014ned)g(for)h(the)h(Motorola)h
(88K.)150 2940 y Ff(PRINT_REGISTER_HOOK)25 b(\(regno\))630
3050 y Fk(If)j(de\014ned,)f(this)g(m)m(ust)h(b)s(e)f(a)i(function)d
(that)j(prin)m(ts)e(the)h(con)m(ten)m(ts)i(of)e(the)g(giv)m(en)g
(register)630 3160 y(to)j(standard)f(output.)150 3314
y Ff(PRINT_TYPELESS_INTEGER)630 3424 y Fk(This)i(is)g(an)i(obscure)f
(substitute)g(for)g Ff(print_longest)d Fk(that)k(seems)g(to)g(ha)m(v)m
(e)h(b)s(een)e(de-)630 3534 y(\014ned)c(for)h(the)h(Con)m(v)m(ex)g
(target.)150 3689 y Ff(PROCESS_LINENUMBER_HOOK)630 3798
y Fk(A)f(ho)s(ok)h(de\014ned)e(for)h(X)m(COFF)h(reading.)150
3953 y Ff(PROLOGUE_FIRSTLINE_OVERL)o(AP)630 4063 y Fk(\(Only)e(used)h
(in)f(unsupp)s(orted)e(Con)m(v)m(ex)32 b(con\014guration.\))150
4218 y Ff(PS_REGNUM)630 4327 y Fk(If)g(de\014ned,)g(this)g(is)f(the)i
(n)m(um)m(b)s(er)e(of)i(the)g(pro)s(cessor)f(status)h(register.)47
b(\(This)31 b(de\014nition)630 4437 y(is)e(only)h(used)f(in)h(generic)g
(co)s(de)g(when)g(parsing)f Ff(")p Fk($ps)p Ff(")p Fk(.\))150
4592 y Ff(POP_FRAME)630 4701 y Fk(Used)h(in)f(`)p Ff
(call_function_by_hand)p Fk(')c(to)31 b(remo)m(v)m(e)h(an)f
(arti\014cial)d(stac)m(k)k(frame.)150 4856 y Ff(PUSH_ARGUMENTS)26
b(\(nargs,)j(args,)g(sp,)g(struct_return,)e(struct_addr\))630
4966 y Fk(De\014ne)k(this)e(to)j(push)d(argumen)m(ts)h(on)m(to)i(the)f
(stac)m(k)h(for)e(inferior)f(function)g(call.)41 b(Return)630
5075 y(the)31 b(up)s(dated)e(stac)m(k)i(p)s(oin)m(ter)f(v)-5
b(alue.)150 5230 y Ff(PUSH_DUMMY_FRAME)630 5340 y Fk(Used)30
b(in)f(`)p Ff(call_function_by_hand)p Fk(')c(to)31 b(create)h(an)f
(arti\014cial)e(stac)m(k)i(frame.)p eop
%%Page: 33 35
33 34 bop 150 -116 a Fk(Chapter)30 b(9:)41 b(T)-8 b(arget)32
b(Arc)m(hitecture)e(De\014nition)1834 b(33)150 299 y
Ff(REGISTER_BYTES)630 408 y Fk(The)24 b(total)h(amoun)m(t)g(of)f(space)
h(needed)f(to)h(store)g(GDB's)h(cop)m(y)f(of)f(the)h(mac)m(hine's)f
(register)630 518 y(state.)150 663 y Ff(REGISTER_NAME\(i\))630
772 y Fk(Return)g(the)h(name)g(of)g(register)f Fg(i)29
b Fk(as)c(a)g(string.)38 b(Ma)m(y)26 b(return)e Fg(NULL)h
Fk(or)f Fg(NUL)h Fk(to)h(indicate)630 882 y(that)31 b(register)f
Fg(i)35 b Fk(is)29 b(not)i(v)-5 b(alid.)150 1027 y Ff(REGISTER_NAMES)
630 1136 y Fk(Deprecated)32 b(in)d(fa)m(v)m(or)i(of)g
Fg(REGISTER)p 2030 1136 28 4 v 32 w(NAME)p Fk(.)150 1281
y Ff(REG_STRUCT_HAS_ADDR)25 b(\(gcc_p,)k(type\))630 1390
y Fk(De\014ne)k(this)f(to)h(return)f(1)h(if)e(the)i(giv)m(en)g(t)m(yp)s
(e)g(will)d(b)s(e)i(passed)g(b)m(y)h(p)s(oin)m(ter)f(rather)g(than)630
1500 y(directly)-8 b(.)150 1645 y Ff(SAVE_DUMMY_FRAME_TOS)25
b(\(sp\))630 1754 y Fk(Used)33 b(in)f(`)p Ff(call_function_by_hand)p
Fk(')c(to)34 b(notify)e(the)i(target)h(dep)s(enden)m(t)d(co)s(de)h(of)h
(the)630 1864 y(top-of-stac)m(k)c(v)-5 b(alue)27 b(that)h(will)d(b)s(e)
h(passed)h(to)h(the)g(the)g(inferior)d(co)s(de.)40 b(This)25
b(is)i(the)g(v)-5 b(alue)630 1973 y(of)33 b(the)g Fg(SP)k
Fk(after)d(b)s(oth)e(the)h(dumm)m(y)e(frame)i(and)f(space)i(for)e
(parameters/results)h(ha)m(v)m(e)630 2083 y(b)s(een)d(allo)s(cated)g
(on)g(the)h(stac)m(k.)150 2228 y Ff(SDB_REG_TO_REGNUM)630
2337 y Fk(De\014ne)f(this)f(to)h(con)m(v)m(ert)h(sdb)e(register)h(n)m
(um)m(b)s(ers)e(in)m(to)i(GDB)h(regn)m(ums.)40 b(If)29
b(not)h(de\014ned,)630 2447 y(no)g(con)m(v)m(ersion)h(will)d(b)s(e)h
(done.)150 2591 y Ff(SHIFT_INST_REGS)630 2701 y Fk(\(Only)g(used)h(for)
g(m88k)h(targets.\))150 2846 y Ff(SKIP_PROLOGUE)c(\(pc\))630
2955 y Fk(A)g(C)g(expression)f(that)i(returns)e(the)i(address)e(of)h
(the)h(\\real")g(co)s(de)f(b)s(ey)m(ond)g(the)g(function)630
3065 y(en)m(try)k(prologue)f(found)f(at)i Fg(p)s(c)p
Fk(.)150 3210 y Ff(SKIP_PROLOGUE_FRAMELESS_)o(P)630 3319
y Fk(A)h(C)g(expression)e(that)j(should)d(b)s(eha)m(v)m(e)i(similarly)
-8 b(,)30 b(but)h(that)i(can)f(stop)g(as)g(so)s(on)g(as)g(the)630
3429 y(function)c(is)g(kno)m(wn)g(to)i(ha)m(v)m(e)g(a)f(frame.)41
b(If)28 b(not)h(de\014ned,)g Ff(SKIP_PROLOGUE)c Fk(will)h(b)s(e)j(used)
630 3538 y(instead.)150 3683 y Ff(SKIP_TRAMPOLINE_CODE)c(\(pc\))630
3793 y Fk(If)40 b(the)h(target)h(mac)m(hine)e(has)h(tramp)s(oline)d(co)
s(de)j(that)g(sits)f(b)s(et)m(w)m(een)h(callers)f(and)g(the)630
3902 y(functions)25 b(b)s(eing)g(called,)i(then)g(de\014ne)e(this)h
(macro)h(to)h(return)d(a)i(new)f(PC)g(that)i(is)d(at)j(the)630
4012 y(start)j(of)f(the)h(real)f(function.)150 4156 y
Ff(SP_REGNUM)630 4266 y Fk(If)22 b(the)i(stac)m(k-p)s(oin)m(ter)f(is)f
(k)m(ept)i(in)d(a)j(register,)g(then)f(de\014ne)f(this)g(macro)h(to)h
(b)s(e)e(the)h(n)m(um)m(b)s(er)630 4376 y(\(greater)32
b(than)e(or)g(equal)g(to)h(zero\))h(of)e(that)h(register.)630
4503 y(This)23 b(should)f(only)i(need)g(to)i(b)s(e)e(de\014ned)f(if)h
Ff(TARGET_WRITE_SP)c Fk(and)k Ff(TARGET_WRITE_SP)630
4612 y Fk(are)31 b(not)f(de\014ned.)150 4757 y Ff(STAB_REG_TO_REGNUM)
630 4867 y Fk(De\014ne)37 b(this)e(to)j(con)m(v)m(ert)g(stab)f
(register)f(n)m(um)m(b)s(ers)f(\(as)i(gotten)h(from)f(`r')f
(declarations\))630 4976 y(in)m(to)30 b(GDB)i(regn)m(ums.)40
b(If)30 b(not)h(de\014ned,)e(no)h(con)m(v)m(ersion)h(will)d(b)s(e)h
(done.)150 5121 y Ff(STACK_ALIGN)e(\(addr\))630 5230
y Fk(De\014ne)32 b(this)g(to)h(adjust)e(the)i(address)e(to)i(the)g
(alignmen)m(t)e(required)g(for)h(the)g(pro)s(cessor's)630
5340 y(stac)m(k.)p eop
%%Page: 34 36
34 35 bop 150 -116 a Fk(Chapter)30 b(9:)41 b(T)-8 b(arget)32
b(Arc)m(hitecture)e(De\014nition)1834 b(34)150 299 y
Ff(STEP_SKIPS_DELAY)26 b(\(addr\))630 408 y Fk(De\014ne)34
b(this)e(to)i(return)f(true)g(if)f(the)i(address)e(is)h(of)h(an)f
(instruction)e(with)i(a)g(dela)m(y)h(slot.)630 518 y(If)27
b(a)g(breakp)s(oin)m(t)f(has)h(b)s(een)f(placed)h(in)e(the)i
(instruction's)f(dela)m(y)h(slot,)g(GDB)i(will)24 b(single-)630
628 y(step)j(o)m(v)m(er)h(that)g(instruction)d(b)s(efore)h(resuming)f
(normally)-8 b(.)38 b(Curren)m(tly)26 b(only)g(de\014ned)f(for)630
737 y(the)31 b(Mips.)150 888 y Ff(STORE_RETURN_VALUE)25
b(\(type,)k(valbuf\))630 998 y Fk(A)34 b(C)f(expression)f(that)j
(stores)f(a)g(function)e(return)h(v)-5 b(alue)33 b(of)h(t)m(yp)s(e)g
Fg(t)m(yp)s(e)p Fk(,)g(where)g Fg(v)-5 b(albuf)630 1107
y Fk(is)29 b(the)i(address)e(of)i(the)g(v)-5 b(alue)29
b(to)j(b)s(e)d(stored.)150 1258 y Ff(SUN_FIXED_LBRAC_BUG)630
1367 y Fk(\(Used)i(only)e(for)h(Sun-3)g(and)g(Sun-4)f(targets.\))150
1518 y Ff(SYMBOL_RELOADING_DEFAULT)630 1628 y Fk(The)h(default)f(v)-5
b(alue)30 b(of)h(the)f(`sym)m(b)s(ol-reloading')f(v)-5
b(ariable.)39 b(\(Nev)m(er)32 b(de\014ned)d(in)g(curren)m(t)630
1737 y(sources.\))150 1888 y Ff(TARGET_BYTE_ORDER_DEFAUL)o(T)630
1998 y Fk(The)22 b(ordering)f(of)h(b)m(ytes)h(in)e(the)h(target.)40
b(This)20 b(m)m(ust)i(b)s(e)g(either)f Ff(BIG_ENDIAN)f
Fk(or)i Ff(LITTLE_)630 2107 y(ENDIAN)p Fk(.)39 b(This)29
b(macro)i(replaces)f Fg(T)-8 b(AR)m(GET)p 2201 2107 28
4 v 33 w(BYTE)p 2494 2107 V 33 w(ORDER)30 b Fk(whic)m(h)f(is)h
(deprecated.)150 2258 y Ff(TARGET_BYTE_ORDER_SELECT)o(ABLE)o(_P)630
2367 y Fk(Non-zero)d(if)e(the)h(target)h(has)e(b)s(oth)g
Ff(BIG_ENDIAN)e Fk(and)j Ff(LITTLE_ENDIAN)c Fk(v)-5 b(arian)m(ts.)39
b(This)630 2477 y(macro)25 b(replaces)g Fg(T)-8 b(AR)m(GET)p
1630 2477 V 33 w(BYTE)p 1923 2477 V 33 w(ORDER)p 2292
2477 V 32 w(SELECT)g(ABLE)29 b Fk(whic)m(h)24 b(is)f(deprecated.)150
2628 y Ff(TARGET_CHAR_BIT)630 2737 y Fk(Num)m(b)s(er)29
b(of)i(bits)e(in)g(a)i(c)m(har;)g(defaults)e(to)i(8.)150
2888 y Ff(TARGET_COMPLEX_BIT)630 2998 y Fk(Num)m(b)s(er)e(of)i(bits)e
(in)g(a)i(complex)f(n)m(um)m(b)s(er;)f(defaults)h(to)h
Ff(2)f(*)g(TARGET_FLOAT_BIT)p Fk(.)630 3128 y(A)m(t)h(presen)m(t)g
(this)e(macro)i(is)e(not)i(used.)150 3278 y Ff(TARGET_DOUBLE_BIT)630
3388 y Fk(Num)m(b)s(er)e(of)i(bits)e(in)g(a)i(double)e(\015oat;)i
(defaults)f(to)h Ff(8)f(*)g(TARGET_CHAR_BIT)p Fk(.)150
3539 y Ff(TARGET_DOUBLE_COMPLEX_BI)o(T)630 3648 y Fk(Num)m(b)s(er)f(of)
i(bits)e(in)g(a)i(double)e(complex;)h(defaults)g(to)h
Ff(2)f(*)g(TARGET_DOUBLE_BIT)p Fk(.)630 3778 y(A)m(t)h(presen)m(t)g
(this)e(macro)i(is)e(not)i(used.)150 3929 y Ff(TARGET_FLOAT_BIT)630
4039 y Fk(Num)m(b)s(er)e(of)i(bits)e(in)g(a)i(\015oat;)g(defaults)f(to)
h Ff(4)f(*)g(TARGET_CHAR_BIT)p Fk(.)150 4189 y Ff(TARGET_INT_BIT)630
4299 y Fk(Num)m(b)s(er)f(of)i(bits)e(in)g(an)h(in)m(teger;)h(defaults)f
(to)h Ff(4)f(*)g(TARGET_CHAR_BIT)p Fk(.)150 4450 y Ff(TARGET_LONG_BIT)
630 4559 y Fk(Num)m(b)s(er)f(of)i(bits)e(in)g(a)i(long)f(in)m(teger;)h
(defaults)e(to)i Ff(4)f(*)g(TARGET_CHAR_BIT)p Fk(.)150
4710 y Ff(TARGET_LONG_DOUBLE_BIT)630 4819 y Fk(Num)m(b)s(er)f(of)i
(bits)e(in)g(a)i(long)f(double)f(\015oat;)i(defaults)f(to)h
Ff(2)f(*)g(TARGET_DOUBLE_BIT)p Fk(.)150 4970 y Ff(TARGET_LONG_LONG_BIT)
630 5080 y Fk(Num)m(b)s(er)f(of)i(bits)e(in)g(a)i(long)f(long)g(in)m
(teger;)h(defaults)e(to)i Ff(2)f(*)g(TARGET_LONG_BIT)p
Fk(.)150 5230 y Ff(TARGET_PTR_BIT)630 5340 y Fk(Num)m(b)s(er)f(of)i
(bits)e(in)g(a)i(p)s(oin)m(ter;)f(defaults)f(to)i Ff(TARGET_INT_BIT)p
Fk(.)p eop
%%Page: 35 37
35 36 bop 150 -116 a Fk(Chapter)30 b(9:)41 b(T)-8 b(arget)32
b(Arc)m(hitecture)e(De\014nition)1834 b(35)150 299 y
Ff(TARGET_SHORT_BIT)630 408 y Fk(Num)m(b)s(er)29 b(of)i(bits)e(in)g(a)i
(short)f(in)m(teger;)h(defaults)e(to)j Ff(2)e(*)g(TARGET_CHAR_BIT)p
Fk(.)150 567 y Ff(TARGET_READ_PC)150 701 y(TARGET_WRITE_PC)c(\(val,)j
(pid\))150 835 y(TARGET_READ_SP)150 969 y(TARGET_WRITE_SP)150
1103 y(TARGET_READ_FP)150 1237 y(TARGET_WRITE_FP)630
1347 y Fk(These)k(c)m(hange)i(the)f(b)s(eha)m(vior)f(of)g
Ff(read_pc)p Fk(,)g Ff(write_pc)p Fk(,)f Ff(read_sp)p
Fk(,)h Ff(write_sp)p Fk(,)f Ff(read_)630 1456 y(fp)25
b Fk(and)h Ff(write_fp)p Fk(.)37 b(F)-8 b(or)26 b(most)h(targets,)h
(these)f(ma)m(y)f(b)s(e)g(left)f(unde\014ned.)37 b(GDB)27
b(will)d(call)630 1566 y(the)31 b(read)f(and)g(write)f(register)h
(functions)f(with)g(the)i(relev)-5 b(an)m(t)31 b Ff(_REGNUM)d
Fk(argumen)m(t.)630 1700 y(These)g(macros)h(are)g(useful)e(when)h(a)h
(target)h(k)m(eeps)f(one)g(of)g(these)g(registers)f(in)g(a)h(hard)e(to)
630 1810 y(get)37 b(at)g(place;)i(for)c(example,)j(part)d(in)g(a)h
(segmen)m(t)h(register)f(and)f(part)h(in)f(an)h(ordinary)630
1919 y(register.)150 2078 y Ff(TARGET_VIRTUAL_FRAME_POI)o(NTER)o(\(pc,)
o(reg)o(p,of)o(fset)o(p\))630 2187 y Fk(Returns)d(a)h
Ff(\(register,)27 b(offset\))32 b Fk(pair)g(represen)m(ting)h(the)h
(virtual)e(frame)i(p)s(oin)m(ter)e(in)630 2297 y(use)f(at)h(the)g(co)s
(de)f(address)g Ff("pc")p Fk(.)42 b(If)31 b(virtual)f(frame)h(p)s(oin)m
(ters)g(are)g(not)h(used,)f(a)h(default)630 2406 y(de\014nition)c
(simply)g(returns)h Ff(FP_REGNUM)p Fk(,)f(with)h(an)i(o\013set)g(of)f
(zero.)150 2565 y Ff(USE_STRUCT_CONVENTION)25 b(\(gcc_p,)j(type\))630
2675 y Fk(If)c(de\014ned,)h(this)e(m)m(ust)i(b)s(e)e(an)i(expression)e
(that)i(is)f(nonzero)h(if)e(a)i(v)-5 b(alue)24 b(of)h(the)f(giv)m(en)h
Fg(t)m(yp)s(e)630 2784 y Fk(b)s(eing)33 b(returned)h(from)g(a)h
(function)e(m)m(ust)h(ha)m(v)m(e)i(space)f(allo)s(cated)g(for)f(it)g
(on)g(the)h(stac)m(k.)630 2894 y Fg(gcc)p 760 2894 28
4 v 34 w(p)h Fk(is)c(true)h(if)g(the)g(function)f(b)s(eing)g
(considered)h(is)f(kno)m(wn)h(to)h(ha)m(v)m(e)h(b)s(een)d(compiled)630
3003 y(b)m(y)25 b(GCC;)g(this)g(is)f(helpful)f(for)i(systems)g(where)g
(GCC)g(is)f(kno)m(wn)h(to)h(use)g(di\013eren)m(t)e(calling)630
3113 y(con)m(v)m(en)m(tion)32 b(than)e(other)g(compilers.)150
3271 y Ff(VARIABLES_INSIDE_BLOCK)24 b(\(desc,)29 b(gcc_p\))630
3381 y Fk(F)-8 b(or)30 b(db)m(x-st)m(yle)f(debugging)e(information,)h
(if)g(the)h(compiler)f(puts)g(v)-5 b(ariable)27 b(declarations)630
3491 y(inside)33 b(LBRA)m(C/RBRA)m(C)j(blo)s(c)m(ks,)g(this)e(should)f
(b)s(e)h(de\014ned)g(to)h(b)s(e)g(nonzero.)54 b Fg(desc)41
b Fk(is)630 3600 y(the)26 b(v)-5 b(alue)24 b(of)i Ff(n_desc)e
Fk(from)h(the)g Ff(N_RBRAC)f Fk(sym)m(b)s(ol,)h(and)g
Fg(gcc)p 2777 3600 V 34 w(p)i Fk(is)e(true)g(if)f(GDB)j(has)e(no-)630
3710 y(ticed)k(the)g(presence)f(of)h(either)g(the)g Ff
(GCC_COMPILED_SYMBOL)23 b Fk(or)29 b(the)g Ff(GCC2_COMPILED_)630
3819 y(SYMBOL)p Fk(.)39 b(By)31 b(default,)f(this)f(is)g(0.)150
3978 y Ff(OS9K_VARIABLES_INSIDE_BL)o(OCK)24 b(\(desc,)29
b(gcc_p\))630 4087 y Fk(Similarly)-8 b(,)27 b(for)j(OS/9000.)43
b(Defaults)30 b(to)h(1.)275 4246 y(Motorola)g(M68K)g(target)h
(conditionals.)150 4405 y Ff(BPT_VECTOR)630 4514 y Fk(De\014ne)25
b(this)e(to)j(b)s(e)e(the)g(4-bit)h(lo)s(cation)f(of)h(the)g(breakp)s
(oin)m(t)e(trap)i(v)m(ector.)40 b(If)24 b(not)h(de\014ned,)630
4624 y(it)30 b(will)e(default)h(to)i Ff(0xf)p Fk(.)150
4782 y Ff(REMOTE_BPT_VECTOR)630 4892 y Fk(Defaults)f(to)h
Ff(1)p Fk(.)150 5148 y Fj(9.6)68 b(Adding)44 b(a)h(New)h(T)-11
b(arget)275 5340 y Fk(The)29 b(follo)m(wing)g(\014les)h(de\014ne)f(a)i
(target)h(to)f(GDB:)p eop
%%Page: 36 38
36 37 bop 150 -116 a Fk(Chapter)30 b(10:)41 b(T)-8 b(arget)32
b(V)-8 b(ector)32 b(De\014nition)2026 b(36)150 299 y(`)p
Ff(gdb/config/)p Fg(arc)m(h)p Ff(/)p Fg(ttt)p Ff(.mt)p
Fk(')630 408 y(Con)m(tains)29 b(a)g(Mak)m(e\014le)h(fragmen)m(t)g(sp)s
(eci\014c)e(to)i(this)e(target.)42 b(Sp)s(eci\014es)28
b(what)h(ob)5 b(ject)30 b(\014les)630 518 y(are)22 b(needed)g(for)f
(target)j Fg(ttt)p Fk(,)h(b)m(y)c(de\014ning)f(`)p Ff(TDEPFILES=...)m
Fk('.)38 b(Also)22 b(sp)s(eci\014es)e(the)i(header)630
628 y(\014le)34 b(whic)m(h)f(describ)s(es)g Fg(ttt)p
Fk(,)k(b)m(y)e(de\014ning)e(`)p Ff(TM_FILE=)28 b(tm-)p
Fg(ttt)p Ff(.h)p Fk('.)54 b(Y)-8 b(ou)35 b(can)g(also)g(de\014ne)630
737 y(`)p Ff(TM_CFLAGS)p Fk(',)i(`)p Ff(TM_CLIBS)p Fk(',)g(`)p
Ff(TM_CDEPS)p Fk(',)g(but)g(these)g(are)g(no)m(w)g(deprecated)h(and)e
(ma)m(y)630 847 y(go)31 b(a)m(w)m(a)m(y)h(in)e(future)f(v)m(ersions)h
(of)g(GDB.)150 1011 y(`)p Ff(gdb/config/)p Fg(arc)m(h)p
Ff(/tm-)p Fg(ttt)p Ff(.h)p Fk(')630 1121 y(\(`)p Ff(tm.h)p
Fk(')j(is)f(a)h(link)e(to)j(this)e(\014le,)h(created)h(b)m(y)f
(con\014gure\).)48 b(Con)m(tains)33 b(macro)g(de\014nitions)630
1230 y(ab)s(out)d(the)h(target)h(mac)m(hine's)e(registers,)g(stac)m(k)i
(frame)e(format)h(and)f(instructions.)150 1395 y(`)p
Ff(gdb/)p Fg(ttt)p Ff(-tdep.c)p Fk(')630 1504 y(Con)m(tains)39
b(an)m(y)h(miscellaneous)d(co)s(de)j(required)e(for)h(this)f(target)j
(mac)m(hine.)68 b(On)39 b(some)630 1614 y(mac)m(hines)e(it)f(do)s
(esn't)h(exist)f(at)i(all.)60 b(Sometimes)36 b(the)h(macros)h(in)d(`)p
Ff(tm-)p Fg(ttt)p Ff(.h)p Fk(')j(b)s(ecome)630 1724 y(v)m(ery)c
(complicated,)h(so)f(they)h(are)f(implemen)m(ted)e(as)j(functions)d
(here)i(instead,)g(and)g(the)630 1833 y(macro)f(is)f(simply)e
(de\014ned)h(to)i(call)f(the)h(function.)46 b(This)30
b(is)i(v)-5 b(astly)32 b(preferable,)h(since)e(it)630
1943 y(is)e(easier)i(to)g(understand)d(and)i(debug.)150
2107 y(`)p Ff(gdb/config/)p Fg(arc)m(h)p Ff(/tm-)p Fg(arc)m(h)p
Ff(.h)p Fk(')630 2217 y(This)e(often)j(exists)e(to)i(describ)s(e)e(the)
h(basic)f(la)m(y)m(out)i(of)g(the)f(target)h(mac)m(hine's)f(pro)s
(cessor)630 2326 y(c)m(hip)23 b(\(registers,)j(stac)m(k,)h(etc\).)40
b(If)24 b(used,)h(it)f(is)f(included)e(b)m(y)j(`)p Ff(tm-)p
Fg(ttt)p Ff(.h)p Fk('.)39 b(It)25 b(can)f(b)s(e)g(shared)630
2436 y(among)31 b(man)m(y)f(targets)i(that)f(use)f(the)h(same)g(pro)s
(cessor.)150 2600 y(`)p Ff(gdb/)p Fg(arc)m(h)p Ff(-tdep.c)p
Fk(')630 2710 y(Similarly)-8 b(,)41 b(there)h(are)g(often)f(common)h
(subroutines)d(that)j(are)g(shared)f(b)m(y)g(all)f(target)630
2820 y(mac)m(hines)30 b(that)h(use)f(this)f(particular)g(arc)m
(hitecture.)275 2987 y(If)19 b(y)m(ou)i(are)g(adding)e(a)h(new)g(op)s
(erating)g(system)g(for)g(an)g(existing)g(CPU)f(c)m(hip,)j(add)e(a)g(`)
p Ff(config/tm-)p Fg(os)p Ff(.h)p Fk(')p 3815 3007 42
84 v 150 3096 a(\014le)28 b(that)h(describ)s(es)e(the)i(op)s(erating)f
(system)h(facilities)e(that)j(are)f(un)m(usual)e(\(extra)j(sym)m(b)s
(ol)d(table)i(info;)150 3206 y(the)j(breakp)s(oin)m(t)f(instruction)f
(needed;)j(etc\).)47 b(Then)31 b(write)g(a)i(`)p Fg(arc)m(h)p
Ff(/tm-)p Fg(os)p Ff(.h)p Fk(')e(that)i(just)e Ff(#include)p
Fk(s)150 3315 y(`)p Ff(tm-)p Fg(arc)m(h)p Ff(.h)p Fk(')f(and)g(`)p
Ff(config/tm-)p Fg(os)p Ff(.h)p Fk('.)150 3608 y Fh(10)80
b(T)-13 b(arget)53 b(V)-13 b(ector)52 b(De\014nition)275
3857 y Fk(The)32 b(target)i(v)m(ector)g(de\014nes)e(the)g(in)m(terface)
i(b)s(et)m(w)m(een)f(GDB's)h(abstract)f(handling)d(of)j(target)h(sys-)
150 3966 y(tems,)43 b(and)c(the)h(nitt)m(y-gritt)m(y)h(co)s(de)f(that)g
(actually)g(exercises)g(con)m(trol)g(o)m(v)m(er)h(a)g(pro)s(cess)e(or)h
(a)g(serial)150 4076 y(p)s(ort.)72 b(GDB)42 b(includes)d(some)i(30-40)j
(di\013eren)m(t)c(target)j(v)m(ectors;)48 b(ho)m(w)m(ev)m(er,)d(eac)m
(h)d(con\014guration)f(of)150 4186 y(GDB)31 b(includes)d(only)i(a)h
(few)f(of)g(them.)150 4456 y Fj(10.1)68 b(File)46 b(T)-11
b(argets)275 4653 y Fk(Both)31 b(executables)f(and)g(core)h(\014les)f
(ha)m(v)m(e)h(target)h(v)m(ectors.)150 4923 y Fj(10.2)68
b(Standard)45 b(Proto)t(col)h(and)e(Remote)j(Stubs)275
5121 y Fk(GDB's)23 b(\014le)f(`)p Ff(remote.c)p Fk(')e(talks)j(a)g
(serial)e(proto)s(col)h(to)h(co)s(de)g(that)g(runs)e(in)g(the)i(target)
h(system.)38 b(GDB)150 5230 y(pro)m(vides)33 b(sev)m(eral)i(sample)f
(\\stubs")g(that)i(can)e(b)s(e)g(in)m(tegrated)h(in)m(to)g(target)h
(programs)e(or)g(op)s(erating)150 5340 y(systems)c(for)h(this)e(purp)s
(ose;)g(they)h(are)h(named)f(`)p Ff(*-stub.c)p Fk('.)p
eop
%%Page: 37 39
37 38 bop 150 -116 a Fk(Chapter)30 b(11:)41 b(Nativ)m(e)32
b(Debugging)2285 b(37)275 299 y(The)30 b(GDB)i(user's)f(man)m(ual)f
(describ)s(es)f(ho)m(w)i(to)h(put)e(suc)m(h)h(a)h(stub)e(in)m(to)h(y)m
(our)g(target)h(co)s(de.)43 b(What)150 408 y(follo)m(ws)30
b(is)g(a)h(discussion)e(of)i(in)m(tegrating)g(the)g(SP)-8
b(AR)m(C)31 b(stub)f(in)m(to)h(a)g(complicated)f(op)s(erating)h(system)
150 518 y(\(rather)g(than)f(a)g(simple)f(program\),)i(b)m(y)f(Stu)f
(Grossman,)i(the)f(author)h(of)f(this)f(stub.)275 660
y(The)g(trap)i(handling)c(co)s(de)k(in)e(the)i(stub)e(assumes)h(the)h
(follo)m(wing)e(up)s(on)f(en)m(try)j(to)g(trap)p 3348
660 28 4 v 33 w(lo)m(w:)199 801 y(1.)61 b(\045l1)30 b(and)g(\045l2)f
(con)m(tain)i(p)s(c)f(and)g(np)s(c)f(resp)s(ectiv)m(ely)g(at)j(the)e
(time)g(of)h(the)f(trap)199 939 y(2.)61 b(traps)30 b(are)h(disabled)199
1077 y(3.)61 b(y)m(ou)31 b(are)f(in)g(the)g(correct)i(trap)e(windo)m(w)
275 1248 y(As)45 b(long)f(as)h(y)m(our)g(trap)g(handler)e(can)j(guaran)
m(tee)g(those)g(conditions,)h(then)e(there)g(is)f(no)h(rea-)150
1357 y(son)38 b(wh)m(y)g(y)m(ou)g(shouldn't)f(b)s(e)g(able)h(to)h
(`share')f(traps)g(with)f(the)h(stub.)64 b(The)38 b(stub)f(has)h(no)g
(require-)150 1467 y(men)m(t)h(that)f(it)g(b)s(e)g(jump)s(ed)e(to)j
(directly)d(from)i(the)h(hardw)m(are)e(trap)h(v)m(ector.)66
b(That)38 b(is)f(wh)m(y)h(it)g(calls)150 1576 y Ff
(exceptionHandler\(\))p Fk(,)33 b(whic)m(h)j(is)f(pro)m(vided)h(b)m(y)g
(the)h(external)f(en)m(vironmen)m(t.)60 b(F)-8 b(or)37
b(instance,)h(this)150 1686 y(could)26 b(setup)g(the)h(hardw)m(are)g
(traps)f(to)i(actually)e(execute)i(co)s(de)f(whic)m(h)f(calls)g(the)h
(stub)f(\014rst,)h(and)f(then)150 1796 y(transfers)k(to)h(its)f(o)m(wn)
g(trap)g(handler.)275 1937 y(F)-8 b(or)36 b(the)f(most)h(p)s(oin)m(t,)f
(there)h(probably)d(w)m(on't)j(b)s(e)f(m)m(uc)m(h)g(of)h(an)f(issue)f
(with)g(`sharing')g(traps,)j(as)150 2047 y(the)30 b(traps)g(w)m(e)g
(use)g(are)h(usually)c(not)k(used)e(b)m(y)h(the)g(k)m(ernel,)g(and)f
(often)i(indicate)e(unreco)m(v)m(erable)h(error)150 2156
y(conditions.)59 b(An)m(yw)m(a)m(y)-8 b(,)41 b(this)36
b(is)g(all)g(con)m(trolled)g(b)m(y)h(a)h(table,)g(and)f(is)f(trivial)f
(to)j(mo)s(dify)-8 b(.)59 b(The)37 b(most)150 2266 y(imp)s(ortan)m(t)g
(trap)g(for)h(us)f(is)g(for)g Ff(ta)30 b(1)p Fk(.)63
b(Without)37 b(that,)j(w)m(e)f(can't)f(single)f(step)h(or)f(do)h
(breakp)s(oin)m(ts.)150 2376 y(Ev)m(erything)30 b(else)g(is)f
(unnecessary)h(for)g(the)h(prop)s(er)e(op)s(eration)h(of)g(the)h
(debugger/stub.)275 2517 y(F)-8 b(rom)24 b(reading)e(the)i(stub,)g
(it's)f(probably)f(not)i(ob)m(vious)f(ho)m(w)h(breakp)s(oin)m(ts)e(w)m
(ork.)38 b(They)23 b(are)h(simply)150 2627 y(done)30
b(b)m(y)g(dep)s(osit/examine)g(op)s(erations)f(from)h(GDB.)150
2902 y Fj(10.3)68 b(R)l(OM)45 b(Monitor)h(In)l(terface)150
3235 y(10.4)68 b(Custom)46 b(Proto)t(cols)150 3569 y(10.5)68
b(T)-11 b(ransp)t(ort)45 b(La)l(y)l(er)150 3902 y(10.6)68
b(Builtin)46 b(Sim)l(ulator)150 4257 y Fh(11)80 b(Nativ)l(e)54
b(Debugging)275 4512 y Fk(Sev)m(eral)30 b(\014les)f(con)m(trol)i(GDB's)
h(con\014guration)d(for)i(nativ)m(e)f(supp)s(ort:)150
4682 y(`)p Ff(gdb/config/)p Fg(arc)m(h)p Ff(/)p Fg(xyz)p
Ff(.mh)p Fk(')630 4792 y(Sp)s(eci\014es)59 b(Mak)m(e\014le)i(fragmen)m
(ts)g(needed)f(when)f(hosting)h Fd(or)h(native)67 b Fk(on)60
b(mac)m(hine)630 4902 y Fg(xyz)p Fk(.)87 b(In)45 b(particular,)i(this)e
(lists)f(the)i(required)e(nativ)m(e-dep)s(enden)m(t)h(ob)5
b(ject)46 b(\014les,)j(b)m(y)630 5011 y(de\014ning)d(`)p
Ff(NATDEPFILES=...)l Fk('.)93 b(Also)47 b(sp)s(eci\014es)g(the)h
(header)f(\014le)g(whic)m(h)g(describ)s(es)630 5121 y(nativ)m(e)54
b(supp)s(ort)f(on)h Fg(xyz)p Fk(,)60 b(b)m(y)54 b(de\014ning)e(`)p
Ff(NAT_FILE=)28 b(nm-)p Fg(xyz)p Ff(.h)p Fk('.)111 b(Y)-8
b(ou)55 b(can)f(also)630 5230 y(de\014ne)d(`)p Ff(NAT_CFLAGS)p
Fk(',)56 b(`)p Ff(NAT_ADD_FILES)p Fk(',)e(`)p Ff(NAT_CLIBS)p
Fk(',)i(`)p Ff(NAT_CDEPS)p Fk(',)g(etc.;)64 b(see)630
5340 y(`)p Ff(Makefile.in)p Fk('.)p eop
%%Page: 38 40
38 39 bop 150 -116 a Fk(Chapter)30 b(11:)41 b(Nativ)m(e)32
b(Debugging)2285 b(38)150 299 y(`)p Ff(gdb/config/)p
Fg(arc)m(h)p Ff(/nm-)p Fg(xyz)p Ff(.h)p Fk(')630 408
y(\(`)p Ff(nm.h)p Fk(')25 b(is)g(a)h(link)d(to)k(this)d(\014le,)i
(created)g(b)m(y)g(con\014gure\).)39 b(Con)m(tains)25
b(C)g(macro)h(de\014nitions)630 518 y(describing)38 b(the)j(nativ)m(e)g
(system)g(en)m(vironmen)m(t,)i(suc)m(h)d(as)h(c)m(hild)e(pro)s(cess)h
(con)m(trol)i(and)630 628 y(core)31 b(\014le)f(supp)s(ort.)150
779 y(`)p Ff(gdb/)p Fg(xyz)p Ff(-nat.c)p Fk(')630 889
y(Con)m(tains)44 b(an)m(y)i(miscellaneous)d(C)i(co)s(de)g(required)e
(for)i(this)f(nativ)m(e)i(supp)s(ort)d(of)i(this)630
998 y(mac)m(hine.)40 b(On)30 b(some)h(mac)m(hines)f(it)g(do)s(esn't)g
(exist)g(at)h(all.)275 1149 y(There)43 b(are)h(some)g(\\generic")g(v)m
(ersions)f(of)h(routines)e(that)i(can)g(b)s(e)f(used)g(b)m(y)g(v)-5
b(arious)43 b(systems.)150 1259 y(These)26 b(can)h(b)s(e)f(customized)h
(in)e(v)-5 b(arious)26 b(w)m(a)m(ys)h(b)m(y)f(macros)i(de\014ned)d(in)g
(y)m(our)i(`)p Ff(nm-)p Fg(xyz)p Ff(.h)p Fk(')f(\014le.)38
b(If)26 b(these)150 1369 y(routines)k(w)m(ork)i(for)f(the)g
Fg(xyz)37 b Fk(host,)32 b(y)m(ou)g(can)g(just)e(include)g(the)h
(generic)g(\014le's)g(name)g(\(with)g(`)p Ff(.o)p Fk(',)h(not)150
1478 y(`)p Ff(.c)p Fk('\))f(in)e Ff(NATDEPFILES)p Fk(.)275
1609 y(Otherwise,)21 b(if)f(y)m(our)h(mac)m(hine)g(needs)g(custom)g
(supp)s(ort)e(routines,)j(y)m(ou)g(will)c(need)j(to)h(write)e(routines)
150 1718 y(that)25 b(p)s(erform)e(the)h(same)h(functions)e(as)h(the)h
(generic)f(\014le.)38 b(Put)24 b(them)g(in)m(to)g Fg(xyz)5
b Ff(-nat.c)p Fk(,)25 b(and)e(put)h Fg(xyz)5 b Ff(-)150
1828 y(nat.o)29 b Fk(in)m(to)h Ff(NATDEPFILES)p Fk(.)150
1979 y(`)p Ff(inftarg.c)p Fk(')630 2089 y(This)h(con)m(tains)h(the)h
Fd(tar)-5 b(get)p 1586 2089 28 4 v 34 w(ops)36 b(ve)-5
b(ctor)43 b Fk(that)33 b(supp)s(orts)d(Unix)i(c)m(hild)e(pro)s(cesses)j
(on)f(sys-)630 2198 y(tems)f(whic)m(h)e(use)h(ptrace)h(and)f(w)m(ait)g
(to)h(con)m(trol)g(the)g(c)m(hild.)150 2349 y(`)p Ff(procfs.c)p
Fk(')630 2459 y(This)g(con)m(tains)h(the)h Fd(tar)-5
b(get)p 1586 2459 V 34 w(ops)36 b(ve)-5 b(ctor)43 b Fk(that)33
b(supp)s(orts)d(Unix)i(c)m(hild)e(pro)s(cesses)j(on)f(sys-)630
2569 y(tems)f(whic)m(h)e(use)h(/pro)s(c)g(to)h(con)m(trol)g(the)g(c)m
(hild.)150 2720 y(`)p Ff(fork-child.c)p Fk(')630 2829
y(This)j(do)s(es)h(the)g(lo)m(w-lev)m(el)h(grunge)f(that)h(uses)f(Unix)
f(system)i(calls)e(to)j(do)e(a)h Ff(")p Fk(fork)f(and)630
2939 y(exec)p Ff(")c Fk(to)g(start)g(up)f(a)g(c)m(hild)f(pro)s(cess.)
150 3090 y(`)p Ff(infptrace.c)p Fk(')630 3200 y(This)j(is)g(the)i(lo)m
(w)f(lev)m(el)h(in)m(terface)g(to)g(inferior)d(pro)s(cesses)j(for)f
(systems)g(using)f(the)i(Unix)630 3310 y Ff(ptrace)29
b Fk(call)g(in)g(a)i(v)-5 b(anilla)29 b(w)m(a)m(y)-8
b(.)150 3555 y Fj(11.1)68 b(Nativ)l(e)47 b(core)e(\014le)g(Supp)t(ort)
150 3764 y Fk(`)p Ff(core-aout.c::fetch_core_r)o(egis)o(ters)o(\(\))p
Fk(')630 3874 y(Supp)s(ort)34 b(for)i(reading)f(registers)g(out)h(of)h
(a)f(core)h(\014le.)56 b(This)34 b(routine)h(calls)g
Ff(register_)630 3983 y(addr\(\))p Fk(,)48 b(see)e(b)s(elo)m(w.)85
b(No)m(w)46 b(that)g(BFD)h(is)d(used)h(to)h(read)f(core)i(\014les,)h
(virtually)43 b(all)630 4093 y(mac)m(hines)55 b(should)f(use)h
Ff(core-aout.c)p Fk(,)k(and)c(should)f(just)h(pro)m(vide)g
Ff(fetch_core_)630 4202 y(registers)28 b Fk(in)h Fg(xyz)5
b Ff(-nat.c)29 b Fk(\(or)i Ff(REGISTER_U_ADDR)26 b Fk(in)j
Ff(nm-)p Fg(xyz)p Ff(.h)p Fk(\).)150 4354 y(`)p Ff
(core-aout.c::register_add)o(r\(\))p Fk(')630 4463 y(If)41
b(y)m(our)h Ff(nm-)p Fg(xyz)p Ff(.h)f Fk(\014le)g(de\014nes)g(the)h
(macro)g Ff(REGISTER_U_ADDR\(addr,)24 b(blockend,)630
4573 y(regno\))p Fk(,)h(it)h(should)d(b)s(e)i(de\014ned)g(to)h(set)h
Ff(addr)d Fk(to)j(the)f(o\013set)h(within)c(the)j(`)p
Ff(user)p Fk(')f(struct)h(of)630 4682 y(GDB)g(register)f(n)m(um)m(b)s
(er)e Ff(regno)p Fk(.)38 b Ff(blockend)22 b Fk(is)i(the)h(o\013set)h
(within)c(the)j(\\upage")h(of)f Ff(u.u_)630 4792 y(ar0)p
Fk(.)45 b(If)31 b Ff(REGISTER_U_ADDR)d Fk(is)j(de\014ned,)g(`)p
Ff(core-aout.c)p Fk(')f(will)f(de\014ne)i(the)h Ff(register_)630
4902 y(addr\(\))k Fk(function)h(and)g(use)h(the)g(macro)g(in)f(it.)63
b(If)38 b(y)m(ou)g(do)g(not)g(de\014ne)f Ff(REGISTER_U_)630
5011 y(ADDR)p Fk(,)28 b(but)f(y)m(ou)i(are)f(using)f(the)h(standard)f
Ff(fetch_core_registers\(\))p Fk(,)c(y)m(ou)29 b(will)c(need)630
5121 y(to)f(de\014ne)f(y)m(our)g(o)m(wn)g(v)m(ersion)g(of)h
Ff(register_addr\(\))p Fk(,)c(put)j(it)g(in)m(to)g(y)m(our)h
Fg(xyz)5 b Ff(-nat.c)22 b Fk(\014le,)630 5230 y(and)i(b)s(e)f(sure)g
Fg(xyz)5 b Ff(-nat.o)23 b Fk(is)g(in)g(the)i Ff(NATDEPFILES)c
Fk(list.)37 b(If)24 b(y)m(ou)g(ha)m(v)m(e)h(y)m(our)f(o)m(wn)h
Ff(fetch_)630 5340 y(core_registers\(\))p Fk(,)40 b(y)m(ou)j(ma)m(y)f
(not)g(need)g(a)g(separate)g Ff(register_addr\(\))p Fk(.)71
b(Man)m(y)p eop
%%Page: 39 41
39 40 bop 150 -116 a Fk(Chapter)30 b(11:)41 b(Nativ)m(e)32
b(Debugging)2285 b(39)630 299 y(custom)30 b Ff
(fetch_core_registers\(\))25 b Fk(implemen)m(tations)j(simply)g(lo)s
(cate)j(the)f(registers)630 408 y(themselv)m(es.)275
562 y(When)d(making)g(GDB)i(run)e(nativ)m(e)h(on)f(a)i(new)e(op)s
(erating)g(system,)i(to)g(mak)m(e)f(it)g(p)s(ossible)d(to)k(debug)150
672 y(core)41 b(\014les,)g(y)m(ou)g(will)c(need)j(to)g(either)g(write)f
(sp)s(eci\014c)g(co)s(de)h(for)g(parsing)e(y)m(our)i(OS's)g(core)g
(\014les,)i(or)150 781 y(customize)f(`)p Ff(bfd/trad-core.c)p
Fk('.)67 b(First,)43 b(use)d(whatev)m(er)h Ff(#include)d
Fk(\014les)i(y)m(our)g(mac)m(hine)g(uses)g(to)150 891
y(de\014ne)29 b(the)i(struct)f(of)g(registers)g(that)h(is)e(accessible)
h(\(p)s(ossibly)d(in)i(the)h(u-area\))h(in)e(a)i(core)g(\014le)e
(\(rather)150 1000 y(than)35 b(`)p Ff(machine/reg.h)p
Fk('\),)g(and)g(an)h(include)d(\014le)i(that)h(de\014nes)f(whatev)m(er)
i(header)e(exists)g(on)h(a)g(core)150 1110 y(\014le)d(\(e.g.)52
b(the)34 b(u-area)h(or)f(a)g(`)p Ff(struct)29 b(core)p
Fk('\).)50 b(Then)33 b(mo)s(dify)f Ff(trad_unix_core_file_p\(\))c
Fk(to)34 b(use)150 1220 y(these)40 b(v)-5 b(alues)38
b(to)i(set)g(up)e(the)i(section)f(information)f(for)h(the)g(data)h
(segmen)m(t,)j(stac)m(k)e(segmen)m(t,)i(an)m(y)150 1329
y(other)d(segmen)m(ts)h(in)d(the)i(core)h(\014le)e(\(p)s(erhaps)f
(shared)h(library)f(con)m(ten)m(ts)j(or)f(con)m(trol)g(information\),)
150 1439 y(\\registers")d(segmen)m(t,)i(and)d(if)f(there)i(are)g(t)m(w)
m(o)g(discon)m(tiguous)e(sets)i(of)g(registers)f(\(e.g.)60
b(in)m(teger)37 b(and)150 1548 y(\015oat\),)30 b(the)f(\\reg2")h
(segmen)m(t.)41 b(This)27 b(section)i(information)e(basically)f
(delimits)g(areas)k(in)d(the)i(core)g(\014le)150 1658
y(in)e(a)i(standard)f(w)m(a)m(y)-8 b(,)30 b(whic)m(h)d(the)i
(section-reading)f(routines)g(in)f(BFD)i(kno)m(w)g(ho)m(w)f(to)h(seek)h
(around)d(in.)275 1789 y(Then)33 b(bac)m(k)j(in)d(GDB,)j(y)m(ou)f(need)
f(a)i(matc)m(hing)e(routine)g(called)g Ff(fetch_core_registers\(\))p
Fk(.)47 b(If)150 1899 y(y)m(ou)34 b(can)h(use)e(the)i(generic)f(one,)h
(it's)f(in)f(`)p Ff(core-aout.c)p Fk(';)g(if)g(not,)i(it's)f(in)f(y)m
(our)h(`)p Fg(xyz)p Ff(-nat.c)p Fk(')f(\014le.)51 b(It)150
2009 y(will)29 b(b)s(e)i(passed)g(a)g(c)m(har)h(p)s(oin)m(ter)f(to)h
(the)g(en)m(tire)f(\\registers")h(segmen)m(t,)h(its)e(length,)g(and)g
(a)h(zero;)h(or)f(a)150 2118 y(c)m(har)27 b(p)s(oin)m(ter)f(to)i(the)f
(en)m(tire)f(\\regs2")j(segmen)m(t,)g(its)d(length,)h(and)g(a)g(2.)40
b(The)26 b(routine)g(should)f(suc)m(k)i(out)150 2228
y(the)k(supplied)c(register)j(v)-5 b(alues)30 b(and)f(install)g(them)h
(in)m(to)g(GDB's)i(\\registers")f(arra)m(y)-8 b(.)275
2359 y(If)35 b(y)m(our)g(system)h(uses)g(`)p Ff(/proc)p
Fk(')e(to)j(con)m(trol)f(pro)s(cesses,)h(and)e(uses)h(ELF)f(format)h
(core)h(\014les,)f(then)150 2469 y(y)m(ou)29 b(ma)m(y)g(b)s(e)f(able)g
(to)h(use)f(the)h(same)g(routines)e(for)i(reading)e(the)i(registers)f
(out)h(of)f(pro)s(cesses)h(and)f(out)150 2579 y(of)j(core)g(\014les.)
150 2827 y Fj(11.2)68 b(ptrace)150 3134 y(11.3)g(/pro)t(c)150
3441 y(11.4)g(win32)150 3747 y(11.5)g(shared)45 b(libraries)150
4054 y(11.6)68 b(Nativ)l(e)47 b(Conditionals)275 4244
y Fk(When)28 b(GDB)i(is)e(con\014gured)h(and)f(compiled,)g(v)-5
b(arious)28 b(macros)h(are)h(de\014ned)d(or)i(left)g(unde\014ned,)e(to)
150 4353 y(con)m(trol)32 b(compilation)f(when)g(the)h(host)g(and)g
(target)h(systems)f(are)h(the)f(same.)46 b(These)31 b(macros)i(should)
150 4463 y(b)s(e)d(de\014ned)f(\(or)i(left)f(unde\014ned\))e(in)h(`)p
Ff(nm-)p Fg(system)p Ff(.h)p Fk('.)150 4616 y Ff(ATTACH_DETACH)630
4726 y Fk(If)40 b(de\014ned,)j(then)e(GDB)h(will)c(include)g(supp)s
(ort)i(for)g(the)h Ff(attach)f Fk(and)g Ff(detach)f Fk(com-)630
4836 y(mands.)150 4989 y Ff(CHILD_PREPARE_TO_STORE)630
5099 y Fk(If)31 b(the)g(mac)m(hine)g(stores)h(all)e(registers)h(at)h
(once)g(in)e(the)h(c)m(hild)e(pro)s(cess,)j(then)f(de\014ne)f(this)630
5208 y(to)f(ensure)f(that)g(all)g(v)-5 b(alues)27 b(are)i(correct.)41
b(This)26 b(usually)g(en)m(tails)i(a)h(read)f(from)g(the)g(c)m(hild.)
630 5340 y([Note)k(that)f(this)e(is)h(incorrectly)f(de\014ned)g(in)g(`)
p Ff(xm-)p Fg(system)p Ff(.h)p Fk(')h(\014les)f(curren)m(tly)-8
b(.])p eop
%%Page: 40 42
40 41 bop 150 -116 a Fk(Chapter)30 b(11:)41 b(Nativ)m(e)32
b(Debugging)2285 b(40)150 299 y Ff(FETCH_INFERIOR_REGISTERS)630
408 y Fk(De\014ne)35 b(this)f(if)h(the)g(nativ)m(e-dep)s(enden)m(t)g
(co)s(de)g(will)e(pro)m(vide)h(its)g(o)m(wn)i(routines)e
Ff(fetch_)630 518 y(inferior_registers)f Fk(and)38 b
Ff(store_inferior_register)o(s)32 b Fk(in)37 b(`)p Fg(HOST)p
Ff(-nat.c)p Fk('.)61 b(If)630 628 y(this)26 b(sym)m(b)s(ol)h(is)f
Fd(not)37 b Fk(de\014ned,)27 b(and)g(`)p Ff(infptrace.c)p
Fk(')e(is)h(included)f(in)h(this)g(con\014guration,)630
737 y(the)31 b(default)e(routines)g(in)g(`)p Ff(infptrace.c)p
Fk(')f(are)j(used)f(for)g(these)h(functions.)150 889
y Ff(FILES_INFO_HOOK)630 998 y Fk(\(Only)e(de\014ned)g(for)h(Con)m(v)m
(ex.\))150 1149 y Ff(FP0_REGNUM)630 1259 y Fk(This)40
b(macro)i(is)f(normally)f(de\014ned)h(to)h(b)s(e)f(the)h(n)m(um)m(b)s
(er)e(of)i(the)g(\014rst)f(\015oating)h(p)s(oin)m(t)630
1369 y(register,)e(if)d(the)h(mac)m(hine)f(has)h(suc)m(h)f(registers.)
63 b(As)38 b(suc)m(h,)h(it)f(w)m(ould)e(app)s(ear)h(only)g(in)630
1478 y(target-sp)s(eci\014c)30 b(co)s(de.)41 b(Ho)m(w)m(ev)m(er,)32
b(/pro)s(c)d(supp)s(ort)f(uses)h(this)f(to)j(decide)e(whether)f
(\015oats)630 1588 y(are)j(in)e(use)h(on)g(this)f(target.)150
1739 y Ff(GET_LONGJMP_TARGET)630 1849 y Fk(F)-8 b(or)32
b(most)h(mac)m(hines,)e(this)g(is)g(a)h(target-dep)s(enden)m(t)h
(parameter.)45 b(On)31 b(the)h(DECstation)630 1958 y(and)g(the)i(Iris,)
e(this)g(is)g(a)i(nativ)m(e-dep)s(enden)m(t)e(parameter,)j(since)d
Ff(<)p Fk(setjmp.h)p Ff(>)g Fk(is)g(needed)630 2068 y(to)f(de\014ne)f
(it.)630 2198 y(This)41 b(macro)j(determines)e(the)h(target)h(PC)f
(address)f(that)h(long)s(jmp\(\))f(will)f(jump)g(to,)630
2308 y(assuming)47 b(that)i(w)m(e)g(ha)m(v)m(e)h(just)e(stopp)s(ed)f
(at)i(a)g(long)s(jmp)e(breakp)s(oin)m(t.)94 b(It)49 b(tak)m(es)h(a)630
2418 y(CORE)p 901 2418 28 4 v 32 w(ADDR)45 b(*)f(as)h(argumen)m(t,)j
(and)c(stores)g(the)h(target)g(PC)f(v)-5 b(alue)44 b(through)f(this)630
2527 y(p)s(oin)m(ter.)d(It)30 b(examines)g(the)h(curren)m(t)f(state)i
(of)e(the)h(mac)m(hine)f(as)g(needed.)150 2679 y Ff(KERNEL_U_ADDR)630
2788 y Fk(De\014ne)i(this)f(to)i(the)g(address)e(of)h(the)h
Ff(u)e Fk(structure)h(\(the)h(\\user)f(struct",)h(also)f(kno)m(wn)g(as)
630 2898 y(the)27 b(\\u-page"\))h(in)e(k)m(ernel)g(virtual)f(memory)-8
b(.)40 b(GDB)27 b(needs)g(to)g(kno)m(w)g(this)e(so)i(that)g(it)g(can)
630 3007 y(subtract)34 b(this)f(address)g(from)h(absolute)g(addresses)f
(in)g(the)h(upage,)h(that)g(are)g(obtained)630 3117 y(via)f(ptrace)h
(or)g(from)f(core)h(\014les.)52 b(On)33 b(systems)i(that)g(don't)f
(need)h(this)e(v)-5 b(alue,)35 b(set)g(it)f(to)630 3226
y(zero.)150 3378 y Ff(KERNEL_U_ADDR_BSD)630 3487 y Fk(De\014ne)h(this)f
(to)h(cause)g(GDB)h(to)g(determine)d(the)i(address)f(of)h
Ff(u)f Fk(at)i(run)m(time,)f(b)m(y)f(using)630 3597 y(Berk)m(eley-st)m
(yle)e Ff(nlist)d Fk(on)h(the)h(k)m(ernel's)f(image)g(in)f(the)i(ro)s
(ot)g(directory)-8 b(.)150 3748 y Ff(KERNEL_U_ADDR_HPUX)630
3858 y Fk(De\014ne)35 b(this)f(to)h(cause)g(GDB)h(to)g(determine)d(the)
i(address)f(of)h Ff(u)f Fk(at)i(run)m(time,)f(b)m(y)f(using)630
3968 y(HP-st)m(yle)d Ff(nlist)e Fk(on)h(the)h(k)m(ernel's)f(image)g(in)
f(the)i(ro)s(ot)g(directory)-8 b(.)150 4119 y Ff(ONE_PROCESS_WRITETEXT)
630 4228 y Fk(De\014ne)30 b(this)f(to)i(b)s(e)f(able)g(to,)h(when)e(a)h
(breakp)s(oin)m(t)f(insertion)g(fails,)g(w)m(arn)h(the)g(user)f(that)
630 4338 y(another)i(pro)s(cess)f(ma)m(y)g(b)s(e)g(running)e(with)h
(the)h(same)h(executable.)150 4489 y Ff(PROC_NAME_FMT)630
4599 y Fk(De\014nes)24 b(the)g(format)h(for)e(the)i(name)f(of)g(a)g(`)p
Ff(/proc)p Fk(')f(device.)39 b(Should)22 b(b)s(e)h(de\014ned)g(in)g(`)p
Ff(nm.h)p Fk(')630 4709 y Fd(only)39 b Fk(in)29 b(order)h(to)h(o)m(v)m
(erride)g(the)f(default)g(de\014nition)e(in)h(`)p Ff(procfs.c)p
Fk('.)150 4860 y Ff(PTRACE_FP_BUG)630 4969 y Fk(mac)m(h386-xdep.c)150
5121 y Ff(PTRACE_ARG3_TYPE)630 5230 y Fk(The)36 b(t)m(yp)s(e)h(of)f
(the)h(third)e(argumen)m(t)i(to)g(the)f Ff(ptrace)f Fk(system)i(call,)g
(if)f(it)g(exists)g(and)g(is)630 5340 y(di\013eren)m(t)30
b(from)g Ff(int)p Fk(.)p eop
%%Page: 41 43
41 42 bop 150 -116 a Fk(Chapter)30 b(12:)41 b(Supp)s(ort)29
b(Libraries)2294 b(41)150 299 y Ff(REGISTER_U_ADDR)630
408 y Fk(De\014nes)30 b(the)h(o\013set)g(of)g(the)f(registers)h(in)e
(the)h(\\u)g(area".)150 579 y Ff(SHELL_COMMAND_CONCAT)630
689 y Fk(If)f(de\014ned,)g(is)g(a)h(string)f(to)h(pre\014x)f(on)g(the)h
(shell)e(command)h(used)g(to)i(start)f(the)g(inferior.)150
859 y Ff(SHELL_FILE)630 969 y Fk(If)j(de\014ned,)h(this)e(is)h(the)h
(name)f(of)h(the)g(shell)e(to)i(use)g(to)g(run)e(the)i(inferior.)49
b(Defaults)33 b(to)630 1079 y Ff("/bin/sh")p Fk(.)150
1249 y Ff(SOLIB_ADD)28 b(\(filename,)f(from_tty,)h(targ\))630
1359 y Fk(De\014ne)e(this)e(to)i(expand)f(in)m(to)g(an)h(expression)e
(that)i(will)d(cause)j(the)g(sym)m(b)s(ols)e(in)g Fg(\014lename)630
1468 y Fk(to)31 b(b)s(e)f(added)g(to)h(GDB's)g(sym)m(b)s(ol)e(table.)
150 1639 y Ff(SOLIB_CREATE_INFERIOR_HO)o(OK)630 1749
y Fk(De\014ne)h(this)e(to)i(expand)f(in)m(to)h(an)m(y)f
(shared-library-relo)s(cation)e(co)s(de)j(that)g(y)m(ou)g(w)m(an)m(t)g
(to)630 1858 y(b)s(e)g(run)f(just)g(after)i(the)g(c)m(hild)e(pro)s
(cess)h(has)g(b)s(een)f(fork)m(ed.)150 2029 y Ff
(START_INFERIOR_TRAPS_EXP)o(ECTE)o(D)630 2138 y Fk(When)41
b(starting)g(an)f(inferior,)i(GDB)g(normally)d(exp)s(ects)j(to)f(trap)g
(t)m(wice;)47 b(once)42 b(when)630 2248 y(the)33 b(shell)f(execs,)j
(and)d(once)i(when)e(the)h(program)g(itself)f(execs.)50
b(If)33 b(the)g(actual)g(n)m(um)m(b)s(er)630 2358 y(of)h(traps)g(is)e
(something)i(other)g(than)f(2,)j(then)d(de\014ne)g(this)g(macro)h(to)h
(expand)e(in)m(to)h(the)630 2467 y(n)m(um)m(b)s(er)29
b(exp)s(ected.)150 2638 y Ff(SVR4_SHARED_LIBS)630 2747
y Fk(De\014ne)i(this)e(to)i(indicate)e(that)i(SVR4-st)m(yle)g(shared)f
(libraries)d(are)k(in)e(use.)150 2918 y Ff(USE_PROC_FS)630
3028 y Fk(This)e(determines)h(whether)h(small)e(routines)h(in)g(`)p
Ff(*-tdep.c)p Fk(',)g(whic)m(h)g(translate)h(register)630
3137 y(v)-5 b(alues)24 b(b)s(et)m(w)m(een)h(GDB's)g(in)m(ternal)e
(represen)m(tation)h(and)g(the)h(/pro)s(c)f(represen)m(tation,)i(are)
630 3247 y(compiled.)150 3417 y Ff(U_REGS_OFFSET)630
3527 y Fk(This)43 b(is)h(the)g(o\013set)i(of)f(the)g(registers)f(in)g
(the)h(upage.)83 b(It)45 b(need)g(only)e(b)s(e)i(de\014ned)e(if)630
3637 y(the)i(generic)h(ptrace)g(register)f(access)h(routines)f(in)e(`)p
Ff(infptrace.c)p Fk(')g(are)j(b)s(eing)e(used)630 3746
y(\(that)e(is,)h(`)p Ff(infptrace.c)p Fk(')38 b(is)i(con\014gured)g
(in,)i(and)f Ff(FETCH_INFERIOR_REGISTER)o(S)35 b Fk(is)630
3856 y(not)e(de\014ned\).)45 b(If)32 b(the)h(default)f(v)-5
b(alue)31 b(from)h(`)p Ff(infptrace.c)p Fk(')e(is)i(go)s(o)s(d)g
(enough,)h(lea)m(v)m(e)g(it)630 3965 y(unde\014ned.)630
4106 y(The)24 b(default)g(v)-5 b(alue)24 b(means)h(that)g(u.u)p
1936 4106 28 4 v 32 w(ar0)g Fd(p)-5 b(oints)29 b(to)i
Fk(the)25 b(lo)s(cation)f(of)h(the)g(registers.)38 b(I'm)630
4215 y(guessing)30 b(that)h Ff(#define)d(U_REGS_OFFSET)f(0)j
Fk(means)g(that)h(u.u)p 2887 4215 V 32 w(ar0)g Fd(is)38
b Fk(the)31 b(lo)s(cation)f(of)630 4325 y(the)h(registers.)150
4495 y Ff(CLEAR_SOLIB)630 4605 y Fk(ob)5 b(j\014les.c)150
4776 y Ff(DEBUG_PTRACE)630 4885 y Fk(De\014ne)31 b(this)e(to)i(debug)f
(ptrace)h(calls.)150 5190 y Fh(12)80 b(Supp)t(ort)52
b(Libraries)p eop
%%Page: 42 44
42 43 bop 150 -116 a Fk(Chapter)30 b(12:)41 b(Supp)s(ort)29
b(Libraries)2294 b(42)150 299 y Fj(12.1)68 b(BFD)275
490 y Fk(BFD)31 b(pro)m(vides)e(supp)s(ort)g(for)h(GDB)i(in)d(sev)m
(eral)h(w)m(a)m(ys:)150 648 y Fd(identifying)j(exe)-5
b(cutable)33 b(and)g(c)-5 b(or)g(e)34 b(\014les)630 757
y Fk(BFD)e(will)27 b(iden)m(tify)i(a)i(v)-5 b(ariet)m(y)31
b(of)f(\014le)g(t)m(yp)s(es,)h(including)c(a.out,)k(co\013,)h(and)e
(sev)m(eral)g(v)-5 b(ari-)630 867 y(an)m(ts)31 b(thereof,)g(as)g(w)m
(ell)e(as)i(sev)m(eral)f(kinds)f(of)h(core)h(\014les.)150
1024 y Fd(ac)-5 b(c)g(ess)33 b(to)h(se)-5 b(ctions)33
b(of)g(\014les)630 1134 y Fk(BFD)38 b(parses)e(the)g(\014le)g(headers)g
(to)h(determine)f(the)g(names,)j(virtual)34 b(addresses,)k(sizes,)630
1243 y(and)h(\014le)g(lo)s(cations)g(of)g(all)g(the)h(v)-5
b(arious)38 b(named)h(sections)h(in)e(\014les)h(\(suc)m(h)g(as)h(the)g
(text)630 1353 y(section)29 b(or)h(the)f(data)h(section\).)41
b(GDB)31 b(simply)26 b(calls)j(BFD)h(to)g(read)g(or)f(write)f(section)i
(X)630 1463 y(at)h(b)m(yte)g(o\013set)h(Y)e(for)g(length)g(Z.)150
1620 y Fd(sp)-5 b(e)g(cialize)g(d)35 b(c)-5 b(or)g(e)33
b(\014le)g(supp)-5 b(ort)630 1730 y Fk(BFD)27 b(pro)m(vides)e(routines)
g(to)h(determine)f(the)i(failing)c(command)j(name)g(stored)g(in)f(a)h
(core)630 1839 y(\014le,)31 b(the)h(signal)e(with)g(whic)m(h)g(the)i
(program)f(failed,)g(and)f(whether)h(a)h(core)g(\014le)f(matc)m(hes)630
1949 y(\(i.e.)41 b(could)29 b(b)s(e)h(a)h(core)g(dump)e(of)7
b(\))31 b(a)f(particular)f(executable)i(\014le.)150 2106
y Fd(lo)-5 b(c)g(ating)34 b(the)f(symb)-5 b(ol)34 b(information)630
2216 y Fk(GDB)e(uses)e(an)h(in)m(ternal)e(in)m(terface)i(of)g(BFD)h(to)
g(determine)d(where)i(to)g(\014nd)e(the)i(sym)m(b)s(ol)630
2325 y(information)25 b(in)h(an)g(executable)i(\014le)e(or)g(sym)m(b)s
(ol-\014le.)38 b(GDB)28 b(itself)e(handles)f(the)i(reading)630
2435 y(of)36 b(sym)m(b)s(ols,)g(since)f(BFD)h(do)s(es)g(not)f
(\\understand")g(debug)g(sym)m(b)s(ols,)h(but)f(GDB)h(uses)630
2544 y(BFD's)c(cac)m(hed)f(information)e(to)i(\014nd)e(the)h(sym)m(b)s
(ols,)f(string)h(table,)g(etc.)150 2799 y Fj(12.2)68
b(op)t(co)t(des)275 2990 y Fk(The)33 b(op)s(co)s(des)h(library)e(pro)m
(vides)h(GDB's)i(disassem)m(bler.)50 b(\(It's)35 b(a)f(separate)h
(library)d(b)s(ecause)i(it's)150 3100 y(also)c(used)g(in)f(bin)m
(utils,)e(for)k(`)p Ff(objdump)p Fk('\).)150 3354 y Fj(12.3)68
b(readline)150 3666 y(12.4)g(mmallo)t(c)150 3979 y(12.5)g(libib)t(ert)l
(y)150 4291 y(12.6)g(gn)l(u-regex)275 4483 y Fk(Regex)31
b(conditionals.)150 4640 y Ff(C_ALLOCA)150 4797 y(NFAILURES)150
4931 y(RE_NREGS)150 5088 y(SIGN_EXTEND_CHAR)150 5222
y(SWITCH_ENUM_BUG)150 5355 y(SYNTAX_TABLE)p eop
%%Page: 43 45
43 44 bop 150 -116 a Fk(Chapter)30 b(13:)41 b(Co)s(ding)2712
b(43)150 299 y Ff(Sword)150 468 y(sparc)150 749 y Fj(12.7)68
b(include)150 1108 y Fh(13)80 b(Co)t(ding)275 1371 y
Fk(This)28 b(c)m(hapter)j(co)m(v)m(ers)h(topics)e(that)h(are)g(lo)m(w)m
(er-lev)m(el)g(than)f(the)g(ma)5 b(jor)31 b(algorithms)e(of)i(GDB.)150
1652 y Fj(13.1)68 b(Clean)l(ups)275 1854 y Fk(Clean)m(ups)22
b(are)i(a)g(structured)e(w)m(a)m(y)j(to)g(deal)e(with)f(things)h(that)h
(need)f(to)i(b)s(e)e(done)g(later.)39 b(When)23 b(y)m(our)150
1964 y(co)s(de)36 b(do)s(es)f(something)g(\(lik)m(e)g
Ff(malloc)f Fk(some)i(memory)-8 b(,)37 b(or)f(op)s(en)f(a)h(\014le\))f
(that)h(needs)f(to)h(b)s(e)f(undone)150 2074 y(later)f(\(e.g.)54
b(free)34 b(the)g(memory)g(or)h(close)f(the)g(\014le\),)h(it)f(can)g
(mak)m(e)i(a)e(clean)m(up.)52 b(The)33 b(clean)m(up)h(will)e(b)s(e)150
2183 y(done)g(at)h(some)g(future)e(p)s(oin)m(t:)43 b(when)32
b(the)g(command)g(is)f(\014nished,)g(when)g(an)h(error)g(o)s(ccurs,)h
(or)f(when)150 2293 y(y)m(our)e(co)s(de)h(decides)f(it's)g(time)g(to)h
(do)f(clean)m(ups.)275 2437 y(Y)-8 b(ou)33 b(can)g(also)g(discard)f
(clean)m(ups,)h(that)h(is,)f(thro)m(w)g(them)f(a)m(w)m(a)m(y)j(without)
d(doing)g(what)h(they)h(sa)m(y)-8 b(.)150 2546 y(This)29
b(is)g(only)g(done)i(if)e(y)m(ou)i(ask)f(that)h(it)f(b)s(e)g(done.)275
2690 y(Syn)m(tax:)150 2864 y Ff(struct)f(cleanup)f(*)p
Fg(old)p 1006 2864 28 4 v 32 w(c)m(hain)p Ff(;)630 2974
y Fk(Declare)j(a)g(v)-5 b(ariable)29 b(whic)m(h)g(will)f(hold)h(a)i
(clean)m(up)f(c)m(hain)f(handle.)150 3143 y Fg(old)p
277 3143 V 32 w(c)m(hain)h Ff(=)g(make_cleanup)d(\()p
Fg(function)p Ff(,)h Fg(arg)8 b Ff(\);)630 3252 y Fk(Mak)m(e)44
b(a)f(clean)m(up)f(whic)m(h)f(will)f(cause)j Fg(function)e
Fk(to)j(b)s(e)e(called)f(with)h Fg(arg)50 b Fk(\(a)44
b Ff(char)29 b(*)p Fk(\))630 3362 y(later.)65 b(The)37
b(result,)j Fg(old)p 1512 3362 V 32 w(c)m(hain)p Fk(,)g(is)d(a)i
(handle)e(that)i(can)f(b)s(e)g(passed)g(to)h Ff(do_cleanups)630
3471 y Fk(or)47 b Ff(discard_cleanups)c Fk(later.)91
b(Unless)46 b(y)m(ou)h(are)h(going)f(to)h(call)e Ff(do_cleanups)e
Fk(or)630 3581 y Ff(discard_cleanups)26 b Fk(y)m(ourself,)k(y)m(ou)h
(can)f(ignore)g(the)h(result)e(from)h Ff(make_cleanup)p
Fk(.)150 3750 y Ff(do_cleanups)d(\()p Fg(old)p 880 3750
V 32 w(c)m(hain)p Ff(\);)630 3860 y Fk(P)m(erform)j(all)g(clean)m(ups)f
(done)h(since)g Ff(make_cleanup)d Fk(returned)i Fg(old)p
3012 3860 V 32 w(c)m(hain)p Fk(.)40 b(E.g.:)870 3993
y Ff(make_cleanup)k(\(a,)j(0\);)870 4097 y(old)g(=)g(make_cleanup)e
(\(b,)i(0\);)870 4201 y(do_cleanups)e(\(old\);)630 4340
y Fk(will)33 b(call)i Ff(b\(\))g Fk(but)g(will)e(not)j(call)f
Ff(a\(\))p Fk(.)56 b(The)35 b(clean)m(up)g(that)i(calls)e
Ff(a\(\))g Fk(will)e(remain)h(in)630 4449 y(the)d(clean)m(up)e(c)m
(hain,)i(and)e(will)f(b)s(e)i(done)g(later)g(unless)f(otherwise)h
(discarded.)150 4618 y Ff(discard_cleanups)c(\()p Fg(old)p
1119 4618 V 32 w(c)m(hain)p Ff(\);)630 4728 y Fk(Same)31
b(as)g Ff(do_cleanups)d Fk(except)k(that)f(it)g(just)f(remo)m(v)m(es)i
(the)g(clean)m(ups)e(from)g(the)h(c)m(hain)630 4838 y(and)f(do)s(es)g
(not)g(call)g(the)h(sp)s(eci\014ed)d(functions.)275 5011
y(Some)34 b(functions,)g(e.g.)53 b Ff(fputs_filtered\(\))30
b Fk(or)35 b Ff(error\(\))p Fk(,)e(sp)s(ecify)g(that)i(they)f(\\should)
f(not)i(b)s(e)150 5121 y(called)f(when)g(clean)m(ups)g(are)h(not)g(in)e
(place".)54 b(This)33 b(means)i(that)g(an)m(y)g(actions)g(y)m(ou)g
(need)g(to)g(rev)m(erse)150 5230 y(in)d(the)i(case)h(of)f(an)f(error)h
(or)f(in)m(terruption)f(m)m(ust)h(b)s(e)g(on)h(the)g(clean)m(up)f(c)m
(hain)g(b)s(efore)g(y)m(ou)h(call)f(these)150 5340 y(functions,)c
(since)h(they)g(migh)m(t)h(nev)m(er)f(return)g(to)h(y)m(our)f(co)s(de)h
(\(they)f(`)p Ff(longjmp)p Fk(')f(instead\).)p eop
%%Page: 44 46
44 45 bop 150 -116 a Fk(Chapter)30 b(13:)41 b(Co)s(ding)2712
b(44)150 299 y Fj(13.2)68 b(W)-11 b(rapping)45 b(Output)g(Lines)275
496 y Fk(Output)32 b(that)j(go)s(es)f(through)g Ff(printf_filtered)29
b Fk(or)34 b Ff(fputs_filtered)c Fk(or)k Ff(fputs_demangled)150
605 y Fk(needs)28 b(only)f(to)i(ha)m(v)m(e)h(calls)d(to)i
Ff(wrap_here)d Fk(added)i(in)f(places)h(that)h(w)m(ould)e(b)s(e)g(go)s
(o)s(d)h(breaking)g(p)s(oin)m(ts.)150 715 y(The)i(utilit)m(y)f
(routines)g(will)f(tak)m(e)k(care)f(of)f(actually)g(wrapping)e(if)i
(the)g(line)f(width)g(is)g(exceeded.)275 854 y(The)37
b(argumen)m(t)h(to)g Ff(wrap_here)d Fk(is)h(an)i(inden)m(tation)e
(string)h(whic)m(h)f(is)h(prin)m(ted)f Fd(only)46 b Fk(if)37
b(the)h(line)150 963 y(breaks)j(there.)75 b(This)40 b(argumen)m(t)j(is)
d(sa)m(v)m(ed)j(a)m(w)m(a)m(y)h(and)d(used)g(later.)75
b(It)41 b(m)m(ust)h(remain)f(v)-5 b(alid)40 b(un)m(til)150
1073 y(the)e(next)g(call)e(to)j Ff(wrap_here)c Fk(or)i(un)m(til)f(a)i
(newline)e(has)h(b)s(een)g(prin)m(ted)f(through)h(the)h
Ff(*_filtered)150 1182 y Fk(functions.)h(Don't)32 b(pass)e(in)f(a)h(lo)
s(cal)g(v)-5 b(ariable)29 b(and)h(then)g(return!)275
1321 y(It)37 b(is)e(usually)g(b)s(est)h(to)i(call)e Ff(wrap_here\(\))e
Fk(after)j(prin)m(ting)e(a)i(comma)h(or)f(space.)61 b(If)36
b(y)m(ou)h(call)f(it)150 1431 y(b)s(efore)30 b(prin)m(ting)f(a)i
(space,)h(mak)m(e)g(sure)e(that)h(y)m(our)g(inden)m(tation)f(prop)s
(erly)e(accoun)m(ts)33 b(for)d(the)h(leading)150 1540
y(space)g(that)g(will)d(prin)m(t)h(if)g(the)i(line)d(wraps)i(there.)275
1679 y(An)m(y)j(function)f(or)h(set)h(of)f(functions)f(that)i(pro)s
(duce)e(\014ltered)g(output)h(m)m(ust)g(\014nish)e(b)m(y)i(prin)m(ting)
f(a)150 1789 y(newline,)25 b(to)h(\015ush)d(the)j(wrap)e(bu\013er,)i(b)
s(efore)f(switc)m(hing)f(to)i(un\014ltered)e(\(\\)p Ff(printf)p
Fk("\))h(output.)39 b(Sym)m(b)s(ol)150 1898 y(reading)29
b(routines)h(that)h(prin)m(t)e(w)m(arnings)g(are)i(a)f(go)s(o)s(d)h
(example.)150 2166 y Fj(13.3)68 b(GDB)45 b(Co)t(ding)g(Standards)275
2363 y Fk(GDB)35 b(follo)m(ws)e(the)h(GNU)g(co)s(ding)f(standards,)h
(as)g(describ)s(ed)e(in)h(`)p Ff(etc/standards.texi)p
Fk('.)47 b(This)150 2472 y(\014le)c(is)g(also)i(a)m(v)-5
b(ailable)43 b(for)h(anon)m(ymous)g(FTP)g(from)g(GNU)g(arc)m(hiv)m(e)h
(sites.)82 b(GDB)45 b(tak)m(es)h(a)e(strict)150 2582
y(in)m(terpretation)29 b(of)h(the)f(standard;)g(in)g(general,)h(when)e
(the)i(GNU)g(standard)f(recommends)g(a)h(practice)150
2692 y(but)g(do)s(es)g(not)g(require)f(it,)i(GDB)g(requires)e(it.)275
2830 y(GDB)i(follo)m(ws)f(an)g(additional)e(set)j(of)g(co)s(ding)e
(standards)h(sp)s(eci\014c)f(to)i(GDB,)h(as)e(describ)s(ed)f(in)g(the)
150 2940 y(follo)m(wing)g(sections.)275 3079 y(Y)-8 b(ou)38
b(can)g(con\014gure)f(with)g(`)p Ff(--enable-build-warnings)p
Fk(')32 b(to)38 b(get)h(GCC)f(to)g(c)m(hec)m(k)i(on)d(a)h(n)m(um-)150
3188 y(b)s(er)48 b(of)i(these)g(rules.)97 b(GDB)50 b(sources)g(ough)m
(t)g(not)g(to)g(engender)f(an)m(y)h(complain)m(ts,)k(unless)48
b(they)150 3298 y(are)33 b(caused)f(b)m(y)g(b)s(ogus)g(host)g(systems.)
46 b(\(The)32 b(exact)i(set)f(of)f(enabled)g(w)m(arnings)f(is)g(curren)
m(tly)g(`)p Ff(-Wall)150 3407 y(-Wpointer-arith)26 b
(-Wstrict-prototypes)f(-Wmissing-prototypes)g(-Wmissing-declarations)p
Fk('.)p 3924 3428 42 84 v 150 3640 a Fe(13.3.1)63 b(F)-10
b(ormatting)275 3837 y Fk(The)29 b(standard)h(GNU)h(recommendations)f
(for)g(formatting)g(m)m(ust)h(b)s(e)e(follo)m(w)m(ed)h(strictly)-8
b(.)275 3976 y(Note)25 b(that)f(while)d(in)i(a)h(de\014nition,)f(the)g
(function's)g(name)h(m)m(ust)f(b)s(e)g(in)f(column)h(zero;)k(in)22
b(a)i(function)150 4085 y(declaration,)30 b(the)h(name)f(m)m(ust)g(b)s
(e)g(on)g(the)h(same)g(line)e(as)h(the)h(return)e(t)m(yp)s(e.)275
4224 y(In)i(addition,)g(there)h(m)m(ust)g(b)s(e)f(a)h(space)h(b)s(et)m
(w)m(een)f(a)h(function)d(or)i(macro)h(name)f(and)f(the)h(op)s(ening)
150 4333 y(paren)m(thesis)24 b(of)i(its)f(argumen)m(t)g(list)f
(\(except)j(for)e(macro)h(de\014nitions,)e(as)i(required)d(b)m(y)j
(C\).)f(There)g(m)m(ust)150 4443 y(not)31 b(b)s(e)e(a)i(space)g(after)g
(an)f(op)s(en)g(paren/brac)m(k)m(et)i(or)e(b)s(efore)g(a)h(close)g
(paren/brac)m(k)m(et.)275 4582 y(While)g(additional)g(whitespace)i(is)f
(generally)g(helpful)e(for)i(reading,)h(do)g(not)g(use)g(more)g(than)g
(one)150 4691 y(blank)c(line)g(to)j(separate)f(blo)s(c)m(ks,)g(and)f(a)
m(v)m(oid)h(adding)e(whitespace)h(after)i(the)e(end)g(of)h(a)g(program)
g(line)150 4801 y(\(as)h(of)f(1/99,)j(some)e(600)h(lines)c(had)i
(whitespace)g(after)h(the)f(semicolon\).)44 b(Excess)31
b(whitespace)h(causes)150 4911 y(di\016culties)c(for)i(di\013)f(and)h
(patc)m(h.)150 5143 y Fe(13.3.2)63 b(Commen)m(ts)275
5340 y Fk(The)29 b(standard)h(GNU)h(requiremen)m(ts)e(on)i(commen)m(ts)
g(m)m(ust)f(b)s(e)g(follo)m(w)m(ed)g(strictly)-8 b(.)p
eop
%%Page: 45 47
45 46 bop 150 -116 a Fk(Chapter)30 b(13:)41 b(Co)s(ding)2712
b(45)275 299 y(Blo)s(c)m(k)29 b(commen)m(ts)h(m)m(ust)f(app)s(ear)g(in)
f(the)h(follo)m(wing)f(form,)h(with)f(no)h(`/*'-)i(or)f('*/'-only)g
(lines,)e(and)150 408 y(no)i(leading)f(`*':)390 743 y
Ff(/*)47 b(Wait)g(for)g(control)f(to)h(return)f(from)g(inferior)g(to)h
(debugger.)93 b(If)47 b(inferior)533 846 y(gets)g(a)g(signal,)f(we)h
(may)g(decide)f(to)h(start)g(it)g(up)g(again)g(instead)e(of)533
950 y(returning.)93 b(That)47 b(is)g(why)g(there)f(is)h(a)h(loop)e(in)h
(this)g(function.)93 b(When)533 1054 y(this)47 b(function)e(actually)h
(returns)g(it)h(means)f(the)h(inferior)f(should)g(be)h(left)533
1158 y(stopped)f(and)h(GDB)g(should)f(read)h(more)f(commands.)93
b(*/)275 1290 y Fk(\(Note)29 b(that)f(this)e(format)i(is)f(encouraged)h
(b)m(y)f(Emacs;)i(tabbing)e(for)g(a)h(m)m(ulti-line)c(commen)m(t)29
b(w)m(orks)150 1400 y(correctly)-8 b(,)31 b(and)f(M-Q)h(\014lls)d(the)j
(blo)s(c)m(k)e(consisten)m(tly)-8 b(.\))275 1532 y(Put)27
b(a)i(blank)d(line)h(b)s(et)m(w)m(een)i(the)f(blo)s(c)m(k)f(commen)m
(ts)i(preceding)e(function)g(or)h(v)-5 b(ariable)27 b(de\014nitions,)
150 1642 y(and)j(the)g(de\014nition)e(itself.)275 1774
y(In)d(general,)j(put)d(function-b)s(o)s(dy)f(commen)m(ts)j(on)g(lines)
d(b)m(y)j(themselv)m(es,)g(rather)f(than)h(trying)e(to)i(\014t)150
1884 y(them)32 b(in)m(to)f(the)h(20)g(c)m(haracters)h(left)f(at)g(the)g
(end)f(of)g(a)h(line,)f(since)g(either)g(the)h(commen)m(t)g(or)g(the)g
(co)s(de)150 1993 y(will)c(inevitably)g(get)j(longer)f(than)h(will)c
(\014t,)k(and)e(then)i(someb)s(o)s(dy)e(will)f(ha)m(v)m(e)j(to)g(mo)m
(v)m(e)h(it)e(an)m(yho)m(w.)150 2211 y Fe(13.3.3)63 b(C)41
b(Usage)275 2402 y Fk(Co)s(de)36 b(m)m(ust)h(not)g(dep)s(end)e(on)i
(the)g(sizes)f(of)i(C)e(data)i(t)m(yp)s(es,)g(the)g(format)f(of)g(the)g
(host's)g(\015oating)150 2511 y(p)s(oin)m(t)29 b(n)m(um)m(b)s(ers,)h
(the)g(alignmen)m(t)g(of)g(an)m(ything,)g(or)h(the)f(order)g(of)h(ev)-5
b(aluation)30 b(of)g(expressions.)275 2644 y(Use)38 b(functions)f
(freely)-8 b(.)64 b(There)38 b(are)h(only)e(a)i(handful)d(of)i
(compute-b)s(ound)f(areas)i(in)e(GDB)i(that)150 2753
y(migh)m(t)d(b)s(e)g(a\013ected)j(b)m(y)d(the)h(o)m(v)m(erhead)h(of)f
(a)g(function)e(call,)j(mainly)d(in)g(sym)m(b)s(ol)g(reading.)59
b(Most)38 b(of)150 2863 y(GDB's)32 b(p)s(erformance)d(is)h(limited)e(b)
m(y)i(the)h(target)h(in)m(terface)e(\(whether)h(serial)e(line)f(or)j
(system)f(call\).)275 2995 y(Ho)m(w)m(ev)m(er,)f(use)e(functions)e
(with)h(mo)s(deration.)39 b(A)27 b(thousand)f(one-line)g(functions)f
(are)i(just)g(as)g(hard)150 3105 y(to)k(understand)e(as)h(a)h(single)e
(thousand-line)f(function.)150 3323 y Fe(13.3.4)63 b(F)-10
b(unction)41 b(Protot)m(yp)s(es)275 3513 y Fk(Protot)m(yp)s(es)32
b(m)m(ust)f(b)s(e)f(used)h(to)h Fd(de)-5 b(clar)g(e)39
b Fk(functions)30 b(but)h(nev)m(er)g(to)h Fd(de\014ne)39
b Fk(them.)k(Protot)m(yp)s(es)32 b(for)150 3623 y(GDB)i(functions)e(m)m
(ust)h(include)d(b)s(oth)j(the)g(argumen)m(t)g(t)m(yp)s(e)g(and)g
(name,)h(with)e(the)h(name)g(matc)m(hing)150 3732 y(that)e(used)f(in)f
(the)h(actual)h(function)e(de\014nition.)275 3865 y(F)-8
b(or)21 b(the)h(sak)m(e)g(of)f(compatibilit)m(y)e(with)h(pre-ANSI)g
(compilers,)i(de\014ne)e(protot)m(yp)s(es)i(with)d(the)j
Ff(PARAMS)150 3974 y Fk(macro:)390 4308 y Ff(extern)46
b(int)h(memory_remove_breakpoint)41 b(PARAMS)46 b(\(\(CORE_ADDR)f
(addr,)2538 4412 y(char)h(*contents_cache\)\);)275 4545
y Fk(Note)f(the)g(double)d(paren)m(theses)j(around)e(the)i(parameter)f
(t)m(yp)s(es.)83 b(This)42 b(allo)m(ws)i(an)g(arbitrary)150
4654 y(n)m(um)m(b)s(er)27 b(of)i(parameters)g(to)h(b)s(e)e(describ)s
(ed,)f(without)h(freaking)g(out)h(the)g(C)f(prepro)s(cessor.)39
b(When)29 b(the)150 4764 y(function)g(has)h(no)g(parameters,)h(it)f
(should)f(b)s(e)g(describ)s(ed)g(lik)m(e:)390 5098 y
Ff(extern)46 b(void)h(noprocess)e(PARAMS)h(\(\(void\)\);)275
5230 y Fk(The)29 b Ff(PARAMS)f Fk(macro)j(expands)e(to)h(its)g(argumen)
m(t)g(in)f(ANSI)g(C,)h(or)g(to)g(a)h(simple)d Ff(\(\))h
Fk(in)g(traditional)150 5340 y(C.)p eop
%%Page: 46 48
46 47 bop 150 -116 a Fk(Chapter)30 b(13:)41 b(Co)s(ding)2712
b(46)275 299 y(All)41 b(external)h(functions)f(should)f(ha)m(v)m(e)k(a)
f Ff(PARAMS)d Fk(declaration)i(in)f(a)i(header)f(\014le)g(that)h
(callers)150 408 y(include,)j(except)g(for)e Ff(_initialize_*)d
Fk(functions,)47 b(whic)m(h)c(m)m(ust)i(b)s(e)f(external)g(so)h(that)g
(`)p Ff(init.c)p Fk(')150 518 y(construction)30 b(w)m(orks,)h(but)e
(shouldn't)g(b)s(e)g(visible)f(to)j(random)f(source)g(\014les.)275
651 y(All)f(static)i(functions)d(m)m(ust)j(b)s(e)e(declared)h(in)f(a)i
(blo)s(c)m(k)f(near)g(the)h(top)f(of)h(the)g(source)f(\014le.)150
871 y Fe(13.3.5)63 b(Clean)40 b(Design)275 1062 y Fk(In)c(addition)f
(to)i(getting)h(the)f(syn)m(tax)g(righ)m(t,)i(there's)e(the)g(little)e
(question)h(of)h(seman)m(tics.)61 b(Some)150 1172 y(things)31
b(are)h(done)f(in)g(certain)g(w)m(a)m(ys)i(in)d(GDB)j(b)s(ecause)f
(long)f(exp)s(erience)g(has)g(sho)m(wn)h(that)g(the)g(more)150
1281 y(ob)m(vious)e(w)m(a)m(ys)h(caused)f(v)-5 b(arious)30
b(kinds)e(of)j(trouble.)275 1414 y(Y)-8 b(ou)26 b(can't)i(assume)e(the)
h(b)m(yte)g(order)f(of)g(an)m(ything)g(that)h(comes)g(from)f(a)h
(target)h(\(including)23 b Fg(v)-5 b(alue)5 b Fk(s,)150
1524 y(ob)g(ject)27 b(\014les,)f(and)f(instructions\).)37
b(Suc)m(h)26 b(things)e(m)m(ust)i(b)s(e)f(b)m(yte-sw)m(app)s(ed)h
(using)e Ff(SWAP_TARGET_AND_)150 1633 y(HOST)29 b Fk(in)g(GDB,)j(or)e
(one)h(of)g(the)f(sw)m(ap)g(routines)g(de\014ned)f(in)g(`)p
Ff(bfd.h)p Fk(',)h(suc)m(h)g(as)g Ff(bfd_get_32)p Fk(.)275
1767 y(Y)-8 b(ou)22 b(can't)i(assume)e(that)h(y)m(ou)g(kno)m(w)f(what)h
(in)m(terface)g(is)e(b)s(eing)g(used)h(to)h(talk)g(to)g(the)g(target)h
(system.)150 1876 y(All)29 b(references)i(to)g(the)f(target)i(m)m(ust)f
(go)g(through)e(the)i(curren)m(t)f Ff(target_ops)e Fk(v)m(ector.)275
2009 y(Y)-8 b(ou)35 b(can't)i(assume)e(that)h(the)g(host)f(and)g
(target)i(mac)m(hines)e(are)h(the)f(same)h(mac)m(hine)f(\(except)i(in)
150 2119 y(the)c(\\nativ)m(e")h(supp)s(ort)d(mo)s(dules\).)47
b(In)32 b(particular,)g(y)m(ou)i(can't)f(assume)g(that)h(the)f(target)h
(mac)m(hine's)150 2228 y(header)i(\014les)e(will)f(b)s(e)j(a)m(v)-5
b(ailable)35 b(on)g(the)h(host)g(mac)m(hine.)57 b(T)-8
b(arget)37 b(co)s(de)f(m)m(ust)g(bring)e(along)i(its)f(o)m(wn)150
2338 y(header)30 b(\014les)f({)h(written)f(from)g(scratc)m(h)i(or)f
(explicitly)d(donated)j(b)m(y)g(their)f(o)m(wner,)h(to)h(a)m(v)m(oid)g
(cop)m(yrigh)m(t)150 2447 y(problems.)275 2581 y(Insertion)39
b(of)i(new)g Ff(#ifdef)p Fk('s)e(will)f(b)s(e)j(fro)m(wned)f(up)s(on.)
71 b(It's)41 b(m)m(uc)m(h)g(b)s(etter)g(to)g(write)g(the)g(co)s(de)150
2690 y(p)s(ortably)29 b(than)h(to)h(conditionalize)e(it)h(for)g(v)-5
b(arious)29 b(systems.)275 2823 y(New)23 b Ff(#ifdef)p
Fk('s)e(whic)m(h)h(test)h(for)g(sp)s(eci\014c)f(compilers)f(or)i(man)m
(ufacturers)f(or)h(op)s(erating)g(systems)g(are)150 2933
y(unacceptable.)41 b(All)28 b Ff(#ifdef)p Fk('s)h(should)f(test)j(for)f
(features.)41 b(The)30 b(information)e(ab)s(out)i(whic)m(h)f
(con\014gu-)150 3042 y(rations)e(con)m(tain)h(whic)m(h)e(features)i
(should)e(b)s(e)h(segregated)i(in)m(to)f(the)f(con\014guration)g
(\014les.)39 b(Exp)s(erience)150 3152 y(has)d(pro)m(v)m(en)g(far)g(to)s
(o)g(often)h(that)f(a)h(feature)f(unique)e(to)j(one)f(particular)e
(system)i(often)h(creeps)f(in)m(to)150 3262 y(other)27
b(systems;)h(and)e(that)h(a)g(conditional)e(based)h(on)h(some)g
(prede\014ned)e(macro)i(for)f(y)m(our)h(curren)m(t)f(sys-)150
3371 y(tem)j(will)d(b)s(ecome)k(w)m(orthless)e(o)m(v)m(er)i(time,)f(as)
g(new)f(v)m(ersions)g(of)h(y)m(our)g(system)g(come)h(out)f(that)g(b)s
(eha)m(v)m(e)150 3481 y(di\013eren)m(tly)g(with)g(regard)h(to)i(this)d
(feature.)275 3614 y(Adding)e(co)s(de)j(that)g(handles)e(sp)s(eci\014c)
g(arc)m(hitectures,)i(op)s(erating)f(systems,)h(target)h(in)m
(terfaces,)f(or)150 3723 y(hosts,)h(is)e(not)i(acceptable)h(in)d
(generic)i(co)s(de.)41 b(If)30 b(a)h(ho)s(ok)g(is)e(needed)i(at)g(that)
g(p)s(oin)m(t,)f(in)m(v)m(en)m(t)h(a)g(generic)150 3833
y(ho)s(ok)f(and)g(de\014ne)g(it)g(for)g(y)m(our)g(con\014guration,)g
(with)f(something)h(lik)m(e:)390 3960 y Ff(#ifdef)46
b(WRANGLE_SIGNALS)533 4064 y(WRANGLE_SIGNALS)e(\(signo\);)390
4168 y(#endif)275 4301 y Fk(In)22 b(y)m(our)h(host,)i(target,)h(or)d
(nativ)m(e)h(con\014guration)f(\014le,)g(as)h(appropriate,)g(de\014ne)e
Ff(WRANGLE_SIGNALS)150 4410 y Fk(to)32 b(do)f(the)g(mac)m(hine-dep)s
(enden)m(t)g(thing.)42 b(T)-8 b(ak)m(e)32 b(a)g(bit)e(of)i(care)g(in)e
(de\014ning)f(the)i(ho)s(ok,)h(so)f(that)h(it)f(can)150
4520 y(b)s(e)f(used)f(b)m(y)i(other)f(p)s(orts)g(in)f(the)h(future,)g
(if)f(they)i(need)f(a)h(ho)s(ok)f(in)f(the)i(same)g(place.)275
4653 y(If)i(the)g(ho)s(ok)h(is)e(not)i(de\014ned,)f(the)h(co)s(de)g
(should)d(do)j(whatev)m(er)g Ff(")p Fk(most)p Ff(")g
Fk(mac)m(hines)f(w)m(an)m(t.)51 b(Using)150 4763 y Ff(#ifdef)p
Fk(,)33 b(as)h(ab)s(o)m(v)m(e,)i(is)d(the)h(preferred)f(w)m(a)m(y)h(to)
h(do)f(this,)g(but)f(sometimes)g(that)i(gets)g(con)m(v)m(oluted,)g(in)
150 4872 y(whic)m(h)29 b(case)j(use)390 4999 y Ff(#ifndef)46
b(SPECIAL_FOO_HANDLING)390 5103 y(#define)g(SPECIAL_FOO_HANDLING\(pc,)
41 b(sp\))47 b(\(0\))390 5207 y(#endif)275 5340 y Fk(where)29
b(the)i(macro)g(is)e(used)h(or)g(in)f(an)i(appropriate)e(header)h
(\014le.)p eop
%%Page: 47 49
47 48 bop 150 -116 a Fk(Chapter)30 b(14:)41 b(P)m(orting)31
b(GDB)2467 b(47)275 299 y(Whether)40 b(to)h(include)d(a)i
Fg(small)i Fk(ho)s(ok,)h(a)e(ho)s(ok)f(around)f(the)h(exact)i(pieces)e
(of)g(co)s(de)h(whic)m(h)e(are)150 408 y(system-dep)s(enden)m(t,)27
b(or)e(whether)h(to)g(replace)g(a)g(whole)g(function)e(with)h(a)h(ho)s
(ok)g(dep)s(ends)e(on)i(the)g(case.)150 518 y(A)k(go)s(o)s(d)f(example)
g(of)h(this)e(dilemma)g(can)i(b)s(e)f(found)f(in)h Ff
(get_saved_register)p Fk(.)35 b(All)28 b(mac)m(hines)h(that)150
628 y(GDB)h(2.8)h(ran)e(on)g(just)f(needed)h(the)h Ff
(FRAME_FIND_SAVED_REGS)23 b Fk(ho)s(ok)29 b(to)h(\014nd)e(the)i(sa)m(v)
m(ed)g(registers.)150 737 y(Then)g(the)h(SP)-8 b(AR)m(C)31
b(and)g(Pyramid)e(came)k(along,)e(and)g Ff(HAVE_REGISTER_WINDOWS)25
b Fk(and)30 b Ff(REGISTER_)150 847 y(IN_WINDOW_P)j Fk(w)m(ere)j(in)m
(tro)s(duced.)55 b(Then)34 b(the)i(29k)h(and)e(88k)h(required)e(the)i
Ff(GET_SAVED_REGISTER)150 956 y Fk(ho)s(ok.)65 b(The)38
b(\014rst)g(three)g(are)h(examples)f(of)h(small)e(ho)s(oks;)43
b(the)38 b(latter)h(replaces)f(a)h(whole)f(function.)150
1066 y(In)c(this)g(sp)s(eci\014c)g(case,)j(it)e(is)f(useful)f(to)j(ha)m
(v)m(e)g(b)s(oth)f(kinds;)g(it)g(w)m(ould)f(b)s(e)g(a)h(bad)g(idea)f
(to)i(replace)f(all)150 1176 y(the)k(uses)g(of)g(the)h(small)d(ho)s
(oks)i(with)f Ff(GET_SAVED_REGISTER)p Fk(,)f(since)h(that)i(w)m(ould)e
(result)g(in)g(m)m(uc)m(h)150 1285 y(duplicated)28 b(co)s(de.)41
b(Other)29 b(times,)g(duplicating)f(a)i(few)f(lines)f(of)i(co)s(de)g
(here)g(or)f(there)h(is)f(m)m(uc)m(h)h(cleaner)150 1395
y(than)g(in)m(tro)s(ducing)e(a)j(large)f(n)m(um)m(b)s(er)g(of)g(small)f
(ho)s(oks.)275 1525 y(Another)g(w)m(a)m(y)i(to)g(generalize)f(GDB)h
(along)f(a)h(particular)d(in)m(terface)i(is)f(with)g(an)h(attribute)g
(struct.)150 1634 y(F)-8 b(or)28 b(example,)f(GDB)i(has)d(b)s(een)h
(generalized)f(to)i(handle)e(m)m(ultiple)f(kinds)g(of)i(remote)h(in)m
(terfaces)f({)h(not)150 1744 y(b)m(y)37 b(#ifdef)7 b('s)37
b(ev)m(erywhere,)i(but)e(b)m(y)h(de\014ning)d(the)j Ff(")p
Fk(target)p 2254 1744 28 4 v 34 w(ops)p Ff(")f Fk(structure)g(and)g(ha)
m(ving)g(a)h(curren)m(t)150 1854 y(target)31 b(\(as)f(w)m(ell)f(as)h(a)
f(stac)m(k)i(of)f(targets)h(b)s(elo)m(w)e(it,)g(for)h(memory)f
(references\).)41 b(Whenev)m(er)30 b(something)150 1963
y(needs)d(to)h(b)s(e)f(done)g(that)h(dep)s(ends)d(on)i(whic)m(h)f
(remote)i(in)m(terface)g(w)m(e)g(are)g(using,)e(a)i(\015ag)g(in)e(the)h
(curren)m(t)150 2073 y(target)p 391 2073 V 34 w(ops)41
b(structure)f(is)f(tested)j(\(e.g.)73 b(`target)p 1882
2073 V 34 w(has)p 2048 2073 V 33 w(stac)m(k'\),)45 b(or)c(a)g(function)
e(is)h(called)g(through)g(a)150 2182 y(p)s(oin)m(ter)d(in)g(the)h
(curren)m(t)g(target)p 1314 2182 V 34 w(ops)g(structure.)63
b(In)37 b(this)g(w)m(a)m(y)-8 b(,)42 b(when)37 b(a)h(new)f(remote)i(in)
m(terface)g(is)150 2292 y(added,)c(only)e(one)i(mo)s(dule)d(needs)i(to)
h(b)s(e)e(touc)m(hed)i({)g(the)f(one)h(that)g(actually)e(implemen)m(ts)
g(the)h(new)150 2402 y(remote)f(in)m(terface.)47 b(Other)32
b(examples)g(of)g(attribute-structs)g(are)h(BFD)g(access)h(to)f(m)m
(ultiple)d(kinds)g(of)150 2511 y(ob)5 b(ject)31 b(\014le)f(formats,)h
(or)f(GDB's)h(access)h(to)f(m)m(ultiple)d(source)j(languages.)275
2641 y(Please)39 b(a)m(v)m(oid)h(duplicating)c(co)s(de.)68
b(F)-8 b(or)40 b(example,)h(in)d(GDB)j(3.x)f(all)e(the)h(co)s(de)h(in)m
(terfacing)e(b)s(e-)150 2751 y(t)m(w)m(een)27 b Ff(ptrace)d
Fk(and)h(the)h(rest)g(of)g(GDB)h(w)m(as)f(duplicated)e(in)g(`)p
Ff(*-dep.c)p Fk(',)i(and)f(so)h(c)m(hanging)f(something)150
2860 y(w)m(as)50 b(v)m(ery)g(painful.)95 b(In)49 b(GDB)h(4.x,)55
b(these)50 b(ha)m(v)m(e)h(all)d(b)s(een)h(consolidated)g(in)m(to)g(`)p
Ff(infptrace.c)p Fk('.)150 2970 y(`)p Ff(infptrace.c)p
Fk(')k(can)k(deal)e(with)g(v)-5 b(ariations)55 b(b)s(et)m(w)m(een)h
(systems)g(the)g(same)g(w)m(a)m(y)h(an)m(y)f(system-)150
3079 y(indep)s(enden)m(t)23 b(\014le)i(w)m(ould)f(\(ho)s(oks,)j(#if)d
(de\014ned,)i(etc.\),)i(and)d(mac)m(hines)g(whic)m(h)f(are)i(radically)
d(di\013eren)m(t)150 3189 y(don't)30 b(need)g(to)i(use)e(infptrace.c)g
(at)h(all.)275 3319 y(Don't)g(put)f(debugging)f(prin)m(tfs)f(in)i(the)g
(co)s(de.)150 3592 y Fh(14)80 b(P)l(orting)53 b(GDB)275
3804 y Fk(Most)30 b(of)f(the)h(w)m(ork)f(in)f(making)h(GDB)h(compile)f
(on)g(a)g(new)g(mac)m(hine)g(is)g(in)f(sp)s(ecifying)f(the)i(con\014g-)
150 3914 y(uration)g(of)i(the)f(mac)m(hine.)41 b(This)28
b(is)i(done)g(in)f(a)h(dizzying)f(v)-5 b(ariet)m(y)31
b(of)f(header)h(\014les)e(and)h(con\014guration)150 4023
y(scripts,)46 b(whic)m(h)c(w)m(e)i(hop)s(e)e(to)j(mak)m(e)f(more)f
(sensible)f(so)s(on.)79 b(Let's)44 b(sa)m(y)h(y)m(our)e(new)g(host)g
(is)g(called)150 4133 y(an)d Fg(xyz)46 b Fk(\(e.g.)72
b(`)p Ff(sun4)p Fk('\),)43 b(and)d(its)f(full)f(three-part)j
(con\014guration)f(name)g(is)g Fg(arc)m(h)p Ff(-)p Fg(xv)m(end)t
Ff(-)p Fg(xos)j Fk(\(e.g.)150 4243 y(`)p Ff(sparc-sun-sunos4)p
Fk('\).)37 b(In)30 b(particular:)275 4373 y(In)c(the)i(top)f(lev)m(el)h
(directory)-8 b(,)28 b(edit)f(`)p Ff(config.sub)p Fk(')e(and)h(add)h
Fg(arc)m(h)p Fk(,)i Fg(xv)m(end)p Fk(,)f(and)f Fg(xos)k
Fk(to)d(the)g(lists)e(of)150 4482 y(supp)s(orted)j(arc)m(hitectures,)j
(v)m(endors,)f(and)f(op)s(erating)g(systems)h(near)g(the)g(b)s(ottom)g
(of)g(the)g(\014le.)41 b(Also,)150 4592 y(add)30 b Fg(xyz)35
b Fk(as)c(an)f(alias)g(that)h(maps)f(to)h Fg(arc)m(h)p
Ff(-)p Fg(xv)m(end)t Ff(-)p Fg(xos)t Fk(.)40 b(Y)-8 b(ou)31
b(can)f(test)i(y)m(our)e(c)m(hanges)h(b)m(y)g(running)390
4716 y Ff(./config.sub)44 b Fg(xyz)150 4846 y Fk(and)390
4970 y Ff(./config.sub)g Fg(arc)m(h)p Ff(-)p Fg(xv)m(end)t
Ff(-)p Fg(xos)150 5100 y Fk(whic)m(h)29 b(should)f(b)s(oth)i(resp)s
(ond)f(with)g Fg(arc)m(h)p Ff(-)p Fg(xv)m(end)t Ff(-)p
Fg(xos)34 b Fk(and)29 b(no)i(error)f(messages.)275 5230
y(Y)-8 b(ou)36 b(need)g(to)h(p)s(ort)f(BFD,)h(if)e(that)i(hasn't)f(b)s
(een)g(done)g(already)-8 b(.)58 b(P)m(orting)36 b(BFD)h(is)e(b)s(ey)m
(ond)h(the)150 5340 y(scop)s(e)30 b(of)h(this)e(man)m(ual.)p
eop
%%Page: 48 50
48 49 bop 150 -116 a Fk(Chapter)30 b(15:)41 b(T)-8 b(estsuite)2642
b(48)275 299 y(T)-8 b(o)49 b(con\014gure)f(GDB)i(itself,)j(edit)48
b(`)p Ff(gdb/configure.host)p Fk(')d(to)k(recognize)h(y)m(our)f(system)
g(and)150 408 y(set)55 b Ff(gdb_host)e Fk(to)i Fg(xyz)p
Fk(,)62 b(and)54 b(\(unless)f(y)m(our)i(desired)e(target)j(is)e
(already)g(a)m(v)-5 b(ailable\))55 b(also)f(edit)150
518 y(`)p Ff(gdb/configure.tgt)p Fk(',)26 b(setting)31
b Ff(gdb_target)c Fk(to)32 b(something)d(appropriate)h(\(for)g
(instance,)h Fg(xyz)5 b Fk(\).)275 663 y(Finally)-8 b(,)40
b(y)m(ou'll)e(need)h(to)h(sp)s(ecify)e(and)h(de\014ne)g(GDB's)h(host-,)
j(nativ)m(e-,)f(and)d(target-dep)s(enden)m(t)150 773
y(`)p Ff(.h)p Fk(')30 b(and)g(`)p Ff(.c)p Fk(')g(\014les)g(used)f(for)h
(y)m(our)h(con\014guration.)150 1057 y Fj(14.1)68 b(Con\014guring)45
b(GDB)f(for)i(Release)275 1261 y Fk(F)-8 b(rom)30 b(the)h(top)g(lev)m
(el)f(directory)g(\(con)m(taining)g(`)p Ff(gdb)p Fk(',)g(`)p
Ff(bfd)p Fk(',)g(`)p Ff(libiberty)p Fk(',)f(and)h(so)g(on\):)390
1400 y Ff(make)47 b(-f)g(Makefile.in)e(gdb.tar.gz)275
1545 y Fk(This)31 b(will)g(prop)s(erly)g(con\014gure,)j(clean,)h
(rebuild)30 b(an)m(y)k(\014les)e(that)i(are)g(distributed)c(pre-built)h
(\(e.g.)150 1655 y(`)p Ff(c-exp.tab.c)p Fk(')j(or)i(`)p
Ff(refcard.ps)p Fk('\),)g(and)f(will)f(then)i(mak)m(e)h(a)g(tar\014le.)
58 b(\(If)36 b(the)g(top)h(lev)m(el)e(directory)150 1765
y(has)30 b(already)g(b)s(een)g(con\014gured,)g(y)m(ou)g(can)h(just)f
(do)g Ff(make)f(gdb.tar.gz)f Fk(instead.\))275 1910 y(This)g(pro)s
(cedure)h(requires:)225 2055 y Fi(\017)60 b Fk(sym)m(b)s(olic)29
b(links)225 2195 y Fi(\017)60 b Ff(makeinfo)28 b Fk(\(texinfo2)j(lev)m
(el\))225 2335 y Fi(\017)60 b Fk(T)381 2355 y(E)431 2335
y(X)225 2475 y Fi(\017)g Ff(dvips)225 2615 y Fi(\017)g
Ff(yacc)29 b Fk(or)i Ff(bison)156 2790 y Fk(.)22 b(.)g(.)42
b(and)29 b(the)i(usual)e(slew)g(of)i(utilities)d(\()p
Ff(sed)p Fk(,)i Ff(tar)p Fk(,)g(etc.\).)150 3020 y Fe(TEMPORAR)-10
b(Y)39 b(RELEASE)g(PR)m(OCEDURE)g(F)m(OR)150 3144 y(DOCUMENT)-10
b(A)g(TION)275 3347 y Fk(`)p Ff(gdb.texinfo)p Fk(')32
b(is)h(curren)m(tly)h(mark)m(ed)h(up)e(using)g(the)i(texinfo-2)g
(macros,)i(whic)m(h)c(are)i(not)g(y)m(et)h(a)150 3457
y(default)30 b(for)g(an)m(ything)f(\(but)i(w)m(e)f(ha)m(v)m(e)i(to)f
(start)g(using)e(them)h(sometime\).)275 3602 y(F)-8 b(or)34
b(making)e(pap)s(er,)i(the)f(only)g(thing)f(this)h(implies)d(is)j(the)g
(righ)m(t)g(generation)h(of)f(`)p Ff(texinfo.tex)p Fk(')150
3712 y(needs)d(to)h(b)s(e)f(included)d(in)j(the)g(distribution.)275
3857 y(F)-8 b(or)22 b(making)f(info)g(\014les,)i(ho)m(w)m(ev)m(er,)i
(rather)d(than)f(duplicating)e(the)j(texinfo2)g(distribution,)e
(generate)150 3967 y(`)p Ff(gdb-all.texinfo)p Fk(')28
b(lo)s(cally)-8 b(,)31 b(and)h(include)d(the)j(\014les)f(`)p
Ff(gdb.info*)p Fk(')f(in)g(the)i(distribution.)42 b(Note)33
b(the)150 4076 y(plural;)28 b Ff(makeinfo)g Fk(will)g(split)g(the)j(do)
s(cumen)m(t)f(in)m(to)h(one)f(o)m(v)m(erall)h(\014le)e(and)h(\014v)m(e)
h(or)f(so)h(included)c(\014les.)150 4380 y Fh(15)80 b(T)-13
b(estsuite)275 4647 y Fk(The)25 b(testsuite)i(is)e(an)h(imp)s(ortan)m
(t)f(comp)s(onen)m(t)i(of)f(the)g(GDB)i(pac)m(k)-5 b(age.)41
b(While)25 b(it)h(is)f(alw)m(a)m(ys)i(w)m(orth-)150 4756
y(while)h(to)j(encourage)h(user)d(testing,)i(in)e(practice)h(this)g(is)
f(rarely)g(su\016cien)m(t;)h(users)g(t)m(ypically)f(use)h(only)150
4866 y(a)j(small)e(subset)i(of)g(the)f(a)m(v)-5 b(ailable)33
b(commands,)g(and)f(it)g(has)h(pro)m(v)m(en)g(all)f(to)s(o)h(common)g
(for)g(a)g(c)m(hange)150 4976 y(to)e(cause)g(a)g(signi\014can)m(t)e
(regression)h(that)h(w)m(en)m(t)g(unnoticed)e(for)h(some)h(time.)275
5121 y(The)j(GDB)j(testsuite)e(uses)g(the)g(DejaGNU)i(testing)f(framew)
m(ork.)55 b(DejaGNU)37 b(is)d(built)f(using)h(tcl)150
5230 y(and)c(exp)s(ect.)44 b(The)30 b(tests)i(themselv)m(es)f(are)g
(calls)g(to)g(v)-5 b(arious)30 b(tcl)h(pro)s(cs;)g(the)g(framew)m(ork)g
(runs)f(all)g(the)150 5340 y(pro)s(cs)g(and)f(summarizes)h(the)g
(passes)g(and)g(fails.)p eop
%%Page: 49 51
49 50 bop 150 -116 a Fk(Chapter)30 b(15:)41 b(T)-8 b(estsuite)2642
b(49)150 299 y Fj(15.1)68 b(Using)46 b(the)f(T)-11 b(estsuite)275
500 y Fk(T)j(o)26 b(run)f(the)h(testsuite,)h(simply)d(go)i(to)h(the)f
(GDB)h(ob)5 b(ject)27 b(directory)f(\(or)g(to)h(the)f(testsuite's)g(ob)
5 b(jdir\))150 609 y(and)23 b(t)m(yp)s(e)h Ff(make)29
b(check)p Fk(.)37 b(This)22 b(just)h(sets)h(up)f(some)h(en)m(vironmen)m
(t)f(v)-5 b(ariables)23 b(and)g(in)m(v)m(ok)m(es)h(DejaGNU's)150
719 y Ff(runtest)32 b Fk(script.)51 b(While)33 b(the)h(testsuite)h(is)e
(running,)f(y)m(ou'll)i(get)h(men)m(tions)f(of)g(whic)m(h)f(test)i
(\014le)e(is)g(in)150 829 y(use,)d(and)f(a)i(men)m(tion)e(of)h(an)m(y)h
(unexp)s(ected)e(passes)h(or)g(fails.)39 b(When)30 b(the)g(testsuite)g
(is)f(\014nished,)f(y)m(ou'll)150 938 y(get)k(a)e(summary)f(that)i(lo)s
(oks)f(lik)m(e)g(this:)1154 1075 y Ff(===)47 b(gdb)f(Summary)g(===)390
1283 y(#)h(of)h(expected)d(passes)571 b(6016)390 1387
y(#)47 b(of)h(unexpected)d(failures)379 b(58)390 1490
y(#)47 b(of)h(unexpected)d(successes)331 b(5)390 1594
y(#)47 b(of)h(expected)d(failures)475 b(183)390 1698
y(#)47 b(of)h(unresolved)d(testcases)331 b(3)390 1802
y(#)47 b(of)h(untested)d(testcases)427 b(5)275 1945 y
Fk(The)35 b(ideal)g(test)h(run)f(consists)g(of)h(exp)s(ected)h(passes)e
(only;)j(ho)m(w)m(ev)m(er,)h(realit)m(y)d(conspires)f(to)h(k)m(eep)150
2054 y(us)d(from)g(this)g(ideal.)50 b(Unexp)s(ected)34
b(failures)e(indicate)g(real)i(problems,)f(whether)g(in)g(GDB)h(or)g
(in)f(the)150 2164 y(testsuite.)39 b(Exp)s(ected)26 b(failures)e(are)i
(still)d(failures,)i(but)g(ones)h(whic)m(h)e(ha)m(v)m(e)j(b)s(een)e
(decided)g(are)h(to)s(o)g(hard)150 2273 y(to)35 b(deal)f(with)f(at)i
(the)f(time;)i(for)e(instance,)h(a)g(test)g(case)g(migh)m(t)f(w)m(ork)h
(ev)m(erywhere)f(except)h(on)g(AIX,)150 2383 y(and)d(there)g(is)f(no)h
(prosp)s(ect)g(of)g(the)h(AIX)f(case)h(b)s(eing)e(\014xed)g(in)g(the)i
(near)f(future.)45 b(Exp)s(ected)32 b(failures)150 2493
y(should)f(not)j(b)s(e)e(added)h(ligh)m(tly)-8 b(,)33
b(since)f(y)m(ou)i(ma)m(y)g(b)s(e)e(masking)h(serious)f(bugs)g(in)g
(GDB.)j(Unexp)s(ected)150 2602 y(successes)27 b(are)g(exp)s(ected)g
(fails)d(that)j(are)g(passing)e(for)i(some)f(reason,)i(while)d
(unresolv)m(ed)g(and)h(un)m(tested)150 2712 y(cases)g(often)g(indicate)
f(some)h(minor)e(catastrophe,)k(suc)m(h)d(as)g(the)h(compiler)e(b)s
(eing)g(unable)g(to)i(deal)f(with)150 2821 y(a)31 b(test)g(program.)275
2964 y(When)i(making)g(an)m(y)i(signi\014can)m(t)d(c)m(hange)j(to)g
(GDB,)g(y)m(ou)g(should)c(run)i(the)h(testsuite)g(b)s(efore)g(and)150
3074 y(after)29 b(the)f(c)m(hange,)i(to)f(con\014rm)e(that)i(there)f
(are)g(no)g(regressions.)39 b(Note)30 b(that)f(truly)d(complete)j
(testing)150 3183 y(w)m(ould)g(require)g(that)i(y)m(ou)f(run)f(the)i
(testsuite)f(with)f(all)g(supp)s(orted)f(con\014gurations)i(and)g(a)g
(v)-5 b(ariet)m(y)31 b(of)150 3293 y(compilers;)i(ho)m(w)m(ev)m(er)h
(this)d(is)h(more)h(than)f(really)g(necessary)-8 b(.)49
b(In)31 b(man)m(y)i(cases)h(testing)f(with)e(a)i(single)150
3403 y(con\014guration)d(is)h(su\016cien)m(t.)42 b(Other)30
b(useful)g(options)g(are)i(to)f(test)h(one)g(big-endian)d(\(Sparc\))i
(and)g(one)150 3512 y(little-endian)c(\(x86\))k(host,)e(a)h(cross)f
(con\014g)g(with)f(a)i(builtin)25 b(sim)m(ulator)j(\(p)s(o)m(w)m(erp)s
(c-eabi,)i(mips-elf)7 b(\),)28 b(or)150 3622 y(a)j(64-bit)f(host)h
(\(Alpha\).)275 3765 y(If)37 b(y)m(ou)h(add)f(new)g(functionalit)m(y)f
(to)i(GDB,)h(please)f(consider)e(adding)h(tests)h(for)f(it)h(as)g(w)m
(ell;)i(this)150 3874 y(w)m(a)m(y)32 b(future)e(GDB)j(hac)m(k)m(ers)f
(can)g(detect)g(and)f(\014x)f(their)h(c)m(hanges)h(that)f(break)h(the)f
(functionalit)m(y)f(y)m(ou)150 3984 y(added.)42 b(Similarly)-8
b(,)28 b(if)i(y)m(ou)i(\014x)e(a)i(bug)e(that)i(w)m(as)f(not)h
(previously)c(rep)s(orted)j(as)g(a)g(test)h(failure,)e(please)150
4093 y(add)g(a)h(test)g(case)h(for)e(it.)40 b(Some)31
b(cases)g(are)g(extremely)g(di\016cult)d(to)j(test,)h(suc)m(h)e(as)h
(co)s(de)f(that)i(handles)150 4203 y(host)d(OS)f(failures)e(or)j(bugs)f
(in)f(particular)g(v)m(ersions)h(of)h(compilers,)e(and)h(it's)h(OK)f
(not)g(to)i(try)e(to)i(write)150 4313 y(tests)h(for)f(all)g(of)g
(those.)150 4591 y Fj(15.2)68 b(T)-11 b(estsuite)46 b(Organization)275
4792 y Fk(The)41 b(testsuite)i(is)f(en)m(tirely)f(con)m(tained)i(in)e
(`)p Ff(gdb/testsuite)p Fk('.)74 b(While)41 b(the)i(testsuite)f
(includes)150 4902 y(some)35 b(mak)m(e\014les)f(and)g(con\014gury)-8
b(,)35 b(these)g(are)f(v)m(ery)h(minimal,)e(and)h(used)f(for)h(little)f
(b)s(esides)g(cleaning)150 5011 y(up,)f(since)f(the)i(tests)f(themselv)
m(es)h(handle)d(the)j(compilation)d(of)j(the)f(programs)g(that)g(GDB)i
(will)29 b(run.)150 5121 y(The)f(\014le)g(`)p Ff(testsuite/lib/gdb.exp)
p Fk(')23 b(con)m(tains)29 b(common)g(utilit)m(y)e(pro)s(cs)h(useful)e
(for)j(all)e(GDB)j(tests,)150 5230 y(while)e(the)i(directory)f(`)p
Ff(testsuite/config)p Fk(')d(con)m(tains)k(con\014guration-sp)s
(eci\014c)e(\014les,)h(t)m(ypically)g(used)150 5340 y(for)h(sp)s
(ecial-purp)s(ose)e(de\014nitions)g(of)i(pro)s(cs)g(lik)m(e)g
Ff(gdb_load)e Fk(and)h Ff(gdb_start)p Fk(.)p eop
%%Page: 50 52
50 51 bop 150 -116 a Fk(Chapter)30 b(16:)41 b(Hin)m(ts)2786
b(50)275 299 y(The)28 b(tests)i(themselv)m(es)f(are)g(to)h(b)s(e)e
(found)g(in)f(`)p Ff(testsuite/gdb.*)p Fk(')e(and)k(sub)s(directories)d
(of)j(those.)150 408 y(The)35 b(names)g(of)h(the)g(test)g(\014les)f(m)m
(ust)g(alw)m(a)m(ys)h(end)f(with)f(`)p Ff(.exp)p Fk('.)56
b(DejaGNU)37 b(collects)f(the)g(test)g(\014les)150 518
y(b)m(y)28 b(wildcarding)d(in)i(the)i(test)g(directories,)f(so)h(b)s
(oth)e(sub)s(directories)f(and)i(individual)c(\014les)j(get)i(c)m
(hosen)150 628 y(and)h(run)f(in)g(alphab)s(etical)f(order.)275
764 y(The)k(follo)m(wing)f(table)i(lists)e(the)i(main)f(t)m(yp)s(es)h
(of)g(sub)s(directories)e(and)h(what)h(they)g(are)g(for.)48
b(Since)150 874 y(DejaGNU)33 b(\014nds)c(test)j(\014les)e(no)h(matter)h
(where)e(they)h(are)h(lo)s(cated,)g(and)e(since)g(eac)m(h)j(test)e
(\014le)g(sets)g(up)150 983 y(its)c(o)m(wn)h(compilation)e(and)h
(execution)h(en)m(vironmen)m(t,)g(this)f(organization)g(is)g(simply)e
(for)j(con)m(v)m(enience)150 1093 y(and)i(in)m(telligibilit)m(y)-8
b(.)150 1255 y Ff(gdb.base)630 1391 y Fk(This)30 b(is)i(the)g(base)g
(testsuite.)47 b(The)32 b(tests)h(in)d(it)i(should)e(apply)h(to)i(all)e
(con\014gurations)h(of)630 1500 y(GDB)i(\(but)f(generic)g(nativ)m
(e-only)g(tests)h(ma)m(y)f(liv)m(e)g(here\).)49 b(The)32
b(test)i(programs)f(should)630 1610 y(b)s(e)25 b(in)e(the)j(subset)e
(of)i(C)f(that)g(is)g(v)-5 b(alid)23 b(K&R,)i(ANSI/ISO,)g(and)f(C)p
Ff(++)g Fk(\(ifdefs)g(are)i(allo)m(w)m(ed)630 1720 y(if)j(necessary)-8
b(,)32 b(for)e(instance)g(for)g(protot)m(yp)s(es\).)150
1881 y Ff(gdb.)p Fg(lang)630 2017 y Fk(Language-sp)s(eci\014c)25
b(tests)g(for)f(all)f(languages)i(b)s(esides)e(C.)h(Examples)g(are)h(`)
p Ff(gdb.c++)p Fk(')e(and)630 2126 y(`)p Ff(gdb.java)p
Fk('.)150 2288 y Ff(gdb.)p Fg(platform)630 2397 y Fk(Non-p)s(ortable)36
b(tests.)60 b(The)36 b(tests)h(are)g(sp)s(eci\014c)f(to)h(a)g(sp)s
(eci\014c)e(con\014guration)h(\(host)h(or)630 2507 y(target\),)c(suc)m
(h)d(as)g(HP-UX)h(or)g(eCos.)41 b(Example)29 b(is)h(`)p
Ff(gdb.hp)p Fk(',)f(for)h(HP-UX.)150 2668 y Ff(gdb.)p
Fg(compiler)630 2778 y Fk(T)-8 b(ests)38 b(sp)s(eci\014c)e(to)i(a)g
(particular)e(compiler.)60 b(As)37 b(of)h(this)e(writing)f(\(June)i
(1999\),)42 b(there)630 2887 y(aren't)22 b(curren)m(tly)e(an)m(y)i
(groups)e(of)i(tests)g(in)e(this)g(category)k(that)e(couldn't)e(just)h
(as)g(sensibly)630 2997 y(b)s(e)28 b(made)g(platform-sp)s(eci\014c,)f
(but)h(one)g(could)g(imagine)f(a)h(gdb.gcc,)i(for)e(tests)h(of)g(GDB's)
630 3107 y(handling)f(of)i(GCC)g(extensions.)150 3268
y Ff(gdb.)p Fg(subsystem)630 3378 y Fk(T)-8 b(ests)42
b(that)g(exercise)g(a)g(sp)s(eci\014c)f(GDB)h(subsystem)f(in)f(more)i
(depth.)74 b(F)-8 b(or)42 b(instance,)630 3487 y(`)p
Ff(gdb.disasm)p Fk(')23 b(exercises)i(v)-5 b(arious)23
b(disassem)m(blers,)i(while)d(`)p Ff(gdb.stabs)p Fk(')h(tests)j(path)m
(w)m(a)m(ys)630 3597 y(through)k(the)g(stabs)h(sym)m(b)s(ol)e(reader.)
150 3859 y Fj(15.3)68 b(W)-11 b(riting)46 b(T)-11 b(ests)275
4054 y Fk(In)33 b(man)m(y)i(areas,)h(the)f(GDB)g(tests)g(are)g(already)
f(quite)g(comprehensiv)m(e;)i(y)m(ou)f(should)d(b)s(e)i(able)g(to)150
4163 y(cop)m(y)d(existing)e(tests)j(to)f(handle)e(new)h(cases.)275
4300 y(Y)-8 b(ou)31 b(should)f(try)h(to)h(use)f Ff(gdb_test)e
Fk(whenev)m(er)i(p)s(ossible,)e(since)i(it)g(includes)e(cases)j(to)g
(handle)e(all)150 4409 y(the)23 b(unexp)s(ected)g(errors)g(that)g(migh)
m(t)g(happ)s(en.)37 b(Ho)m(w)m(ev)m(er,)27 b(it)22 b(do)s(esn't)h(cost)
h(an)m(ything)f(to)h(add)e(new)h(test)150 4519 y(pro)s(cedures;)36
b(for)e(instance,)i(`)p Ff(gdb.base/exprs.exp)p Fk(')31
b(de\014nes)i(a)j Ff(test_expr)c Fk(that)j(calls)f Ff(gdb_test)150
4629 y Fk(m)m(ultiple)28 b(times.)275 4765 y(Only)f(use)i
Ff(send_gdb)e Fk(and)h Ff(gdb_expect)f Fk(when)h(absolutely)g
(necessary)-8 b(,)31 b(suc)m(h)d(as)i(when)e(GDB)i(has)150
4875 y(sev)m(eral)h(v)-5 b(alid)28 b(resp)s(onses)i(to)h(a)g(command.)
275 5011 y(The)36 b(source)g(language)h(programs)f(do)h
Fd(not)46 b Fk(need)36 b(to)h(b)s(e)f(in)f(a)i(consisten)m(t)g(st)m
(yle.)60 b(Since)35 b(GDB)j(is)150 5121 y(used)31 b(to)i(debug)f
(programs)f(written)h(in)e(man)m(y)j(di\013eren)m(t)e(st)m(yles,)i
(it's)f(w)m(orth)g(ha)m(ving)g(a)g(mix)g(of)g(st)m(yles)150
5230 y(in)i(the)i(testsuite;)i(for)d(instance,)i(some)f(GDB)g(bugs)f
(in)m(v)m(olving)f(the)i(displa)m(y)d(of)j(source)g(lines)d(w)m(ould)
150 5340 y(nev)m(er)e(manifest)e(themselv)m(es)i(if)e(the)i(programs)f
(used)f(GNU)i(co)s(ding)f(st)m(yle)g(uniformly)-8 b(.)p
eop
%%Page: 51 53
51 52 bop 150 -116 a Fk(Chapter)30 b(16:)41 b(Hin)m(ts)2786
b(51)150 299 y Fh(16)80 b(Hin)l(ts)275 561 y Fk(Chec)m(k)33
b(the)g(`)p Ff(README)p Fk(')e(\014le,)i(it)g(often)g(has)f(useful)g
(information)f(that)i(do)s(es)g(not)g(app)s(ear)f(an)m(ywhere)150
671 y(else)e(in)f(the)i(directory)-8 b(.)150 952 y Fj(16.1)68
b(Getting)46 b(Started)275 1154 y Fk(GDB)32 b(is)e(a)i(large)g(and)e
(complicated)h(program,)h(and)f(if)f(y)m(ou)i(\014rst)e(starting)i(to)g
(w)m(ork)f(on)g(it,)h(it)f(can)150 1264 y(b)s(e)37 b(hard)f(to)i(kno)m
(w)f(where)f(to)i(start.)62 b(F)-8 b(ortunately)g(,)40
b(if)c(y)m(ou)i(kno)m(w)f(ho)m(w)g(to)h(go)g(ab)s(out)f(it,)h(there)g
(are)150 1373 y(w)m(a)m(ys)31 b(to)g(\014gure)f(out)h(what)f(is)f
(going)i(on.)275 1517 y(This)38 b(man)m(ual,)43 b(the)e(GDB)h(In)m
(ternals)e(man)m(ual,)j(has)d(information)f(whic)m(h)g(applies)g
(generally)h(to)150 1627 y(man)m(y)30 b(parts)h(of)f(GDB.)275
1771 y(Information)d(ab)s(out)i(particular)e(functions)g(or)i(data)g
(structures)f(are)h(lo)s(cated)g(in)f(commen)m(ts)h(with)150
1880 y(those)k(functions)e(or)h(data)h(structures.)47
b(If)32 b(y)m(ou)g(run)f(across)i(a)g(function)e(or)i(a)f(global)g(v)-5
b(ariable)31 b(whic)m(h)150 1990 y(do)s(es)c(not)g(ha)m(v)m(e)i(a)f
(commen)m(t)g(correctly)g(explaining)c(what)k(is)e(do)s(es,)i(this)e
(can)h(b)s(e)g(though)m(t)h(of)f(as)h(a)g(bug)150 2100
y(in)j(GDB;)j(feel)e(free)h(to)g(submit)e(a)i(bug)e(rep)s(ort,)i(with)e
(a)i(suggested)g(commen)m(t)h(if)d(y)m(ou)i(can)g(\014gure)f(out)150
2209 y(what)26 b(the)h(commen)m(t)g(should)d(sa)m(y)-8
b(.)40 b(If)26 b(y)m(ou)h(\014nd)d(a)j(commen)m(t)g(whic)m(h)e(is)g
(actually)h(wrong,)h(b)s(e)f(esp)s(ecially)150 2319 y(sure)k(to)h(rep)s
(ort)f(that.)275 2463 y(Commen)m(ts)24 b(explaining)e(the)j(function)e
(of)i(macros)g(de\014ned)f(in)f(host,)j(target,)h(or)e(nativ)m(e)g(dep)
s(enden)m(t)150 2572 y(\014les)g(can)h(b)s(e)f(in)g(sev)m(eral)h
(places.)39 b(Sometimes)25 b(they)h(are)g(rep)s(eated)g(ev)m(ery)h
(place)f(the)g(macro)g(is)f(de\014ned.)150 2682 y(Sometimes)e(they)g
(are)g(where)f(the)i(macro)f(is)f(used.)37 b(Sometimes)23
b(there)g(is)f(a)h(header)g(\014le)f(whic)m(h)g(supplies)150
2792 y(a)33 b(default)f(de\014nition)e(of)j(the)g(macro,)h(and)e(the)h
(commen)m(t)g(is)f(there.)48 b(This)31 b(man)m(ual)h(also)g(do)s(cumen)
m(ts)150 2901 y(all)d(the)i(a)m(v)-5 b(ailable)30 b(macros.)275
3045 y(Start)35 b(with)f(the)h(header)g(\014les.)53 b(Once)35
b(y)m(ou)h(some)f(idea)g(of)g(ho)m(w)g(GDB's)i(in)m(ternal)c(sym)m(b)s
(ol)h(tables)150 3155 y(are)h(stored)g(\(see)h(`)p Ff(symtab.h)p
Fk(',)f(`)p Ff(gdbtypes.h)p Fk('\),)f(y)m(ou)h(will)e(\014nd)g(it)h(m)m
(uc)m(h)h(easier)g(to)h(understand)d(the)150 3264 y(co)s(de)e(whic)m(h)
e(uses)h(and)f(creates)j(those)f(sym)m(b)s(ol)e(tables.)275
3408 y(Y)-8 b(ou)40 b(ma)m(y)g(wish)f(to)h(pro)s(cess)g(the)g
(information)e(y)m(ou)i(are)h(getting)f(someho)m(w,)j(to)e(enhance)f(y)
m(our)150 3518 y(understanding)c(of)i(it.)65 b(Summarize)37
b(it,)j(translate)f(it)f(to)h(another)f(language,)k(add)37
b(some)i(\(p)s(erhaps)150 3627 y(trivial)34 b(or)i(non-useful\))f
(feature)h(to)h(GDB,)g(use)f(the)g(co)s(de)h(to)g(predict)e(what)h(a)g
(test)h(case)g(w)m(ould)e(do)150 3737 y(and)g(write)f(the)i(test)g
(case)g(and)f(v)m(erify)g(y)m(our)g(prediction,)g(etc.)56
b(If)35 b(y)m(ou)h(are)f(reading)g(co)s(de)g(and)g(y)m(our)150
3847 y(ey)m(es)c(are)g(starting)f(to)h(glaze)h(o)m(v)m(er,)g(this)d(is)
g(a)i(sign)e(y)m(ou)i(need)f(to)h(use)g(a)f(more)h(activ)m(e)g(approac)
m(h.)275 3991 y(Once)e(y)m(ou)h(ha)m(v)m(e)h(a)e(part)h(of)f(GDB)i(to)f
(start)g(with,)f(y)m(ou)h(can)g(\014nd)e(more)h(sp)s(eci\014cally)f
(the)h(part)h(y)m(ou)150 4100 y(are)24 b(lo)s(oking)f(for)h(b)m(y)f
(stepping)g(through)g(eac)m(h)i(function)e(with)g(the)h
Ff(next)e Fk(command.)39 b(Do)24 b(not)h(use)e Ff(step)150
4210 y Fk(or)j(y)m(ou)h(will)c(quic)m(kly)i(get)j(distracted;)f(when)e
(the)i(function)e(y)m(ou)h(are)h(stepping)e(through)g(calls)h(another)
150 4319 y(function)37 b(try)h(only)f(to)i(get)g(a)f(big-picture)f
(understanding)e(\(p)s(erhaps)i(using)g(the)h(commen)m(t)h(at)g(the)150
4429 y(b)s(eginning)26 b(of)j(the)f(function)g(b)s(eing)f(called\))h
(of)h(what)f(it)g(do)s(es.)40 b(This)27 b(w)m(a)m(y)j(y)m(ou)f(can)f
(iden)m(tify)f(whic)m(h)h(of)150 4538 y(the)35 b(functions)e(b)s(eing)g
(called)h(b)m(y)g(the)h(function)e(y)m(ou)i(are)g(stepping)e(through)h
(is)g(the)g(one)h(whic)m(h)f(y)m(ou)150 4648 y(are)i(in)m(terested)f
(in.)54 b(Y)-8 b(ou)36 b(ma)m(y)g(need)f(to)h(examine)f(the)h(data)g
(structures)e(generated)j(at)f(eac)m(h)g(stage,)150 4758
y(with)29 b(reference)i(to)h(the)e(commen)m(ts)i(in)d(the)i(header)f
(\014les)g(explaining)e(what)i(the)h(data)h(structures)e(are)150
4867 y(supp)s(osed)e(to)k(lo)s(ok)e(lik)m(e.)275 5011
y(Of)e(course,)h(this)f(same)h(tec)m(hnique)f(can)h(b)s(e)f(used)g(if)g
(y)m(ou)h(are)g(just)f(reading)g(the)h(co)s(de,)h(rather)e(than)150
5121 y(actually)34 b(stepping)f(through)h(it.)53 b(The)33
b(same)i(general)g(principle)c(applies|when)g(the)k(co)s(de)g(y)m(ou)g
(are)150 5230 y(lo)s(oking)27 b(at)i(calls)e(something)g(else,)i(just)e
(try)h(to)h(understand)d(generally)i(what)g(the)g(co)s(de)g(b)s(eing)f
(called)150 5340 y(do)s(es,)j(rather)h(than)f(w)m(orrying)f(ab)s(out)h
(all)f(its)h(details.)p eop
%%Page: 52 54
52 53 bop 150 -116 a Fk(Chapter)30 b(16:)41 b(Hin)m(ts)2786
b(52)275 299 y(A)23 b(go)s(o)s(d)h(place)f(to)i(start)f(when)f(trac)m
(king)h(do)m(wn)f(some)h(particular)e(area)j(is)d(with)h(a)h(command)f
(whic)m(h)150 408 y(in)m(v)m(ok)m(es)h(that)g(feature.)39
b(Supp)s(ose)22 b(y)m(ou)i(w)m(an)m(t)g(to)h(kno)m(w)e(ho)m(w)h
(single-stepping)d(w)m(orks.)38 b(As)24 b(a)g(GDB)g(user,)150
518 y(y)m(ou)37 b(kno)m(w)g(that)h(the)f Ff(step)e Fk(command)i(in)m(v)
m(ok)m(es)h(single-stepping.)58 b(The)36 b(command)h(is)f(in)m(v)m(ok)m
(ed)h(via)150 628 y(command)42 b(tables)f(\(see)i(`)p
Ff(command.h)p Fk('\);)j(b)m(y)c(con)m(v)m(en)m(tion)h(the)f(function)e
(whic)m(h)h(actually)h(p)s(erforms)150 737 y(the)c(command)g(is)f
(formed)g(b)m(y)h(taking)g(the)g(name)g(of)h(the)f(command)g(and)f
(adding)g(`)p Ff(_command)p Fk(',)h(or)150 847 y(in)g(the)h(case)i(of)e
(an)g Ff(info)g Fk(sub)s(command,)g(`)p Ff(_info)p Fk('.)67
b(F)-8 b(or)40 b(example,)h(the)f Ff(step)e Fk(command)h(in)m(v)m(ok)m
(es)150 956 y(the)26 b Ff(step_command)c Fk(function)j(and)g(the)h
Ff(info)j(display)24 b Fk(command)i(in)m(v)m(ok)m(es)g
Ff(display_info)p Fk(.)36 b(When)150 1066 y(this)29 b(con)m(v)m(en)m
(tion)j(is)d(not)h(follo)m(w)m(ed,)h(y)m(ou)f(migh)m(t)g(ha)m(v)m(e)i
(to)f(use)f Ff(grep)f Fk(or)h Fb(M-x)g(tags-search)d
Fk(in)i(emacs,)150 1176 y(or)h(run)f(GDB)j(on)e(itself)f(and)h(set)h(a)
g(breakp)s(oin)m(t)e(in)g Ff(execute_command)p Fk(.)275
1312 y(If)34 b(all)g(of)g(the)h(ab)s(o)m(v)m(e)h(fail,)f(it)g(ma)m(y)g
(b)s(e)f(appropriate)g(to)h(ask)g(for)g(information)e(on)i
Ff(bug-gdb)p Fk(.)52 b(But)150 1421 y Fd(never)g Fk(p)s(ost)41
b(a)h(generic)g(question)f(lik)m(e)g(\\I)i(w)m(as)f(w)m(ondering)e(if)h
(an)m(y)m(one)i(could)e(giv)m(e)i(me)f(some)g(tips)150
1531 y(ab)s(out)30 b(understanding)e(GDB"|if)j(w)m(e)h(had)e(some)h
(magic)f(secret)i(w)m(e)f(w)m(ould)e(put)h(it)h(in)e(this)g(man)m(ual.)
150 1640 y(Suggestions)h(for)g(impro)m(ving)f(the)h(man)m(ual)g(are)h
(alw)m(a)m(ys)g(w)m(elcome,)g(of)f(course.)150 1902 y
Fj(16.2)68 b(Debugging)46 b(GDB)e(with)h(itself)275 2096
y Fk(If)32 b(GDB)h(is)f(limping)d(on)k(y)m(our)f(mac)m(hine,)h(this)f
(is)f(the)i(preferred)e(w)m(a)m(y)j(to)f(get)h(it)e(fully)e
(functional.)150 2205 y(Be)i(w)m(arned)f(that)g(in)f(some)i(ancien)m(t)
f(Unix)f(systems,)i(lik)m(e)e(Ultrix)g(4.2,)j(a)e(program)g(can't)h(b)s
(e)f(running)150 2315 y(in)37 b(one)i(pro)s(cess)e(while)g(it)h(is)f(b)
s(eing)g(debugged)h(in)f(another.)64 b(Rather)39 b(than)f(t)m(yping)g
(the)g(command)150 2425 y Ff(./gdb)29 b(./gdb)o Fk(,)34
b(whic)m(h)f(w)m(orks)g(on)h(Suns)e(and)h(suc)m(h,)i(y)m(ou)f(can)g
(cop)m(y)g(`)p Ff(gdb)p Fk(')g(to)g(`)p Ff(gdb2)p Fk(')f(and)g(then)h
(t)m(yp)s(e)150 2534 y Ff(./gdb)29 b(./gdb2)n Fk(.)275
2670 y(When)e(y)m(ou)h(run)f(GDB)i(in)d(the)j(GDB)g(source)f(directory)
-8 b(,)28 b(it)g(will)d(read)j(a)g(`)p Ff(.gdbinit)p
Fk(')e(\014le)h(that)i(sets)150 2780 y(up)h(some)h(simple)d(things)i
(to)i(mak)m(e)f(debugging)f(gdb)g(easier.)42 b(The)30
b Ff(info)f Fk(command,)i(when)f(executed)150 2889 y(without)e(a)h(sub)
s(command)e(in)g(a)i(GDB)h(b)s(eing)e(debugged)g(b)m(y)h(gdb,)f(will)e
(p)s(op)i(y)m(ou)h(bac)m(k)h(up)d(to)j(the)f(top)150
2999 y(lev)m(el)h(gdb.)40 b(See)31 b(`)p Ff(.gdbinit)p
Fk(')d(for)j(details.)275 3135 y(If)36 b(y)m(ou)i(use)f(emacs,)j(y)m
(ou)e(will)d(probably)g(w)m(an)m(t)k(to)f(do)f(a)h Ff(make)29
b(TAGS)36 b Fk(after)i(y)m(ou)g(con\014gure)f(y)m(our)150
3245 y(distribution;)j(this)f(will)d(put)j(the)h(mac)m(hine)f(dep)s
(enden)m(t)f(routines)g(for)h(y)m(our)h(lo)s(cal)e(mac)m(hine)h(where)
150 3354 y(they)31 b(will)c(b)s(e)j(accessed)i(\014rst)d(b)m(y)h
Fb(M-.)275 3490 y Fk(Also,)50 b(mak)m(e)e(sure)e(that)h(y)m(ou'v)m(e)h
(either)e(compiled)f(GDB)j(with)d(y)m(our)h(lo)s(cal)g(cc,)52
b(or)47 b(ha)m(v)m(e)g(run)150 3600 y Ff(fixincludes)27
b Fk(if)j(y)m(ou)g(are)h(compiling)d(with)h(gcc.)150
3861 y Fj(16.3)68 b(Submitting)46 b(P)l(atc)l(hes)275
4055 y Fk(Thanks)31 b(for)i(thinking)d(of)j(o\013ering)f(y)m(our)h(c)m
(hanges)h(bac)m(k)f(to)h(the)e(comm)m(unit)m(y)h(of)g(GDB)h(users.)47
b(In)150 4165 y(general)38 b(w)m(e)h(lik)m(e)e(to)i(get)g(w)m(ell)e
(designed)g(enhancemen)m(ts.)64 b(Thanks)37 b(also)h(for)g(c)m(hec)m
(king)h(in)d(adv)-5 b(ance)150 4274 y(ab)s(out)30 b(the)h(b)s(est)f(w)m
(a)m(y)h(to)g(transfer)f(the)h(c)m(hanges.)275 4410 y(The)k(GDB)h(main)
m(tainers)f(will)e(only)h(install)g(\\cleanly)h(designed")g(patc)m
(hes.)57 b(This)34 b(man)m(ual)h(sum-)150 4520 y(marizes)30
b(what)g(w)m(e)h(b)s(eliev)m(e)f(to)h(b)s(e)f(clean)g(design)f(for)h
(GDB.)275 4656 y(If)e(the)i(main)m(tainers)e(don't)i(ha)m(v)m(e)g(time)
f(to)i(put)d(the)i(patc)m(h)g(in)e(when)g(it)h(arriv)m(es,)h(or)f(if)g
(there)g(is)g(an)m(y)150 4766 y(question)38 b(ab)s(out)h(a)g(patc)m(h,)
j(it)c(go)s(es)i(in)m(to)f(a)g(large)g(queue)g(with)e(ev)m(ery)m(one)k
(else's)d(patc)m(hes)i(and)f(bug)150 4875 y(rep)s(orts.)275
5011 y(The)e(legal)g(issue)g(is)g(that)h(to)g(incorp)s(orate)g(substan)
m(tial)e(c)m(hanges)j(requires)d(a)i(cop)m(yrigh)m(t)g(assign-)150
5121 y(men)m(t)32 b(from)g(y)m(ou)g(and/or)f(y)m(our)h(emplo)m(y)m(er,)
h(gran)m(ting)f(o)m(wnership)d(of)j(the)g(c)m(hanges)h(to)g(the)f(F)-8
b(ree)33 b(Soft-)150 5230 y(w)m(are)i(F)-8 b(oundation.)54
b(Y)-8 b(ou)35 b(can)g(get)h(the)f(standard)f(do)s(cumen)m(ts)h(for)f
(doing)g(this)g(b)m(y)h(sending)e(mail)g(to)150 5340
y Ff(gnu@gnu.org)28 b Fk(and)j(asking)f(for)h(it.)43
b(W)-8 b(e)32 b(recommend)f(that)h(p)s(eople)e(write)h(in)f
Ff(")p Fk(All)f(programs)i(o)m(wned)p eop
%%Page: 53 55
53 54 bop 150 -116 a Fk(Chapter)30 b(16:)41 b(Hin)m(ts)2786
b(53)150 299 y(b)m(y)32 b(the)h(F)-8 b(ree)34 b(Soft)m(w)m(are)f(F)-8
b(oundation)p Ff(")32 b Fk(as)h Ff(")p Fk(NAME)g(OF)f(PR)m(OGRAM)p
Ff(")p Fk(,)i(so)f(that)g(c)m(hanges)h(in)d(man)m(y)150
408 y(programs)k(\(not)h(just)f(GDB,)i(but)e(GAS,)h(Emacs,)h(GCC,)f
(etc\))h(can)f(b)s(e)f(con)m(tributed)g(with)f(only)h(one)150
518 y(piece)40 b(of)g(legalese)h(pushed)d(through)h(the)h(bureacracy)h
(and)e(\014led)g(with)g(the)h(FSF.)g(W)-8 b(e)41 b(can't)g(start)150
628 y(merging)32 b(c)m(hanges)h(un)m(til)e(this)h(pap)s(erw)m(ork)f(is)
h(receiv)m(ed)h(b)m(y)f(the)h(FSF)g(\(their)f(rules,)f(whic)m(h)h(w)m
(e)h(follo)m(w)150 737 y(since)d(w)m(e)h(main)m(tain)e(it)h(for)g
(them\).)275 869 y(T)-8 b(ec)m(hnically)g(,)23 b(the)f(easiest)g(w)m(a)
m(y)h(to)g(receiv)m(e)g(c)m(hanges)g(is)e(to)i(receiv)m(e)f(eac)m(h)i
(feature)e(as)g(a)h(small)d(con)m(text)150 978 y(di\013)26
b(or)i(unidi\013,)e(suitable)g(for)h Ff(")p Fk(patc)m(h)p
Ff(")p Fk(.)40 b(Eac)m(h)28 b(message)h(sen)m(t)f(to)h(me)f(should)d
(include)h(the)i(c)m(hanges)g(to)150 1088 y(C)d(co)s(de)g(and)f(header)
h(\014les)f(for)h(a)g(single)f(feature,)j(plus)c(ChangeLog)i(en)m
(tries)g(for)g(eac)m(h)h(directory)e(where)150 1198 y(\014les)30
b(w)m(ere)i(mo)s(di\014ed,)d(and)i(di\013s)e(for)i(an)m(y)h(c)m(hanges)
g(needed)e(to)i(the)g(man)m(uals)e(\(gdb/do)s(c/gdb.texinfo)150
1307 y(or)k(gdb/do)s(c/gdbin)m(t.texinfo\).)52 b(If)34
b(there)h(are)f(a)h(lot)f(of)h(c)m(hanges)g(for)f(a)h(single)e
(feature,)j(they)e(can)h(b)s(e)150 1417 y(split)29 b(do)m(wn)g(in)m(to)
i(m)m(ultiple)d(messages.)275 1548 y(In)33 b(this)g(w)m(a)m(y)-8
b(,)37 b(if)c(w)m(e)i(read)f(and)g(lik)m(e)g(the)g(feature,)i(w)m(e)f
(can)f(add)g(it)g(to)h(the)f(sources)h(with)e(a)h(single)150
1658 y(patc)m(h)28 b(command,)g(do)g(some)g(testing,)g(and)f(c)m(hec)m
(k)i(it)f(in.)38 b(If)27 b(y)m(ou)h(lea)m(v)m(e)h(out)f(the)g
(ChangeLog,)h(w)m(e)f(ha)m(v)m(e)150 1767 y(to)g(write)e(one.)40
b(If)26 b(y)m(ou)h(lea)m(v)m(e)i(out)e(the)g(do)s(c,)h(w)m(e)f(ha)m(v)m
(e)h(to)g(puzzle)e(out)h(what)g(needs)g(do)s(cumen)m(ting.)38
b(Etc.)275 1899 y(The)33 b(reason)i(to)g(send)f(eac)m(h)h(c)m(hange)h
(in)d(a)i(separate)g(message)h(is)d(that)i(w)m(e)g(will)d(not)i
(install)f(some)150 2009 y(of)d(the)h(c)m(hanges.)42
b(They'll)28 b(b)s(e)i(returned)f(to)i(y)m(ou)f(with)f(questions)h(or)g
(commen)m(ts.)41 b(If)30 b(w)m(e're)h(doing)e(our)150
2118 y(job)k(correctly)-8 b(,)35 b(the)f(message)g(bac)m(k)g(to)g(y)m
(ou)g(will)d(sa)m(y)j(what)f(y)m(ou)h(ha)m(v)m(e)g(to)h(\014x)d(in)g
(order)h(to)h(mak)m(e)h(the)150 2228 y(c)m(hange)h(acceptable.)57
b(The)35 b(reason)g(to)h(ha)m(v)m(e)h(separate)f(messages)g(for)g
(separate)g(features)f(is)g(so)g(that)150 2337 y(the)f(acceptable)g(c)m
(hanges)h(can)e(b)s(e)g(installed)e(while)h(one)i(or)f(more)h(c)m
(hanges)g(are)g(b)s(eing)e(rew)m(ork)m(ed.)50 b(If)150
2447 y(m)m(ultiple)30 b(features)j(are)h(sen)m(t)f(in)e(a)i(single)f
(message,)i(w)m(e)g(tend)e(to)h(not)g(put)f(in)g(the)h(e\013ort)g(to)h
(sort)f(out)150 2556 y(the)28 b(acceptable)h(c)m(hanges)f(from)g(the)g
(unacceptable,)g(so)g(none)g(of)g(the)g(features)g(get)h(installed)c
(un)m(til)h(all)150 2666 y(are)31 b(acceptable.)275 2798
y(If)i(this)g(sounds)f(painful)f(or)j(authoritarian,)f(w)m(ell,)h(it)f
(is.)50 b(But)34 b(w)m(e)h(get)f(a)h(lot)e(of)h(bug)g(rep)s(orts)f(and)
150 2907 y(a)h(lot)g(of)g(patc)m(hes,)h(and)f(man)m(y)f(of)h(them)g
(don't)g(get)h(installed)c(b)s(ecause)j(w)m(e)g(don't)g(ha)m(v)m(e)h
(the)f(time)f(to)150 3017 y(\014nish)25 b(the)i(job)g(that)h(the)f(bug)
g(rep)s(orter)f(or)h(the)h(con)m(tributor)e(could)h(ha)m(v)m(e)h(done.)
40 b(P)m(atc)m(hes)28 b(that)g(arriv)m(e)150 3126 y(complete,)40
b(w)m(orking,)f(and)f(w)m(ell)e(designed,)j(tend)e(to)i(get)g
(installed)c(on)j(the)g(da)m(y)g(they)g(arriv)m(e.)62
b(The)150 3236 y(others)29 b(go)h(in)m(to)f(a)g(queue)g(and)f(get)j
(installed)26 b(as)k(time)e(p)s(ermits,)g(whic)m(h,)g(since)h(the)g
(main)m(tainers)f(ha)m(v)m(e)150 3346 y(man)m(y)i(demands)g(to)h(meet,)
g(ma)m(y)g(not)g(b)s(e)f(for)g(quite)g(some)g(time.)275
3477 y(Please)20 b(send)f(patc)m(hes)j(directly)d(to)i(the)f(GDB)h
(main)m(tainers)f(at)h Ff(gdb-patches@sourceware)o(.cyg)o(nus.)o(com)o
Fk(.)p 4041 3497 42 84 v 150 3726 a Fj(16.4)68 b(Obsolete)47
b(Conditionals)275 3915 y Fk(F)-8 b(ragmen)m(ts)39 b(of)f(old)f(co)s
(de)h(in)e(GDB)j(sometimes)f(reference)g(or)g(set)g(the)g(follo)m(wing)
f(con\014guration)150 4025 y(macros.)54 b(They)34 b(should)f(not)i(b)s
(e)f(used)f(b)m(y)i(new)f(co)s(de,)i(and)e(old)g(uses)g(should)f(b)s(e)
h(remo)m(v)m(ed)i(as)e(those)150 4134 y(parts)c(of)h(the)f(debugger)g
(are)h(otherwise)f(touc)m(hed.)150 4288 y Ff(STACK_END_ADDR)630
4397 y Fk(This)42 b(macro)i(used)e(to)i(de\014ne)f(where)g(the)g(end)g
(of)h(the)f(stac)m(k)i(app)s(eared,)h(for)d(use)g(in)630
4507 y(in)m(terpreting)23 b(core)i(\014le)e(formats)i(that)g(don't)f
(record)g(this)f(address)h(in)f(the)h(core)h(\014le)f(itself.)630
4617 y(This)34 b(information)h(is)g(no)m(w)i(con\014gured)e(in)g(BFD,)j
(and)d(GDB)j(gets)f(the)f(info)f(p)s(ortably)630 4726
y(from)27 b(there.)40 b(The)27 b(v)-5 b(alues)27 b(in)g(GDB's)h
(con\014guration)f(\014les)g(should)f(b)s(e)h(mo)m(v)m(ed)h(in)m(to)g
(BFD)630 4836 y(con\014guration)i(\014les)f(\(if)h(needed)g(there\),)h
(and)f(deleted)g(from)g(all)f(of)i(GDB's)g(con\014g)g(\014les.)630
4967 y(An)m(y)d(`)p Fg(fo)s(o)p Ff(-xdep.c)p Fk(')f(\014le)g(that)i
(references)f(ST)-8 b(A)m(CK)p 2426 4967 28 4 v 32 w(END)p
2657 4967 V 34 w(ADDR)28 b(is)g(so)g(old)f(that)i(it)e(has)630
5077 y(nev)m(er)k(b)s(een)e(con)m(v)m(erted)j(to)f(use)f(BFD.)i(No)m(w)
f(that's)g(old!)150 5230 y Ff(PYRAMID_CONTROL_FRAME_DE)o(BUGG)o(ING)630
5340 y Fk(p)m(yr-xdep.c)p eop
%%Page: 54 56
54 55 bop 150 -116 a Fk(Chapter)30 b(16:)41 b(Hin)m(ts)2786
b(54)150 299 y Ff(PYRAMID_CORE)630 408 y Fk(p)m(yr-xdep.c)150
568 y Ff(PYRAMID_PTRACE)630 677 y Fk(p)m(yr-xdep.c)150
837 y Ff(REG_STACK_SEGMENT)630 946 y Fk(exec.c)p eop
%%Page: -1 57
-1 56 bop 3725 -116 a Fk(i)150 299 y Fh(T)-13 b(able)54
b(of)g(Con)l(ten)l(ts)150 641 y Fj(Scop)t(e)44 b(of)i(this)f(Do)t
(cumen)l(t)33 b Fa(.)19 b(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h
(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)77 b Fj(1)150
911 y(1)135 b(Requiremen)l(ts)11 b Fa(.)21 b(.)f(.)f(.)g(.)h(.)f(.)h(.)
f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h
(.)f(.)g(.)h(.)f(.)56 b Fj(1)150 1181 y(2)135 b(Ov)l(erall)46
b(Structure)27 b Fa(.)19 b(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f
(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)71
b Fj(1)449 1318 y Fk(2.1)92 b(The)30 b(Sym)m(b)s(ol)f(Side)17
b Fd(.)c(.)i(.)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(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)47 b Fk(2)449 1427 y(2.2)92 b(The)30
b(T)-8 b(arget)31 b(Side)13 b Fd(.)h(.)h(.)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(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)43
b Fk(2)449 1537 y(2.3)92 b(Con\014gurations)23 b Fd(.)13
b(.)i(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)53 b Fk(2)150 1779 y Fj(3)135
b(Algorithms)25 b Fa(.)20 b(.)g(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f
(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)
h(.)f(.)70 b Fj(2)449 1916 y Fk(3.1)92 b(F)-8 b(rames)20
b Fd(.)c(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)50
b Fk(3)449 2026 y(3.2)92 b(Breakp)s(oin)m(t)30 b(Handling)25
b Fd(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)56 b Fk(3)449 2135 y(3.3)92 b(Single)29 b(Stepping)c
Fd(.)15 b(.)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(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)57 b Fk(4)449 2245 y(3.4)92
b(Signal)29 b(Handling)18 b Fd(.)13 b(.)i(.)g(.)g(.)g(.)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(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)48
b Fk(4)449 2355 y(3.5)92 b(Thread)29 b(Handling)17 b
Fd(.)c(.)i(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)47 b Fk(4)449 2464 y(3.6)92 b(Inferior)29
b(F)-8 b(unction)30 b(Calls)13 b Fd(.)h(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)43 b Fk(4)449 2574 y(3.7)92
b(Long)s(jmp)29 b(Supp)s(ort)23 b Fd(.)15 b(.)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(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)55
b Fk(4)150 2816 y Fj(4)135 b(User)45 b(In)l(terface)32
b Fa(.)19 b(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h
(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)75
b Fj(4)449 2953 y Fk(4.1)92 b(Command)29 b(In)m(terpreter)h
Fd(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)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(.)59 b Fk(4)449 3063 y(4.2)92 b(Console)30 b(Prin)m(ting)22
b Fd(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)53 b Fk(5)449 3172 y(4.3)92 b(TUI)15
b Fd(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)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(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
45 b Fk(5)449 3282 y(4.4)92 b(libgdb)18 b Fd(.)12 b(.)j(.)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(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)47 b Fk(5)150 3524
y Fj(5)135 b(Sym)l(b)t(ol)45 b(Handling)33 b Fa(.)19
b(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f
(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)77 b Fj(5)449 3661 y Fk(5.1)92
b(Sym)m(b)s(ol)29 b(Reading)10 b Fd(.)k(.)h(.)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(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)40
b Fk(5)449 3771 y(5.2)92 b(P)m(artial)30 b(Sym)m(b)s(ol)f(T)-8
b(ables)22 b Fd(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)52 b Fk(6)449 3880 y(5.3)92 b(T)m(yp)s(es)21
b Fd(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)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(.)g(.)g(.)g(.)g(.)g(.)g(.)51
b Fk(7)449 3990 y(5.4)92 b(Ob)5 b(ject)30 b(File)g(F)-8
b(ormats)18 b Fd(.)e(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)48 b Fk(8)748 4100 y(5.4.1)93
b(a.out)28 b Fd(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)58 b Fk(8)748
4209 y(5.4.2)93 b(COFF)23 b Fd(.)14 b(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)53
b Fk(8)748 4319 y(5.4.3)93 b(ECOFF)13 b Fd(.)i(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)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(.)g(.)g(.)43
b Fk(8)748 4428 y(5.4.4)93 b(X)m(COFF)11 b Fd(.)16 b(.)f(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)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(.)41
b Fk(8)748 4538 y(5.4.5)93 b(PE)23 b Fd(.)15 b(.)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(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)54 b Fk(9)748 4648 y(5.4.6)93 b(ELF)18 b Fd(.)d(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)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(.)g(.)g(.)g(.)g
(.)g(.)g(.)48 b Fk(9)748 4757 y(5.4.7)93 b(SOM)26 b Fd(.)15
b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)56 b Fk(9)748 4867 y(5.4.8)93
b(Other)29 b(File)h(F)-8 b(ormats)25 b Fd(.)15 b(.)g(.)g(.)g(.)g(.)g(.)
h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)54 b Fk(9)449 4976 y(5.5)92 b(Debugging)30
b(File)g(F)-8 b(ormats)29 b Fd(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)h(.)f(.)g(.)g(.)57 b Fk(9)748 5086 y(5.5.1)93
b(stabs)27 b Fd(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)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(.)g(.)g(.)g(.)g(.)g(.)57 b Fk(9)748
5196 y(5.5.2)93 b(COFF)23 b Fd(.)14 b(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)53
b Fk(9)748 5305 y(5.5.3)93 b(Mips)29 b(debug)g(\(Third)g(Ey)m(e\))10
b Fd(.)16 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)40 b Fk(9)p eop
%%Page: -2 58
-2 57 bop 3699 -116 a Fk(ii)748 83 y(5.5.4)93 b(D)m(W)-10
b(ARF)32 b(1)25 b Fd(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)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(.)g(.)g(.)54 b Fk(10)748 193 y(5.5.5)93
b(D)m(W)-10 b(ARF)32 b(2)25 b Fd(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)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(.)g(.)g(.)54 b Fk(10)748 302
y(5.5.6)93 b(SOM)24 b Fd(.)15 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)54 b
Fk(10)449 412 y(5.6)92 b(Adding)29 b(a)h(New)h(Sym)m(b)s(ol)e(Reader)h
(to)h(GDB)9 b Fd(.)17 b(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)39 b Fk(10)150 654 y Fj(6)135
b(Language)45 b(Supp)t(ort)30 b Fa(.)20 b(.)f(.)h(.)f(.)h(.)f(.)g(.)h
(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)76
b Fj(10)449 791 y Fk(6.1)92 b(Adding)29 b(a)h(Source)h(Language)g(to)g
(GDB)13 b Fd(.)j(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)42 b Fk(10)150 1034 y Fj(7)135
b(Host)45 b(De\014nition)24 b Fa(.)d(.)e(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)
g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)69
b Fj(12)449 1171 y Fk(7.1)92 b(Adding)29 b(a)h(New)h(Host)d
Fd(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)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(.)56 b Fk(12)449 1280 y(7.2)92 b(Host)31 b(Conditionals)19
b Fd(.)13 b(.)i(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
g(.)g(.)g(.)g(.)48 b Fk(13)150 1523 y Fj(8)135 b(GDB)44
b(Ov)l(erview)26 b Fa(.)21 b(.)f(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)
h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)71
b Fj(17)449 1660 y Fk(8.1)92 b(Libraries)28 b(used)i(b)m(y)g(GDB)25
b Fd(.)15 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)54
b Fk(17)449 1769 y(8.2)92 b(GDB)31 b(Directory)g(Structure)20
b Fd(.)14 b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)49
b Fk(18)449 1879 y(8.3)92 b(Ov)m(erview)30 b(of)g(Source)g(Files)14
b Fd(.)g(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)43
b Fk(19)748 1988 y(8.3.1)93 b(T)-8 b(op)30 b(Lev)m(el)17
b Fd(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)h(.)46 b Fk(19)748 2098 y(8.3.2)93 b(GDB)31 b(T)-8
b(argets)32 b(/)e(Program)h(Con)m(trol)8 b Fd(.)15 b(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)38 b Fk(19)748
2208 y(8.3.3)93 b(T)m(yp)s(es,)29 b(V)-8 b(alues,)31
b(and)f(Expressions)18 b Fd(.)13 b(.)i(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)h(.)f(.)g(.)g(.)g(.)47 b Fk(20)748 2317 y(8.3.4)93
b(Stac)m(k)31 b(Analysis)9 b Fd(.)k(.)i(.)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(.)g(.)g(.)38 b Fk(21)748 2427 y(8.3.5)93 b(Breakp)s(oin)m(ts)
18 b Fd(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)
f(.)47 b Fk(21)748 2536 y(8.3.6)93 b(Sym)m(b)s(ol)28
b(File)i(Managemen)m(t)g Fd(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)57 b Fk(21)748
2646 y(8.3.7)93 b(Language-Sp)s(eci\014c)30 b(Sources)16
b Fd(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)46 b Fk(23)748 2755 y(8.3.8)93 b(Kernel)29
b(Debugging)e Fd(.)15 b(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)57
b Fk(23)748 2865 y(8.3.9)93 b(Sources)30 b(Sp)s(eci\014c)e(to)j(Mac)h
(OS)e(X)d Fd(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)57 b Fk(23)748 2975 y(8.3.10)93 b(P)m(o)m(w)m(erPC-sp)s
(eci\014c)30 b(Sources)e Fd(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)57 b Fk(24)748
3084 y(8.3.11)93 b(Miscellaneous)25 b Fd(.)15 b(.)g(.)g(.)h(.)f(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)56 b Fk(24)748 3194 y(8.3.12)93
b(Assorted)31 b(Utilities)16 b Fd(.)d(.)i(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
g(.)g(.)45 b Fk(24)150 3436 y Fj(9)135 b(T)-11 b(arget)45
b(Arc)l(hitecture)g(De\014nition)15 b Fa(.)21 b(.)e(.)g(.)h(.)f(.)h(.)f
(.)h(.)f(.)g(.)h(.)f(.)60 b Fj(25)449 3573 y Fk(9.1)92
b(Registers)30 b(and)g(Memory)15 b Fd(.)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(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)44 b Fk(25)449 3683 y(9.2)92
b(F)-8 b(rame)31 b(In)m(terpretation)24 b Fd(.)15 b(.)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(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)53 b Fk(25)449
3792 y(9.3)92 b(Inferior)29 b(Call)g(Setup)d Fd(.)15
b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)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(.)56 b Fk(25)449 3902 y(9.4)92 b(Compiler)28 b(Characteristics)13
b Fd(.)h(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)42
b Fk(25)449 4012 y(9.5)92 b(T)-8 b(arget)32 b(Conditionals)21
b Fd(.)15 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)54 b Fk(26)449 4121 y(9.6)92 b(Adding)29 b(a)h(New)h(T)-8
b(arget)11 b Fd(.)16 b(.)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(.)g(.)
g(.)g(.)g(.)g(.)40 b Fk(35)150 4364 y Fj(10)135 b(T)-11
b(arget)45 b(V)-11 b(ector)45 b(De\014nition)35 b Fa(.)20
b(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)79
b Fj(36)449 4501 y Fk(10.1)92 b(File)30 b(T)-8 b(argets)8
b Fd(.)16 b(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)37 b Fk(36)449 4610
y(10.2)92 b(Standard)30 b(Proto)s(col)g(and)g(Remote)i(Stubs)15
b Fd(.)e(.)i(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)44 b Fk(36)449 4720 y(10.3)92 b(R)m(OM)31 b(Monitor)f(In)m
(terface)10 b Fd(.)17 b(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
g(.)39 b Fk(37)449 4829 y(10.4)92 b(Custom)30 b(Proto)s(cols)20
b Fd(.)15 b(.)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(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)49 b Fk(37)449 4939 y(10.5)92 b(T)-8 b(ransp)s(ort)30
b(La)m(y)m(er)9 b Fd(.)16 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)39 b Fk(37)449 5049
y(10.6)92 b(Builtin)28 b(Sim)m(ulator)g Fd(.)15 b(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)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(.)58
b Fk(37)p eop
%%Page: -3 59
-3 58 bop 3674 -116 a Fk(iii)150 83 y Fj(11)135 b(Nativ)l(e)47
b(Debugging)38 b Fa(.)19 b(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h
(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)82 b Fj(37)449
220 y Fk(11.1)92 b(Nativ)m(e)32 b(core)f(\014le)e(Supp)s(ort)8
b Fd(.)14 b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)37
b Fk(38)449 330 y(11.2)92 b(ptrace)15 b Fd(.)h(.)f(.)g(.)g(.)g(.)g(.)g
(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)h(.)f(.)g(.)g(.)g(.)44 b Fk(39)449 439 y(11.3)92 b(/pro)s(c)29
b Fd(.)15 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)58
b Fk(39)449 549 y(11.4)92 b(win32)23 b Fd(.)15 b(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)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(.)g(.)g(.)g(.)52 b Fk(39)449 658 y(11.5)92
b(shared)30 b(libraries)c Fd(.)15 b(.)g(.)g(.)g(.)g(.)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(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)58 b Fk(39)449
768 y(11.6)92 b(Nativ)m(e)32 b(Conditionals)21 b Fd(.)15
b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)52
b Fk(39)150 1010 y Fj(12)135 b(Supp)t(ort)44 b(Libraries)16
b Fa(.)k(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)
h(.)f(.)h(.)f(.)h(.)f(.)h(.)60 b Fj(41)449 1147 y Fk(12.1)92
b(BFD)21 b Fd(.)16 b(.)g(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)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(.)g(.)
50 b Fk(42)449 1257 y(12.2)92 b(op)s(co)s(des)25 b Fd(.)15
b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)54 b Fk(42)449
1367 y(12.3)92 b(readline)24 b Fd(.)15 b(.)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(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)55 b Fk(42)449 1476 y(12.4)92 b(mmallo)s(c)14
b Fd(.)g(.)h(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)43 b Fk(42)449
1586 y(12.5)92 b(libib)s(ert)m(y)14 b Fd(.)f(.)i(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)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(.)43 b Fk(42)449 1695 y(12.6)92 b(gn)m(u-regex)11
b Fd(.)17 b(.)e(.)g(.)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(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)41 b Fk(42)449
1805 y(12.7)92 b(include)19 b Fd(.)13 b(.)i(.)g(.)g(.)g(.)g(.)h(.)f(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
(.)g(.)g(.)48 b Fk(43)150 2047 y Fj(13)135 b(Co)t(ding)13
b Fa(.)20 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g
(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)
58 b Fj(43)449 2184 y Fk(13.1)92 b(Clean)m(ups)23 b Fd(.)14
b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)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(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)52 b Fk(43)449 2294
y(13.2)92 b(W)-8 b(rapping)30 b(Output)f(Lines)f Fd(.)15
b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)58
b Fk(44)449 2403 y(13.3)92 b(GDB)32 b(Co)s(ding)d(Standards)f
Fd(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)59
b Fk(44)748 2513 y(13.3.1)93 b(F)-8 b(ormatting)11 b
Fd(.)16 b(.)f(.)g(.)g(.)g(.)g(.)g(.)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(.)
g(.)40 b Fk(44)748 2623 y(13.3.2)93 b(Commen)m(ts)23
b Fd(.)15 b(.)g(.)g(.)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(.)g(.)g(.)g(.)g(.)
g(.)52 b Fk(44)748 2732 y(13.3.3)93 b(C)30 b(Usage)c
Fd(.)16 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
h(.)f(.)g(.)54 b Fk(45)748 2842 y(13.3.4)93 b(F)-8 b(unction)30
b(Protot)m(yp)s(es)21 b Fd(.)15 b(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)50
b Fk(45)748 2951 y(13.3.5)93 b(Clean)30 b(Design)15 b
Fd(.)f(.)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(.)g(.)g(.)g(.)g(.)g(.)44
b Fk(46)150 3194 y Fj(14)135 b(P)l(orting)46 b(GDB)16
b Fa(.)j(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)
h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)61 b Fj(47)449
3331 y Fk(14.1)92 b(Con\014guring)29 b(GDB)i(for)f(Release)9
b Fd(.)15 b(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)38 b Fk(48)150
3573 y Fj(15)135 b(T)-11 b(estsuite)23 b Fa(.)d(.)g(.)f(.)h(.)f(.)g(.)h
(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)
h(.)f(.)h(.)f(.)g(.)h(.)f(.)68 b Fj(48)449 3710 y Fk(15.1)92
b(Using)30 b(the)h(T)-8 b(estsuite)13 b Fd(.)h(.)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(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)42 b Fk(49)449
3820 y(15.2)92 b(T)-8 b(estsuite)31 b(Organization)10
b Fd(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)40
b Fk(49)449 3929 y(15.3)92 b(W)-8 b(riting)30 b(T)-8
b(ests)20 b Fd(.)c(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)49 b Fk(50)150 4172
y Fj(16)135 b(Hin)l(ts)35 b Fa(.)19 b(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h
(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)79 b Fj(51)449 4309 y
Fk(16.1)92 b(Getting)31 b(Started)19 b Fd(.)d(.)f(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)48
b Fk(51)449 4418 y(16.2)92 b(Debugging)31 b(GDB)g(with)e(itself)d
Fd(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)56 b Fk(52)449
4528 y(16.3)92 b(Submitting)28 b(P)m(atc)m(hes)j Fd(.)15
b(.)g(.)g(.)g(.)g(.)g(.)g(.)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(.)g(.)58
b Fk(52)449 4638 y(16.4)92 b(Obsolete)31 b(Conditionals)21
b Fd(.)16 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)54
b Fk(53)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF