Prv8 Shell
Server : Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/1.0.0-fips mod_auth_passthrough/2.1 mod_bwlimited/1.4
System : Linux server.jackjohnson.com 2.6.32-279.5.2.el6.x86_64 #1 SMP Fri Aug 24 01:07:11 UTC 2012 x86_64
User : jackjohn ( 502)
PHP Version : 5.3.17
Disable Function : NONE
Directory :  /usr/bin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/bin/ld
ELF>=@@	@8	@ @@@@@88@8@@@   h h$ kk HHhHhTT@T@DDPtdЉЉHЉH4
4
Qtd/lib64/ld-linux-x86-64.so.2GNUGNUSiX	R{$Uf2t
|qX@|pTŹ@D8ĉCEW&ݣkgUa{G}
E)d;
RA	w]		y	  / 
	

y?	
mJ
o	H	

xf		)@.	`		
.	
w
H[/&	+Y	k	B		r	V
	5
O
/
I


	c
7	O	`
'r
	
	G	OQ|Ki
r
qB
CBT			cR	C(BGP;@	@hB2@"3@L6@hj@hi;@
h@h
h
!hh
Hhi
`h
!h`	Ph hDh	h-z V8'z Vi&z VTO&z VWs h%MH1@h%H1hh%H10h%PH1h%@,H1h%H1Hh%`G1h%G1h%H1@h%,H1P1h1 h1h1 hH1@h16@1hX1h1h1%9H1(1%MH101%-H181%H1@1%H11%PH11%@,H11%H11%`G1H1%oH1X1%G1`1%H1x1%4H11%,H11%H11hX1ph1 hx1hP1%9H1P1%PH1Q1%H10x18x1@x1`x1xx1x1hpx1hxx1x1x1hx1@hx1@x1PhHx1hPx1`x1x16@x1x1Hhx1`hx1%MH10x1%oH1!1G1!1G1!1 G1!1 G1!1 G1!16@ii
-ti	7ui	Chh@hhOhhhh h@h@hHhPh`hhh8h@hHhPhXh`hhhphxh	hh
hhh
hhhhhhhhhhhhhhh h(h 0h!8h"@h#Hh$Ph%Xh&`h'hh(ph)xh*h+h,h-h.h/h0h1h2h3h4h5h6h7h8h9h:h;h<hh= h>(h?0h@8hA@hBHhCPhDXhE`hFhhGphHxhIhJhKhLhMhNhPhQhRhShThUhVhWhXhYhZh[h\h]h^ h_(h`0ha8hb@hcHhdPheXhf`hghhhphixhjhkhlhmhnhohphqhrhshthuhvhwhxhyhzh{h|h}h~ h(h0h8h@hHhPhXh`hhhphxhhhhhhhhhhhhhhhhhhhhh h(h0h8h@hHhPhXh`hH
:vH5(%(@%(h%
(h%(h%(h%(h%(h%(h%ڮ(hp%Ү(h`%ʮ(h	P%®(h
@%(h0%(h %(h
%(h%(h%(h%(h%(h%z(h%r(h%j(h%b(h%Z(hp%R(h`%J(hP%B(h@%:(h0%2(h %*(h%"(h%(h%(h %
(h!%(h"%(h#%(h$%(h%%(h&%ڭ(h'p%ҭ(h(`%ʭ(h)P%­(h*@%(h+0%(h, %(h-%(h.%(h/%(h0%(h1%(h2%z(h3%r(h4%j(h5%b(h6%Z(h7p%R(h8`%J(h9P%B(h:@%:(h;0%2(h< %*(h=%"(h>%(h?%(h@%
(hA%(hB%(hC%(hD%(hE%(hF%ڬ(hGp%Ҭ(hH`%ʬ(hIP%¬(hJ@%(hK0%(hL %(hM%(hN%(hO%(hP%(hQ%(hR%z(hS%r(hT%j(hU%b(hV%Z(hWp%R(hX`%J(hYP%B(hZ@%:(h[0%2(h\ %*(h]%"(h^%(h_%(h`%
(ha%(hb%(hc%(hd%(he%(hf%ګ(hgp%ҫ(hh`%ʫ(hiP%«(hj@%(hk0%(hl %(hm%(hn%(ho%(hp%(hq%(hr%z(hs%r(ht%j(hu%b(hv%Z(hwp%R(hx`%J(hyP%B(hz@%:(h{0%2(h| %*(h}%"(h~%(h%(h%
(h%(h%(h%(h%(h%(h%ڪ(hp%Ҫ(h`%ʪ(hP%ª(h@%(h0%(h %(h%(h%(h%(h%(h%(h%z(h%r(h%j(h%b(h%Z(hp%R(h`%J(hP%B(h@%:(h0%2(h %*(h%"(h%(h%(h%
(h%(h%(h%(h%(h1I^HHPTIBH BHuAHHA(HtHÐUHSH=ȸ(uK8hH¸(H0hHHH9s$fDHH(0hH(H9r{(H[fff.H=(UHtHt@hÐH\$Hl$H(Hue(v'HHl$H\$ B1H:f.HHHl$HhH\$
B1H	fH-(1BHH1ۀqfDSH~4Hc8B1HCHߺSC[1Hc-B1HCfU1HCBSHHH=(|H9w+H=ֶ(1MBHQH9sH=(HC[]1.fffff.H\$Hl$HHՋ(HQBHDuH\$Hl$HHH=F(#C1H=.(HH=(H\$CHl$1Hfffff.AWAVAUATUSHD
(EwH$0Hl$pH$((E1D$PHD$8IHD$HID$dHD$HHT$H|$HfD+L|$0I|H9H|$8'"HD$8'HH='HFHT$8HH|$8HHD$8HT$0HH|HI"L)LHHHH,H]HT$0HLHHHHRHTIHHHD$0"L;d$tLHCDȾ(HEHIHT$0H,H|$8HI~H|$HH9!M=(A!McG-@BAtc](=zAw
HD@B+(C7=.wHBD9T$P1D|$PC-B|$D7HcD$DD5۽(DBHD$XA)ЉT$TEHH@HHTH$HT(H$HD(H$D$D=ZDh(EHcT$THL4HT$XH)IDBL)IH$InAMcC-BIFH$HEH$HEЍ.WG-BHL|$0"D BEA^DD$dE|$duG=(t$PiBu(HLMcHG-@BAtAA.wMcfC6Bt7L9C-BBHH<=(D+t@C6 B~H(H5ڻ(AD$dHUHܻ(HUH׻(HUH=f(ЫB#C1IcH=F(HBH=/(C1{fA=G(tt$PiB^
((t-HHԬBHHB'I9uL;d$tLHD[]A\A]A^A_fDH=(D麇B1*$`BHcf;BD B5j(1Y(
I(E1@(H=(B1lH=ɯ(«B#C1CH=(Di/H=(C1fHL$8H=t(jB1fDH=Q(ZB1lHL tH|$XL$D1PBD? BH=(D\$TEHD$XEHl$hDBL)E1H@L|H݋\$TH=(A٫BD1)IcH=(LBAIH=p(1CD9HHl$hDH=A(oB#C1HD$XH=(H$DBDH=(C1~HcT$TD
"(HHH)L4L)EIHLwB(Է(|$dT$dH˷(H(EHEH(HEH(HE1A9f.H=)(B1EADD$DV8}HuHUKIH蓘yD-(A#McB1JhD-(AD-~(ZT-h(DLm1xBLH1uHY(B
H}Hu
H}Hu
H}Hu{
H}
H}Hu;
H}Hu)
H}Hu
H}Hu	H}Hu	oH}Hua	]H}HuO	KH}
<H}Hu1
(HUH}1
H}JH}LH}9|H}1hH}	H}fH}
fH}
fH}f|H}flHDŽ$[QKGH}M9H}?+H}1fDfDH}fH}1wH}}fH}11&hHUHuH}hH}1[uܴ(xѴ(i裔_蹋UH}kgGH}z4.*H}mH}1萔H}}HuH}˟H}1ҾH}1ҾH}1Ҿ̝H}11躝H}11訝H}11薝rHcb(X(H$THEЉA(EHc5(+(H$'HEЉ(Hc((H$HEЉ(H}1euDH}HuCH術HEH$HDŽ$nCHDŽ$BzHEDŽ$HDŽ$H$RHEDŽ$H$HEH$*HEDŽ$HDŽ$H$HEDŽ$HDŽ$H$HEDŽ$HDŽ$H$HEDŽ$HDŽ$H$HEDŽ$HDŽ$H$bHEDŽ$HDŽ$H$:HEDŽ$H$HEH$HUHHUHPH$HUH@HH$ HUHxHHH$ HHHxH$nHEå(H$1HDŽ$DŽ$H$赒1Hu(1蟒Hup(H}臒X(I(誐蛐ׯ(肐HuH}@H}rf&fD|vH}HuY@HQ]H}uJD@<HcEH$+HcEH$HcEH$	HcEH$HcEH$H}B1VH$HEH$HDŽ$DŽ$+DŽ$-DŽ$*xDŽ$/hDŽ$XDŽ$HDŽ$&8DŽ$|(}HuHU?HHuLmV}LHzXHuH¿=y?HH}Hu1>H襎H}Hu>H膎H}ӚH(xH}HԢ(1ɾhB@pH$TH}sA;7L-(H}B1?TIEH(HPHP(L-x(H}
BHTIE HF(1ɾhB1oH$HuH=0(1hHuH=(gH}g1WyH}WkH}W\H}WfL_<1_@,HDŽ$HUHPHUHH$HUHPHUHH$i@HEH$Hu-UH$HEH$HuH}TH$eHu!TH$JHEH$9Hu~TH$HuHU*UH$HuHU/|UH$HuHU%]UH$HuHU+>UH$HuHU-UH$HuHUUH$dHuHUTH$EHuHUTH$&HuHUTH$HuHUTH$HuHUeTH$HuHU<FTH$HuHU>'TH$HuHU&TH$lHuHU^SH$MHuHU|SH$.HUHu?HMSH$HuHUSH$HuHU
iSH$Hu7QH$HuH}:H$1)QH$Hu>pQH$dHu=UQH$IHu?:QH$.Hu@QH$HuyQH$HuZiQH$HuNQH$HUHu?RH$HUHu$ RH$HUHu%RH$eHu&PH$JHu;PHuH¿.QH$HuPH$HuOH$HUHuAeQH$HUHuBFQH$HuH}7H$HuIOH$uHuKfOH$ZHEH$IHDŽ$8HEH$'HDŽ$HEH$HDŽ$HEH$HDŽ$DŽ$uDŽ$vDŽ$wDŽ$,{&
rLMLEHMHpH@E($B<
3f+HMHUHuH}6H}Hn(1ɾbBgH$

	HuH}j
U
D
HMHHLMLEHU
u@k
HUQE=5H@LH}j93
,((s(d(U(F(7(HEH$HDŽ$HEH$HXH$|HEH$kHDŽ$ZHDŽ$IHDŽ$8HEH$'HDŽ$BHDŽ$HU@HPHUHH$H}9ZDHuH}N4@fD|MHuH}LMLE؋U`\HEH$HExB86LxABE1AIAt)I6L
uD4AH$BL+BLQtd[4H$H|$1H|$H8BLmL{uH}@BL_uH}FBLC&HEHH$"H|$HHEH$11(UH$H}1UH$H}1TH$Hu1TH$HuH}TH$H(Hu11UcH$iHɕ(Hu11cH$EH}H(1HucH$"H}H~(HubH$H\(H$HEHI(HEHMHHHuH@HHH$HEH(H(H$HEH(HEH$HEH֔(jHʔ(1ɾ[B14bH$HH}H(1ɾ[BbH$$H(1ɾbB1aH$-(fDHu11]HuH}1u]HUHuH}_]Hu1YH$H}HuXH$iD-|(A#McC1JhD-S(AD-H($-7(H}Q?D-(A#McLB1~JhD-(AD-(HDŽ$HEH$DH=(ЫB#C1DD$(6H=(iD"H=(C1
DD$(BA@QE0IMA;1BLH1[B1LH1d[1m/H$PtdV/H$DŽ$DŽ$f.HtEHGG HG@H(HWG,G<HHWt
H
(H;<t@G H(H((HH?((D(fH(H(Z(fHQ(=(fH=ɑ(H=((f=(fHy((H(H\(ff.HI(s(Hc(H,(ff.H(C(H3(
H(ff.H((H(H̀(ff.H((HӐ(	H(ff.H((H(Hl(ff.HY((Hs(H<(ff.H)(HP@H(E(@ff.;ff.HSHtWH (HtH(HH;8t+C$uH[H{H[fDH[fffff.HH(Ht}H(H<HtmkH(H(HHuXHtHH|(HHt8P (HPHHl(H(H(e(W(HfDHH%(ff.HH(Ht<H(H<Ht,H(H(HHɎ(HuHH(H(1H(H(x(j(H?(H<(Hffffff.ff.HHH=(TC1qH=	(SHH(HCH;(v[fHcH4MHHÍ(Hƍ(H<к@@@@1Hu>u!uH}([Hn(@fHtHt@HH(~HH(H([ÐHOfD?H'f.fHC^H(CHH(lfff.HSHNHW(HH
O(HH8t55Z(H=G(@7H0H~=G(H~ tHHH
(HC H!(HCH(H(H((([Hɋ(Hff.SHH(1HtH(HH9tqHttH(HH8t (H
}(HHJ
~(J HC Hl(HCH	(HJ(Hc(J(<([fDH(HLl$H\$IHl$Ld$H(׊(Ɋ(	
z(H(HՀh.Ch1HtH
(HLH h|(6z(Hſ@A%A|$HhHHA	HxHCL
HCHD(HCD(HCDc C$C(C,HC8C<HCH\$Hl$Ld$Ll$ H(!1CQ(fH\$Hl$H(HHw1H\$Hl$ H(|7u|7uٿ@Ht$#HHt$HtSHHH$HuH]H]E$HEu E(E,E8E<\H$lCH$Ht$H$f.ATUDeSHMcHLHtq~MHHtH
HH9uHcLHD((Ht@$H[]A\ÿ7CHD$#HD$@$H[]A\ÿCHD$HD$vDSHgH߉[<fff.H\$Hl$HLd$Ll$H(HHID(H؇(1H+C8HtHȇ(HH9tC0C4Ht<H~$S(E,$H\$Hl$Ld$Ll$ H(@1@H\$Hl$HLd$@HAHHtUMcI|$LcHHCt+HHC$HHl$H$Ld$H0C@0C@SHH(	wm‹
qv(H4ՀhH5(h1HtH
(HH߃@HK(H he(v(HH[1`CHt$_N1(Ht$rffffff.USHHH(HtcH(H<HtSHH(H(HЋB (HBHH(H(H(ׅ(H[]@H-(H=e(@HH-( 1HEHs(HoHk(H<_f.UHSHH(dH%(HD$1ubDEA@hu EUCH1H1HHCMHD$dH3%(u/H[]fDH5(C1L|AUATUSHH(H(L%(H-(H<Hc(H7LnILHI9^8u I)1I@H[]A\A]D)Y~/IEqH40HMHH9AMIuH7~<	(F HӃ(
(HH(HcL"I;t$AD$<I|$HcH(ID$HHo(HHHHc(HcJHEHHEHpLHHEtSE)H(McN$ H
(L%(H4‰FW1HtH(H,‹M$LmuHECHEf.HHHHEj@1HH~HE(H9oH
@(H_=  NHcHHc9ʼne(H8(1HH#(L"AD$ HcI;t$rIL$'(1H
Hc(HIDHH@H(H[]A\A]DC~H(H(L%(H<H֊(H7?fDH=Y(t8C1IHu(
(1HHZ(L"AL$ /kDH=	(H0(
J(HH(L"F "`CH(
(HHڀ(HcH
HIfH\$Hl$H(π(H(u%H(H(HHc(HBH9s-HSH(S(H\$Hl$ H(HCH-|(HU(¸t΃t
tH4(H=(D$D$)HcH0(H	(sfff.H@t*t!
uyo(u*ufD*t/t
tЃu[C1HGHfAWAVAUATUSH(t8(vmCqCHD$C=(5/(H-(@u~(IHc7Cf`C@4`Ct8~(H-~())C=6~@46CHc7C@ɍHc?DC9uH	 YCHc7Cf	ul56~(+~(E~(H=}(~(H=}(H~(HBH}(HH.HЋI HhH
}(H-}(H-(H}(u@5}(zf.H[]A\A]A^A_Hs[]A\A]A^A_Hi[]A\A]A^A_Hh[]A\A]A^A_Hj[]A\A]A^A_Ð`CuHc\}(H-]}(`CL%L(AD)E5(U}(EH-}(=vCH-|(5|($Cxl(H|(H=w|(@HH|(2H|(HH|(HHA{(HB|(YHy(H'|(8H=(?/*U|(EID$L%Z(H1|(D)@(AT$(|(AD$H|(H({(4H=(XHф(nH=(;H(o(ll(qqx(ppH(l{(ED+=v(EH4{(AH1{(HЃx<uP >{(Hz(@<HHc&{(HPH9{(jH*NIcH-(L%(z(LH-z(H9t4`CHcf`Ct
z(H
z(D7C@A<8LcGDCD9t )C=6Hc~@46C뾉H? YCpHc5F(H
y(H=;(^H=*(HyHc(H(D,H=(HLHł(H=܂(/H(H=(HH(H=(Hj(H=(ԼHM(9(ZZ%(YYk(XXW(mmC(ll/Ձ(kk(aa(__(^^(bbq([[](ffI(ee5(dd{!(WWg
(S(QQ?(]]+р(ZZ(YY(XX(mm(kkm(aaY(__E(^^1(bbw([[c	(ffO(ee;(dd'(WW((QQ(]]iv(1҉\v(H< hAv(HŀhH()v(he(ze((\\_H50(C
~(yy5~(xx!H5~(yC`u(EHcu(H-u(`CN~(++x~(--xu(mu(Hx~(Hi~(Ju((~(ttn~(UUZ~(TTF}(SS2}(RR}(  
}(//}(KK}(KKt}(II`}(IIL}(ww8}(vv~$}(uuj}(66V|(55B|(44.|(33|(22|(''|(((|(''p|(66\|(HHH|(GG4|(z |(f|(R{(>{(*{(FF{(EE{(DD{(,,{(**l{(CCX{(JJD{(##0{(""v{(!!b{(Nz(--:z(++&z(PPz(LLz(77z(VV|z(NNhz(MMTz(OO@z(99,z(88rz(==^z(::Jy(..6y())"y())y(<<y(lly(;;xy(``dy(BBPy(AA<y(>>(y(@@ny(??Zy(&&Fx(%%2x($$x(
x(KKx(x(tx(rr`x(IILx(118x(00~$x(;;jx(::Vw(((Bw()).w({{w(}}w(==w(<<w(%%pw(//\w(--Hw(++4w(**z w(??fw(!!Rv(~~>v(||*v(&&v(,,v(>>v(v(lv(Xv(		Dv(

0v(vv(bv(Nu(:u(&u(u(u(u(

|u(hu(Tu([[@u(]]H=Wu(1Ҁ?$1Hc
6u(H7u(Hu(Hu(L
mHHt(*Hct(H=t(
DB<6w
mC1zHt(Ht(H=t(1HGHtt(Het(Qt(==H=ht(軮H4t(zHKt(kH<t(j(k(HMkt	K{H
Hs(6 YC6nfHH-j(uHj(Hzj(Hc-j(L%s(HLHhKj(H-lj(H92@t@`CHcf6`Ct
Nj(HOj(D67CA<8LcGDCD9t6)C=6Hc~6CH? YCpH`C}i(Hr(i(Hi(IcH-r(L%r(\i(LH-zi(H9vut4`CHcf	`Ct
bi(Hci(D	7C@A<8LcGDCD9tp	)C6Hc~@46CHc	`CftH-	i(H-h(h(	7CHc?DC9	)CHcՉH? YC$Hq(Vh(HB:0t
B<Xt<xuHz«HCq(AUATIUSHLHHt$ުHHD$8L%t(LkMu3M$$Mt'I|$LRuIl$H[]A\A]fD nOILhHh@HEt(HI$L%7t(LHHSH[]A\A]f1nCoLH1R/@ffff.AWAVAUATIUSH耪H$nH$蜤H$H$E11ҿ-1TH$HCHcHH4HCHtHCHtHCHtH@H=%Ct#H$Hc߃CYyHCtؖCjH$HCIcHAH4HCHtHCHtHCH@H=%HtiH$HcH$L$H$HcHHH$IcHHH$V5O:֍PIH@8u7q@:5u*I:
u9vI		@huHC9wLA@AHD9vZH{?-ulut	HxA<LCIHǹŁC1HI膨LsHD9wL$E1D$,9a(tL~uH$H$MLa(a(͠?ADuAAvz1nC!H1,H=pa(1ҾW9>a(`iH$Hc߃:lH$Hcσ:UfDEB$CDH$MBL`(A/D$,LMu<H[]A\A]A^A_f.LHD$ ~/HD$ Ht$Lp:LcHtA>uHuHء뚀
m(
xm(^n(Dn(jn(8n(+L=l(MLáHD$HH`(HHD$0誡Ld$@HD$8AH n(L责HtOIItFH|$0HL֟uAtm(8uMDLd$@fDLd$@HT$8HD$HH|RD
m(IHP_(Lk(,CHLH$1荥H=k(葠L=k(DkBMrf/k(H=^(>k(
k(%k(
k(%k(H=^(11HnHl(tj(hQ(k(WHP^(Hk(Dj(8H1^(Hk(%H^(=HHT$HIHT$SIGHD$0:tAu"pC1uH1[(H](D$0)HcȉD$HHL$ 蚣T$H5](HIǃHc>HL$ H$ADH|$0輢HD$8H$8H|$81HL_K:hj(+H=$](H)#H=J^(U1n
j(%j(O(j(
i(
i(i(H=\(11`j(h(j(uj(aj(\
wi(P%ki(Dh(5h(&5,j(
1i(
,i(,=h(t
}h(=rh(bh(=Vh(Ph(<h(i(,= h(t
h(=	h(wg(hri(Ywi(Jhi(;Qi(,>i(7i(H=[(H
11eGi(H=Z(HS11!H*i(g(L=Z(ACLpg(h(|M(m[g(^M(Of(@f(1H5*Z(CpH5Z(CZH5Y(CD1.L=`(H=Y(,L=`(^e(HY(Hjf(L=f`(H=Y(+L=S`(e(贤=e(t
e(=e(Te(EH5>Y(C/
Hf(#We(
f(K(L$,s%ED$,T$,'<D$,H=X(&Hc1M<ľҁC1H1L#
e( sHlX(He(`H=YX(H$1躟J(H$83L=,X(1C軜LH1"	HX(Hd(H=W(&Hf(Be(e(e(H=W(11
Hd(ƒ	Јd(H5yW(HT$PJ7D$h%=@#H=GW(1Ҿ[M6hd('H](H=W(H](])b(>H]("c(d(HV(CHuHHV(MtLH=V(芜IL={V(CL
dd(WH=PV(KDFH=?V((a(k&|b(H=V(H=b(H!
1H?H
fHH8urHcHL<HcHHT$H
U(HT$HYb(HJ8
b(H=c(sHc(cH\U(Ha(P9*U(
]b(Cc()c(Oc(c(H=	U(11 K
b(b(b(H=T(1x
a(a(a(H=T(K1A`(ra(cH=\T('RL=KT(CL6CL)!CLCL1 oC膘LH1i@a(+`(
`(@H=S(H=U(2_(W(连W(HU(eH=^S(D`(HK覑Au,H8S(HoC1HD$0—Ht$0H1D苗HR(H_(q_(b_(7_(%_(H;a(6C1E1?HHƿ1
SC1H1HD$0ЖC@HT$0HHHT$8C1蹑E1DC]C1芑HHLȖCMtbHCtC1JL1[=CH¿1'L18H@øAADHHHЖCHHCtHHؖCtC]C1蝐HQ(HM_(](%^(S](H](W(^(w](H=P(111\(tH=mP(蘽cL=\P(ЂCLq](k](.=[](B(=H](
8](=^(
](%](
\(L=O(MLjCuCL蜔_](=\($B(=\(a\(RH=[(HH=6O(IސI|D
\](IHO(L[(,CHLH$1LH=[(PL=[(@AD#H5O( 茖uHt$816TCH¿1AHD$0@AkC1Hƿ1ƍfDH5yO( u1sC趒H1臍H\(1C菒HHƿ1]HHHt*Hf.1HC+HHuHC1
H\(C1HHƿ1H=N(DC1ÌH[(poC1ˑHHƿ1虌H=RN(]C1|C1苑HƺoC1W1 DEAfIغCcC1'D$,HICDt$,I$ȖCAŸEHtDH1CH¿1ӋH1HElSALHHЖC;LHHCHtƋؖCtE1CBAEHEʅIغCcC1.D$,C11CL{tCLj`Y(SۂCLF~=(fX(dX('IY(KCLsW(BY(13CtH1ZW(H1pCEH1+W(pHX(w1pCH1m1nCHt$0H11PCH110qC衎H1 X(1nCrLH1UCL賎U<(V(V(1(pCLH1m1CH1	H=FI(AHU(51oCčLH1CL;(%V(V(A1Ҿ趎HH(HxU(H@HXpC17H1HH(H=zH(uHU(i1oCLH1FH:tBDH21f:t	1fDG:FuG:FuG:FuHH:uHH<*uffffff.HH@AWAVAUATIUHSHHt$H9S(Lx MtbLE1f.Hs8DHt!MDv tHHH=T(AԅtD3u A@LDH[ HuME ƒ=MLE1fDIw8AHt M^ tHHH=7T(Aԅt3] uA@MDM MuDMHD$ME1HL[]A\A]A^A_fD@@0E1Mw@Iw8AHt M^ tHHH=gS(Aԅt
3] MDM Mu@M"E1@Iw8AHt M^ tHHH=S(Aԅt
3] @MDM MuDME1@Iw8AHt M^ tHHH=R(AԅtE 1ÁtA@tuMM MusMtVE1Iw8AHt M^ tHHH=?R(Aԅt
3] @MDM MuE1
H|$!HD$L(E1ME1IO8AHtQ 1€ MDM Muff.HH
O(HHt1H9@1Ƀzvr$ CfDHu3Hr~t)Hv>.u u~uHHHHuHH1HuHtHR8HtHtB t"HfDHH1HdDfffff.B@Hu'GT@t	HGiHfDHGiHHff.HHSHZ0H9Y0r[fHHHJ0H9H0rvf.R9P|Ðfffff.UHSHHN(HtHH[0HuH[]UHSHHF(HtHH[(HuH[]uH=4(F(f.nF(t@HaH(Ht@HPH@0HP(H@HuHM(HtH@ HuHIO(HHtDHP8H@8HP@H@HuDO(tJ  HB`HtH
N(H9tDfx xB u%=tHz8tAfffff.u
H=\E(uH=SE(5L(DL(EuH=5E(5L(DH=93(t'F(fD<FDHuE(É=D(fHGHWH0@u4HM(uHu4H=EL(uHH=1L(H= L(t@HDH=
L(H
N(SHHtHHHHuHHH[þ(ӆHH@ @HM([ffffff.H\$Hl$HHHp荆HhHX8H@h@@`H\$Hl$HHHvHoHfHH?THH\$Hl$HLd$HHHAHtEu{v1H$Hl$Ld$HC$ŠCfDHsH܃H[fDHsHtH跃DHsH\tX냐HsHDuHs H4YH[7HsHu2fHs뾰%t0<?t1<*t-<[t)H<?t<*t<[tHuHHt1d@UHH~SHH~uZHR 1HtHH98tQH9t'HHHpZJ(H[]fHrHT$2HT$tH1[]USHH`J(tHHtHGHu)H+H'C(Hu
(HHt H{HuH[]@H1[]ffffff.H\$Hl$HHHLduH{`tH\$Hl$Hf.C uဥؐAWIAVIAUIATIUSH(G[+LI~HMt)AGu]AFy#tEI~HHl$̀HHu*fC8< tuHHtH{HtDMtAGt|I^+fDCH8< t	<LID1}tHHtH{Ht?*uȀufM9tL|L9tH|H(H[]A\A]A^A_@IL{HHf.Hs{HIAFI~HLl$HHu*C8<QHHtH{LtAFHLd$cHHu"0fC8<HHtH{LMtAF7AFM@SHHF(HXHH
F(
'G(@[@UHSHH@(Hu)fHHtH{H~uH[]ÐHHHCH?(HH?(H[]ffffff.ATIUSH\L L%jE(HMu8M$$Mt'I|$H:~u[LeH]A\f. C1}HH1[H]A\f.H= >(SHt10Cq}H1WH>(HAHXHXH=([ff.UHo<H8SHHHDu(P1PC}H1Ht*A<7w$CfMHuאH[]fM f.Mf.Mf.Mf.H\$Hl$Ld$Ll$H(H^(HFH9skHn HDH9HHG8L.pC1L H|MHHLHH\$Hl$Ld$1Ll$ H(Hn II)I9wH\$Hl$Ld$Ll$ H(HuHrDN@EuHG8L&F@1CH(H{LHLd$HHHl$H\$Ll$ 1H(EDAWAVAUATUSHHH/HH.O1PH!@H	HuHKuHkH[]A\A]A^A_f.H1ɺ@0@ILk{H+HCHu@ImIMLtqELetH{H}HHtnED$@LD$2B8tiL:MtIHuH$zH$tML}H*LuIEHCIH[]A\A]A^A_fI.H(IY1HvBff.AWCAVIAUIATIUSHHLDA<$u?H=A(C1yH1}HL[]A\A]A^A_GvH@(HtYH{?tLytfDHHt6H{Lyu18C'yLH1
HHuI}I}8M}MHT@(HfHH}@HAGH]HHu]DHHtPIGHsHHD$xuCA2G8u1`CjxHt$H1KHHuHmHsH-?(HM?MMM}8M9HH} HAGH](Hu]DHHtPIGHsHHD$+xuCA2G8u1`CwHt$H1HHuHmHsH->(M?MPMuXMeA<$Z?9(69(AEHhitHHmHuL(H[]A\A]A^A_fLXwHHu{HHlIGHsHHD$GwOCA2G8u1`CvHt$H1멐LvHHuKHH<IGHsHHD$vCA2G8u1`CRvHt$H13멐AG}HmHXAGHmHAEHW=(HHoffffff.H'xAVAAUIATUHSHvIH(@MEAD$MMD$lHt|SBHQptkNCH@pt|RCH/pu+AD$L[]ǃ AD$A\A]A^f.C1tHH1AD$L[]ǃAD$A\A]A^aAD$L[]ǃAD$A\A]A^?LqHxuAUILHE11 f.HU1At.u*t9?t4[t/U1H9\@HuEt0EfDHpID$Ml$Ad$HpMfH1ɺNCWC1	1HǺNCeCHHfH1ɺNCvC11HǺNCCHHfH\$Hl$HH=5(HHt2;CsH-4(H4(Hl$H\$HfDH=4(uH=4(uf.*;(SHv)[
C	fu	H{HHt{Ct#v
tuH=:(fHC Htċ
:(HHHtPtruu@ۃu@f[fffff.ATUSLg0H_L9gt,C=L9cHu9tuyHHu[]1A\ÐHC[]A\UHSHHHuIDCHHt-HՃ{wދC$ŠC@HsHHHuH[]DH58(HHs0HtfH51(d@H\$Hl$HHH=9(ACkHHtk}vH\$Hl$HfDH=9(EHjHtUHP8
_0(HHP(HU0HE( hH\$Hl$Hf1CopH1UuHE0fDH\$Hl$HHH=8(AsjHHt[}vH\$Hl$HfDH=8(EHiHtEH@(HE0HE( hH\$Hl$HfD1CoH1HE0fDSHӺ @HHvH HH$D$rD$H$H[57(@t@{n1DAWAVMAUIATIUHSHHLyLL$Mu sI?HHruNMMtUI?HuHsI?t(HC HtHHtHpI?uH[]A\A]A^A_ÐLD$HH[HLL]A\A]LA^A_fff.AWIAVIAUIATIUSHHF HoHHHu9H[Ht0H}H3[tHMMHLLH[HuH[]A\A]A^A_AWIAVIAUIATIUSHHF HHt\fDI\$ HuY@HutHHt(H{HuHMMHLL;HHuHmHuH[]A\A]A^A_H1MLLAHmHuffffff.AWAVAUIATIUSHHHGHHoXH\$<HT$Lw`HL$HD$ HGPHHt$ LHD$(CD\$<IEHt$(HL"DT$<HD$EIE HHu3f.LL$LD$HHLL5H[HtqL9H;\$ttHH}HH$yH$uI~HetLL$LD$LHLL@HL$HT$LLHH[]A\A]A^A_@LL$LD$HHL$(LLQfDLL$LD$HHL$ LLc)fffff.AWAVIAUIATUSH8HGHHoPHT$HT$,LgXLHL$HHD$INjD$,IF HHu.DLL$LD$HHLLH[Ht\L9toHH}HH$H$uI|$HtLL$LD$HLLLxH[HuH8[]A\A]A^A_fLL$LD$HHL$LL3afDHL$HT$LLcH8[]A\A]A^A_@AWIAVIAUIATUSH(HGHHoPH$HT$LHHD$hT$IąIE HHuFH[Ht6L9tBH}H3tL$HMHLLjH[HuH([]A\A]A^A_fL$HL$MHLL6@H$LLLnH([]A\A]A^A_ffffff.H\$Hl$HLl$Lt$ILd$H8LgHHT$HHILcL$u;HtMMLHHHH\$Hl$Ld$ Ll$(Lt$0H8ÐLLHHffff.HH553(='3(i!((vuJt((tCHwHff.HH=0(S1ASbHHt+st[fHC(CH[H=0(c1CgH1H\$Hl$HLd$Ll$H8H~ HIIHt`u%C@tH\$Hl$ Ld$(Ll$0H8fDH{ 15eHtHHu!@H{ HeHtHHtF@uHD$LLHU@HD$DHE@LLHHH\$Hl$ Ld$(Ll$0H8fD@SuguRu= u u[f[HC1C1f.\C1ffG1fC1fH\$Hl$HLd$Ll$HhdH%(HD$81t7HT$8dH3%(^H\$HHl$PLd$XLl$`HhD^/(HG(Lg0u;wH=.(HhHھiHGAH=9/(t==%(UHsH=B.(@dHIHƿ=C1LMbLbRf.H~1CGI9HMC2H1fH=C1H
H!%tDHJHDH)ڃD~H{C1THM๼CbLk1C;dLH1fC1dH1E(C1cH1*#(f1@;
Hs=C1H{`ecH\$Hl$HGHvH\$Hl$HH9w(u1xuHC(CHpXH@`Hs0Hp(1cHsC1S띐SHHtlv!tLuBh+Fht/H[ftCxCgH;H2H[cH>H2HT$cHT$uBh+ChH[ff.Hl$Ld$HLt$H\$ILl$HH(IbtH$Hl$Ld$Ll$Lt$ H(ÐI^hrcENIH@H@H(Eu:Mt
ED$Eu+IFhHtHXH@HuL+fDHHHHtA|$HHxHHHHuL+HfDHH](H= hvHPH@HF(H(HúCCfffff.ff.HH(H=phs!H(HHH=(H(HúCCUSHH2_HHt0H]HDtfDHUHuEH[]AUIATUHSH]HxaLHw]HxaUIH؄t$H@@hUHHuAULt*If@hAUHIuCHCH1CLCLA:$u)t%HL1HHt,J:HtHP\LH\H[]A\A]lH\$Hl$HLd$H,'(HC;Et1H$Hl$Ld$HfHC
HtտC
HtĿC
HtC
HtH=y (t+HuH#AHa (HuH8
A9mHE (aOBDWE<C;E0BfH(SHH8HG(H(HG Ht,CZHC H9&(tEH&(5(HH{ HHH&(`H{ Hھ@[XD-CHC AVAUATIUHSHHHHL$Ll$ACCHHth{wC$ CH{0L hDX'(EoH0'(HC8H{K]
(HD$HHu@HD$H[]A\A]A^fDH{L hG&(H&(H@(H&(HC C-bCC.fDLcHCfx H@8
(HHD$fH{0HL$LHHD$fH{f.HL$H=#(LHYHD$Hu8H{LXsHC8HcVHH(HHL$HSPH{HS8B %=HB8
@(HHD$H{hHL hDHC
(HHD$f$ŠC
(D9BHD$D֐ff1CZH1
1XCZH1|#(ff.H5!(H=B(11҃(fHY(HJ(SHcHH)H9|cHH((H9t}
=(HHcHHcH!H
(HH(H)H)H9~H(H([HH([@hUH(H(HH(H9u
(wf.AWAVMAUIATAUH0SHLL$,C1HHhLIXLL$H1HIGA_EgMw MO(t}Hn (@iHuRfHHHt@tHxuHxu޺1xCXH1H1HHufDL;H[]A\A]A^A_fDA	uf.H\$Hl$HHH%XHHUHEHH\$Hl$HÐHH(
 HxH@HxHffff.H\$Hl$HH(H WHhXH!(H\$Hl$H(HHi(ffffff.HI(SHHX[H\$Hl$HLd$Ll$ALt$H(H(HIMƾP	D`HhHX Lh(Lp0H@8H@@H@HH$Hl$Ld$Ll$Lt$ H(DH\$Hl$HH(H87HhXH\$Hl$HÐHY(S(HHX[H9(SH
HX[H\$Hl$HLd$HH(IH(L`HhHX H$Hl$Ld$Hffffff.AWAVAUATAUHSHHHtM1A@CA
HHsHtLLE
(
}(HHHHuHFHUHtZ:
t=<?tC<*t?<[u&fD3fD<?<*<[Hu(H(pH@HUHP1҃}‰PHP0HHX D`(H@0HP8H@@ @H@HH@PH@XH@`H@hL[MLIL1Af.>@t2@?tR@*tL@[uD@?t;*t6[t1HuM	MIqHtWAHHt@*t;@?t5@[t/1D*t?t[tHuHv*tH[]A\A]A^A_|uM	MxAHL"MHRMD
fE11EIztXA?A?tLA*A*t@A[A[u$2@@?@*@[H4
@uE1D?1E1EtLA??tAA**t6A[[u)f@?t@*t@[tIB4/@uAH@HII9IFH9MMLJ:
HEOA?EA*:A[/H%H(pH@@%AA,(^H@@@1AuT@*t[tIAt:?uMt0HHt5L[āH@@@HcփH\HHX HHKu+*t[tHt?uHtHcփH\HHHuOH@@@4H@@@'H@@@fHH'fH'HPHfDAUATIUSHHHo'H IS(AU@Me8AU@;::AMAI]AU@H1ҿGC1IEAE@AMAAE@f(IE0IE(IE 	AE@&'߃	AE@](࿃	AE@((AMA	AE@H1(L(IE0H#(HL[]A\A]DHNI@Hv#CAE@AMAD$ȿC{HCHË(AMAI]I]	AMAAE@fDAMAI]AMAI]AE@fDAMAI]I]AE@AMAsAMAI]I]AE@AMAKAMAI]f.fDH\$Hl$HLd$Ll$HLt$H(HhAIMtHHtt}HHtxt_0HHHhHHD@Lh Hh(M+u(EL`LpMe8H$Hl$Ld$Ll$Lt$ H(ÐL9h uH9O yfDfffff.H\$Hl$HHHH(HHH(NH=)(HCtH\$Hl$HHDH\$Hl$HÐH\$Hl$HHHHtC)HHmHEH\$Hl$HAWB
AVAUATUHSHHH
HHL5%(ME1MMuTfDMd$MtDMM<$HLLu1C)LHH1Md$MuMvMuMt_HHOMHEIEHEImH[]A\A]A^A_1CKH1L5V
(M1HC1KHHH1E1qx@M<$HLKMDfffff.AUAATU1SHHHt<H-(HtNHIu;Md$Mt.I<$HjKuEHH[]A\A]HmHuEu/B
HtC1JHH1HAHHKHEH['HEHEHEHE H(HEHE(HE0E8E<E@H'6C1JHH1HH[]A\A]@H\$Hl$HLd$Ll$1Lt$L|$IH8HHEIErMHEuDt@B
Lu/EHEu9H\$Hl$Ld$Ll$ Lt$(L|$0H81LEHEtDŽt1CHIH\$HHl$Ld$Ll$ 1Lt$(L|$0H8fff.AWAVAUIATAUHHLSLH(HAHt$H|$E1AH
(HH
(H5}
(+Lp藺QEH¿=蕡IFhL5j
(ME1"@ILHD$8ELt$MHteIFHxPtjHT$I>HP@HT$HPHt2HtHxptVEtgIIVL8IHR0HPLh`ǀIFf.HhPf.HXpf.MtLHp	(H}	(Hj	(H([]A\A]A^A_UHHSHHHH='	(HXHwHAH`AH@AA@H(HxHtHhPHXpH[]Hx`uHP(HJ@H9H@uHRHHPHfAUH1ɾBATUSHH(Hh0LHCHxHHEHHلu5<_tHt6@htHHuHxCHxGIعJCIHHǾ1GH@葶1HLĞHlH$CHx
[GIعZCHIHǾ1GH==HIſ@-LHƿ+護L1HPHHH[]A\A]fBfDAWIAVAUMATIUHSHHHHLD$(u'@/CHHthIHÃ{w܋C$CfHU8HD$(H{H+B(HCHHE8HC@>E
(HHcHT$(HU8HB8HHuf.HD$(HH[]A\A]A^A_@HU8HD$( hH{H+B(HT$(HC0HE8HC(C-CxCHE8L{HC HE8H=
(I$MLpt:IHL$<iLHG-T$<I$LpIHD$(HuPHB@fA~ M|ANhLM8A;Ih3AHIHFTA!A)5HI+Q(
/(IVXIV8HHHI+Q(HIQ8*DH{0HS0$LD$(MLH$HD$(fHD$(Hu8HT$0HD$0Lcw
(Lgi
(M
(AD$fH{X}H{XHT$( hD(E=t(t"Lc0@C1]BLH1@HC8HIH(HRRI hLD$(,H{XMHMdHHI!M9=V(uH{Xt?=(t6XC1Ls0LD$ ALD$ LHL1L)|Ls8Mf0Mf(MHC8H$HC8H@XHKPH{HS$MHމ$Ls8I hIF(
(HD$(sxHS8H|0HB8HHHH!H+B(HHB8Lc@MH{`HiC1袮HS8HB0Ls8LI hF>AF 
IF8HT$(
(HHHT$(H{hHtHT$( h諲HS@HHC8@ %=$HD$(HB(HCHHH;C@Hs8F HV8
'Hꋌ$HV0HP(fHC8HsH1HHH0 KHSH{;$LD$(HS0MLH<$H=(HD$(fDHCHU8HD$(H+B(HCfHM8IV(H+Q(IVXID$8.zH;-(IHT$0LD$(L9t7
'HE8L)HLHHHHuHE8H LD$0LD$(ED$xCH(H@(Hv(HD$(@AER
'9B‰‰HU8HL$(HB8͸ƸDI~8C.fMPHI(HH9C@#pHSHt
H:Lc0C1n=LH1QHSHC8HRHJ(HH0HH(HC8H$HC8HR8HP8HCHHH@(tHHDHHH!HS8HB0Ls83f1C<H1HA(HH9Cx|fDAIhANhIF8Hu!IL$0HHI8HT$(H9Q(H{HHT$((H(H@x1HHCXHDH=('quCLD$ LD$ SLc@MAV t
I<$?*uAF Lc@MD$(ANhf(	HB8
'DILHD$LL$DT$ LDT$ HD$LL$ELANhLHC8HSXHHs@HH(p1BIHP(%=@$2&(%I<$B:H+'HH:BHT$ :HT$ uHz=M(= (M&C1&:LH1	Lc@Ls8BT$ ^:T$ YL%'Ѓ DMtfDAT$8tAT$<tMd$Mu1B\Ls8ILc@1B@LD$0L@(ID$0HLs8AF HP8HD$(HJ(H9vWIv8HtNHH9rFH;J0Ls0C1#9LH1Ls8WDH(HB0H)ȋtHHHHDH!IF0Ls8z,QAV ([I\$0HS8B %=HB8HT$(IV0I9V(HB8HB0bM&CHIH='4$H5@'E11ɺh'rHffff.H\$Hl$HLd$Ll$H(((=(t)(H\$Hl$Ld$Ll$ H(fD(H=(H(H=(L%((HH(HHHHH!H
(HIL-x(HqHH!LIH5P(I!H9H'HtHPH@0HP(H@HuH'HtH@ HuH'HHtDHP8H@8HP@H@HuHMH5(I9H>'HHH(H1f.LG(I9rL9vDGhD9ABHHu@HLy(I9HHcH)I9vJH)H'H
&(Ht"fHJHB0HJ(HRHuH'HHR HuH
'H5'HAHHHH!H'H!HIH1IIHH9H'b'HtDHPH@0HP(H@HuH'HtH@ HuH'HHtDHP8H@8HP@H@HuHuHP8H@8HP@H@HuHMH5'H'H'H5'@H)I)H5'JH'1USHD'E-,'"'H\$f.'ZH{'HtfDHPH@0HP(H@HuH'HtH@ HuHa'HHtDHP8H@8HP@H@Hu1HD$]DL$EU'LuH[]H'Ht!HPH@0HP(H@HuH'HtH@ HuH'HHtDHP8H@8HP@H@Hu1H[]@'XfH=e'11Q''H'HtfDHPH@0HP(H@HuH
 'HHtH@ HuH'HHtDHP8H@8HP@H@HuHtaL'DExBHq8Ht9H~@uF" uH~HtQH9wtTHdžHdžHI Hu'Hf.H
I'uI9uHHt$P tHHuHdžHdžuHyhtLHFN Ht#HHxt*HGAGfHIu@IуH~USHHGvH[]Hw(HHH}H
'H{'HH)HH\'HH95i'IHcHHcH!H5)'HH/'H)I)L94HHEHHEH
'HHHUH[]H
'@h9+H'H
'SfD
'U@Hm11HC(HAWAVAUAATUSHHHo8s.H31=C/H;+D`AfAA~HC`HtH'H9EL%J'
B'HHH1LsC貳HC@H9t>Ht9A#fD胧AuLk@C18.LH1kHC`HtH='H9t2H[]A\A]A^A_11oE1=\'y`H='Hھp@#(
q'HNd%L;%^'vL%U'H[]A\A]A^A_fD
>'HLcXL`(HLMtIFIvH'HH'HLcH)L9LL-'L9
'HHcHHcH!H
P'HHV'H)H)H9HIH2'Ht1H0H@уHItuIv@@L|,I~t1E1I|AHDI;FrL;-'v	L;-'r;L@h7+H'j@h(H'H'L-'L-'c
'f.S11HHh[(Ht'Sttt
xtfD'P[ffff.HH11ҿh(Ht@HfDCHD$IJHD$@HS1HHh'Ht[ÐC1?+HH1[!HY'SHt[ÐH'H;Z'uH'Hu
fH[(HtG{uCAtHӾH{ Htھ $tHC H@HHt[f.H'[USHHG
tt"H[]HGH5'H[]fDH=8'tC菱H[=('HHf'nH&(HH'H'+H='H'5'HGpH='HGHHn'5'H={'~,虜5't
'uHT'BTBTHA'BTBT
''u$ɉBTyBTH[]fɉBTxBTH[]f.1C(HH1D1C(HH1躮D@v+H}1҃='9PtlH Ht;Qt+Hƿ@>+H/'Ht!H0H5'5H1H5'#1C@(H1&fDH5Y'@1C(H1P{!t*hC1'HH1ȭH'H-'1C'HH1藭DH\$Hl$HLd$Ll$HLt$H8GAt'ADH\$Hl$Ld$ Ll$(Lt$0H8;H}  
H} HT$# HAuA[A*H!H} 0%H}HE HE@D-x'D%
''_'E@'E@
''{'E@',D%''AD-'B'@HPH} GLIt1tdHGiMAAmfDHD
'EuD%'EtHC19H} HI'HuH[HH;"I~IgH;I:Hu&G:=uG:2uG:'t:fMcLL uC,t<.uC|,auC|,uDA Lu L1ۀ}@AxhLLe (C1$LHH1E1蛪HT'CH޿ioHCiHt/H} H["HHtsHuzDXC17$HH1E1DH] XC1$HH1DeAAEAD	EAmfDLu L@Le 1C#LH1薩Le 1C#LH1oLe 1Cj#LH1MLd$I4$Ht 1IC(I4$HuC15C
C誩f.USHHH-@'Ht!H}HtH7#t#Hm0HuH'1ɾHHŐEA<t
HH[]1HHD@AWIAVIAUIATUSHHoHtpHHIH'Hu;fDH[(Ht,HLH衟tHLLL\H[(HuH[]A\A]A^A_@Hi'Ht@HLLLH[(HuH[]A\A]A^A_Et/<?ti<*te<[Hu\<?tL<*tH<[tDHuHqHeHLL[]A\A]A^LHA_陹fHtH'Hu'f.H[(HHs1HuLLHL@fffff.HSHuEDu	H{HHt+Ct+v
tuH='HHu[fD1Ҿ@HUHSHHHu=Dtct>HHt&C
uH{HufH[]fH꾐@HuH[]H=Y'HquH[]ÐUHSHHDEulHtgH;=8'u'\@uH{HHHt@H9't7Ct?vՃ
tԃDuH='HHHuH[]fHг@Hfffff.AUATUSHHHXID{C$ŠC@CAH'HC8t'C@f%f=uH{ tcAHHL-'H$Ld$u
'H<$tTL9-'WLkC1RLH15H'H$HPH
HT$HPf.HHthHH=y'H'Lh0IH{H'H@0I9uDHCH}'HHuDH[]A\A]DH{HtBt1<?t7<*t3<[t/HfD<?tL<*ftF<[tBHu
Ht\H{0*H%fH{HDHtH{0HHD$HHH$HH{fffff.AUHIATUSH?u<:tHtq<,uHthHտIM)HH3'I|$HCLLHHtHB H'}t&}HUtIՄuL@IlH[]A\A]fffff.H\$Hl$HHHHHtCHHl$H\$H H{HHu1CHH1蕡SIHHHLH!HItsHP1HHI@(AǀAǀAǀI@0H'HHHPHH=5'tSH4'HHIH@HI@8H'LH[DHHT$HIHT$IH'AU1ATIUSHhHHLhHMt	8@HЋ9touygHHtL;jHt݅uH1[]A\A]Áwu@1L꾀hHHtdHUHHUHPHUHPHELhHHH[]A\A]DM݅tC1LH1蹟1źC1LH1藟1SH{v[@C$ CfDH[f.H{H[Ő=wH
tH{11zHtHx8u[11H$@H{wH{nH[ iDH\$Hl$HLd$Ll$H(H8HAt H\$Hl$Ld$Ll$ H(Hw0
CwHu0H=_'HE8HH@`HE8H@X='H}XHtH}`HttHU8BhHIH'HM8HHHl$AiH\$Ld$HBLl$ HHH(HE8Y1 CCH1蠝	>HH@H@HU8HHu0H=='DHHE8H!'Lm0HC1H@L -LH1L
HE8@H\$Hl$HLl$Ld$
Lt$H(F Hr0ICHպ@@8t
T't3t.u/H{`tCH$Hl$Ld$Ll$Lt$ H(fD tH{`uHC` hf.AA%DDHE8HDp$DP$'uD'ELUHXHE8HC`D%Z'DDA|HE8D	` AtS u` S @tH @Sh;PhvPhHJ(C#HE8H ExHE8DP DDD1сu/A;uD	P NfAP #HU8HǃHHHHtHHAAA_A	D` DHHHE8IHE8벐H\$Hl$HLd$HHvHIHtH3H}0L'HsHtLHHHl$H$Ld$HfAWAVAUATIUHSHHHHHT$LD$(DKELk0Mu@MmMA}u{ID$ HHHLxD$$IELIHtH@D$HD$Ht$Luuot$WT$$WD$t	MvLt$Ht$LM4u.fH'}fIUHt$謯HT$(Ht$H|$0HD$0H|$8HD$0HtMH8t	C賙HC0Hk0L9tfDHHmHEL9uLHT$0HHUHH[]A\A]A^A_@Ht
DEETHT$(Ht$H{0HH[]A\A]A^A_@M|$D$$wfDIFD$HD$fL$$D$M|$fD	Cɘ-@AVAUATIUHSHHHtNA@CAf.{w*C$hCHtH}8H{HHuH[]A\A]A^H=q'HLvHHu@LcHHuf.H{'%HE8҃H	P HHBuDH{HLHHPHCHHt
x]H&AHH='HC HfHpHtLL[HHu@HC Ht
DPEH{1Hx86HSHPXHHcfDHH}8t11HHH,_tV-u8H{Htvu ǃutDH{HLHHD[E@HHSHshHHHKHChqH-G'11HaH11HD$HD$fDAWAVAUATUSHXH='HtH'`AH'	褥oH'HtH{HHuj,HC'H='1H'H=v'H'h蘀H-<'Hu4fD-'ELHm(HH] ]'H5J'H'It&HtH*'HSH@R;PtCTFMDEtD5'E1EH5'HHF@DD'EDHm(HTH='L%B'1MI|$ CHItfLp8L
I|$ 1MHLIHRO47M9v&11HH葖1HHtHXI9wAM  Md$(Mu11ɾnC1UHH蚇H=+'1H+H='a't?H
X'Ht3HA HHtP  uP H@HuHI(Hu'DP'Euv't	=7'td'
JH\$LD$LH='Hھ@D$LD$LvH='Hھ@D$LqH='E11AiAH='11dCfMHt I;l$ t
CHl$(HD$(D+HHD݉IM/ImHUMtLuH}01HDMEMIL$ HS(HJ IL$ HvHQ(HP IT$ HP HKLb(HC(HX 11f.H[ Ht5HD+HS8HtHtHHtHI9uHHX8HH9HJHH~HyH~HHOHKHNHKHHqHZHS1''H='HI1IĺC	LHHL1t@jIL='1CIGL0HCL(MHLHL1覎y1CLH1胎$DE$H@(HuH]C1`HH1CH-'HtpA@CAHE HHuFfDH[Ht7H{`uE@f{ HC` hH[Huf.Hm(HuP'zP	H-'IH1A
L5'E1MgDAFIFpHHI~8+H\$0H@IV8DCAIHHH{HuuE9wELDH	IHH(Ht*xHY8HtH+HI(Hu1H}IuH'H6H
H2HHIUHAi1H4+I9܉u&f.+L9㉃H[ HuH\$0Mv MH}(E1HtC1tAH} E1HtC1stH} IHHuH='A1H}(Ld$D|$DEAD$E$HmHL`L%'MA$CA@A$xdI|$8t\I\$pHu
PHHtHD{EuHkLLHtM|$01@CHHL1HHuMd$ Mup'%=1='@1w@'qH'HHubYfM5CHH1BH=3'11AHHt
xH"HmHLeLIHx
MHHù)CH1H='11AHFHMxCHU(@H@( hHP0'AIF8Hr@ hH}]HH\$0LHHPpHHT$0H@ HuC1QH171L#LLLus't5'H'HHzHHE iHH@1CH1貈
O'AwDLH+vHrDLHxHHcNHU8
'@H@( hHHP0ħOu=''%7 #=GH5'HUH='11A'HtP@H=T'Ht$@1`HT$@:H5C'H=l'HHt,L`(H'C1cLHH1CHu(H= 'txHX[]A\A]A^A_HE15ti1hCHH1D'EE'H='Hu1hCH1蜆hHx'_H<IHP'HH61
H@H/P uHx8tމڃIH='iHGH='C H=='JH 'H='iHGC1CH1諅H5G'HH=.'H5A'1H5 'HP(HJ`HHq(Hp0HrXH=7'H'@C1:HH1`@LIAڋ
'ALr0HB8HMgMDA
'HMII$IHC8Hk0HLlM9rL9wHHxC1DT$ LD$(HT$0HD$8yLD$(Ht$8HMLH1L$LD$0CDT$ jLH'HuH[HDc@EtHk L#1CHH+kHk(LH1H׃HL-'1IT$ H'H H'~` H=X'1Ҿ@~H
`'H~HHJ1CHH'NH='Ht$LD$Ln|$LS%'GH'H'GH\$LD$LH='Hھ@SD$LD$LuH='Hھ@D$L(H
'HLH='H VH&'C>1CnH1Tbffffff.AWMAVAUMATIUHSӺHt$@fHxXIH׽'1DI~AAAFx赚@CLjx1ҹ tp9rAV|CCLjx!1ҹf. t(9rAM~`H[]A\A]LA^A_D0@0@HhX&SE11ɺHHL'H5ؼ'$H=ܼ'tZ@H'H޿=HPH'HH''kH5'Ht
H¿AlH'H[ÐH޿?jHT'f.AWIAVAUATAULSLHHHH|$ Ht$(L$tH|$0HD$0H|$8'HD$ @ H|$(1E1E11HD$$L-'
c'Iąt
I;E1ID$MHt$ LLDL111B4Ht
}5MID$8HHSHHHH9tEH;Bt?HHHpHHqHHNHJHPHHHHBJHAHH|$0HCt{HC HqHHT$8H
HL$0HH'Ht$0HHH91HS HS(IEIEHJHH(H
HHH tHA(HH I}HC(HHL[]A\A]A^A_f1yRHVH+l$(H}	HH0'1UCHH@@ELD$(@1H|=QEthH1HPHOUf.HT$(HD@hu<_HEuHH+|$(H
IHt'1H_CH@@ALD$(@1LL$I<9#HD$ HhHNQH!hQEH¿=/PHwQExgZHgLL$1HLOHA@L-'A@L9='IW8HtzH9HHS0@HHHpHOHh'HqH+HNH@HHHHHHAH&@IO(Ht7xHQ8HtHUHI(HufDHپ'HHSuHPHT$8fH'HDH5'HrDH='HMDLI lHT$8HL{(H
HL$0HzH@H@H@H'HHl$(
{fDSHHEukHuDH[DHtH811D$HL$&HL$11HH9HD$tHtHP@E1H9S@AHD[@AHD[fhvfDH1A6@P;@h=`AhH'h<H͡'11HH@H^'H['PiH'H'iHb'H_'hR1jCHw'H@8 h AhH'tHf1CoHH1Qy1COH15yAVAUATUHSDgHAvHpC1H='DH¾1[]A\A]A^C'zEB$C_HWBBC[]A\A]A^HE1wH='tHD'E~C1wH'Ht HH%HHuD[]A\A]A^H;=p'Ho8Hw01<CnwHHE(Hʲ'H{0!AbDA'kA~HU8Hu(1@CwLe0L9e(tHC1LH1vH{hHth h
djHkH3HH=HmHuE1@AjAuHCxHx?.4L`LRmEE1AHu8hLc5.'EH'H-'HtHh(1HVCvEtH-{'zC1uH{PHOHTHG Ht
@U ACHoC1zHH1uH{F[]A\A]A^giiDSEyHsH=C1luDKEB1CSuLk MfDEEEIEHtHH0C1uIEL`Mt fDI4$1CtMd$Mu濹C1tIuH=C1tA}]I}t1CtMmM]D1SCtWhH[0Hf.HHHHu[]A\A]A^H1C[]A\A]A^11tH
'
CHkH]Ht/HDMH=e'1CHHu[]A\A]A^H5;'
A1f.guHC(Hk0HtHh(C-JCCt1薅fDHguHC@HkHHtHh(H{)AHCHLCHH(1sHs(H&'C1sH{0jCf
c'[II,,H-P']A\A]A^HOC[]A\A]A^H=0'1Hw1CrH5'HtC1rCB譄+C1lr@PfuHC LkHtLh(HS1L3C7rLc(I,$Ht1IfDA$H='1CIHueHC
^'HIDHK'>H=?'1CH[HtDHH%HHu[]A\A]A^H='C1]DC1lq4SC1TqnC1<qn$hCC1"qYSC1qC1qvL`AE1HC H0BALC 1LHCpHCxdH{ABA뼹BA믹BA뢹BA1oC[pC1Op?L`AAHCH='11AHpHtCHp0Hմ'HtHp([C1ocE1nC1oYbC1o@ATH'L%'UH'SHx@Ht'nuxH5\'HHHu[]L%˳'A\HH-.'t@HHHHu[]L%'A\ÐATUSHĀH-Q'dH%(HD$x1HE1DHE @T@ E@HHuwHSH[HtZHC`HtH2'H9tC 0uEuúC12H=۲'H¾1A9Hm(HSC1H1(n1C1CI1CH1CHH=D'IHI1"CL$$H'HHl$HH='8C1IbLCCdH1H?C1VmA$I!%tDIT$LDIA)AA`A~Hs 1VClH{8tC8Dc<E`H[H 1CoH='H¾1y=կ'~H''H-_'HtfHHHHuHT$xdH3%(H[]A\ÿEC14l{<,U`{8/1A6@P;@@hbH'Ht!fD1H߾@HHuH=6'1Ҿ	A!xH='=*'fAWIAVAUMATIUHSHHL7LL$MtIvHguSM6MM7u8>HT$IHXHhHI@0L`Lh HP(H[]A\A]A^A_fMM6IE1H11ҿ hIfIE1H11ҿh)fHE1E111ҿh	fHE1E111ҿhfHE1HE11ɿhHHH==HH0SH:YuG:Yt]MCHtdWCHt#fC1HH1[tj@[11\C<_@[11HC$_@[11RC_fff.6]fDH\$Hl$H8dH%(HD$1HHt:E1E11HٿhHD$dH3%(uPH\$(Hl$0H8fDA@NBHhHHHuCfC%j1ҾH'fAVAUATUSH>'cHG'HL-''Mu*H'IfDHCHHID$t_L-'M<HkMIt$HCtM$$MuHSE1E11Hh}HL-'HufDH'HMLcLH}LuE0HmHuHHuLDL%a'1Mt)LkfDI|$LuIl$ M$$MuL-2'E1Mt'LsfDI}LTuMe(MmMuH5'H{0H{HM$E1Ƀa H٨'HS1HH@@HHP1RH-{'Hu[@HmHtNH}Hsu HU1HH@@HHP1HmHu111ByHHӢ'H[]A\A]A^fDHsHtOH5'HkH'IMtL@0HHu,L-u'QEPH띐AWAVAUATUSHt''\' piSpi~H-'HE1DHE@uH='HIjLAtHAt:HELLxAžC1DHL1AeeHcm9H@PQEH¿=N8H薇QEOHU=HrH"8HjH}9DHH] HfH='t^EHE=CHp1	dHEHxAAWA~HsHC1cH{H htO  'tcH{b8HKHSI}L輆HHP198DH.HmH!H[]A\A]A^A_~|fDHs_7DHfVE13NC1H1AcDHSHKlC1HbAE1A~AA'9HE H@HHtuHIaHE}LpIHE H@HH-'H@HE H1
DHDkHuMcJ<IHE HtLfHHHHu^ALL\I$HE 1t(SLItHHHHH9H
uHcHILHHmH>H[]A\A]A^A_HE}LpIH'H@1CHLHLH1aH?_Hu
@H8_tpCHt
HHP@:BuB<Dt<IuBHz@ht˺
1%H\$Ld$HLl$Hl$H(HHIHxHjCHHDHHDLHAA¸A9}H\$Hl$Ld$Ll$ H(@~L9rfAWMAVAUIATIUSHHL55'MuvfDM6MthI9^uA9nIF HIHtuH@HHteHHHBH1H8tNH[CD(vIH'I^AnIFIF IL5' @HIV IN L`LhLxHtHHHuIFHH[]A\A]A^A_fDH[C1HHH[]A\A]A^A_1h_H\$Hl$HHLd$Ll$IH(MźxC1;MLHHH1_H\$Hl$Ld$Ll$ H(H\$Hl$HHLd$Ll$IH(MźC1MLHHH1^H\$Hl$Ld$Ll$ H(H\$Hl$HLd$Ll$HLt$L|$H8HA`IMMLd$@HtH htH= hID$`HtI htH= h1CHL$HHM1LL]Ht$C1LHHH1]'t%C1H1]d'H\$Hl$Ld$Ll$ Lt$(L|$0H8@AV='AUATUSH\CHHH(;@HH',dAdTHIÃt.@h@tMDH@h@uu,Z'L~[]A\A]:'A^E1Hx@h@u)t$C\5IM9rMLLICD5H='LH11CH1[1CH1[21xCH1[1HCH1[P1<H޿C1[]A\A]A^u[DSHH=E'Ht@HHt	[1C?[H1$[@@(x=;@HHߝ'
tH=ϝ'D1xCH1Zff.SHH='Ht@HHt	[1C[H1tZ@@(=;@HH''ZtH='D1xC7H1Zff.H\$Hl$HLd$Ll$H(HHIMG@ueIht|HHC1Y
'u
H= 'tLLHHuH\$Hl$Ld$Ll$ H(HHHt11HtIhuHHC1FY@'u
H='tDHH\$Hl$Ld$Ll$ H(qfH\$Hl$HLd$Ll$ILt$H(='ILHL$8HT$01LοCXπ'xP'Hu-1CLHL1pXXfDH[(CPvsxCJCXw[H[pC16HHL1XHuzC1XH$Hl$Ld$Ll$Lt$ H(wLk(I htnMH[1CMHL1HLWHtHC1Wr10CH1eW[L5A'H\$Hl$HLd$Ll$ILt$L|$H85'HME΅H=b'H11HeHt0H\$Hl$Ld$Ll$ Lt$(L|$0H8H='HHu"1`CH1VL='MLHua''HwtECu
C14IHLHL1VfLS'HVHG'9't+EC1U'@ECbCSfDvCuECuCD1YHHL19UD@EHCuѺpCD@(h;@HHL'tH=<'18CH1TfH\$Hl$LLd$Ll$ILt$HHD&'IHMEuCt1HtUC1tMILHH޿'C1ITH\$ Hl$(Ld$0Ll$8Lt$@HHfDHMt@HtfHHH⾠lA$Ld$Ll$HD$	<$u1CLHH޿;C1S^1CHH1SwD1CwLHƿ1C1USH\$Hl$HLd$Ll$HLt$L|$HHD
IEt-H\$Hl$ Ld$(Ll$0Lt$8L|$@HHf.HItL4HKHLHIOHIOtM9Lt$sHMuMt?MfDM7Mt,IHtHHtHxHst_IL9|$wLH\$Hl$ Ld$(Ll$0Lt$8L|$@HHf10C/HH1R1DL{C1INIMLH'C1Qp@10CHH1QDH\$Hl$HLd$Ll$Lt$H8D5'IMEu\D'Eu(H\$Hl$Ld$ Ll$(Lt$0H8D1MLHfDSEuCLk(LvXC1LL$LH1PLL$sffffff.H\$Hl$HLd$H(<'HM̋D$0t`PwvtCQ1CHLH1iPHۺECt1cHH1FPH\$Hl$Ld$ H(DtQvuNtCRQ1CHLH1OHۺbCt@L;D$8ws=1`CHLH1OHۺC.@1CoHHL1OOHC1C/HLH1OHۺ8CCLD$,PLD$fH\$Hl$HLd$Ll$HLt$L|$IHIdH%(HD$h1HHEHHk HCHC(jH= 'I}811ALHIt
xE1='!HHbHpHU}C1MMHHx
H}IE|AfAAA~MtLC1LMTIuC1L5'u

'tH޿C1OHT$hdH3%(H\$xH$L$L$L$L$HĨ@$HCfD+@E131CdHH11H=CLH('HHu=CKH}AIE(H@LM@IE(L9Mu((L濑C1KWH\$Hl$HLd$Ll$ILt$L|$HXdH%(HD$1v'AHMM΅DW'EuBHT$dH3%(H\$(Hl$0Ld$8Ll$@Lt$HL|$PHXfDH=q'HHC@EHI__CTOR_L@IST_f@_LI|$8AH胿HIED$EuAD$I\$(MLHL)@1XCHH1JDE$HD$MI__DTOR_L@IST_f@_LHA$t)1HCxH1^JfHH1C/H1J+ff.AWAVAUATUSHX|$<Ht$0+CCHD$(CvHD$0H8H='bHt$0H|$<#nH='`A(2l$<HD$0ACA
H9HXLLHuH
H';C1 IH='H'CHzCB'{fCQ'z':'H'''7'u'o'l'HCH$' hHN'i
'$
׊'
HR'C'
' %Ɗ'H;'C9'7'5'':JDd$<CLl$0mHHŸCHDA~}ET$EACAACAI0fD}HUJA9qITA9~#IHcLLIlHtLA9HH7Ht$0|$<5HH'H=w'H'H'3|$<Ht$0'H=Ê'H4^'t='.'F'uQH='t1CvH1\FH='t1HCQH17F''t
' D='Eu!'Dn''D5'Eu!i'm'f't
=_'H='D'EH=ǁ'hCm1耿H1G1xCFH=') H={'HýH1FH
[' H艾HuH=='舽HлxC1FmD~'ED
'E1xCHT';oH='H覻Cdž'C1mCH1ND@HLLH"CLH)CLH0CLH7CLH>CuFC
H`PCHLD$LL$D$L\$HT$ LD$LL$D$L\$ XCHܽLD$LL$D$L\$bCH贽HT$ LD$LL$D$L\$1CH1BDZ'E-/H='Ht-:.G:.
Hfy'Ho'J3'H~'HTH=E't-\'tH=-'HHD=y'WH=Ń'tQ='5~''վDC1LD$LL$D$L\$H1ALLD$LL$D$L\$NH'`TCVHH\'<H='1C脻HH1gAfH'@'ʃ'DkV.'bHC1H1@'6'D-'w'Eh'M'1'('
x'H=a'Ը<'W
9'IH-Zh'Hb~1HCHlH'CH]HcHRH5g'IHpLI\C.exe@H=g'iCILYMIM@CtBfDLH~7HcLH蚻9tκC1ULH18?LNLF6LHD'1Hf'註Cր'c'*1C迸HH1B@H=ր'Ht"LF'-H=z'H|$L+Dd$LE\HEY'Hu'H'1C(HH1>1HIL+d$(1xCH-ԁ'I4ׂCHH=ct'LHILH?IHII)1Mi@BM)M轱H-~'1)C腷H=t'IHIhH1肱SHVe'1CEHH1(=H|$L*H1>CHHt'1CLH1<Hd'1C輶HH1<f.HH=d'tH=c'Ht'v'uHfH=id'HH\$Hl$HLd$Ll$Lt$H8dH%(HD$1GdwBHD$dH3%(H\$Hl$Ld$ Ll$(Lt$0H8	t{uHo H~'H9tC<E uH=s~'H@HSHPHSHPHS(HHP(HS(HP HHo@HH;=&~'tC}<H=~'H螵HHlHCHHEH{AHEQHE SHE HS8HPH{(AEHE HS(HPfLg(I$H;=}'tC4;H=m}'LHHEHC0HE踵HE(H5}'Lk HB@I9$tCq;C-pCC:@H_HH@@f{ Hk`H|'H9tC:E u%=H=w|'HC!I@H@(C@ HC8ID$HCXID$DD1{'t?Hr'HufH@(HHH HtHAxC-CCw9$PCEHC Hf{'H9HU H@`HBHS HE HRXHPGH1{'Hu(LH@P`HE%fDH	{'Hu(LH@P0HEfDHE(D(HE@Hz'Hu(LH@PHHE1CűH1751C襱H17tfDHX H9k`@C8$xCLHsH蛬Hz'ILH聱H蹲Hy'ILHOHHy'IHU HBfDAW11AVAUATUSHhiA?=pz'3Hy'HHT$@t$LHD$8RHIHT$8Ht$8D$\HR(HT$0HHIE11E1HD$ @H߉T$LD$/T$LD$H:VC:VC:VC:qVHL$ALLHL$EAHEHILD$Hl$ IDEHŋEx'trHD$E1E1H|$ 
	y'G,.A9s A9vHL$LH;
x'gI$CHH޿C*Ht$8H6HHt$(ÍSHHT$#HT$Ht$(HIέu9t+CAT@huvI\;.HT$@HB@LrHv3Ht$(CHt$(CAEH|$@HT$\L'HFH|$@HHD$茮HHLL$#H=v'E1LHLHD$艪HD$H@0HX(@AD$ C ID$(HC(C$AT$$HC8H[`HCxǃ	ЈC$ID$0HC0ID$XHCXAD$hChI$HHHt$ ID$8I$HUHT$0HH)HC8HD$0IT$8HC(HC0HDHH&H)PxuHH HpHY`HH HqX@
Nu'HE tE1uDE1u'tDH|$ H@8HD$G,.f.HT$8l$LHRHT$8t	HH5u'Ht$@HT$@iHBHHh[]A\A]A^A_HD$AE1fmfI0C1跫H111cC1蕫Ht$(H11t1<H=7u'HBt'HD$@*ۤt*C1FH1,1Hh[]A\A]A^A_ÿӭAT CAU1SfDH2tD9 u1vZA~~$H=t'DằC1u[]A\H5it'Dqt[]A\H5Rt' XH57t'HH(C'DH5t' kf.SHH=s'fH]{	v[C_1C$ŀCfDH=s'C1H{HKC[H=s'1f.HCHHt1C.HCHSH0C[1.@H=1s'C1萣H{;;H{[H=r'SC1YfH{H=r'B1/H{H=r'1CH=r'H[ @Hae'Hzr'D;1H{H=Ur'C1财H{4;1SHKHC~@HKH=q'C1\HsC1[_-HKH=q'=C1;H[[fD[C1-HK=Cf.H\$Hl$HH H2MS!@HXHhPH\$Hl$HH\$Hl$HHLd$(HALU=@HhHXD` PH$Hl$Ld$HH\$Hl$Ld$(HIH{LAT$@L`HhPH$Hl$Ld$Hffffff.H\$Hl$HH H"LgT'@	HXHhPH\$Hl$HDH\$Hl$HH HKS'HXHh@PH\$Hl$HDSH KrS'HXH@@P[fffff.H\$Hl$HLd$Ll$H(HtC	vX;C,Ho'Ho'Ho'H}o'H\$Hl$Ld$Ll$ H(@$CH{g= o'uH=o'uHsCH\$Hl$1Ld$Ll$ H(*@n'QHCHP`H@XHCn'Hn'Hn'Hn'EfH{D%n'E;.H{H-xn'L-n'D#%}n'ED%sn'H~n'H hkI h}
H=n'H= h
I9O
H@(H
n'Im(Hn' h=/t\*Y
;%
&wH{Dm'E*H=m'H[H{m'=-P	~	!H\$Hl$CLd$Ll$ H(C*Hl'Hl'Hl'Hl'=>===)=7k=-l'0HS:.u
zuH=Kk'E1iA{HCPJ
=2l'
=*l'
Hx @H@(H=j'H;G0H\$Hl$HLd$Ll$ H(雝Hs>.k1 H{D
k'E:HH{HruHk'EHE0Hk'HE({CHCHSVk'H?k'H`k'H)k'H2k'D=I=?X=@H[ *j']H{11HI
:;=z
H@8HhHj'Hj' hHhj'Hej'D-Ij'EH
Aj'HZj'HvHD1HHHOj'-j'Hj'H+B(Hj'Hi'H{1THdH@RHi'HsH=oh'1AHHLc1(C脟LH1g%fH{}i'~t1@C0H1% i'PvH=<i' huh'H{+Di'h'E	=h'xC]1賞H\$HHl$Ld$Ll$ 1H($H=Ag'11AʘHH@@=<=Z5=&)h'H=Nh' hJh'J
Hg'-h'HFh'HCHeh'HHhujHHWH{HuHCCHg'Hg'Hg'Hg'@=K=yqH[(CH4CHHg';g'H(g' hHg'Hg'f=ia=@==1H;-f'Hf'?5f'1H{11HH@8}f'HZf'HWf'HXf'D4f'EH{bpHSH=d'E11Ai H@;-['	He'He'e'He'Se'E1҃tH=ld'iHGHce'He' hHne'Hke'
Pe'H{11{H9Hx`HS-e'He'He' hH@(Hd'H{1OH\H@ d'Hd' hHd'Hd'BD%d'E(Hd'Hd' hHH(H
zd'Hd'HvHD1HHHXd'H\d'HQd' hH@(H6d'HH&d'H*d'Hd' hH@(Hd'HHc'Hc'Hc' hH@(Hc'HHc'dH h;+zH-c'=-t	+qL-c'=%===$Qc'c'H=lc' h
hc'ttt	H52c'HHc'HvHD51HHŃHb'n9HUH#b'HЃ=b'Hb'Tb'H5b'Hb'Hb'H-b'Hb'^;<D>1H;-Vb'HLb'Hb'Nb'H;b' hH(b'Hb'H{Hl$H\$Ld$Ll$ H({l1=A=BH;-a'dH-a'X=!=
a'HH-a',+-H+-xa'H-qa'|t7=
H1H=Da'H1-5a'H	-)a'1H;-a'Ha'1H;-a'H`'1H1H;-`'H`'jH;-`']H
`'H
=`'C,1H;-`'H~`'H-q`'H-j`'H
^`'HHD)1HHHu0`'`'X`'tutt4HH_'=`'H*`'H-`'HJHHDHH!H_'H+_'H_'=_'._'
}_'HH-s_'	H
g_'H=O_'CH!-;_'8C1HHH=:_'C@H+_'H-_'HX(H^'H9H= hC1軔HHHH\$Hl$1Ld$Ll$ H(H[C1~HHhH[C1^HHHHP(H h(HJ`HGHRXHP0C^'H(^'H
)^'H^'H&^'=]'H[C1דHHH]'H]'HYH-]'HHH?HAHHH?HH]'"@=T]'d]'HQ]' hH6]'H3]'H@8H@0H@8H=['HX8譐1҉HHr=\'H[HC1̒HHH[1C謒HH1LH94HH\'H)HH!HH{\'H\'Hh\'ff.Hm\'Hj\'Hg\' hjf.H\$Hl$Ld$HHIHtF
\'uQHt2=['t)AD$pC1X?'ǑHH1HcH$Hl$Ld$H@H['H@(H['H['DH\$Hl$HHHHt;5|['uHHt'=L['tpC19HH1HHl$H\$Hf.H['HHctHffffff.H\$Hl$HLd$HHHtam=Z'tkH=Z'Ht貍HHܑZ'HшPHH	H
HHHl$H$Ld$HHt=<Z't1pC)HH1f.L`II|$OH
Z'L@L 19HWЃ	vWɃH@42uHA0Z9I1HWЃ	vH8"='<$HHt$D$D$*DY'Eu.5H$HHT$HPHT$HPH8fDH=AY'4H8ffffff.H8F<$HHt$D$D$D
Y'Eu14H$HHT$HPHT$HPH8fH=X'H8ffffff.H8B<$HHT$Ht$HL$ D$D$#DX'Eu?(3H$HHT$HPHT$HPHT$HPHT$ HP H8DH=)X'H8H8F<$HHt$HT$D$D$DX'Eu4 r3H$HHT$HPHT$HPHT$HPH8H=W'H8HHW'H5W'HW'HO'H@HO'H@HO'H@HO'H@HO'H@ HO'H@(HqO'H@@HaO'H@0HQO'H@`HAO'HHtfDH!O'H@hHtfDfDHO'H@HHN'H@pHtfDfDHN'H@xHtfDfDHN'HHtfDHN'HHtfDHqN'HHtfDHQN'HHtfDH1N'HHtfDHN'H@8fffff.HM'HHtfDHM'HHtH@ATIUSH9'Ht]1hfDHt&HKPCL1.LHH]HuÅt[]A\f.C1ϊ[]LH¾A\1لfUHShHH=:9'u?fDCH1蜄H=CHHHHP1}H;uH[]ATUS?gHH-8'Ht<Ah@II,$Ht#HuPHou[H-kL']A\C1HH1C1ɉH1H=HF'[]A\C1lVdHGHDEDH1CkHH1ffff.H1C;HH1ffff.HH=Q'HS'5S'HGpH5R'H= P'{H5R'H=
P'HĈ@IQ'tDH=Q'i韄ffffff.Q'tDVff.1ITfHH=G'HtP' tqO'u:HZO'tHt$1ڈHD$8tH=G'HC肇Ht
HHQJ'H@XHS-C1̇H=eD'H¹XC1сulu[D18C菇H1`H6'HtͻhHPPH1QC/HHu[D1C/H11CH1OH=P'C1H=yP'C1؀AWAVE1AUATIUHSHHL$,L|$pdH%(H$1>@@te@%u!@%t"@HH芉;@u@%u@HCH%<QvdKCH1.;@uT$,t
O'u<E
H$dH3%(t
H[]A\A]A^A_$ŰCO'A$/ID$A$LL1Cd5D$pL<0uH<0t<HH;%H{;A$/ID$A$L=C1HMILD$ MLD$ IE@cIL,HHHɺC\A$/?ID$A$HHHH!HJL@H}C1j~;A$/ID$A$HHt	9AwC1HH¾1~;{A$/ID$A$L(IE HHtHHCH1}IM1=CH}IE HmIMI}HHL$ƃHL$KCH
3M'=CH1W};A$/ID$A$HHHpHHHLF(CHHP1;t=MB'IH
hM'HDL0'HﺟC1|;4|Ȁ=CHEA$/]ID$A$NBG<d<u+A$/BID$A$HCA$/AID$A$/L(ID$A$H/HD$@ID$A$HMHD$8%LL IEHL$lILL$XLD$`Ht$@H$LHL$8 H|$XHH|$Ht
{CLCH1HL$`D$0HtCH1J{HT$XHt
{GHH|$`tL$lHL$8HT$@CH1|$0VA$/ID$A$LC1dLM_D$p<0u
IAE<0t<I1HLHH҃'Ld$0I܉H 萃~LLd$0LrCA$/.ID$A$H=CA$/ID$A$CA;iA$/ID$A$HCkI';/LD$8HL$@LCH13H=A'HA'Ht7|HA'H=A'H>|HA';ID$HPIT$
ID$HPIT$ID$HPIT$=ID$HPIT$ID$HPIT$D=G'H=G'HκHL$}HIHL$H=CH1xLO{;ID$HPIT$LID$HPIT$^ID$HPIT$ID$HPIT$mID$HPIT$HID$HPIT$ID$HPIT$A$ID$HPIT$ID$HHIL$A$/wBID$A$HCH1Hw;H
?;'C7ID$HPIT$뼺CH1ywkH?'Ht!H=?'HtH?'Ht	I9m1C}HL$HHH1LH=r?'L-s?'HtyH|$`HQ?'Ht/~H@?'H=1?'HtyH|$X
~HL$`H?'D$0Q1C|LH1fIHNA@#CHHH=CD-)'C1|HHD1*v;ID$HPIT$H
E'HﺆCu;^CH1oHL$`Ht$HHT$ HL${HT$ HL$eHt$HHHL${D$0HL$"9k{~HHT$0H
AHL$8LD$@1H)H$LL$H)z)r)j)b)Z)R)J)BH$H$D$0HD$HD$ HD$HHHT$0HAHt$(HL$8H)H$LD$@LL$H)z)r)j)b)Z)R)J)BH=D't:H$HH=C'H1$HD$HD$ D$0HD$oHHHT$0HUAHt$(HL$8HH)H$LD$@LL$H)z)r)j)b)Z)R)J)BH$H=,6'H$D$0HD$HD$ HD$Hfffff.H\$Hl$HLd$HH҉ItPHC1/yLHljH1
	C1yH1{1CxHH1fffff.H\$Hl$HH'C1xHHH\$Hl$1Hoffffff.HHT$0HAHt$(HL$8HH)H$LD$@LL$H1)z)r)j)b)Z)R)J)BH$H=4'H$D$0HD$HD$ HD$)HÐH\$Hl$HHHuHt3PH\$Hl$HB'HPH@ HAB'HR&'HDt-B'H\$Hl$H@C1OwHHH\$Hl$1H$@UHSHxHexH-%'H@Ht@@hHuH%'HHH%'H[]DU1ҾpC11SH7HHƿHsuD$1%=@@HDsHĘ[]USHH=>'tv	tHHtiHIst-k>'9|HcH:/t?1HrH[]@>>'9uH=W>'H޽t@1H[]ffff.Hl$Ld$HH\$HAu
9?'uHvHHD`HR$'HK$'H}=t2Hv1HHCCH$Hl$Ld$HfDH=<'Hu11CHCH\$Hl$\CHHpW='HÅt-H{Ct
C1tHH1KHHl$H\$HfAVAUE1ATUHSH7'HL5I#'IH6'HD>'HL%}*HHtpH{1HL1IHLIpMtH"'HHL[H->'L-6']A\A]g!'A^H"'H1Vm1hCsHH1fD{HI{H=[='CCHIItFHt2L5"'LH"'hnL5!'H5'LoH=<'CC=HIItH*uLoCACyH=<'QEHHIItHJL_oL5`!'H5'@MIdfD1fH\$Hl$HLd$Ll$HLt$L|$HHHv8Om5q:'HC t1HCt
C1qHH1dHC HS@t;HjLc MtLju<L9c fH\$Hl$ Ld$(Ll$0Lt$8L|$@HHC@uHS BT@bt9'H5:'LQjHuID$xk
8'ELc1CpLHH1DH{ 1nID3j1+H[8C1pHH1w1C@iHpHE12'=7'dh"=}9=s%=~=*|-nwH=6'lC1oHH1H{ nHC 1'Hs8'H@xH{ hjf˭(Of軭==L5)6'褭,E1E1)LkMtLkMLkH=5'HkfD;H=t,'R1'oEHW,',6'tZtKLH|$_CH|$HnDEFͬ=t)LD$*kD$>MLuMLuL%5'葬,tLD$jLjD$j=uL-4'WfAWIAVIAUIATUHSH(F@ukVH~?/nHqt=H}?/91E@	ЈE@H([]A\A]A^A_HCjHE8/H7'HL%|#Yf.HMH{LMML1H$HHHHT$HT$uyHiHHtQE@t	b5't uHUH{1L1XHHHL"u*E@H(1[]A\A]A^A_HUSfH~HH=3'11HHHH]@Hl$H\$HLd$HH tH$Hl$Ld$HG@tXHi.'Hu(H;H%u&H[HH;CCHtˀe@DHH4yH]HmHHkCtb(C1:kHHHH$Hl$Ld$1HE@tHL%2'Mt<H];/t9C1jHHH$Hl$Ld$1HH]ǺPC1jLHjHN-'u
HDh1ҾAlAH9fHHpHHxjffff.H\$Hl$HLd$Ll$ILt$HHXIMhuC1iLH1IHLᄚAL$$l$ H\$Lt$HD$dH\$0Hl$8Ld$@Ll$HLt$PHXffffff.AWAVAUATUSHLw MLgIL HD$MDAD$p}IT$ HR`HtoE1H*uM|$L-X0'MtSI]Hu:DHHt-H{H,iuIT$ 1MLLHHuMmMufHD$HD$L MQH[]A\A]A^A_1CihLH1LAWAVAUIATIUSHXHF`H|$(HHBH@`HL0LzhtYID$HhHuIfDHmHt:HuHKhuI$H|$(LHD$@AD$ D$8iHH|u/HX[]A\A]A^A_þ0C1gHt$(H1~HhIL$H|$(HLHD$0dHHKHD$0L<L9HHH\$HHŋ\$8Ll$8MLd$@9AtIEH9A tKDHI9HUHHHtHHtօtHA H=ht@!uAtMHyLHT$ HL$gHT$ HL$tLIHJ18CHL$LL$ mfLL$ LD$HHHL$HT$81Ht$(L4$69H|$0HX[]A\A]A^A_bA10CfHt$(H1AWI11AAVAUATUSHHwH=.'`HH@vH[]A\A]A^A_HC(H@`HtH-,'L(HtfDLeMtQI|$Leu0Mw Mt'fDINHS(IH{M6MuM$$MuHmHubI_1pCdHH1;fAWCAVAUATUSH1HdHH1^1Cd=CHHH1^Ha1fH޿ g1~1CJdHH1X^&'H=&'HjeHT$0AhIHD$~fHD$H5&'L)HH9t-CH5&'ALcH&'M,M99f.I,$H=M,'11AHu]Hx
HM#CH1w]H}^`Lu DxMu@M6MtEAFtA1H޿ AOfA1~IV1{CHE1M6MuHm HuNHmHtEEuA1H޿ AeA1~HU1{CHE1KHmHuEt-CIM9H[]A\A]A^A_H@(Hx`tHH@T@HE HufHHtHPBT@u!C1bHH¾1\H[]A\A]A^A_HupCe@UHSHHHtI-CHsH={*'y`HHCt HEHEHH[]HCHCfDAUATUSH
$'D#'E@AJ=#'L
#'H$'H$'1LI)HHHH48HC HHufHHHJ(HuHHH>H^HHƸH[]A\A]Ãt
1H-u#'H^#'L%o#'HH=E#'Hf#'#'>#'LH="'#'U_="'HG#'H#'Nd%E1IH"'DH,Htf"'LH_"'IHE Ht7DHHHKHHHKHHHKHHHK H(HHH HuHmHuAD9-R"'vH5}"'H=6"'[H=b"'E\HR"'HHL9tHHBH5B"'H
C"'DHHH<H
"'q`hH!'[HH!'cH!'H5!'H=!']5!'!'Hn!'L%!'H
!'H!'5!'H5|!'H{!'}!'H5!'IE1IDH,Htmf.*!'LHo]!'IHE Ht7DHHHPHSHPHSHPHSHP HS HH(HuHmHuAD9- 'FH 'jH 'H 'h\ 'ffffff.AUATIUHSHH5_ '1ɺL濠hYHIMe MuD@M$$Mt7I9\$uAD$HhE!uWAD$H[]A\A]@hYHIIE I\$I$Me AD$AD$@AD$H[]A\A]D(AhYt"n'AD$H[]A\A]1C}\H1c1C`\H1F16C@\H1&,SHHHt3H]HtH'H@H@ H[H߾(HT$XHHHT$u1ϐ3$'t=%'XCxDHE5%'D
$'0>D5#'f%f=t
#'D!@t^ȤDuT=#'%=t`Dt-Eu#fftGKEXnEHEfDfD$'paDo@#'Dt#'@)EtH\$Hl$HLd$HG@ڃ DڨtLg AD$T@u4t
H} GT@u1H$Hl$Ld$HÐT18EZLH1SHpE1YHH¾1	T1EYHH¾1S1EYHH¾1S1hEYHH¾1S1EoYHH¾1}S1ELYHH¾1ZS1 E)YHH¾17S1`EYHH¾1SE1XHH¾1R1EXHH¾1R1HEXHH¾1R1EzXHH¾1R1EWXHH¾1eR18E4XHH¾1BR1EXHH¾1R1ДEWHH¾1Q1EWHH¾1Q1`EWHH¾1Q1EWHH¾1Q1EbWHH¾1pQ10E?WHH¾1MQ1pEWHH¾1*Q1EVHH¾1Q1EVHH¾1P1PEVHH¾1PE1VHH¾1PE1mVHH¾1{PXE1JVHH¾1XPE1'VHH¾15PؘE1VHH¾[1PAVAUIATUSHHH/HHRLIRI+f.5I'@HTHtHHHt?LHLQuBD%t5'@8uHtH[]A\A]A^DK|&VD
'LHHŹ,CH1L,$VH;QH+HdVHffffff.SH~=~^r1@H[f.z~Muˀ
'thuH='t7DPuH5'hBxH5y'hUD
{'?%c''L'H"'}EHރ/'$:ZS:KS:<S:-@'fH='HtPH'H'HCHUDHY'E
HLE
HE	HE
HE	HE	HÜEH:C:C:C:ywH
O'H
O']DH
8'''2fEH`E'H
'H
' fD 'DH'xExEHRH'H
h'v E1QHH1NH
+'9H
''H
'@H
'ʜEHNBHSҜEHP[ϜEHPWٜEHP^לEHP;EHP_EHpP-EH[PEHFPEH1PaEH7KEHKHt$H{1URHT$HY':u
HPHXH
'hEH1H%u'H%u'H
['H
X'f'U
'G%r'9
d'+V'@J'
8'Ht$H{1pQHT$Hl':u
HPHsH	'@EHL%'
''Ȁ࿈'ffffff.H\$HHl$Ld$Ll$H(LcH;IuIHcPN,(HHu
HAEz:P:AEHI<$ePH<(I$@E@@ue@u@1Ht	tfHtH\$Hl$Ld$Ll$ H(DAE?H@tfDHfH@pDHHW@AWAVAUIATE1USHH8HHBxAE{HE1@|!'%=D$!D
'E@hH=hvIAhfDI>Ht(111HIFtDEu
AVI0I@huHt&HA<E	fDH@ HHH8HtA! uHp0LHuH@(H&H&<E'('% = S Ah uwI@HI'E1HLHH$PIH8L[]A\A]A^A_H@DxH޿E1pE11tЃt'A4EuSEL#APh?@Ah-A hEE7ELuAhAhhLEfD11L/HIIv8Ht5DV EHH='HCtIF8@ 3C tw1LHIuwefDC EEAA	(@H3EE
L5d&MI~LHl2Hy'HU1fI8H11LD$v.LD$I@HIp3@HLD$込HLD$H	'}@7ELJA}at,D$A.E8EAh&DD$A$EHL%'xaE1MD$$S1LDL$MLD$LE1A7EIH\$(AEK1aYE@HcH|9l$$MttIMttSHJ8HtI LEҐt
HLEHJ Ht5IHʋxHZ0LHaHJ8HtNjI LH\$(LD$DIMMt=LI@?LDLD$H\$(MA	AHtHMtLHuLfH\$Ld$1Ll$Hl$ILt$L|$HHB@IHu-H\$Hl$ Ld$(Ll$0Lt$8L|$@HHf.LrH~CLICLHCI|/HGMEHHM^EH1L$$HHHtpH{ Hk?tJHC @T@t@C@<tlENH{@H{ H)IfDHB1fAUATUSHHHg'x8AkH
'HH-d'Huf.HHHExuHHHtӀ?tFI5'LE1dDHtAMtA<$uEtIIuDLhHD$(HD$(H9'L
'HL'H
'H5'H=
'HD$HD$8HD$iHD$H'H$CE[H=l'HtH\$8HtHiAHHC8H'HuH[(HC@uH{ E/>HHtL`8I|$YEH{ 1MHHI=CD%H'E1E11HK LiP(trL@HE`HtHH@HU8H9rH)HH@H[(M  HE8HNۺH=L'iZ=u
ЙELHH[]A\A]ÐulEz@Hs E;DЙEH='iFUzEpBH]SH@{v[ËC$EfDHS:t=DC H=y'iCulHs8Eu\HS1:¥uB:t<뵐H[f.H{gH{^H[ ]DH{GH[Ffffff.t
HUiS
HH=
':
H=
'HGxttdH[]Ð)
'uH='HHiBteHN
'HHH9t~.u1ECAHH1[]#H9rHchE@H@hpff.ATU1SH=
{
'IH8HuH=T'=Bl%HcAH55'IH
AL=I,@UHHt.:
'uUH5'HH@HP=HEL[]A\fff.AWIAVAUATUSHHt$ H|$ \C;I1M+AHI;HLm<HL)MdL9u=|+
t6HHH7BN$(HÉLL43D);HuI9
H>Ht#H>HtHH<t< t<
t<	t<tIIHֿEuJ	 <=u-@t)< ft#<	t<t<
@t<tHBHJ<=uI9t$:/tz/HB7HL9uMLM)IH,IOIwHQI|H975'@4IIWH<LLB=MoIMoB(L>BH:L?HĈ[]A\A]A^A_HJI@<	tT< tPrI@ t@tIA,$@	uA$u@6IL$<	uH</IHD$H|$ /H$8;H$HD$HW:LL$L+L$ HPHT$I|LL$u>LL$Ht$ HHD$ILLL$<LD$LL$H$HT$K<H;LD$LD$HL$011L?uJH|$0t81@l$/HHHD$8LH4HsH;\$0rHl$/H|$0J=H|$H|$49@L1IIM)HHL)I~=IGI1I5HIw>IOIHQE1wLIHM)af.H\$Ld$ILl$Hl$H8H'HoAH@HH06H1Ht2H4tCT@tHH'HPH9St&H91H\$Hl$ Ld$(Ll$0H8EHt$H:>
HD$Hth0
BH&&譳D-&EuHD$HtAEf.HH^HpLHufD@hH9uGH{4D'IEuGBHG&"H=:&thfDH޿E191ߝE/:HHL1DH޿EfDHL%=I<$Ht7uHa4HCiHOH޿XC蚿DAWAAVAUATIHUSH(LvA>/MA<$HLLt$HD$b6HHD$lH|$IM)I|={:L9HHtLL%8J|+B+/L9H|$DH\$!uUH5}t/Le5t'L8HHuL5I,s1H([]A\A]A^A_H([]A\A]A^A_@AWAVAUATUSHhH'{8tHh[]A\A]A^A_fDH'HH	'H
:
u%J:
uJ:
IfEH;HֿxE$@@8CHuOHJ@Rq6AhtHHt6Ahuր:HHКE1;H=&4H&&&%=& H=&i4HIH@H}Ht
3I9Lt1fH{Ht	3uH{Hu7yHH9uHBH&HG&"H;&HtHx }3EHC
&HD$PHCHD$XHCHD$@H&Ht H@H|$@HD$H8Lt$E1IIfH=&Ht$PD<H=&Ht$PD H=&4E 5Ht$PDHH=Y&i2HHu#jf.L(2HHLH{SIID$H9CuHt$PDLtLLLt$1HmH#H-&HfDEH.HtHx8vHx` hHHuJ:
 +@EH4HIL@hHG&L5H&L`Il$8IDžh
@BHI$Ip
BDH9HmH*D*&I^;H=&t*H=&Ht$0DHD$0H\$8"I~0HJ&Ht}LhHHthCuH{0I|4MNLCHHŹXEH15H|$@DHl$HnuzH0ffDAA*L󿨛E1HSHsLLt$fDH=&8zEX2Ht$PDH(LLt$H=L&1ҾDE1HD$HD$ HD$H|$HHSH3/H|$HtdH|$H/H-h&f&CEH.H&HHEEHH(P(2H@hHH.H=]&1ҾHE1?H|$HH/LkLc1#E1LHL1@-XE1?9f.H\$Hl$HLd$Ll$HH=&t(H$H$L$L$HĸH Ht.uH{ HB/H&H9$H&/HhH/Hu^EH.HIkH{ .HHL%&IUHI\$H)H+0IT$HH޿E#fDHD$H;d&]HTH&Hs ÝE1H{)Hlf.AT5&USHuH HtGT@u[]A\-HItwHl&HuDHHtHkLH/t/H.HuӾ^EH-HtHPHLH)*u	&tHC Hx)Itffffff.H\$Hl$HLd$HH&HtHx +HkHH{ HH={&t
+urHkH&HL`L.tMC@t"/HO,HtHxL.t%H{ q,HtH}&HHr.uH&H$Hl$Ld$Hff.@H@huxtGH@GHÍGHúEGlEd@AWAVAUATUSHHxdH%(H$h1HGH(HT$HHp
LbIL$`H hLImHHIl$XMt$8HT$HL}HCIHuLHCHuEGNUHT$H:ߐP:АP:P:L$LbHT$pxBHHLP sLL-lDIuIt$X1HMt$8P.1dH$hdH3%(6Hx[]A\A]A^A_xEHEHnCHLp1@D<:IAH@AhtAVINAhtI7Ht$HL$IHD$pHD$HL$9T$ST$	HT$Ht$H{Lt$ LcmHT$BHHLP u
1fDLLHLH2*I9@I$HsI|$8HT$,HT$HI$HCK11cE-eLLljD$%L$Ilj+$E910E17*H1<-KElE觰*ElE莰fffff.H	pE+&%&
B&HÐ&t=&EEHE5&E
&E5&f%f=t
&'F!@t^FFuT=&%=t`8Ft-Fu#fftGFFHEfDfD&(Fo@&eFt&оFtH\$Hl$HLd$HG@ڃ DڨtLg AD$T@u4t
H} GT@u1H$Hl$Ld$HÐ"18E'LH1SHpE1'HH¾1!1E'HH¾1!1E'HH¾1!1hEr'HH¾1!1EO'HH¾1]!1E,'HH¾1:!1 E	'HH¾1!1`E&HH¾1 E1&HH¾1 1E&HH¾1 1HE}&HH¾1 1EZ&HH¾1h 1E7&HH¾1E 18E&HH¾1" 1E%HH¾11ДE%HH¾11E%HH¾11`E%HH¾11Ee%HH¾1s1EB%HH¾1P10E%HH¾1-1pE$HH¾1
1E$HH¾11E$HH¾11PE$HH¾1E1p$HH¾1~E1M$HH¾1[XE1*$HH¾18E1$HH¾1ؘE1#HH¾[1AVAUIATUSHHH/HH LI I+f.5)&@H"HtHHHt?LHLuBD%t5&@8uHtH[]A\A]A^DK|&v$D
&LHHŹ,CH1L,$$H;H+HD$Hffffff.SH~=~^r1@H[f.z~Muˀ
&thuH=&TDPuH5|&hBxH5Y&hUD
[&?%C&',&H&}EHރ&$::S:+S:S:
@&fH=&HtH&Hm&HCHUDH9&E
HLE
HE	HE
HE	HE	HÜEH:C:wC:hC:YwH
/&H
/&]DH
&j&_&2fEH`%&H
&H
& fD &DH&xExEH H&H
H&v E1HH1ؤNH
&9H
&'H
&@H
&ʜEHNBHSҜEH[ϜEHWٜEH^לEHz;EHe_EHP-EH;EH&EHaEHEHHt$H{15 HT$H9&:u
HPHXH&hEH1H%U&H%U&H
;&H
8&f&U
_&G%R&9
D&+6&@*&
&Ht$H{1PHT$HL&:u
HPHsH&@EHL%&
&&Ȁ࿈&ffffff.H\$HHl$Ld$Ll$H(LcH;IuIHcnN,(HHu
HAEz:P:AEHI<$EH<(I$G@@ue@u@1Ht	tfHtH\$Hl$Ld$Ll$ H(DG?H@tfDHfH@pDHHW@AWAVAUIATE1USHH8HHBxAE{HE1@|&%=D$!D
Z&EhH= hvIA hfDI>Ht(11gHIFtDEu
AVI0IhuH&HA<E	fDH@ HHH8HtA! uHp0LHuH@(H#&H&<E&&% = S Aph uwI@HI'E1HLHH$IH8L[]A\A]A^A_H@DxH޿E1pE11tЃt'A4EuSEL#Ah?@A@h-AhEE7ELuAhAPh hLEfD11LtHIIv8Ht5DV EHH=&HtIF8@ 3C tw1L踥HIuwefDC EEAA	(@H3EE
L5&MI~LHLHY&HU1fI8H11LD$VLD$I@HIp3@HLD$螊HLD$H&}@7ELJA}at,D$A.E8EAh&DD$A$EHL%{&xaE1MD$$S1LDL$MLD$LE1A7EIH\$(AEK1aYE@HcH|9l$$MttIMttSHJ8HtI LEҐt
HLEHJ Ht5IHʋxHZ0LHaHJ8HtNjI LH\$(LD$DIMMt=LI@?LDLD$H\$(MA	AHtHMtLHuLfH\$Ld$1Ll$Hl$ILt$L|$HHB@IHu-H\$Hl$ Ld$(Ll$0Lt$8L|$@HHf.LrH~LILH}I|/HMEHHM^EH1L$$HHtpH{ Hkf
tJHC @T@t@C@<t=G.H{
H{ H	fDH1fAUATUSHHHG&x8*BKH|&HH-D&Huf.HHHExuHHHtӀ?tyI5&LE1DHtAMtA<$uEtIIuDLhHD$(HD$(H&L
z&HLh&H
&H5&H=c&HD$HD$8HD$iHD$H&H$#[H=L&HtH\$8HtHIHHC8H&HuH[(HC@uH{ EHHtL`8I|$9H{ 1MHHICD%Hm&E1E11HK LiP(trLjHE`HtHH@HU8H9rH)HH@H[(M  HE8HN軈H=,&i:u
ЙE,HH[]A\A]Ðu=Gaz@Hs E;DЙEH=&iUzEPH]SH@{v[ËC$`GfDHS:st=DC H=Y&iwulHs8EU\HS1:suB:st<뵐H[f.H{gH{^H[ ]DH{GH[Ffffff.t
HUiS
HH=&}H=~&HGxttdH[]Ð	&uH=&HHiteH.&HHH9t~.u1E#HH1[]H9rHchEޔ@H@hpff.ATU1SH
[&IH8HuH=4&Bl%HcH5&IHLrI,@UHHt.:&uUH5&HHH0HEL[]A\fff.AWIAVAUATUSHHt$ H|$ \Cx	I1MHI;HLm
HL)MdL9u=|+
t6HHHN$(HÉLL43D)}	HuI9
HHt#HmHtHH<t< t<
t<	t<tIIHֿEuJ	 <=u-@t)< ft#<	t<t<
@t<tHBHJ<=uI9t$:/tz/HB7HL9uMLM)IH,IOIwHQI|H975&@4IIWH<LL"MoIMoB(LBHLHĈ[]A\A]A^A_HJI@<	tT< tPrI@ t@tIA,$@	uA$u@6IL$<	uH</IHD$H|$ /H$	H$HD$H7LL$L+L$ HPHT$I|LL$ULL$Ht$ HHD$ILLL$	LD$LL$H$HT$K<H	LD$LD$HL$011L
uJH|$0t81@l$/HHHD$8LH4HsH;\$0rHl$/H|$0*H|$H|$@L1IIM)HHL)I^IGI1I5HIwIOIHQE1wLIHM)af.H\$Ld$ILl$Hl$H8Hf&HoAH@HH0H1Ht2HtCT@tH(&HPH9St&H1H\$Hl$ Ld$(Ll$0H8EHt$H
HD$HthP<BH&&荁D-&EuHD$HtAEf.HH^HpLHufD hHuGH{vD&IEuG:BH&H=&thfDH޿E11ߝEHHL1菏DH޿EۍfDHLI<$HtuHAHCiHOH޿XCzDAWAAVAUATIHUSH(LvA>/MA<$HLLt$HD$BHHD$lH|$IM)I|=[L9HHtLLJ|+B+/LcH|$DH\$!uUH}t/Le5T&LHHuLI,s1H([]A\A]A^A_H([]A\A]A^A_@AWAVAUATUSHhH&{8tHh[]A\A]A^A_fDH&HH&H
:
iu%J:
iuJ:
iIfEH;HֿxE$@@8CHuOHJ@Rq6AhtHHt6Ahuր:HHКE1H=&H&&&%=l& H=&iHIH@H}Ht
I9Lt1fH{Ht	uH{HuyHH9uH =BHz&H&}H&HtHx ]EHC
&HD$PHCHD$XHCHD$@H&Ht H@H|$@HD$H8Lt$E1IIfH=&Ht$PD<H=&Ht$PD H=&4EHt$PDHH=9&iHHu#jf.LHHLH{SIID$H9CuHt$PDLtLLLt$HmH#H-&HfDEHHtHx8vHx` hHHuJ:
xf +@EHHIL@hH'&LH&L`Il$8IDžh
`>BHI$Ip
BDH9HmH*D&I^;H=&t*H=&Ht$0DHD$0H\$8"I~H*&Ht}LhHHthCuH{pI|MNLCHHŹXEH1H|$@DHl$HnuzHffDAA*L󿨛E1HSHsLLt$ˆfDH=&8zE8Ht$PDH(LLt$H=,&1ҾDE1HD$HD$ HD$eH|$HHSHH|$HtdH|$HH-(&&&CEHH|&HHEEHH(P(H@hHHtH==&1ҾHE1eH|$HH/LkLc1#EaLHL1@-XE19f.H\$Hl$HLd$Ll$HH=&t(H$H$L$L$HĸH HtuH{ H"H&H9$H&/HhHHu^EHHIkH{ zHHL%_&IUHI\$H)H0IT$HH޿EfDHD$H;$&]HTH&Hs ÝE1H{Hlf.AT5h&USHuH HtGT@u[]A\HItwH,&HuDHHtHkLHt/HHuӾ^EHHtHPHLH)u&tHC HxItffffff.H\$Hl$HLd$HHs&HtHx HkHH{ HH=;&t
urHkH&HL`LtMC@t"/H/HtHxLt%H{ QHtH=&HHryuH&H$Hl$Ld$Hff.@H@huxtGH@GHÍGHúGG=GD@AWAVAUATUSHHxdH%(H$h1HGH(HT$HHp
LbIL$`H hLImHHIl$XMt$8HT$HL}HCIHuLHCHuEGNUHT$H:^P:^P:^P:^L$L/HT$pxBHHLP sLL
:DIuIt$X1HMt$801dH$hdH3%(6Hx[]A\A]A^A_xEHEHnCHLp1@D<:IAH@AhtAVINAhtI7Ht$HL$IHD$pHD$HL$9T$ST$	HT$Ht$H{Lt$ LC;HT$BHHLP u
1fDLLQHLHI9@I$HsI|$8HT$HT$HI$HCK11cEbeLLljD$L$IljE910E1H1}<-KG=G~G=Gn~fffff.H	XG&&
"&HÐ&t!5&G#GHEf.
&:Gt&RGҺhGHDfH\$Ld$1Ll$Hl$ILt$H8B@IHu"H\$Hl$Ld$ Ll$(Lt$0H8@H~H{ILHI|.HLKMEHHŹGH1L$$9HH.tHkj@H 1WfCBfDSHt[@HwCuHCxt[G5}HCH@ [f.HU&tHfDH=&i'tH
mf.ЙE{Hlffff.H	XG}˾&ž&HÐý&t=&G2GHE5&hFG
g&cG5u&f%f=t
b&G!@t^ؼGuT=>&%=t`8Gt-Hu#fftGKHiHHEfDfD&PGo@y&Gti&.HtH\$Hl$HLd$HG@ڃ DڨtLg AD$T@u4t
H} GT@u1H$Hl$Ld$HÐY18ELH1ySHpE1HH¾11EhHH¾1v1EEHH¾1S1hE"HH¾101EHH¾1
1EHH¾11 EHH¾11`EHH¾1E1sHH¾11EPHH¾1^1HE-HH¾1;1E
HH¾11EHH¾118EHH¾11EHH¾11ДE~HH¾11E[HH¾1i1`E8HH¾1F1EHH¾1#1EHH¾110EHH¾11pEHH¾11EHH¾11EfHH¾1t1PECHH¾1QE1 HH¾1.E1HH¾1XE1HH¾1E1HH¾1ؘE1HH¾[1AVAUIATUSHHH/HHjLI_I+f.5ٸ&@HmHtHHHt?LHLuBD%t5&@8uHtH[]A\A]A^DK|&&D
n&LHHŹ,CH1L,$iH;qH+HHffffff.SH~=~^r1@H[f.z~Muˀ
&thuH=I&DPuH5,&hBxH5	&hUD
&?%&'ܵ&H&}EHރ&$:S:ۑS:̑S:@o&fH=a&HtHL&H&HCHUDH&E
HLE
HE	HE
HE	HE	HÜEH:6]C:']C:]C:	]wH
ߴ&H
ߴ&]DH
ȴ&&&2fEH`ճ&H
m&H
X& fD &DHM&xExEH@Ha&H
&v E1HH1pNH
&9H
&'H
&@H
&ʜEHNBHSҜEHi[ϜEHTWٜEH?^לEH*;EH_EH-EHEHEHaEHEHHt$H{1HT$H&:u
HPHXHP&hEH1H%&H%&H
&H
&f0&U
&G%&9
&+&@ڰ&
Ȱ&Ht$H{1HT$H&:u
HPHsHk&@EHL%t&
f&W&Ȁ࿈K&ffffff.H\$HHl$Ld$Ll$H(LcH;IuIHcN,(HHu
HAEz:P:AEHI<$H<(I$H@@ue@u@1Ht	tfHtH\$Hl$Ld$Ll$ H(D4H?H@tfDHfH@pDHHW@AWAVAUIATE1USHH8HHBxAE{HE1@|&%=D$!D
&EhH=`hvIA`hfDI>Ht(11HIFtDEu
AVI0IhuH&HA<E	fDH@ HHH8HtA! uHp0LHuH@(H&H&<E&&% = S Ah uwI@HI'E1HLHH$lIH8L[]A\A]A^A_H@DxH޿E1jpE11tЃt'A4EuSEL#Ah?@Ah-AhEE7ELuA hAh`hLEfD11L$HIIv8Ht5DV EHH=&HTtIF8@ 3C tw1LhqHIuwefDC EEAA	(@H3EE
L5&MI~LHH	&HU1fI8H11LD$LD$I@HIp3@HLD$NVHLD$H&}@7ELJA}at,D$A.E8EAPh&DD$A$EHL%+&xaE1MD$$S1LDL$MLD$LE1A7EIH\$(AEK1aYE@HcH|9l$$MttIMttSHJ8HtI LEҐt
HLEHJ Ht5IHʋxHZ0LHaHJ8HtNjI LH\$(LD$DIMMt=LI@?LDLD$H\$(MA	AHtHMtLHuLfH\$Ld$1Ll$Hl$ILt$L|$HHB@IHu-H\$Hl$ Ld$(Ll$0Lt$8L|$@HHf.LrH~CLI8LH-I|/H`MEHHM^EH1L$$HHmtpH{ HktJHC @T@t@C@<tXHfH{H{ HfDH01fAUATUSHHH&x8`^BmH,&HH-&Huf.HHHExuHHHtӀ?t)I5_&LE1HtAMtA<$uEtIIuDL濰hHD$(HD$(Hɥ&L
&HL&H
a&H5B&H=&HD$HD$8HD$iHD$H<&H$[H=&HtH\$8HtHHHC8HZ&HuH[(HC@uH{ EHHtL`8I|$H{ 1MHHIbCD%H&E1E11HK LiP(trLHE`HtHH@HU8H9rH)HH@H[(M  HE8HNkTH=ܥ&iu
ЙEbHH[]A\A]Ð[XHdz@Hs Eb;DЙEbH=q&iUzEH]SH@{v[ËC$ŀHfDHS:?t=DC H=	&i'ulHs8Eb\HS1:R?uB:G?t<뵐H[f.H{gH{^H[ ]DH{GH[Ffffff.t
HUiS
HH=A&-H=.&HGxttdH[]Ð&uH=o&HHiteHޣ&HHH9t~.u1EHH1[]`H9rHchE`@H@hpff.H\$Ld$ILl$Hl$H8H6&HoAH@HH0H1Ht2HtCT@tH&HPH9St&H^1H\$Hl$ Ld$(Ll$0H8EHt$H
HD$Hth@iBHT&R&]RD-F&EuHD$HtAEf.HH^HpLHufDhHuGH{FD&IEuGgBH&QH=&thfDH޿E1^1ߝEHHL1_`DH޿E^fDHLI<$HtuHHCiHOH޿XCJ^DAWAVAUATUSHXH&{8tHX[]A\A]A^A_fDH&HH&H
:
;u%J:
;uJ:
;AfEH3HֿxE$@@8CHuOHJ@Rq6AhtHHt6Ahuր:HHКE1]H=&H&&&%=	l& H=&iHHD$HfH{Ht
Hl$H9t0H}Ht	uH}HsHmH9uHݿjBH-I&H&OHڛ&HtHx \THEHD$@HEHD$HHEHD$0{&H&Ht H@H|$0HD$8gE1H\$L|$HL%ԝ&A?/MA<$HD$@LL|$(HD$ HDl$MInfDIM)K<>I9HHtLLcJ|3B3/Lt$H|$ H\$((H}fLe5&LAHHuLI,pH-&HEHHtHx8vHx` hHHuJ:
8 +@EHHIy@hH/&LHǜ&L`Il$8IDžh
PkBHI$Ip
BDAA*H\$E1HSHsYHHH9RHHyDl$HD$HxH4&HtL`Lt$@HHlD{EuH{rI<MNLCHHŹXEH1H|$0DHl$8u)HH|$@DUH\$LEHHW&HHEEHH(P(HtS@hHLeHm1#ErLHH1YR-@XE1/XIf.H\$Hl$HLd$Ll$HH=&t(H$H$L$L$HĸH HtuH{ H2H&H9$H&/HhHHu^EHHIkH{ HHL%?&IUHI\$H)H0IT$HH޿EWfDHD$H;&]HTH&Hs ÝE1VH{Hlf.ATX&USHuH HtGT@u[]A\HItwH&HuDHHtHkLHt/HHuӾ^EHHtHPHLH)u&tHC HxItffffff.H\$Hl$HLd$HHc&HtHx HkHH{ HH=+&t
urHkHm&HL`LtMC@t"/H?HtHxLt%H{ aHtH&HHruH&H$Hl$Ld$Hff.@H@huxtGH@GHÍGHú#HOXHTU@AWAVAUATUSHHxdH%(H$h1HGH(HT$HHp
LbIL$`H hLImHHIl$XMt$8HT$HL}HCIHuLHCHuEGNUHT$H:1P:1P:1P:1L$L
HT$pxBHHLP sLL
DIuIt$X1HMt$8@1dH$hdH3%(6Hx[]A\A]A^A_xEHEHnCHLp1@D<:IAH@AhtAVINAhtI7Ht$HL$IHD$pHD$HL$9T$ST$	HT$Ht$H{Lt$ LSHT$BHHLP u
1fDLL$HLH"I9@I$HsI|$8HT$HT$HI$HCK11cEreLLljD$L$IljE910E1'H1
Q<-KHXHQHXH~Qfffff.H
sHR&&%2&HÐ#EgGGܺGvT2GGGffffff.HWVWVWVfDAWHAVAUATUSHT$HHL$HLD$HYiHT$HT$\$l$ċT$QAHAHH9vA@H;|$L$3L$D DT$pDl$DpD|$!3L$C"xjB.VhDHG>p $Dt$D@DXDP \$DνDx$DD$DT$1!3\$D|$ԍ1!1AA1AD!1AxA
E|$|D1D!1A*ƇGDD1D!D1G(F0D1!D1G3FAA1AD!1A
ؘiADA
1ED!1ADDD1D!AD1E1x(A!F/[E1ED@,AADD$G0\AA1EE!A1A1ED@0A
EE!A"kA1DDP4DDT$AqEE1AA!E1E1DDP8A!G*CyE1EDx<H@AAD|$G7!IAA1E!A1ύ1b%EA
EEE1A!E1DD|$DB;@@AE1E!E1DD|$G=QZ^&AA1E!G&ǶA1EAAEA1A!B	]/A1EAEEE1A!ߍ;SDE1DDAE1E!E1DD|$G=AA1E!A1ED|$AAG>EA1A!A1ED|$AEB9!EE1A!B7E1DDAE1E!E-
E1DAA1E!A1ED|$AAG>ZEEA1A!A1ED|$AEB9EE1A!E1DD|$DB;AE1E!GogE1DAA1E!GL*A1EDt$AAEA1EA!B	B9A1Dt$AEE1F<9L$AqDED1D1ˋL$DE
"amDD1G81A͉AD1E7D꾤AD1ADA	1ED1AϋL$AEKDD1G`KD1DD1E>pD1A\AE1A1EDl$A	AG/~(AA1B!'E1G,/EAEA1ߍ+0E1F<9DD1AED1\$EDDD11ADt$	G59AE1GA1EAAA1AE1G%D")EDt$AEB1|EG*CA1E1DDt$DB3eVEF#E1AA1ADED|$	AA	A1EDt$AAE	DA1EAB9AAEE	E1GY[eDD$EDl$AED	D1DE+D	ىD1ADE:}AAD	D1׍3]AˋL$AED	DD1G<O~oAl$AED	D1E,|$D	މD1ADAAD	1ލ;NAt$AED	E2CD1ADE,~SAED	D1DG5:D	ىD1ADG**AAD	1B3ӆADd$DL$	D1ADAADT$D	1΍43A42H9D$	L|$D$L$AWT$AAOAW[]A\A]A^A_fffff.H\$Hl$HLd$Ll$ILt$L|$HXDjHEudH@w>HtH}HLR]H\$(Hl$0Ld$8Ll$@Lt$HL|$PHX@ILHI?LMEAHJM)L9J<9HL$LFLO<>LٿDuI@HL$wML)SLHHHDt$HHD$YHL$HD$L?H4H}DD$G,(A?Dmf.H\$Lt$HHl$Ld$ILl$H(DgGDA9ĉGvGA7A8E)HkEH56LJ|%Od%CIt$HBD#CS	HBD%LHHl$H$Ld$Ll$Lt$ H(?AxE)vf.Hl$Ld$ILl$H\$HIHHdH%(H$1HLLHHH$dH3%(u(H$H$L$L$HAWIAVAUAATIUSHL$PHdH%(H$1LD1fDH|LLH)ھؽHHwTHuLuHuYLL1҉H$dH3%(uGH[]A\A]A^A_DHtLHffDLHHJ#EgGGܺGvT2GGGGHʉ			ʉOʉ			ʉPOʉ			ʉPOʉ	΁		ʉPOʉ			ʉPfff.AWHAVAUATUSH0HT$H\$HHl$HHL$H[HT$DmD}\$]DuDl$]H9vEH;|$؉T$HT$HT$Dt$HD$fDt$HD$1Hl$4			THH@uˋT$\$H@t$|$Dl$Dd$DyZHD$E>yZADD$D1#\$DD$D1Dt$AىD1D!D1G7yZF!yZAډ1AD!DA1B.yZAD|$D1ωD!A1ύ<>DD1!D1ΉEyZAA,$DD1!D1E*yZl$Aɉ1AD!AD1B;yZADD|$1AD!A1ByZDDD1D!AD1E+yZDD1!ىD1AˋL$AD1E	yZD!D1At$Aɉ1E2yZD!D1AA
B;yZD|$$41D1D!AA1AˋL$DӍyZDD1!D1ٍ|$ AAE;yZD1!D1G9yZD|$AE1D1D13T$!1EAAE1EA1D3|$ DE1DyZ1D3t$D!AA1D3t$$A42D>AyZD1AD!AAyZ1DɍDD1D!D1ىލA1D3l$A<1D3$$DD3d$D1ɉA1!AD1GyZE1AAGnD1A1AAED\$11A1D3\$E1AGnA42EADD$E1D3T$ E1D3D$AAn1D1AA1DL$DL$E1AA1D3L$$E1AA9n|$11<8AnL$11ȉD$3l$L$D1D1
n11|$|$3|$L$D1D17nt$13t$t$3t$D$D$D1D1ƉD$n\$3\$1\$L$L$؋\$ 3\$D$D11nL$3L$3L$L$ȋL$$3L$D$D$D1ىD$D$1L$nL$3L$3L$L$L$D$ L$1D1D1D13T$1L$L$D$L$L$nD$L$L$3L$3L$D$L$D$L$L$L$L$L$$D1E1D11nL$L$3L$3L$D$L$L$nL$L$L$L$3L$3L$L$L$D$L$L$L$A1D3|$L$3L$E13L$A1D3t$E1E1AA1A1AnA1E1AAAD$L$L$AnL$L$L$L$3L$3L$D$L$L$AnL$L$L$L$3L$3L$L$L$L$L$L$L$3L$E1ˋD$3L$E1D\$DT$A1AnD$1D$ĉL$L$D1t$ċD$L$L$L$L$L$L$D\$D3\$D3\$nD$1D$D1l$D$L$AˋL$AL$L$L$L$DT$D3T$D3T$DnL$GD\$L$DL$D$1D$D1d$AD$L$ED\$L$D3\$DnD3\$L$GEAEDL$AA11DD$1T$D11L$L$1L$D1D$DܼDًD$AEE	D#D$1ʼnL$DD!Al$D$A	ȋL$DD$1Ǎ
ܼDD	ՉL$DD!D!FܼA	l$D|$͋L$A9DED	E!D!D	AA3t$3\$D$E!D11D1L$3L$1Ét$FܼD	ƋD$D!މ\$FܼD	AA42A1D$DAA!1D$Aۉ	L$D!FܼD		AAA!!D	AAAD1ЉD$D$A1D$D$A1D$D1L$D$(ܼD$FLAD1	A!D$D$!1D$D$D	1D$A,)L$AE1D$A!D8ܼD$	!1‹D$D	A<8AA1DT$2ܼD$D\$D	!DT$!DL$	։l$A40AA1E1D3t$A1A!D3t$AD3l$D3d$AܼD3l$	D3l$!AD3d$D	AܼD|$\AD)	!!	AܼA	AA!!D	TE1D3\$AD3\$A<ܼD3T$D3L$D/ω	E1!A!	A3ܼA<8	AA!!A1D	E1D3L$t5AAܼE1AD+	!!	A	ܼ	AAA!!D	DD$D3D$D3D$L
E1AAܼ*ډ	!!	l$3l$‰T$	D1A!D1A!D	=ܼ׋T$|$3|$T$D1D17ܼT$t$	!!	t$3t$‰T$T$D1D1ܼ\$\$D|$	A!!D	D|$\$AF<;\$D|$A\$\$3\$D11bʋL$13L$F<9L$3L$D|$D|$D11AD|$bʋT$D13T$D|$AD$F<:T$3T$D|$D|$D$D11F:bD|$D|$A1D3|$D$D|$D|$D|$AD|$D|$D$D|$D3|$D$E1A1AAbD|$D|$D3|$D3|$ANjD$D|$D|$D1AD|$D11D$D|$D|$AD|$D|$F8bʋD$D|$D|$D3|$D3|$D$D|$D$D|$D|$AD|$D|$D|$E1E1E1A1A1A1A1E1AA1AbD|$D|$D3|$D3|$ANjD$AD|$D$D|$D3d$A1ƋD$AADt$EbʋD$Dt$Dt$E1D3t$Dt$AƋD$Dt$Dt$A1ŋD$AADl$EbʋD$Dl$EE1D3l$Dl$ADl$Dl$AAE1Dl$E1D3l$G<bA1D3\$E1‹D$A1A1D3T$EDl$AG3bAAG,/D|$AbDl$Dl$AE1D3l$EDl$AG,.Dt$Dl$AEE1D3l$AŋD$ADl$Dl$D3L$ADl$E1D3l$E1D$AG9bEDl$AG,/D|$Dl$Dl$AA1D3D$13l$1E1D3l$3|$13t$E1AD1G0bD1ύbD1EDl$AG,.Dt$Dl$AEE1D3l$F?bAŋD$ADl$Dl$ADl$E1D3l$F6bʋD$EDl$AG,/D|$Dl$Dl$AE1D3l$1D11EDl$bAG,.Dt$Dl$AEE1D3l$AŋD$ADl$3L$Dl$3T$D$AD1Dl$1E1D3l$D1F9b1F2bEDl$AG,/D|$Dl$Dl$AD|$E1D3l$D$D$D|$EDl$AG,.Dl$Dl$D3l$AE1A1AEbʋD$ADt$D3t$D3t$AƋD$AHD$Dt$D0Dt$DpDxDpDt$Dt$DpDxDt$DpDt$DpDpHD$H9D$Dt$sbDt$D$L$Dd$D\$D$Dt$D$Dt$D$DL$DD$l$|$Dt$D$t$\$T$ Dl$$L$EH0[]A\A]A^A_fDH\$Hl$HLd$Ll$ILt$L|$H8DrHEu|H?wVHu)H\$Hl$Ld$Ll$ Lt$(L|$0H8fDDmLu HLK<.LަH?wh]ILHI?LMEALz M)L9K<7LFLL芦uD@uw<ML)EHL@H@Hu`LHMpHLrOt5ULI?K47UAUIATUSHHWC8HHH퀃8HHH8HHCH9KKLc 	҉AAD	AAAD		ȉD {		I<	ȉD HH5H)HH0HLHbHHL[]A\A]mDKFH\$Hl$HLd$Ll$HIIHHLLfHHH$H$L$L$HAWIAVAUAATUHS1HL$HdH%(H$1nfDI<LHH)ھ葤HHtMHt`HtHugLH1H$dH3%(uWH[]A\A]A^A_DHL1yHء¸uHtHHL:蓤UHSHHt2H?HtHH'H;HuHH[]H[]fAVHIAUATIUStnIHtjL-L&HtU@ADU@u<\t<"t<'uf.L\胠tLtu[]A\A]A^ÐL
StIh1אUHAWE1AVAUATSHHHdH%(HE1H\HEEHE11H)E1L%$K&HT$HHU1HAD@uEtEI49E|AMeLHUHcuMHMHUHH4IHH}u*nfDEu(EJE1HHtFDCD@uEu<\E<'HHufH}HUMHu蹞HuHHUMHHEIAt@tDHAt@uHUdH3%(LHe[A\A]A^A_ft$<"J1f
AD<'t$<""fE1ADA@HUM诜EHUMJM<LE1x,fffff.AWAVAUE1ATUHSHHuHL[]A\A]A^A_D1H}Ht!HHHHuzHcH	HIItH}E1HtbH]I)fI7HII)I輠H;HHt0;xHc谛HK4uLE1@K4,AWAVAUIATE1USH8H|$ AA\$90IEHcL4H<?@uH5H8HI1HLH11LH$ҙL$Ix茠L$LHHD$(L萞L$HI9tLHD$7HT$BHt$(t2H
F&A@bHQ@OHuHHI}HL$HIEHL$"E1E1E1H9tDIJ<NuEHt$ HDT$HL$LL$L$HcItHΠHt$ L$IEHtI,(H<)HcH4LL$HL$LI}LHHT$ DT$HL$HETD藚H|$(荚ALA\$踞Ht$ 9fH8[]A\A]A^A_ÐHD$ H|$(HHsE&H=HrAUIATUHSHHXHH$HT$0HL$8LD$@LL$HHD$HD$ $HD$uS@HD$$L(Mt:LәHHLI›$L/vHD$HPHT$L(MuEHHX[]A\A]ffffff.S1HPHHD$`Ht$(HT$0HL$8LD$@HD$HD$ LL$H$HD$uAfDHD$$H8Ht&$HÃ/vHD$HPHT$H8HuHHP[@AVIAUATUSHHPHH$HT$0HL$8LD$@LL$HHD$HD$ $HD$H1@HD$$H8Ht&~$HŃ/vHD$HPHT$H8HuH}蔜IH$$LHD$HD$ HD$fDHD$$L0Mt:LHHLI$L/vHD$HPHT$L0MuHEtH舗HPL[]A\A]A^ÿHH$$IHD$HD$ HD$AUIATUSHXHH$Ht$(HT$0HL$8LD$@HD$HD$ LL$H$HD$1HD$$H8Ht&$HÃ/vHD$HPHT$H8HuH{$IH$$LHD$HD$ HD$fDHD$$L(Mt:L蛖HHLH芘$H/vHD$HPHT$L(MuHXL[]A\A]ÿ莚HH$$IHD$HD$ HD$AUIATUSHXL%A&HH$Ht$(HT$0HL$8LD$@HD$HD$ LL$H$I$HD$u!Yf.HD$$L(Mt:L裕HHLH蒗$H/vHD$HPHT$L(MuI$HX[]A\A]Ð雘H1HOHT$H$HD$HD$HĘHi@BHÐUHSHHt2H?HtH蛔H{HHuHH[]途H[]fHl$Ld$I}H\$HcHHc
HHLHy+HHl$H$Ld$Hffffff.AWHI1AVAUATUSHHf҅t&H/u/҃uyHcHqHHIt_HE1E1tfDH/t[uHH)H~A)JDMcJ|JDtpMtE/HL[]A\A]A^A_DH;/tA)JDMcHJ|fHJDE1/DHHE1fUHH]LeHLmLuIL}HĀIdH%(HE1Hu71H}dH3<%(HH]LeLmLuL}fHtHtM~L9IƋM4MLIMtHuLLI
MmHuHHIEă;EEEu<1E1@AHD9e~I<I4=tD;eHuLHItP}E9}EN}~81E1@AHD9efI<ItؔtEK1LqLiLaLIĐH=诓HIċMH(LxLILFIDMD$LMHH)HT$HHU}MH}MI)LELA|$/MLEt|HEB8/BD8H}LMLE/H}聕MLEA<$LIIA$t<:uL9mH}.G/GHUB:1E1U1~11EHHUI<HEH;]uEUD)D9eRU~*IcDITH:HUǏHUEH9]}Hc)HHEH }~+L1H1H}UHMUHMH9UH}1HHUD9eHHD
~Df..@/H9UD9eIcITH2H}AHU薐HUHD9ezLuiD1fUSHH-H&Ht#fD]xHcTyHmHuH[]@Hq9&SHH8t'H8H&B(HcȃBH\1[fDHH@讌H¸HtHG&BHHG&1륐fffff.Hl$Ld$H-6&L%6&Ll$Lt$L|$H\$H8L)AIHI蓉Ht1@LLDAHH9rH\$Hl$Ld$Ll$ Lt$(L|$0H8ÐUHSHH`6&Ht hDHHHuH[ÐHߓH%P:%s: file format not recognized; treating as linker script
Reducing stack by rule %d (line %lu):
%P%F: unrecognised keyword in MRI style script '%s'
%X%P:%S: unknown phdr type `%s' (try integer literal)
%X%P:%S: PHDRS syntax error at `%s'
%P%F:%S: %s in %s
%P%F:%S: %s
token %s (nterm %s (Stack now %dDeletingStarting parse
Stack size increased to %lu
Entering state %d
Reading a token: Now at end of input.
Next token isShifting   $%d = MRI style script-?fill valueoriginlength*default*PT_GNU_EH_FRAMEPT_GNU_STACKFILEHDRPHDRSFLAGSVERSION scriptgloballocalextern-> $$ =syntax errorError: discardingError: poppingmemory exhaustedCleanup: discarding lookaheadCleanup: poppingPT_NULLPT_LOADPT_DYNAMICPT_INTERPPT_NOTEPT_SHLIBPT_PHDRPT_TLS$end$undefinedINTLNAME'='OREQANDEQRSHIFTEQLSHIFTEQDIVEQMULTEQMINUSEQPLUSEQ'?'':'ORORANDAND'|''^''&''<''>'GERSHIFTLSHIFT'+''-''*''/''%'UNARY'('ALIGN_KBLOCKBINDSQUADLONGSHORTBYTESECTIONSINSERT_KAFTERBEFOREDATA_SEGMENT_ALIGNDATA_SEGMENT_RELRO_ENDDATA_SEGMENT_ENDSORT_BY_NAMESORT_BY_ALIGNMENT'{''}'SIZEOF_HEADERSOUTPUT_FORMATFORCE_COMMON_ALLOCATIONOUTPUT_ARCHINHIBIT_COMMON_ALLOCATIONSEGMENT_STARTINCLUDEMEMORYREGION_ALIASNOLOADDSECTCOPYINFOOVERLAYDEFINEDTARGET_KSEARCH_DIRMAPENTRYNEXTSIZEOFALIGNOFLOADADDRMAX_KMIN_KSTARTUPHLLSYSLIBNOFLOATNOCROSSREFSORIGINFILLLENGTHCREATE_OBJECT_SYMBOLSINPUTGROUPOUTPUTCONSTRUCTORSALIGNMODSUBALIGNPROVIDEPROVIDE_HIDDENAS_NEEDEDCHIPABSOLUTENEWLINEENDWORDORDERNAMEWORDASSERT_KPUBLICDEFSYMENDBASETRUNCATERELINPUT_SCRIPTINPUT_MRI_SCRIPTINPUT_DEFSYMCASEEXTERNVERS_TAGVERS_IDENTIFIERGLOBALLOCALVERSIONKINPUT_VERSION_SCRIPTKEEPONLY_IF_ROONLY_IF_RWSPECIALEXCLUDE_FILECONSTANTINPUT_DYNAMIC_LIST','';'')''['']''!''~'$acceptfilenamedefsym_expr$@1mri_script_file$@2mri_script_linesmri_script_command$@3ordernamelistmri_load_name_listmri_abs_name_listcasesymlistextern_name_list$@4extern_name_list_body$@5ifile_listifile_p1$@6$@7input_list@8@9@10sec_or_group_p1statement_anywhere$@11wildcard_namewildcard_specexclude_name_listfile_NAME_listinput_section_spec_no_keepinput_section_spec$@12statement$@13$@14statement_liststatement_list_optfill_expfill_optassign_opassignmentopt_commamemory_spec_list_optmemory_spec_listmemory_spec$@15$@16origin_speclength_specattributes_optattributes_listattributes_stringstartuphigh_level_libraryhigh_level_library_NAME_listlow_level_librarylow_level_library_NAME_listfloating_point_supportnocrossref_listmustbe_exp$@17memspec_at_optopt_atopt_alignopt_subalignsect_constraint$@18$@19$@20$@21$@22$@23$@24$@25$@26$@27$@28$@29$@30atypeopt_exp_with_typeopt_exp_without_typeopt_nocrossrefsmemspec_optphdr_optoverlay_section$@31$@32$@33phdrsphdr_listphdr$@34$@35phdr_typephdr_qualifiersphdr_valdynamic_list_file$@36dynamic_list_nodesdynamic_list_nodedynamic_list_tagversion_script_file$@37$@38vers_nodesvers_nodeverdepvers_tagvers_defns@39@40opt_semicolonI@I@I@J@aC@aC@aC@aC@J@DJ@aC@aC@TJ@fJ@xJ@J@J@J@J@J@J@J@K@aC@aC@K@%K@9K@MK@[K@aC@aC@iK@|K@K@aC@K@K@aC@K@K@K@K@K@aC@aC@L@L@L@(L@6L@EL@UL@aC@aC@aC@aC@aC@aC@aC@aC@aC@aC@aC@aC@eL@uL@L@L@L@L@L@L@aC@L@M@M@M@-M@7M@aC@EM@UM@hM@zM@M@M@M@M@M@M@
N@N@:N@IN@gN@aC@aC@aC@aC@vN@aC@N@N@N@N@N@N@O@7O@_O@O@O@O@O@'P@OP@uP@P@P@P@0Q@FQ@aC@^Q@mQ@aC@|Q@aC@Q@Q@aC@Q@Q@Q@Q@R@R@aC@aC@aC@aC@%R@6R@GR@XR@iR@zR@R@R@R@R@R@R@R@	S@S@)S@aC@aC@9S@VS@S@S@aC@aC@aC@aC@aC@aC@aC@S@aC@
T@ T@*T@YT@aC@aC@aC@aC@T@T@T@aC@T@T@T@aC@U@aC@U@%U@5U@FU@lU@U@U@U@U@U@U@V@(V@CV@bV@V@V@V@V@V@W@;W@ZW@yW@W@W@W@W@X@3X@VX@uX@X@X@X@X@X@Y@3Y@NY@iY@Y@Y@Y@Y@Y@Z@CZ@^Z@yZ@Z@Z@Z@Z@[@[@)[@:[@K[@\[@m[@~[@[@[@[@[@[@[@[@\@.\@aC@s\@}\@\@\@\@aC@\@\@aC@]@(]@5]@D]@S]@b]@q]@aC@]@]@]@]@]@]@]@]@^@^@)^@:^@K^@\^@aC@^@^@^@aC@aC@aC@aC@^@^@^@_@_@_@?`@c@c@b@=c@aC@aC@aC@Nc@\c@_b@pb@zb@aC@aC@b@b@b@b@b@_`@u`@`@`@`@`@`@a@?a@ea@a@a@a@a@b@=b@O\@{T@S@&8-opKxo_ "#+;`bcghiknoqtv
zuxKpRw!)x-.}/3xx:OB.
PTUVW[\Wr] deA6o
'V&:Nkssss,,%%x`
!06zb|xx:./13T74IY"iLc6HJJ^\/t efghjkOl9qrVvwxy|&'!(D-2D5;>B:EFGPQ:R:"% !89	

#$&'()*+,-./01234567:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~IGiSrZ$87  %&'9~ 89345 !":Z?867CDEFGH@ MNOPQRS99Z\67Ac5kgq8gXg8ak 8g%	l
 !"12()gg}%g}=8cd%% %%&'UW%345%67%:'%?CDEFGHyz{MNOPQRSH %Z\ %%!%%% !"k%67gq}67%}m9@9G9L !"_%&'ef%%%8345q%%%:%?%$
%%%H%%%MNOPQRS%%%;%%Z%\@%89G9L0k%6q8[_CefqU%\%8%	

%cYyZ%&'($9%345:%8&%?%%H\MNOPQRSd9%%Z\	

8%8k%&'9q%%%%8%%%9345%%@:%%%%?G%LcHMNOPQRS_$Z\9efqk%&'qM$&345:?4H@MNOPQRSb, Z\)*+,-kb67qhijkl@noprsuvw|}~[]aefq !"./0;<=>@ABIJKLTUVWXY^_`ef$q./0};<=>@ABIJKLTUVWXY^_`efq !"} !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !"&@ !"bhijklmnoprsuvw|}~ !"% !" !" !" !" !" !"Mc;y&aUWgYppQ\]IpqqBQqpexq\]#CL*R[ZG[\]:b^\]L\]J'EsFnXephikl_`nopqruqt01z{^w~uv3^_LT!^3\x^]^_p\y]de{LV|}q_~_=_ OQLpp;qq>;<xc4567`ab456"<=(>*;?456$%+3,-.2L	=
9/G8N>KOPQ*BRSZ[HJcdbffst+,?Tvwxy45|})6_gijklmnopq

*/")-05168:;LC;?KMDPU[\]ijklmnopqdiX=>*E?45j6FHoF4pGhg@qrstuvHwxIJKLMyNOPQRSTUVWXz{|45
}~ !"#$%&'()*+,-./01234567 !"#$%&8'()*m+,-./01234567
8










#
$
%
&
'
(
A
S
Y
Z
^
h
k
 
EFGHIJKLMNOPQRSTUVWX



;
E?>
<PFI@AOPRnH=@F?BCDEAG.36VaU]_PJ]_Bk4U6m(1/ !$%4&'*	QDYZ>\_
-87[KXbW^`C	hji635LNGIJTlWb^aQKX+20,#"59RSNL  Vf]`SH):c`YOM k'(9:[dd!#&)=7co\c"k:MgT 
;8eZ>:$<. rqs/%p+}+uvp|~*,t,0,xwyz
-{12
			














K#DH7^W,73"1CAz	
Y.9!:@r<=IN>?@A2EcAVlWj	mBD97f
CD`ayz{8	
8./0;<=>@ABIJKLTUVWXY^_`efq}&@bhijklnoprsuvw|}~}
8

	

8812%%8%%%%%%%%%%%%%%%&'345:?HMNOPQRSZ\kqm99@g%%8%%%%%%%%%%%%%%%%%%% !"8

}99@G_99%g	$%%g9$
8%(%CDEFG%%cYcZ$9

%&$8%%%d\9'%9%88 )*+,-67@[]aq9%%%%%6%9%67a67%%8%%%%%c$9BBBB
BBB#B
!#%**016789:;<=>?@BDFIKMOQSRVYX\`acejmpsvy}|#%$+,016;<AEEIHOPSUY[]_afmosuwy{}!#%'),.02468:<>@BDFHJLNPRTVY[]_acegikmoxz|~

#%-02676@mp|"&*.26<>	"#&+-/249>BEJNSX]bgjmpuz}
!%,.257;>?EFNOV[^abgjksuwy{
 "$&(*.29@BCHJKOQRZ[aeijnpsux}	!&+05<CJOV[]dkrw|

(-.123:<=AGHLMPRUZ]^abhjmrxyz{mhhionsssrjjj&&bbklpvvuw|}@$~I%J%`%;%;%=%<>^%_%K%@$Y%}%0102B%g%g%g%.89L%q% %6%7%6%7%6%6%7%6%7%7%6%%%%]a6%a%[%q%@$)*+,-

	e%f%A89@$Z\%T%U%U%V%WX%M% !"H%:O%N%P%Q%%k%&%&%3%4%5%?%'%R%S%q%Z%\%cc%&%d%89G89_89@$CDEFG%%(%(%'%Y89/89c%%89
	8	9
	
898989







}8
9}8
9

}
}*B~B/B:BC>BDBHBMBSB\BeBkBrBzBBBBBBBB+BPBBBBCBBBB­BƭBʭBέB[BԭBحBBBBBBBBB@B
BBB B3BJB[BhBzB~BBBBBîBݮBBBBBBBBB&B.B7BBBFBLBQBXBdB`BiBoBuB}BBBBBBBBBůB˯BѯBدBBBBBBBB3BBB	B&B.B6B<BEBBNBUB_BBdBmBqB~BBBBBBBBȰBΰBװBBBBBBB%B8B<B@BDBHBLBPBTB(C\BeBqBuBBBBBBBұBBBBByBBB*B3B7B;BFBIBLBCPB`BsBxBBBBBвBBBBBBB
BB'B0B+B:BEBCOBdBuBBBBBBB³BԳBܳBBBB:BQBaBlBhBqBBBBBCBBBB´BǴB̴BѴBִB۴BBBB;CBBBB,B8BABQBVB[B`BfBpBuBzBBBBBBB̵B޵BBBCB
BB"B)B2B=BABEB%F: macros nested too deeply
redirectbad buffer in yy_scan_bytes()\%03o%F%P: EOF in comment
ldlex.l in script in expressionout of dynamic memory in yyensure_buffer_stack()out of dynamic memory in yy_scan_buffer()out of dynamic memory in yy_scan_bytes()out of dynamic memory in yy_create_buffer()%F:includes nested too deeply
%F%s: file not recognized: %E
%P:%S: ignoring invalid character `%s'%s
fatal flex scanner internal error--end of buffer missedfatal error - scanner input buffer overflow%F%P: read in flex scanner failed
out of dynamic memory in yy_get_next_buffer()fatal flex scanner internal error--no action foundx@gz@Sz@?z@!z@{z@%@{@^@J@@@R@@@@@n@Z@F@2@@
@@@Ί@@@@~@j@V@B@.@@@@މ@ʉ@@@@z@f@R@>@*@@@@ڈ@ƈ@@@@v@b@N@:@&@@@@և@‡@@@@r@^@J@6@"@@@@҆@@@@@n@Z@F@2@@
@@@΅@@@@~@j@V@B@.@@@@ބ@ʄ@@@@z@f@R@>@*@@@@ڃ@ƃ@@@@v@b@N@:@&@@@@ւ@‚@@@@
{@@z@z@E@1@@	@@@̀@@@@}@i@U@A@-@@@@@@@@@y@e@Q@=@)@@@~@~@~@~@~@~@c~@B~@%~@~@~{@}@
{@z@r|@^|@J|@6|@|@{@{@Ō@@@r@
{@z@z@@с@}@|@Y@Y@Y@Y@Y@Y@Y@Y@Y@	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ &,+"#$%-.'(!
	sq*) &,+"#$%-.'(!
	*)$%sq~"#$%-.(!
	w
ww~~[Ftr=>[F=>tr:4bkWl{`B^h:4kl{B:4bkWl{`B^hU63j@]LKva_63jLU63j@]LKva_?VAT5/i1JG\H?5i1G?VAT5/i1JG\HA<NuceypX2<Numyp<NuceypX2};Sx};x};SxMMMnoInonoIdZddZP|0f|P|0fYEEYEzDCzDCzDC999gg777OO888QQRR7766688699::;;666666<=6666=========66=6===========================666=666<>66666666>>6Z666666>bbbbb>>>>>>>>>66b>666>?6??66?????????????????????????@66@66ABC666BBZZ6D66BBBBBBB66BBBBBBB66E66F666GGGG6666<6==66=======66=66=====================================================66>>666H66ZZ*66I6bbb>>>>b>>>bb>>>>>>>>>>>>>>>>>>>b>??J?6I??????????????????????????????????????????????????????@@A6BBCCDBBBBBBBBBBBBBBBBBBBBBBBBBBB6EFG6GGG66================================================================>HI>b>>>>>>>>b>>>>>>>>>>>>>>>>>>>>>>>?J??????????????????????????????????????????????????????????????????@BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBGGG============================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????BBBBBBBBKBBBBBBBBBBBBBBBLBBBBBBBGGG==================================================>>>>>>>>>>>>>>>>>>>>>>>>>>??????????????????????????????????????????????????BBBBBMKBBBBBBBBBNLBBBBGGG=========================================>>>>>>>>>>>>>>>>>>>>>>>?????????????????????????????????????????BBBBBBBBBBBBGG===============================>>>>>>>>>>>>>>>>>>>???????????????????????????????BBBBBB========================>>>>>>>>>>>>>>????????????????????????BBBBBB===================>>>>>>>>>???????????????????===================>>>>>>>>>???????????????????================>>>>>>>????????????????==============>>>>>>??????????????==========>>>>>??????????==========>>>>>>??????????=======>>>???????=======>>>???????======>>??????=====>>?????====>????====>????====>????===>???==??=?=?666666666666666666666666	
																																				
QC5													A						;=		^												D	W					!Uq2		'	X	5A;			MYZ					"	jT7]				=RMT													A					C			n{							w	s	@u									b																R								|	8		{	}			{	x	z	n	y	{	o	}	}	q	~	w	n	b	i	u	d	w	u	c	c	b	C	F	K	<								F)			JMyf	`	^	g	h	[	d	Z	f	N	W	L	W	Y	\	Q	X	D	X	Z	'	tG	U	D	N	P	G	E	?	M	=	J	J	:	A	=	9	;	=	"C	9	9	7	,	7	9	-	;	;	/	<	5	&,	 	'	3	"	5	3	!	!	 					BC		uAxI#	"	&				%		 	!		 		V)			Di											w~{zuvsyson~rviNVjsrfpg_nlkcZ[^>bFE:C;4A?>7/02PIQJMHTFLBA5E>8;=:H<6H563E354A"7*2*3,703#'+/%'*%#

q|uxa`Kl)"	("5_qFPOjksp "# %'%!/-$-;4+24DEJG:IKB2NJ@MR>EXVROJ^\[b\^gltbowgmLZkttoYU]]Yil~
%&" 	842$7!3"EF8G1?@456NI42UVHZOXARIWXMoRqoa]u_q]\ceew	$(&( #!$+'15640-):/B?BOM?AOSV8IY[N\>PaQaY[hfXZhgjL]STeaqdglL]xjmQmcduqsv{[lq{		:EP[fqy{
															$H								$))


 ++--0-.
0.-/.	/		--120728.2981Wv7H^^9			














%%








;QY:[W%:%;::kY!Q``v%lk|
m

l>[>>|m%%>>>">>%>


#z&&cncpncpnc&p&ccdpddzddd$&&%eeeeggeffgeefggfff))ssps&pssG@@sG':(:)q}}q*h~~5}}bhb5+~}~\r,\0r}}}1~5~6**nnn89:;n<*n*OO@*AEOOOOOO001F1*H*0I1JM*00O11POOOOOOZZLVVQRZZZZZZUZ2Z2ZVZVV2vZv22JWvZZZZZZ7Z7ZLZVZVK7ZZbb[77]bbbbbbbT;b;_b`bbb;cdbKeT;;fbbbbbb<b<<gbhi<jkbyy<<PlPyyyyyyPnopPPqrtuvxyz{yyyyyy|}P~

"""""""" !"#"$"%')*+,-.012578:<=>""""""?@A"B"SSCDEFGJSSSSSSKLMNSRSSTXYZ[]^_`acdfghjmSSSSSSnopSkSqkrsvxyz|}~22222222222222222

222BB
BBBBBBBBBBBBBB !"#$%&'()*+./013456789:B=>?@ABCDEFGJKLMOPQRSTUBBBVWXY\]^_`abcdeghijklmnopstuvwxyz|}	

 !"$%&(),-/123777777777778888888888899999999999:::::::::::;;;;;;;;;;;<<<<<<<<<<<========>I>>>>>???????@@@@AAAAAAAAAAABBBBBBCCCCCCCCCCDDDDDDDDDDEEEEEEEEEEFFGGGGGGHHHHHHJJJJJJJK	KKKKKKKKKLLLLLLLLLLMMMMMMMMMMNNNNNNNNNN~}|{zyxwvusrqolihgfedcba`_^]\[ZYXWVUTSRQPNKJIHGFEDCA@?>=<;:9876543210/.-,+('&%$#"! 

	~}|{zyxwutspomlkjigfedca`_^[ZYXQONMLKJIHFEDCBA?>=984

	tojih_UTNMLFEDC@?=<6543*" 6666666666666666666666666666666666666666666666666666666666666666666666666666666666 !"#$%&'()*+,-./012345#6789:;<=>?#@####A#B#C#########D##E##F####GHIJKLMNKOPQRSTUVWXYZ[\]^_`abcdefghXiXjklmnoXXpXXXXXXXqXrKXsgggggXXXXXXXXXXtXXXXuvwxKLMNKyPQRSTUVz{|}~\]^_`a{{{{{{q{rK{{{{{{{{{{{{{{{{{{uvwKKKKKKKKKKK}~KKKKKKKK% KKKKKKKKKKKKKK}~KKKKK',&	

B( D,C'KFKKE,UGgh,KKK)+GHI%7H7bLIc8MJ9N!!7O7^!T_:p`i!!jkqa;7d7<e7r7!s77t!=!f!!!!!XuY>Zw{,x[vyz|\]LJ,77+!,!!PKJVVK<VV
--5=6-W-/L0M--W--**C\D]E^F6G6"",""""""777766!!,!!!""""""))VV*+*+**,7---,-;!Q<.Ro!!S*+*+**7,7---,-!.00!!010200q37473r56!3!0707007373!3SS!!77SSSSSS7!7--!!!!!	SSSSSS-
-'7
7!!! !"#$%&'()+,-./0123456789:*;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX[\]^_`abcdefghijklmnopqrstuYvwxyZz{|}~""""""""""""""SSSSSSSS))SSSSSS))mmmmnnnn	

 !"$%&'()*+,./#0123-456789:=>?;@A<BCDEFGHJKILMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~	

 !"#$%&'()*+,-./012345!!!!!!RRRRRRR*******~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMIHGFEDCBA@?>=:9876543210/.-*)('&%$#"! 

	~}|{zyxwvutsplkjihgfedcba`_[ZYXWVUTPONIHBA@?>;:9874321.-,+(&%$#"! 
	'/(%$~}onmlQKA@?/$#6666666666666666666666666666666666666666666666666666666666666666666666666666666666yylex














































%P%F: invalid hex number `%s'
%P%F: use the --help option for usage information
%P%F: unrecognized -a option `%s'
%P%F: unrecognized -assert option `%s'
%F%P: unknown demangling style `%s'%s: emulation specific options:
<http://bugzilla.redhat.com/bugzilla/>%P%F: bad --unresolved-symbols option: %s
%P%F: invalid common section sorting option: %s
%P%F: invalid section sorting option: %s
%P%F: invalid argument to option "--section-start"
%P%F: missing argument(s) to option "--section-start"
%P%F: may not nest groups (--help for usage)
%P%F: group ended before it began (--help for usage)
%P%X: --hash-size needs a numeric argument
Shared library control for HP/UX compatibilitySpecify target for following input filesForce common symbols to be definedUndo the effect of --export-dynamicAuxiliary filter for shared object symbol tableFilter for shared object symbol tableSmall data size (if no size, same as --shared)Set internal name of shared librarySet PROGRAM as the dynamic linker to useAdd DIRECTORY to library search pathOverride the default sysroot locationPrint map file on standard outputDo not page align data, do not make text readonlyPage align data, make text readonlyIgnored for SVR4 compatibilityGenerate relocations in final outputJust link symbols (if directory, same as --rpath)Strip symbols in discarded sectionsDo not strip symbols in discarded sectionsStart with undefined reference to SYMBOLDon't merge input [SECTION | orphan] sectionsBuild global constructor/destructor tablesPrint version and emulation informationDiscard temporary local symbols (default)Don't discard any local symbolsDefault search path for Solaris compatibilityAccept input files whose architecture cannot be determinedReject input files whose architecture is unknownOnly set DT_NEEDED for following dynamic libs if usedAlways set DT_NEEDED for dynamic libraries mentioned on
                                the command lineIgnored for SunOS compatibilityDo not link against shared librariesBind global references locallyBind global function references locallyCheck section addresses for overlaps (default)Do not check section addresses for overlapsCopy DT_NEEDED links mentioned inside DSOs that followDo not copy DT_NEEDED links mentioned inside DSOs that followDemangle symbol names [using STYLE]Do not treat warnings as errors (default)Force generation of file with .exe suffixRemove unused sections (on some targets)Don't remove unused sections (default)List removed unused sections on stderrDo not list removed unused sectionsSet default hash table size close to <NUMBER>Use less memory and more disk I/ODo not allow unresolved references in object filesAllow unresolved references in shared libariesDo not allow unresolved references in shared libsCreate default symbol version for imported symbolsDon't warn about mismatched input filesDon't warn on finding an incompatible libraryCreate an output file even if errors occurOnly use library directories specified on
                                the command lineIgnored for Linux compatibilityReduce memory overheads, possibly taking much longerRelax branches on certain targetsKeep only symbols listed in FILESet runtime shared library search pathSet link time shared library search pathCreate a position independent executableSort common symbols by alignment [in specified order]Sort sections by name or maximum alignmentHow many tags to reserve in .dynamic sectionSplit output sections every SIZE octetsSplit output sections every COUNT relocsDisplay target specific optionsUse same format as native linkerHow to handle unresolved symbols.  <method> is:
                                ignore-all, report-all, ignore-in-object-files,
                                ignore-in-shared-libsOutput lots of information during linkRead version information scriptTake export symbols list from .exports, using
                                SYMBOL as the version.Add data symbols to dynamic listUse C++ operator new/delete dynamic listWarn about duplicate common symbolsWarn if global constructors/destructors are seenWarn if the multiple GP values are usedWarn only once per undefined symbolWarn if start of section changes due to alignmentWarn if shared object has DT_TEXTRELWarn if an object has alternate ELF machine codeReport unresolved symbols as warningsReport unresolved symbols as errorsInclude all objects from following archivesUse wrapper functions for SYMBOL-G--shared--library=%s%P: unrecognized option '%s'
defaultnodefinitionsnosymbolicpure-text%P%F: invalid number `%s'
Usage: %s [options] file...
Options:
%s-%c%s-%s%s  @FILERead options from FILE
%s: supported targets:%s: supported emulations: Report bugs to %s
ignore-allreport-allignore-in-object-filesignore-in-shared-libs%P%F: bad -rpath option
%s%c%s%P%F: -shared not supported
%P%F: -pie not supported
descendingascending.bss.data.text.text-segmentP,KEYWORDSet architecturemri-scriptRead MRI format linker scriptdcdpentrySet start addressExport all dynamic symbolsno-export-dynamicEBLink big-endian objectsLink little-endian objectsauxiliaryfilterIgnoredgpsizesonameFILENAMEdynamic-linkerPROGRAMSearch for library LIBNAMElibrary-pathDIRECTORYsysroot=<DIRECTORY>Set emulationprint-mapnmagicDo not page align datano-omagicSet output file nameOptimize output fileQyemit-relocsrelocatableGenerate relocatable outputjust-symbolsstrip-allStrip all symbolsstrip-debugStrip debugging symbolsno-strip-discardedtraceTrace file opensRead linker scriptdefault-scriptRead default linker scriptdTunique[=SECTION]UrPrint version informationdiscard-allDiscard all local symbolsdiscard-localsdiscard-nonetrace-symbolTrace mentions of SYMBOLstart-groupStart a groupend-groupEnd a groupno-accept-unknown-input-archno-add-neededno-as-neededassertBdynamicLink against shared librariescall_sharedBstaticdnnon_sharedBsymbolicBsymbolic-functionsno-check-sectionsno-copy-dt-needed-entriescrefOutput cross reference tabledefsymSYMBOL=EXPRESSIONDefine a symbol[=STYLE]embedded-relocsGenerate embedded relocsTreat warnings as errorsno-fatal-warningsCall SYMBOL at unload-timeforce-exe-suffixno-gc-sectionsno-print-gc-sectionshash-size=<NUMBER>Print option helpCall SYMBOL at load-timeMapWrite a map fileno-define-commonDo not define Common storageno-demangleDo not demangle symbol namesno-keep-memoryno-undefinedno-allow-shlib-undefinedallow-multiple-definitionAllow multiple definitionsno-undefined-versionDisallow undefined versiondefault-symverCreate default symbol versiondefault-imported-symverno-warn-mismatchno-warn-search-mismatchno-whole-archiveTurn off --whole-archivenoinhibit-execnoinhibit_execnostdliboformatSpecify target of output fileqmagicreduce-memory-overheadsrelaxretain-symbols-filerpathrpath-linkCreate a shared libraryBshareablepiepic-executablesort-common[=ascending|descending]sort_commonsort-sectionname|alignmentspare-dynamic-tagsCOUNTsplit-by-file[=SIZE]split-by-reloc[=COUNT]statsPrint memory usage statisticstarget-helptask-linkDo task level linkingtraditional-formatsection-startSECTION=ADDRESSSet address of named sectionTbssSet address of .bss sectionTdataSet address of .data sectionTtextSet address of .text sectionTtext-segmentSet address of text segmentunresolved-symbols=<method>dll-verboseversion-scriptversion-exports-sectiondynamic-list-datadynamic-list-cpp-newdynamic-list-cpp-typeinfoUse C++ typeinfo dynamic listdynamic-listRead dynamic listwarn-commonwarn-constructorswarn-multiple-gpwarn-oncewarn-section-alignwarn-shared-textrelwarn-alternate-emwarn-unresolved-symbolserror-unresolved-symbolswrapΓ@@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@j@@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@@Γ@@Γ@Γ@Γ@@@@Γ@W@Γ@Γ@j@@@@Γ@Γ@@*@9@Γ@r@Γ@@@Γ@Γ@Γ@Γ@Γ@Γ@Γ@ޞ@	@@:@I@_@`@@@Γ@Γ@P@`@q@@Γ@@@@@Ǡ@ؠ@Γ@@@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@Γ@@@@@@W@`@m@|@@@@@`@M@`@o@{@@@@@Ƥ@ݤ@@5@@e@@@@՚@@ @@/@E@[@@1@@=@q@@@Û@[@ę@@@@@@%@4@C@R@v@@@@@h@w@@@@@@ǖ@@@@	@(@;@5@O@&@z@b@n@@@@@͘@ܘ@@@@@+@:@@2@ۥ@@e@؟@Z@aC`qCCAABCrCbbCqCCccnCŃCCddqCCdCeeCCCECCqC.C1CnBICdCffBrCnCFFB@rCguC}CGG>ChrCChCrCCICrC]CllCCƄCLLӄCrC݄CsCmCCCMM@sC	CnnC*CNNhsC'CsCCoonC1COFC[CsC^CqqsCjCrrvCiCRRnCtCCssCCSSDžCCHtC߅CptCCttCTBTTnC	CCnC+CFC0BuuنCtCICPCtC[CuCCv^CV0uCxCxxCCXXXuCCuCCyyنCdžCYEuCC((CC))CCuCCvC0C-C>CPvC;CvCHCCvCOCXCBvCCwCCCCC@wCC`wCCwCCwCˇCwCȇC xCCCCCC^C-C`xC6CFC{C_CxCxCCنCCCxCCxCCyCȈC@yCňChyCڈCyCCCCنCCCnCC-C>C[CgCCyCCyCC zCCPzCCӉCCCC-CKCzCcCzCtCzCCCC{CŊCԊCH{C݊CCCC{C
C{C"C|C(CnC(|C<CEP|CBCEx|CCMCeCpC|CtCCC|CCCC}CϋCC@}CCCp}CC
C}CCC:C}CFCنCPCfC}CyCCCCCCՌCCیCCCCCC)CEC~CeC~CaCmCnC~C|CنCCCxCCCCՍCCnCCCCCC0C0CACXCKCC^CCrCCCCC@CChCCنCC@X@@@ȱ@ȱ@ȱ@ȱ@ȱ@ȱ@@@ȱ@@@ȱ@@ж@@@x@x@x@@p@@@@@@@@`@@@`@@@@@@P@@@@@@@ @@@@@@@@@p@@@@@@@@`@@@`@@@@@@P@@@@@@@ @@g@g@g@@g@g@g@g@g@g@g@g@@g@@ @@@@@@@x@@@@@@@@@@@@@@n@@@@@@h@P@@@@@@@@8@@@@@h@@x@@@@@@AAAA`AAAAAA8AAAAAA A A A A A Aj Aj A A*A(AX*A*A)A(AX*AX*A0)AX*A)A(AX*Ax)A(A(AGAHAGIAqIAIAJAJAKAKAKAhLALALAjMA+GAVGANANANAcNANAcompare_sectionlang_do_assignments_1lang_size_sections_1print_data_statementload_symbolspop_stat_ptrpush_stat_ptr%X%P: unable to find version dependency `%s'
%P%F: invalid syntax in flags
%X%P: address 0x%v of %B section `%s' is not within region `%s'
%X%P: %B section `%s' will not fit in region `%s'
%X%P: anonymous version tag cannot be combined with other version tags
%X%P: duplicate version tag `%s'
%X%P: duplicate expression `%s' in version information
%X%P: unknown language `%s' in version information
%P%F: bfd_link_hash_lookup failed: %E
%P%F: Could not define common symbol `%T': %E
Common symbol       size              file

%F%P: invalid reloc statement
%X%P:%S: PHDRS and FILEHDR are not supported when prior PT_LOAD headers lack them
%F%P:%S: error: alias for default memory region
%F%P:%S: error: redefinition of memory region alias `%s'
%F%P:%S: error: memory region `%s' for alias `%s' does not exist
%P:%S: warning: redeclaration of memory region `%s'
%P:%S: warning: memory region `%s' not declared
%X%P:%S: section has both a load address and a load region
%F%S: non constant or forward reference address expression for section %s
%P%X: Internal error on COFF shared library section %s
%P%F: error: no memory region specified for loadable section `%s'
%P: warning: no memory region specified for loadable section `%s'
%P: warning: changing start of section %s by %lu bytes
%P: warning: dot moved backwards before `%s'
%P%F: can't relax section: %E
%P%F: bfd_hash_lookup failed creating symbol %s
%P: warning: could not find any targets that match endianness requirement
%P%F: cannot open output file %s: %E
%P%F:%s: can not make object file: %E
%P%F:%s: can not set architecture: %E
%P%F: can not create hash table: %E
%F%B: file not recognized: %E
%F%B: member %B in archive is not an object
%F%B: could not read symbols: %E
%P: warning: %s contains output sections; did you forget -T?
%P%F: bfd_hash_allocate failed creating symbol %s
%P%F: failed creating section `%s': %E
%P%F: Illegal use of `%s' section
%P%F: output format %s cannot represent section called %s
%P%F: Failed to create hash table
%P%F: Relocatable linking with relocations from format %s (%B) to format %s (%B) is not supported
%P%X: %s architecture of input file `%B' is incompatible with %s output
%P%X: failed to merge target specific data of file %B
%X%P: unable to read .exports section contents
%F%P: %s not found for insert
%F%P: no sections assigned to phdrs
%F%P: bfd_record_phdr failed: %E
%X%P: section `%s' assigned to non-existent phdr `%s'
%X%P: section %s loaded at [%V,%V] overlaps section %s loaded at [%V,%V]
%X%P: region `%s' overflowed by %ld bytes
%P%F: gc-sections requires either an entry or an undefined symbol
%P%F:%s: can't set start address
%P%F: can't set start address
%P: warning: cannot find entry symbol %s; defaulting to %V
%P: warning: cannot find entry symbol %s; not setting start address

Linker script and memory map

%P%F: multiple STARTUP files
C++Javaoperator new*operator delete*typeinfo name for*typeinfo for*ldlang.c
Allocating common symbols
%lx%016lx0x%V                %T
elf32-bigelf64-bigelf32-littleelf64-little%F%P: invalid data statement
program header typeCOMMON-l__load_start_%s__load_stop_%sload base0x%V %W %B
%W (size before relaxing)
%P%F: target %s not found
%B: file not recognized: %E
%B: matching formats:%F
%I
ALL/DISCARD/.exportsphdr flagsphdr load addressNONE.startof.%s.sizeof.%ssubsection alignment__stop_%s__start_%s*ABS*Fail with %d
 SORT (CONSTRUCTORS)
 CONSTRUCTORS
SORT(EXCLUDE_FILE(%s) Address of section %s set to  CREATE_OBJECT_SYMBOLS
 FILL mask 0x%02x0x%V %W %s 0x%v0x%V %W RELOC %s %s+ *fill*0x%V %W 
%s0x%V %W load address 0x%V[0x%V][unresolved]*undef*                   TARGET(%s)
OUTPUT(%sLOAD %s
START GROUP
END GROUP
INSERT %s %s

Discarded input sections


Memory Configuration

AttributesLengthOriginName%-16s %-18s %-18s %s
%-16s 0x%s  !srecIEEEieeeCOFFcoff-m68k%P%F: unknown format type %s
mri.cmri_alias%P%X: %s does not support reloc %s for set %s
%P%X: Unsupported size %d for set %s
%P%X: Different relocs used in set %s
%P%X: Different object file formats composing set %s

Set                 Symbol

%G
GLOBAL_%X%C: reloc refers to symbol `%T' which is not being output
%X%C: dangerous relocation: %s
%X%C: multiple definition of `%T'
%P: Disabling relaxation: it will not work with multiple definitions
%X%P: error: duplicate retain-symbols-file
%P%F: bfd_hash_table_init failed: %E
%P%F: bfd_hash_lookup for insertion failed: %E
%P: `-retain-symbols-file' overrides `-s' and `-S'
%P%F: bfd_hash_lookup failed: %E
 additional relocation overflows omitted from the output
 relocation truncated to fit: %s against undefined symbol `%T' relocation truncated to fit: %s against symbol `%T' defined in %A section in %B relocation truncated to fit: %s against `%T'%F%P: bfd_hash_table_init failed: %E
%F%P: bfd_hash_lookup failed: %E
%X%C: undefined reference to `%T'
%C: warning: undefined reference to `%T'
%X%D: more undefined references to `%T' follow
%D: warning: more undefined references to `%T' follow
%X%B: undefined reference to `%T'
%B: warning: undefined reference to `%T'
%X%B: more undefined references to `%T' follow
%B: warning: more undefined references to `%T' follow
%B%F: could not read symbols: %E
%B%F: could not read relocs: %E
%P: warning: global constructor %s used
%B: warning: definition of `%T' overriding common
%B: warning: common of `%T' overridden by definition
%B: warning: common of `%T' overridden by larger common
%B: warning: larger common is here
%B: warning: common of `%T' overriding smaller common
%B: warning: smaller common is here
%B: warning: multiple common of `%T'
%B: warning: previous common is here
Archive member included because of file (symbol)

%P%F: BFD backend error: BFD_RELOC_CTOR unsupported
%P%F: this linker was not configured to use sysroots
%X%P: can't set BFD default target to `%s': %E
%P%F: -r and -shared may not be used together
%P%F: -F may not be used without -shared
%P%F: -f may not be used without -shared

==================================================
%P%F: cannot open map file %s: %E
%P: link errors found, deleting executable `%s'
%X%P: unable to open for source of copy `%s'
%X%P: unable to open for destination of copy `%s'
%s: total time in link: %ld.%06ld
%D: first defined here
%X%P: %s: %E
%B: reference to %s
%B: definition of %s
%X%C:./ldmain.c+%v%Xusing multiple gp valueswarning: %C: %s%s
%P: %s%s
%B: %s%s
%B: warning: common is here
%B: warning: defined here
%s(%s)%B (%T)
/usr/share/locale--sysroot=x86_64-redhat-linux-gnuCOLLECT_NO_DEMANGLE_init_finiLDEMULATIONelf_x86_64-m%P%F: missing argument to -m
-mips1-mips2-mips3-mips4-mips5-mips32-mips32r2-mips64-mips64r2-m486using external linker script:using internal linker script:%P%F: no input files
%P: mode %s
%F%B: final close failed: %E
.exe.dll%P: Error writing file `%s'
%P: Error closing file `%s'
%s: data size %ld
a.outqAsAsAxsAxsA`sAreloc_overflowldwrite.c.stabstr$GDB_STRINGS$$GDB_SYMBOLS$%F%P: final link failed: %E
%P%F: bfd_new_link_order failed
%F%P: cannot create split section name for %s
%F%P: clone section failed: %E
ȇAȇAAAAAAĈAAAbuild_link_order<code %d>NULL TREE
%B:%s+0x%vPROVIDE (%s, ASSERT (, %s) (%s)ldexp.c%X%P: %s
%F%S %% by zero
%F%S / by zero
MAXPAGESIZECOMMONPAGESIZE+=-=*=/=<<=>>=&=|=||&&==!=<<>>MAXMINASSERTxAАA@AxAAAAБAA@A`A`AAA8A8A8AAДAABCCCFC
IC	LCOCSCWCZC
]C`CcCfCPCTCiClCBBBBBBBB)B0B7&B8C97B:BB;FB<LB>XB=QB?dB@`ByBZBAoCBsC`wCgjC$ B%3B&JBIBKB.ݮB%F%S can not PROVIDE assignment to location counter
%F%S invalid assignment to location counter
%F%S assignment to location counter invalid outside of SECTION
%F%S cannot move location counter backwards (from %V to %V)
%P%F:%s: hash creation failed
%X%S: unresolvable symbol `%s' referenced in expression
%F%S: undefined symbol `%s' referenced in expression
%F%S: undefined section `%s' referenced in expression
%F%S: undefined MEMORY region `%s' referenced in expression
%F%S: unknown constant `%s' referenced in expression
%F%S: nonconstant expression for %s
%s: 
Supported emulations: %S HLL ignored
%S SYSLIB ignored
GNUTARGET  no emulation specific options.
%P: unrecognised emulation mode: %s
GNU ld %s
  Supported emulations:
   %s
version 2.20.51.0.2-5.36.el6 20100205Copyright 2009 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.
0x%sno symbol[%s]%s generated--defsym %s%s:%ubuilt in linker script:%u%s+0x%v (type %s)%B: In function `%T':
%s:%T%B:(%A+0x%v)%ld%lu%%%c%P%F: please report this bug
%F%P: internal error %s %d
%P: internal error: aborting at %s line %d in %s
%P: internal error: aborting at %s line %d
AڳAڳAڳAڳAڳAڳAڳAڳAڳAڳAڳAڳAڳAڳAڳAڳAڳAڳAڳAڳAڳAڳAڳAڳAڳAڳAڳAʹAcA׷A׷A\AA׷AڳAAڳAڳAڳAڳAڳAڳAAڳAѶAAAڳA'A'AOAڳAڳAڳAڳAڳAڳAڳAڳAڳAڳAڳAuAڳAڳAڳAڳAڳAڳAڳAAڳAڳAڳAڳAڳAڳAʹAڳAATA%P%F: cannot represent machine `%s'
%P%F: cannot open linker script file %s: %E
%F%P: invalid BFD target `%s'
%P: skipping incompatible %s when searching for %s
%F%P: attempted static link of dynamic object `%s'
%F%P: %s (%s): No such file: %E
%F%P: cannot find %s inside %s
/ldscriptscannot find script file %s
opened script file %s
/usr/lib/usr/binattempt to open %s failed
attempt to open %s succeeded
%F%P: %s: No such file: %E
.a%F%P: cannot find %s
C%X%C: prohibited cross reference from %s to `%T' in %s
%P: symbol `%T' missing from main hash table
%X%P: bfd_hash_table_init of cref table failed: %E
%X%P: cref_hash_lookup failed: %E

Cross Reference Table

SymbolFile
No symbols
ldcref.c%X%P: cref alloc failed: %E
/* Script for ld -r: link without relocation */
OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64",
	      "elf64-x86-64")
OUTPUT_ARCH(i386:x86-64)
 /* For some reason, the Solaris linker makes bad executables
  if gld -r is used and the intermediate file has sections starting
  at non-zero addresses.  Could be a Solaris ld bug, could be a GNU ld
  bug.  But for now assigning the zero vmas works.  */
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  .interp       0 : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash         0 : { *(.hash) }
  .gnu.hash     0 : { *(.gnu.hash) }
  .dynsym       0 : { *(.dynsym) }
  .dynstr       0 : { *(.dynstr) }
  .gnu.version  0 : { *(.gnu.version) }
  .gnu.version_d 0: { *(.gnu.version_d) }
  .gnu.version_r 0: { *(.gnu.version_r) }
  .rela.init    0 : { *(.rela.init) }
  .rela.text    0 : { *(.rela.text) }
  .rela.fini    0 : { *(.rela.fini) }
  .rela.rodata  0 : { *(.rela.rodata) }
  .rela.data.rel.ro 0 : { *(.rela.data.rel.ro) }
  .rela.data    0 : { *(.rela.data) }
  .rela.tdata	0 : { *(.rela.tdata) }
  .rela.tbss	0 : { *(.rela.tbss) }
  .rela.ctors   0 : { *(.rela.ctors) }
  .rela.dtors   0 : { *(.rela.dtors) }
  .rela.got     0 : { *(.rela.got) }
  .rela.sharable_data	0 : { *(.rela.sharable_data) }
  .rela.sharable_bss	0 : { *(.rela.sharable_bss) }
  .rela.bss     0 : { *(.rela.bss) }
  .rela.ldata   0 : { *(.rela.ldata) }
  .rela.lbss    0 : { *(.rela.lbss) }
  .rela.lrodata 0 : { *(.rela.lrodata) }
  .rela.ifunc   0 : { *(.rela.ifunc) }
  .rela.plt     0 :
    {
      *(.rela.plt)
    }
  .init         0 :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt          0 : { *(.plt) *(.iplt) }
  .text         0 :
  {
    *(.text .stub)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini         0 :
  {
    KEEP (*(.fini))
  } =0x90909090
  .rodata       0 : { *(.rodata) }
  .rodata1      0 : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame     0 : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table 0 : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  /* Exception handling  */
  .eh_frame     0 : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	0 : { *(.tdata) }
  .tbss		0 : { *(.tbss) }
  .preinit_array   0 :
  {
    KEEP (*(.preinit_array))
  }
  .init_array   0 :
  {
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
  }
  .fini_array   0 :
  {
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
  }
  .jcr          0 : { KEEP (*(.jcr)) }
  .dynamic      0 : { *(.dynamic) }
  .got          0 : { *(.got) *(.igot) }
  .got.plt      0 : { *(.got.plt)  *(.igot.plt) }
  .data         0 :
  {
    *(.data)
  }
  .data1        0 : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data 0 :
  {
    *(.sharable_data)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
  }
  .bss          0 :
  {
   *(.dynbss)
   *(.bss)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
  }
  .lbss 0 :
  {
    *(.dynlbss)
    *(.lbss)
    *(LARGE_COMMON)
  }
  /* Sharable bss sections  */
  .sharable_bss 0 :
  {
    *(.dynsharablebss)
    *(.sharable_bss)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
  }
  .lrodata 0  :
  {
    *(.lrodata)
  }
  .ldata 0  :
  {
    *(.ldata)
  }
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
}

/* Script for ld -Ur: link w/out relocation, do create constructors */
OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64",
	      "elf64-x86-64")
OUTPUT_ARCH(i386:x86-64)
 /* For some reason, the Solaris linker makes bad executables
  if gld -r is used and the intermediate file has sections starting
  at non-zero addresses.  Could be a Solaris ld bug, could be a GNU ld
  bug.  But for now assigning the zero vmas works.  */
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  .interp       0 : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash         0 : { *(.hash) }
  .gnu.hash     0 : { *(.gnu.hash) }
  .dynsym       0 : { *(.dynsym) }
  .dynstr       0 : { *(.dynstr) }
  .gnu.version  0 : { *(.gnu.version) }
  .gnu.version_d 0: { *(.gnu.version_d) }
  .gnu.version_r 0: { *(.gnu.version_r) }
  .rela.init    0 : { *(.rela.init) }
  .rela.text    0 : { *(.rela.text) }
  .rela.fini    0 : { *(.rela.fini) }
  .rela.rodata  0 : { *(.rela.rodata) }
  .rela.data.rel.ro 0 : { *(.rela.data.rel.ro) }
  .rela.data    0 : { *(.rela.data) }
  .rela.tdata	0 : { *(.rela.tdata) }
  .rela.tbss	0 : { *(.rela.tbss) }
  .rela.ctors   0 : { *(.rela.ctors) }
  .rela.dtors   0 : { *(.rela.dtors) }
  .rela.got     0 : { *(.rela.got) }
  .rela.sharable_data	0 : { *(.rela.sharable_data) }
  .rela.sharable_bss	0 : { *(.rela.sharable_bss) }
  .rela.bss     0 : { *(.rela.bss) }
  .rela.ldata   0 : { *(.rela.ldata) }
  .rela.lbss    0 : { *(.rela.lbss) }
  .rela.lrodata 0 : { *(.rela.lrodata) }
  .rela.ifunc   0 : { *(.rela.ifunc) }
  .rela.plt     0 :
    {
      *(.rela.plt)
    }
  .init         0 :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt          0 : { *(.plt) *(.iplt) }
  .text         0 :
  {
    *(.text .stub)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini         0 :
  {
    KEEP (*(.fini))
  } =0x90909090
  .rodata       0 : { *(.rodata) }
  .rodata1      0 : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame     0 : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table 0 : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  /* Exception handling  */
  .eh_frame     0 : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	0 : { *(.tdata) }
  .tbss		0 : { *(.tbss) }
  .preinit_array   0 :
  {
    KEEP (*(.preinit_array))
  }
  .init_array   0 :
  {
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
  }
  .fini_array   0 :
  {
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
  }
  .jcr          0 : { KEEP (*(.jcr)) }
  .dynamic      0 : { *(.dynamic) }
  .got          0 : { *(.got) *(.igot) }
  .got.plt      0 : { *(.got.plt)  *(.igot.plt) }
  .data         0 :
  {
    *(.data)
    SORT(CONSTRUCTORS)
  }
  .data1        0 : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data 0 :
  {
    *(.sharable_data)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
  }
  .bss          0 :
  {
   *(.dynbss)
   *(.bss)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
  }
  .lbss 0 :
  {
    *(.dynlbss)
    *(.lbss)
    *(LARGE_COMMON)
  }
  /* Sharable bss sections  */
  .sharable_bss 0 :
  {
    *(.dynsharablebss)
    *(.sharable_bss)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
  }
  .lrodata 0  :
  {
    *(.lrodata)
  }
  .ldata 0  :
  {
    *(.ldata)
  }
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
}

/* Script for -N: mix text and data on same page; don't align data */
OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64",
	      "elf64-x86-64")
OUTPUT_ARCH(i386:x86-64)
ENTRY(_start)
SEARCH_DIR("/usr/x86_64-redhat-linux/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000)); . = SEGMENT_START("text-segment", 0x400000) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rela.init      : { *(.rela.init) }
  .rela.text      : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) }
  .rela.fini      : { *(.rela.fini) }
  .rela.rodata    : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) }
  .rela.data.rel.ro   : { *(.rela.data.rel.ro* .rela.gnu.linkonce.d.rel.ro.*) }
  .rela.data      : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) }
  .rela.tdata	  : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) }
  .rela.tbss	  : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) }
  .rela.ctors     : { *(.rela.ctors) }
  .rela.dtors     : { *(.rela.dtors) }
  .rela.got       : { *(.rela.got) }
  .rela.sharable_data	  : { *(.rela.sharable_data .rela.sharable_data.* .rela.gnu.linkonce.shrd.*) }
  .rela.sharable_bss	  : { *(.rela.sharable_bss .rela.sharable_bss.* .rela.gnu.linkonce.shrb.*) }
  .rela.bss       : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) }
  .rela.ldata     : { *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*) }
  .rela.lbss      : { *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*) }
  .rela.lrodata   : { *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*) }
  .rela.ifunc     : { *(.rela.ifunc) }
  .rela.plt       :
    {
      *(.rela.plt)
      PROVIDE_HIDDEN (__rela_iplt_start = .);
      *(.rela.iplt)
      PROVIDE_HIDDEN (__rela_iplt_end = .);
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = .;
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
     PROVIDE_HIDDEN (__init_array_start = .);
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
     PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) *(.igot) }
  .got.plt        : { *(.got.plt)  *(.igot.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_data_start = .);
    *(.sharable_data .sharable_data.* .gnu.linkonce.shrd.*)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_data_end = .);
  }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  .lbss   :
  {
    *(.dynlbss)
    *(.lbss .lbss.* .gnu.linkonce.lb.*)
    *(LARGE_COMMON)
  }
  /* Sharable bss sections  */
  .sharable_bss   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_bss_start = .);
    *(.dynsharablebss)
    *(.sharable_bss .sharable_bss.* .gnu.linkonce.shrb.*)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_bss_end = .);
  }
  . = ALIGN(64 / 8);
  .lrodata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.lrodata .lrodata.* .gnu.linkonce.lr.*)
  }
  .ldata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.ldata .ldata.* .gnu.linkonce.l.*)
    . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  . = ALIGN(64 / 8);
  _end = .; PROVIDE (end = .);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for -n: mix text and data on same page */
OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64",
	      "elf64-x86-64")
OUTPUT_ARCH(i386:x86-64)
ENTRY(_start)
SEARCH_DIR("/usr/x86_64-redhat-linux/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000)); . = SEGMENT_START("text-segment", 0x400000) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rela.init      : { *(.rela.init) }
  .rela.text      : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) }
  .rela.fini      : { *(.rela.fini) }
  .rela.rodata    : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) }
  .rela.data.rel.ro   : { *(.rela.data.rel.ro* .rela.gnu.linkonce.d.rel.ro.*) }
  .rela.data      : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) }
  .rela.tdata	  : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) }
  .rela.tbss	  : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) }
  .rela.ctors     : { *(.rela.ctors) }
  .rela.dtors     : { *(.rela.dtors) }
  .rela.got       : { *(.rela.got) }
  .rela.sharable_data	  : { *(.rela.sharable_data .rela.sharable_data.* .rela.gnu.linkonce.shrd.*) }
  .rela.sharable_bss	  : { *(.rela.sharable_bss .rela.sharable_bss.* .rela.gnu.linkonce.shrb.*) }
  .rela.bss       : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) }
  .rela.ldata     : { *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*) }
  .rela.lbss      : { *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*) }
  .rela.lrodata   : { *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*) }
  .rela.ifunc     : { *(.rela.ifunc) }
  .rela.plt       :
    {
      *(.rela.plt)
      PROVIDE_HIDDEN (__rela_iplt_start = .);
      *(.rela.iplt)
      PROVIDE_HIDDEN (__rela_iplt_end = .);
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
     PROVIDE_HIDDEN (__init_array_start = .);
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
     PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (24, .);
  .got.plt        : { *(.got.plt)  *(.igot.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_data_start = .);
    *(.sharable_data .sharable_data.* .gnu.linkonce.shrd.*)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_data_end = .);
  }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  .lbss   :
  {
    *(.dynlbss)
    *(.lbss .lbss.* .gnu.linkonce.lb.*)
    *(LARGE_COMMON)
  }
  /* Sharable bss sections  */
  .sharable_bss   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_bss_start = .);
    *(.dynsharablebss)
    *(.sharable_bss .sharable_bss.* .gnu.linkonce.shrb.*)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_bss_end = .);
  }
  . = ALIGN(64 / 8);
  .lrodata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.lrodata .lrodata.* .gnu.linkonce.lr.*)
  }
  .ldata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.ldata .ldata.* .gnu.linkonce.l.*)
    . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  . = ALIGN(64 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for -pie -z combreloc -z now -z relro: position independent executable, combine & sort relocs */
OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64",
	      "elf64-x86-64")
OUTPUT_ARCH(i386:x86-64)
ENTRY(_start)
SEARCH_DIR("/usr/x86_64-redhat-linux/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rela.dyn       :
    {
      *(.rela.init)
      *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
      *(.rela.fini)
      *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
      *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
      *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
      *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
      *(.rela.ctors)
      *(.rela.dtors)
      *(.rela.got)
      *(.rela.sharable_data .rela.sharable_data.* .rela.gnu.linkonce.shrd.*)
      *(.rela.sharable_bss .rela.sharable_bss.* .rela.gnu.linkonce.shrb.*)
      *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
      *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*)
      *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*)
      *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*)
      *(.rela.ifunc)
    }
  .rela.plt       :
    {
      *(.rela.plt)
      PROVIDE_HIDDEN (__rela_iplt_start = .);
      *(.rela.iplt)
      PROVIDE_HIDDEN (__rela_iplt_end = .);
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
     PROVIDE_HIDDEN (__init_array_start = .);
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
     PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got.plt) *(.igot.plt) *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (0, .);
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_data_start = .);
    *(.sharable_data .sharable_data.* .gnu.linkonce.shrd.*)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_data_end = .);
  }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  .lbss   :
  {
    *(.dynlbss)
    *(.lbss .lbss.* .gnu.linkonce.lb.*)
    *(LARGE_COMMON)
  }
  /* Sharable bss sections  */
  .sharable_bss   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_bss_start = .);
    *(.dynsharablebss)
    *(.sharable_bss .sharable_bss.* .gnu.linkonce.shrb.*)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_bss_end = .);
  }
  . = ALIGN(64 / 8);
  .lrodata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.lrodata .lrodata.* .gnu.linkonce.lr.*)
  }
  .ldata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.ldata .ldata.* .gnu.linkonce.l.*)
    . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  . = ALIGN(64 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for -pie -z combreloc: position independent executable, combine & sort relocs */
OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64",
	      "elf64-x86-64")
OUTPUT_ARCH(i386:x86-64)
ENTRY(_start)
SEARCH_DIR("/usr/x86_64-redhat-linux/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rela.dyn       :
    {
      *(.rela.init)
      *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
      *(.rela.fini)
      *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
      *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
      *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
      *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
      *(.rela.ctors)
      *(.rela.dtors)
      *(.rela.got)
      *(.rela.sharable_data .rela.sharable_data.* .rela.gnu.linkonce.shrd.*)
      *(.rela.sharable_bss .rela.sharable_bss.* .rela.gnu.linkonce.shrb.*)
      *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
      *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*)
      *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*)
      *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*)
      *(.rela.ifunc)
    }
  .rela.plt       :
    {
      *(.rela.plt)
      PROVIDE_HIDDEN (__rela_iplt_start = .);
      *(.rela.iplt)
      PROVIDE_HIDDEN (__rela_iplt_end = .);
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
     PROVIDE_HIDDEN (__init_array_start = .);
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
     PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (24, .);
  .got.plt        : { *(.got.plt)  *(.igot.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_data_start = .);
    *(.sharable_data .sharable_data.* .gnu.linkonce.shrd.*)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_data_end = .);
  }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  .lbss   :
  {
    *(.dynlbss)
    *(.lbss .lbss.* .gnu.linkonce.lb.*)
    *(LARGE_COMMON)
  }
  /* Sharable bss sections  */
  .sharable_bss   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_bss_start = .);
    *(.dynsharablebss)
    *(.sharable_bss .sharable_bss.* .gnu.linkonce.shrb.*)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_bss_end = .);
  }
  . = ALIGN(64 / 8);
  .lrodata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.lrodata .lrodata.* .gnu.linkonce.lr.*)
  }
  .ldata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.ldata .ldata.* .gnu.linkonce.l.*)
    . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  . = ALIGN(64 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for ld -pie: link position independent executable */
OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64",
	      "elf64-x86-64")
OUTPUT_ARCH(i386:x86-64)
ENTRY(_start)
SEARCH_DIR("/usr/x86_64-redhat-linux/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rela.init      : { *(.rela.init) }
  .rela.text      : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) }
  .rela.fini      : { *(.rela.fini) }
  .rela.rodata    : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) }
  .rela.data.rel.ro   : { *(.rela.data.rel.ro* .rela.gnu.linkonce.d.rel.ro.*) }
  .rela.data      : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) }
  .rela.tdata	  : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) }
  .rela.tbss	  : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) }
  .rela.ctors     : { *(.rela.ctors) }
  .rela.dtors     : { *(.rela.dtors) }
  .rela.got       : { *(.rela.got) }
  .rela.sharable_data	  : { *(.rela.sharable_data .rela.sharable_data.* .rela.gnu.linkonce.shrd.*) }
  .rela.sharable_bss	  : { *(.rela.sharable_bss .rela.sharable_bss.* .rela.gnu.linkonce.shrb.*) }
  .rela.bss       : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) }
  .rela.ldata     : { *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*) }
  .rela.lbss      : { *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*) }
  .rela.lrodata   : { *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*) }
  .rela.ifunc     : { *(.rela.ifunc) }
  .rela.plt       :
    {
      *(.rela.plt)
      PROVIDE_HIDDEN (__rela_iplt_start = .);
      *(.rela.iplt)
      PROVIDE_HIDDEN (__rela_iplt_end = .);
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
     PROVIDE_HIDDEN (__init_array_start = .);
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
     PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (24, .);
  .got.plt        : { *(.got.plt)  *(.igot.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_data_start = .);
    *(.sharable_data .sharable_data.* .gnu.linkonce.shrd.*)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_data_end = .);
  }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  .lbss   :
  {
    *(.dynlbss)
    *(.lbss .lbss.* .gnu.linkonce.lb.*)
    *(LARGE_COMMON)
  }
  /* Sharable bss sections  */
  .sharable_bss   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_bss_start = .);
    *(.dynsharablebss)
    *(.sharable_bss .sharable_bss.* .gnu.linkonce.shrb.*)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_bss_end = .);
  }
  . = ALIGN(64 / 8);
  .lrodata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.lrodata .lrodata.* .gnu.linkonce.lr.*)
  }
  .ldata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.ldata .ldata.* .gnu.linkonce.l.*)
    . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  . = ALIGN(64 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for --shared -z combreloc -z now -z relro: shared library, combine & sort relocs */
OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64",
	      "elf64-x86-64")
OUTPUT_ARCH(i386:x86-64)
ENTRY(_start)
SEARCH_DIR("/usr/x86_64-redhat-linux/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS;
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rela.dyn       :
    {
      *(.rela.init)
      *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
      *(.rela.fini)
      *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
      *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
      *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
      *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
      *(.rela.ctors)
      *(.rela.dtors)
      *(.rela.got)
      *(.rela.sharable_data .rela.sharable_data.* .rela.gnu.linkonce.shrd.*)
      *(.rela.sharable_bss .rela.sharable_bss.* .rela.gnu.linkonce.shrb.*)
      *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
      *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*)
      *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*)
      *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*)
      *(.rela.ifunc)
    }
  .rela.plt       :
    {
      *(.rela.plt)
      *(.rela.iplt)
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    KEEP (*(.preinit_array))
  }
  .init_array     :
  {
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
  }
  .fini_array     :
  {
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got.plt) *(.igot.plt) *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (0, .);
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_data_start = .);
    *(.sharable_data .sharable_data.* .gnu.linkonce.shrd.*)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_data_end = .);
  }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  .lbss   :
  {
    *(.dynlbss)
    *(.lbss .lbss.* .gnu.linkonce.lb.*)
    *(LARGE_COMMON)
  }
  /* Sharable bss sections  */
  .sharable_bss   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_bss_start = .);
    *(.dynsharablebss)
    *(.sharable_bss .sharable_bss.* .gnu.linkonce.shrb.*)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_bss_end = .);
  }
  . = ALIGN(64 / 8);
  .lrodata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.lrodata .lrodata.* .gnu.linkonce.lr.*)
  }
  .ldata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.ldata .ldata.* .gnu.linkonce.l.*)
    . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  . = ALIGN(64 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for --shared -z combreloc: shared library, combine & sort relocs */
OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64",
	      "elf64-x86-64")
OUTPUT_ARCH(i386:x86-64)
ENTRY(_start)
SEARCH_DIR("/usr/x86_64-redhat-linux/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS;
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rela.dyn       :
    {
      *(.rela.init)
      *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
      *(.rela.fini)
      *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
      *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
      *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
      *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
      *(.rela.ctors)
      *(.rela.dtors)
      *(.rela.got)
      *(.rela.sharable_data .rela.sharable_data.* .rela.gnu.linkonce.shrd.*)
      *(.rela.sharable_bss .rela.sharable_bss.* .rela.gnu.linkonce.shrb.*)
      *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
      *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*)
      *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*)
      *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*)
      *(.rela.ifunc)
    }
  .rela.plt       :
    {
      *(.rela.plt)
      *(.rela.iplt)
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    KEEP (*(.preinit_array))
  }
  .init_array     :
  {
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
  }
  .fini_array     :
  {
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (24, .);
  .got.plt        : { *(.got.plt)  *(.igot.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_data_start = .);
    *(.sharable_data .sharable_data.* .gnu.linkonce.shrd.*)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_data_end = .);
  }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  .lbss   :
  {
    *(.dynlbss)
    *(.lbss .lbss.* .gnu.linkonce.lb.*)
    *(LARGE_COMMON)
  }
  /* Sharable bss sections  */
  .sharable_bss   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_bss_start = .);
    *(.dynsharablebss)
    *(.sharable_bss .sharable_bss.* .gnu.linkonce.shrb.*)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_bss_end = .);
  }
  . = ALIGN(64 / 8);
  .lrodata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.lrodata .lrodata.* .gnu.linkonce.lr.*)
  }
  .ldata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.ldata .ldata.* .gnu.linkonce.l.*)
    . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  . = ALIGN(64 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for ld --shared: link shared library */
OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64",
	      "elf64-x86-64")
OUTPUT_ARCH(i386:x86-64)
ENTRY(_start)
SEARCH_DIR("/usr/x86_64-redhat-linux/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS;
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rela.init      : { *(.rela.init) }
  .rela.text      : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) }
  .rela.fini      : { *(.rela.fini) }
  .rela.rodata    : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) }
  .rela.data.rel.ro   : { *(.rela.data.rel.ro* .rela.gnu.linkonce.d.rel.ro.*) }
  .rela.data      : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) }
  .rela.tdata	  : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) }
  .rela.tbss	  : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) }
  .rela.ctors     : { *(.rela.ctors) }
  .rela.dtors     : { *(.rela.dtors) }
  .rela.got       : { *(.rela.got) }
  .rela.sharable_data	  : { *(.rela.sharable_data .rela.sharable_data.* .rela.gnu.linkonce.shrd.*) }
  .rela.sharable_bss	  : { *(.rela.sharable_bss .rela.sharable_bss.* .rela.gnu.linkonce.shrb.*) }
  .rela.bss       : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) }
  .rela.ldata     : { *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*) }
  .rela.lbss      : { *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*) }
  .rela.lrodata   : { *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*) }
  .rela.ifunc     : { *(.rela.ifunc) }
  .rela.plt       :
    {
      *(.rela.plt)
      *(.rela.iplt)
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    KEEP (*(.preinit_array))
  }
  .init_array     :
  {
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
  }
  .fini_array     :
  {
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (24, .);
  .got.plt        : { *(.got.plt)  *(.igot.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_data_start = .);
    *(.sharable_data .sharable_data.* .gnu.linkonce.shrd.*)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_data_end = .);
  }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  .lbss   :
  {
    *(.dynlbss)
    *(.lbss .lbss.* .gnu.linkonce.lb.*)
    *(LARGE_COMMON)
  }
  /* Sharable bss sections  */
  .sharable_bss   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_bss_start = .);
    *(.dynsharablebss)
    *(.sharable_bss .sharable_bss.* .gnu.linkonce.shrb.*)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_bss_end = .);
  }
  . = ALIGN(64 / 8);
  .lrodata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.lrodata .lrodata.* .gnu.linkonce.lr.*)
  }
  .ldata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.ldata .ldata.* .gnu.linkonce.l.*)
    . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  . = ALIGN(64 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for -z combreloc -z now -z relro: combine and sort reloc sections */
OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64",
	      "elf64-x86-64")
OUTPUT_ARCH(i386:x86-64)
ENTRY(_start)
SEARCH_DIR("/usr/x86_64-redhat-linux/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000)); . = SEGMENT_START("text-segment", 0x400000) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rela.dyn       :
    {
      *(.rela.init)
      *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
      *(.rela.fini)
      *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
      *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
      *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
      *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
      *(.rela.ctors)
      *(.rela.dtors)
      *(.rela.got)
      *(.rela.sharable_data .rela.sharable_data.* .rela.gnu.linkonce.shrd.*)
      *(.rela.sharable_bss .rela.sharable_bss.* .rela.gnu.linkonce.shrb.*)
      *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
      *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*)
      *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*)
      *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*)
      *(.rela.ifunc)
    }
  .rela.plt       :
    {
      *(.rela.plt)
      PROVIDE_HIDDEN (__rela_iplt_start = .);
      *(.rela.iplt)
      PROVIDE_HIDDEN (__rela_iplt_end = .);
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
     PROVIDE_HIDDEN (__init_array_start = .);
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
     PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got.plt) *(.igot.plt) *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (0, .);
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_data_start = .);
    *(.sharable_data .sharable_data.* .gnu.linkonce.shrd.*)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_data_end = .);
  }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  .lbss   :
  {
    *(.dynlbss)
    *(.lbss .lbss.* .gnu.linkonce.lb.*)
    *(LARGE_COMMON)
  }
  /* Sharable bss sections  */
  .sharable_bss   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_bss_start = .);
    *(.dynsharablebss)
    *(.sharable_bss .sharable_bss.* .gnu.linkonce.shrb.*)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_bss_end = .);
  }
  . = ALIGN(64 / 8);
  .lrodata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.lrodata .lrodata.* .gnu.linkonce.lr.*)
  }
  .ldata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.ldata .ldata.* .gnu.linkonce.l.*)
    . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  . = ALIGN(64 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Default linker script, for normal executables */
OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64",
	      "elf64-x86-64")
OUTPUT_ARCH(i386:x86-64)
ENTRY(_start)
SEARCH_DIR("/usr/x86_64-redhat-linux/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000)); . = SEGMENT_START("text-segment", 0x400000) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rela.init      : { *(.rela.init) }
  .rela.text      : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) }
  .rela.fini      : { *(.rela.fini) }
  .rela.rodata    : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) }
  .rela.data.rel.ro   : { *(.rela.data.rel.ro* .rela.gnu.linkonce.d.rel.ro.*) }
  .rela.data      : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) }
  .rela.tdata	  : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) }
  .rela.tbss	  : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) }
  .rela.ctors     : { *(.rela.ctors) }
  .rela.dtors     : { *(.rela.dtors) }
  .rela.got       : { *(.rela.got) }
  .rela.sharable_data	  : { *(.rela.sharable_data .rela.sharable_data.* .rela.gnu.linkonce.shrd.*) }
  .rela.sharable_bss	  : { *(.rela.sharable_bss .rela.sharable_bss.* .rela.gnu.linkonce.shrb.*) }
  .rela.bss       : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) }
  .rela.ldata     : { *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*) }
  .rela.lbss      : { *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*) }
  .rela.lrodata   : { *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*) }
  .rela.ifunc     : { *(.rela.ifunc) }
  .rela.plt       :
    {
      *(.rela.plt)
      PROVIDE_HIDDEN (__rela_iplt_start = .);
      *(.rela.iplt)
      PROVIDE_HIDDEN (__rela_iplt_end = .);
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
     PROVIDE_HIDDEN (__init_array_start = .);
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
     PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (24, .);
  .got.plt        : { *(.got.plt)  *(.igot.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_data_start = .);
    *(.sharable_data .sharable_data.* .gnu.linkonce.shrd.*)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_data_end = .);
  }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  .lbss   :
  {
    *(.dynlbss)
    *(.lbss .lbss.* .gnu.linkonce.lb.*)
    *(LARGE_COMMON)
  }
  /* Sharable bss sections  */
  .sharable_bss   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_bss_start = .);
    *(.dynsharablebss)
    *(.sharable_bss .sharable_bss.* .gnu.linkonce.shrb.*)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_bss_end = .);
  }
  . = ALIGN(64 / 8);
  .lrodata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.lrodata .lrodata.* .gnu.linkonce.lr.*)
  }
  .ldata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.ldata .ldata.* .gnu.linkonce.l.*)
    . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  . = ALIGN(64 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for -z combreloc: combine and sort reloc sections */
OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64",
	      "elf64-x86-64")
OUTPUT_ARCH(i386:x86-64)
ENTRY(_start)
SEARCH_DIR("/usr/x86_64-redhat-linux/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000)); . = SEGMENT_START("text-segment", 0x400000) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rela.dyn       :
    {
      *(.rela.init)
      *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
      *(.rela.fini)
      *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
      *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
      *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
      *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
      *(.rela.ctors)
      *(.rela.dtors)
      *(.rela.got)
      *(.rela.sharable_data .rela.sharable_data.* .rela.gnu.linkonce.shrd.*)
      *(.rela.sharable_bss .rela.sharable_bss.* .rela.gnu.linkonce.shrb.*)
      *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
      *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*)
      *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*)
      *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*)
      *(.rela.ifunc)
    }
  .rela.plt       :
    {
      *(.rela.plt)
      PROVIDE_HIDDEN (__rela_iplt_start = .);
      *(.rela.iplt)
      PROVIDE_HIDDEN (__rela_iplt_end = .);
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
     PROVIDE_HIDDEN (__init_array_start = .);
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
     PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (24, .);
  .got.plt        : { *(.got.plt)  *(.igot.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_data_start = .);
    *(.sharable_data .sharable_data.* .gnu.linkonce.shrd.*)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_data_end = .);
  }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  .lbss   :
  {
    *(.dynlbss)
    *(.lbss .lbss.* .gnu.linkonce.lb.*)
    *(LARGE_COMMON)
  }
  /* Sharable bss sections  */
  .sharable_bss   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_bss_start = .);
    *(.dynsharablebss)
    *(.sharable_bss .sharable_bss.* .gnu.linkonce.shrb.*)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_bss_end = .);
  }
  . = ALIGN(64 / 8);
  .lrodata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.lrodata .lrodata.* .gnu.linkonce.lr.*)
  }
  .ldata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.ldata .ldata.* .gnu.linkonce.l.*)
    . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  . = ALIGN(64 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

%P%F: --just-symbols may not be used on DSO: %B
  --build-id[=STYLE]          Generate build ID note
  --audit=AUDITLIB            Specify a library to use for auditing
  -P AUDITLIB, --depaudit=AUDITLIB
                              Specify a library to use for auditing dependencies
  -Bgroup                     Selects group name lookup rules for DSO
  --disable-new-dtags         Disable new dynamic tags
  --enable-new-dtags          Enable new dynamic tags
  --eh-frame-hdr              Create .eh_frame_hdr section
  --hash-style=STYLE          Set hash style to sysv, gnu or both
  -z combreloc                Merge dynamic relocs into one section and sort
  -z defs                     Report unresolved symbols in object files.
  -z execstack                Mark executable as requiring executable stack
  -z initfirst                Mark DSO to be initialized first at runtime
  -z interpose                Mark object to interpose all DSOs but executable
  -z lazy                     Mark object lazy runtime binding (default)
  -z loadfltr                 Mark object requiring immediate process
  -z muldefs                  Allow multiple definitions
  -z nocombreloc              Don't merge dynamic relocs into one section
  -z nocopyreloc              Don't create copy relocs
  -z nodefaultlib             Mark object not to use default search paths
  -z nodelete                 Mark DSO non-deletable at runtime
  -z nodlopen                 Mark DSO not available to dlopen
  -z nodump                   Mark DSO not available to dldump
  -z noexecstack              Mark executable as not requiring executable stack
  -z norelro                  Don't create RELRO program header
  -z now                      Mark object non-lazy runtime binding
  -z origin                   Mark object requiring immediate $ORIGIN
                                processing at runtime
  -z relro                    Create RELRO program header
  -z max-page-size=SIZE       Set maximum page size to SIZE
  -z common-page-size=SIZE    Set common page size to SIZE
  -z KEYWORD                  Ignored for Solaris compatibility
%P%F: invalid hash style `%s'
%P%F: invalid maxium page size `%s'
%P%F: invalid common page size `%s'
%F%P: unable to place orphaned sharable section %A (%B)
%P%F: failed to set dynamic section sizes: %E
%F%B: Can't read contents of section .gnu.warning: %E
%P%F: failed to record assignment to %s: %E
%F%P: map sections to segments failed: %E
%F%P:%B: bfd_elf_get_bfd_needed_list failed: %E
%P: warning: unrecognized --build-id style ignored.
%P: warning: Cannot create .note.gnu.build-id section, --build-id ignored.
%P: warning: Cannot create .eh_frame_hdr section, --eh-frame-hdr ignored.
%P: warning: %s, needed by %B, not found (try using -rpath or -rpath-link)
%P: warning: %s, needed by %B, may conflict with %s
%P: warning: .note.gnu.build-id section discarded, --build-id ignored.
sha1sysvbothinitfirstinterposeloadfltrnodefaultlibnodeletenodlopennodumplazymuldefsnocombrelocnocopyrelocnoexecstacknorelromax-page-size=common-page-size=.rela.dyn.rel.dyn.rel.comment.gnu.warning..note.plt%s/lib%s%s.soeelf_x86_64.cLD_RUN_PATH.gnu.warning%P%F: looping in map_segmentsincludelibc.so%F%P:%B: bfd_stat failed: %E
found %s at %s
md5uuid.note.gnu.build-id.eh_frame.eh_frame_hdr%s needed by %B
LD_LIBRARY_PATH/usr/etc/ld.so.conf%s/%s.so./dev/urandomi386:x86-64elf64-x86-64depauditdisable-new-dtagsenable-new-dtagseh-frame-hdrexclude-libshash-styleBgroup.rodata.interp.sdataAAA.AA@A@AEEEPEEEžEϞEڞEgldelf_x86_64_write_build_id_sectionread_hex/* Script for ld -r: link without relocation */
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
	      "elf32-i386")
OUTPUT_ARCH(i386)
 /* For some reason, the Solaris linker makes bad executables
  if gld -r is used and the intermediate file has sections starting
  at non-zero addresses.  Could be a Solaris ld bug, could be a GNU ld
  bug.  But for now assigning the zero vmas works.  */
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  .interp       0 : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash         0 : { *(.hash) }
  .gnu.hash     0 : { *(.gnu.hash) }
  .dynsym       0 : { *(.dynsym) }
  .dynstr       0 : { *(.dynstr) }
  .gnu.version  0 : { *(.gnu.version) }
  .gnu.version_d 0: { *(.gnu.version_d) }
  .gnu.version_r 0: { *(.gnu.version_r) }
  .rel.init     0 : { *(.rel.init) }
  .rel.text     0 : { *(.rel.text) }
  .rel.fini     0 : { *(.rel.fini) }
  .rel.rodata   0 : { *(.rel.rodata) }
  .rel.data.rel.ro 0 : { *(.rel.data.rel.ro) }
  .rel.data     0 : { *(.rel.data) }
  .rel.tdata	0 : { *(.rel.tdata) }
  .rel.tbss	0 : { *(.rel.tbss) }
  .rel.ctors    0 : { *(.rel.ctors) }
  .rel.dtors    0 : { *(.rel.dtors) }
  .rel.got      0 : { *(.rel.got) }
  .rel.sharable_data	0 : { *(.rel.sharable_data) }
  .rel.sharable_bss	0 : { *(.rel.sharable_bss) }
  .rel.bss      0 : { *(.rel.bss) }
  .rel.ifunc    0 : { *(.rel.ifunc) }
  .rel.plt      0 :
    {
      *(.rel.plt)
    }
  .init         0 :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt          0 : { *(.plt) *(.iplt) }
  .text         0 :
  {
    *(.text .stub)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini         0 :
  {
    KEEP (*(.fini))
  } =0x90909090
  .rodata       0 : { *(.rodata) }
  .rodata1      0 : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame     0 : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table 0 : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  /* Exception handling  */
  .eh_frame     0 : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	0 : { *(.tdata) }
  .tbss		0 : { *(.tbss) }
  .preinit_array   0 :
  {
    KEEP (*(.preinit_array))
  }
  .init_array   0 :
  {
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
  }
  .fini_array   0 :
  {
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
  }
  .jcr          0 : { KEEP (*(.jcr)) }
  .dynamic      0 : { *(.dynamic) }
  .got          0 : { *(.got) *(.igot) }
  .got.plt      0 : { *(.got.plt)  *(.igot.plt) }
  .data         0 :
  {
    *(.data)
  }
  .data1        0 : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data 0 :
  {
    *(.sharable_data)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
  }
  .bss          0 :
  {
   *(.dynbss)
   *(.bss)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
  }
  /* Sharable bss sections  */
  .sharable_bss 0 :
  {
    *(.dynsharablebss)
    *(.sharable_bss)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
  }
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
}

/* Script for ld -Ur: link w/out relocation, do create constructors */
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
	      "elf32-i386")
OUTPUT_ARCH(i386)
 /* For some reason, the Solaris linker makes bad executables
  if gld -r is used and the intermediate file has sections starting
  at non-zero addresses.  Could be a Solaris ld bug, could be a GNU ld
  bug.  But for now assigning the zero vmas works.  */
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  .interp       0 : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash         0 : { *(.hash) }
  .gnu.hash     0 : { *(.gnu.hash) }
  .dynsym       0 : { *(.dynsym) }
  .dynstr       0 : { *(.dynstr) }
  .gnu.version  0 : { *(.gnu.version) }
  .gnu.version_d 0: { *(.gnu.version_d) }
  .gnu.version_r 0: { *(.gnu.version_r) }
  .rel.init     0 : { *(.rel.init) }
  .rel.text     0 : { *(.rel.text) }
  .rel.fini     0 : { *(.rel.fini) }
  .rel.rodata   0 : { *(.rel.rodata) }
  .rel.data.rel.ro 0 : { *(.rel.data.rel.ro) }
  .rel.data     0 : { *(.rel.data) }
  .rel.tdata	0 : { *(.rel.tdata) }
  .rel.tbss	0 : { *(.rel.tbss) }
  .rel.ctors    0 : { *(.rel.ctors) }
  .rel.dtors    0 : { *(.rel.dtors) }
  .rel.got      0 : { *(.rel.got) }
  .rel.sharable_data	0 : { *(.rel.sharable_data) }
  .rel.sharable_bss	0 : { *(.rel.sharable_bss) }
  .rel.bss      0 : { *(.rel.bss) }
  .rel.ifunc    0 : { *(.rel.ifunc) }
  .rel.plt      0 :
    {
      *(.rel.plt)
    }
  .init         0 :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt          0 : { *(.plt) *(.iplt) }
  .text         0 :
  {
    *(.text .stub)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini         0 :
  {
    KEEP (*(.fini))
  } =0x90909090
  .rodata       0 : { *(.rodata) }
  .rodata1      0 : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame     0 : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table 0 : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  /* Exception handling  */
  .eh_frame     0 : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	0 : { *(.tdata) }
  .tbss		0 : { *(.tbss) }
  .preinit_array   0 :
  {
    KEEP (*(.preinit_array))
  }
  .init_array   0 :
  {
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
  }
  .fini_array   0 :
  {
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
  }
  .jcr          0 : { KEEP (*(.jcr)) }
  .dynamic      0 : { *(.dynamic) }
  .got          0 : { *(.got) *(.igot) }
  .got.plt      0 : { *(.got.plt)  *(.igot.plt) }
  .data         0 :
  {
    *(.data)
    SORT(CONSTRUCTORS)
  }
  .data1        0 : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data 0 :
  {
    *(.sharable_data)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
  }
  .bss          0 :
  {
   *(.dynbss)
   *(.bss)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
  }
  /* Sharable bss sections  */
  .sharable_bss 0 :
  {
    *(.dynsharablebss)
    *(.sharable_bss)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
  }
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
}

/* Script for -N: mix text and data on same page; don't align data */
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
	      "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
SEARCH_DIR("/usr/i386-redhat-linux/lib"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x08048000)); . = SEGMENT_START("text-segment", 0x08048000) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rel.init       : { *(.rel.init) }
  .rel.text       : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) }
  .rel.fini       : { *(.rel.fini) }
  .rel.rodata     : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) }
  .rel.data.rel.ro   : { *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) }
  .rel.data       : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) }
  .rel.tdata	  : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) }
  .rel.tbss	  : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) }
  .rel.ctors      : { *(.rel.ctors) }
  .rel.dtors      : { *(.rel.dtors) }
  .rel.got        : { *(.rel.got) }
  .rel.sharable_data	  : { *(.rel.sharable_data .rel.sharable_data.* .rel.gnu.linkonce.shrd.*) }
  .rel.sharable_bss	  : { *(.rel.sharable_bss .rel.sharable_bss.* .rel.gnu.linkonce.shrb.*) }
  .rel.bss        : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) }
  .rel.ifunc      : { *(.rel.ifunc) }
  .rel.plt        :
    {
      *(.rel.plt)
      PROVIDE_HIDDEN (__rel_iplt_start = .);
      *(.rel.iplt)
      PROVIDE_HIDDEN (__rel_iplt_end = .);
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = .;
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
     PROVIDE_HIDDEN (__init_array_start = .);
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
     PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) *(.igot) }
  .got.plt        : { *(.got.plt)  *(.igot.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_data_start = .);
    *(.sharable_data .sharable_data.* .gnu.linkonce.shrd.*)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_data_end = .);
  }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 32 / 8 : 1);
  }
  /* Sharable bss sections  */
  .sharable_bss   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_bss_start = .);
    *(.dynsharablebss)
    *(.sharable_bss .sharable_bss.* .gnu.linkonce.shrb.*)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_bss_end = .);
  }
  . = ALIGN(32 / 8);
  . = ALIGN(32 / 8);
  _end = .; PROVIDE (end = .);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for -n: mix text and data on same page */
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
	      "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
SEARCH_DIR("/usr/i386-redhat-linux/lib"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x08048000)); . = SEGMENT_START("text-segment", 0x08048000) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rel.init       : { *(.rel.init) }
  .rel.text       : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) }
  .rel.fini       : { *(.rel.fini) }
  .rel.rodata     : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) }
  .rel.data.rel.ro   : { *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) }
  .rel.data       : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) }
  .rel.tdata	  : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) }
  .rel.tbss	  : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) }
  .rel.ctors      : { *(.rel.ctors) }
  .rel.dtors      : { *(.rel.dtors) }
  .rel.got        : { *(.rel.got) }
  .rel.sharable_data	  : { *(.rel.sharable_data .rel.sharable_data.* .rel.gnu.linkonce.shrd.*) }
  .rel.sharable_bss	  : { *(.rel.sharable_bss .rel.sharable_bss.* .rel.gnu.linkonce.shrb.*) }
  .rel.bss        : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) }
  .rel.ifunc      : { *(.rel.ifunc) }
  .rel.plt        :
    {
      *(.rel.plt)
      PROVIDE_HIDDEN (__rel_iplt_start = .);
      *(.rel.iplt)
      PROVIDE_HIDDEN (__rel_iplt_end = .);
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
     PROVIDE_HIDDEN (__init_array_start = .);
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
     PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (12, .);
  .got.plt        : { *(.got.plt)  *(.igot.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_data_start = .);
    *(.sharable_data .sharable_data.* .gnu.linkonce.shrd.*)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_data_end = .);
  }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 32 / 8 : 1);
  }
  /* Sharable bss sections  */
  .sharable_bss   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_bss_start = .);
    *(.dynsharablebss)
    *(.sharable_bss .sharable_bss.* .gnu.linkonce.shrb.*)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_bss_end = .);
  }
  . = ALIGN(32 / 8);
  . = ALIGN(32 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for -pie -z combreloc -z now -z relro: position independent executable, combine & sort relocs */
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
	      "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
SEARCH_DIR("/usr/i386-redhat-linux/lib"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rel.dyn        :
    {
      *(.rel.init)
      *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
      *(.rel.fini)
      *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
      *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*)
      *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
      *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
      *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
      *(.rel.ctors)
      *(.rel.dtors)
      *(.rel.got)
      *(.rel.sharable_data .rel.sharable_data.* .rel.gnu.linkonce.shrd.*)
      *(.rel.sharable_bss .rel.sharable_bss.* .rel.gnu.linkonce.shrb.*)
      *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
      *(.rel.ifunc)
    }
  .rel.plt        :
    {
      *(.rel.plt)
      PROVIDE_HIDDEN (__rel_iplt_start = .);
      *(.rel.iplt)
      PROVIDE_HIDDEN (__rel_iplt_end = .);
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
     PROVIDE_HIDDEN (__init_array_start = .);
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
     PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got.plt) *(.igot.plt) *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (0, .);
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_data_start = .);
    *(.sharable_data .sharable_data.* .gnu.linkonce.shrd.*)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_data_end = .);
  }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 32 / 8 : 1);
  }
  /* Sharable bss sections  */
  .sharable_bss   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_bss_start = .);
    *(.dynsharablebss)
    *(.sharable_bss .sharable_bss.* .gnu.linkonce.shrb.*)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_bss_end = .);
  }
  . = ALIGN(32 / 8);
  . = ALIGN(32 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for -pie -z combreloc: position independent executable, combine & sort relocs */
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
	      "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
SEARCH_DIR("/usr/i386-redhat-linux/lib"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rel.dyn        :
    {
      *(.rel.init)
      *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
      *(.rel.fini)
      *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
      *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*)
      *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
      *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
      *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
      *(.rel.ctors)
      *(.rel.dtors)
      *(.rel.got)
      *(.rel.sharable_data .rel.sharable_data.* .rel.gnu.linkonce.shrd.*)
      *(.rel.sharable_bss .rel.sharable_bss.* .rel.gnu.linkonce.shrb.*)
      *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
      *(.rel.ifunc)
    }
  .rel.plt        :
    {
      *(.rel.plt)
      PROVIDE_HIDDEN (__rel_iplt_start = .);
      *(.rel.iplt)
      PROVIDE_HIDDEN (__rel_iplt_end = .);
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
     PROVIDE_HIDDEN (__init_array_start = .);
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
     PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (12, .);
  .got.plt        : { *(.got.plt)  *(.igot.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_data_start = .);
    *(.sharable_data .sharable_data.* .gnu.linkonce.shrd.*)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_data_end = .);
  }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 32 / 8 : 1);
  }
  /* Sharable bss sections  */
  .sharable_bss   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_bss_start = .);
    *(.dynsharablebss)
    *(.sharable_bss .sharable_bss.* .gnu.linkonce.shrb.*)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_bss_end = .);
  }
  . = ALIGN(32 / 8);
  . = ALIGN(32 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for ld -pie: link position independent executable */
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
	      "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
SEARCH_DIR("/usr/i386-redhat-linux/lib"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rel.init       : { *(.rel.init) }
  .rel.text       : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) }
  .rel.fini       : { *(.rel.fini) }
  .rel.rodata     : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) }
  .rel.data.rel.ro   : { *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) }
  .rel.data       : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) }
  .rel.tdata	  : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) }
  .rel.tbss	  : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) }
  .rel.ctors      : { *(.rel.ctors) }
  .rel.dtors      : { *(.rel.dtors) }
  .rel.got        : { *(.rel.got) }
  .rel.sharable_data	  : { *(.rel.sharable_data .rel.sharable_data.* .rel.gnu.linkonce.shrd.*) }
  .rel.sharable_bss	  : { *(.rel.sharable_bss .rel.sharable_bss.* .rel.gnu.linkonce.shrb.*) }
  .rel.bss        : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) }
  .rel.ifunc      : { *(.rel.ifunc) }
  .rel.plt        :
    {
      *(.rel.plt)
      PROVIDE_HIDDEN (__rel_iplt_start = .);
      *(.rel.iplt)
      PROVIDE_HIDDEN (__rel_iplt_end = .);
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
     PROVIDE_HIDDEN (__init_array_start = .);
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
     PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (12, .);
  .got.plt        : { *(.got.plt)  *(.igot.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_data_start = .);
    *(.sharable_data .sharable_data.* .gnu.linkonce.shrd.*)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_data_end = .);
  }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 32 / 8 : 1);
  }
  /* Sharable bss sections  */
  .sharable_bss   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_bss_start = .);
    *(.dynsharablebss)
    *(.sharable_bss .sharable_bss.* .gnu.linkonce.shrb.*)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_bss_end = .);
  }
  . = ALIGN(32 / 8);
  . = ALIGN(32 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for --shared -z combreloc -z now -z relro: shared library, combine & sort relocs */
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
	      "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
SEARCH_DIR("/usr/i386-redhat-linux/lib"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS;
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rel.dyn        :
    {
      *(.rel.init)
      *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
      *(.rel.fini)
      *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
      *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*)
      *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
      *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
      *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
      *(.rel.ctors)
      *(.rel.dtors)
      *(.rel.got)
      *(.rel.sharable_data .rel.sharable_data.* .rel.gnu.linkonce.shrd.*)
      *(.rel.sharable_bss .rel.sharable_bss.* .rel.gnu.linkonce.shrb.*)
      *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
      *(.rel.ifunc)
    }
  .rel.plt        :
    {
      *(.rel.plt)
      *(.rel.iplt)
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    KEEP (*(.preinit_array))
  }
  .init_array     :
  {
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
  }
  .fini_array     :
  {
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got.plt) *(.igot.plt) *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (0, .);
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_data_start = .);
    *(.sharable_data .sharable_data.* .gnu.linkonce.shrd.*)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_data_end = .);
  }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 32 / 8 : 1);
  }
  /* Sharable bss sections  */
  .sharable_bss   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_bss_start = .);
    *(.dynsharablebss)
    *(.sharable_bss .sharable_bss.* .gnu.linkonce.shrb.*)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_bss_end = .);
  }
  . = ALIGN(32 / 8);
  . = ALIGN(32 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for --shared -z combreloc: shared library, combine & sort relocs */
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
	      "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
SEARCH_DIR("/usr/i386-redhat-linux/lib"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS;
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rel.dyn        :
    {
      *(.rel.init)
      *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
      *(.rel.fini)
      *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
      *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*)
      *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
      *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
      *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
      *(.rel.ctors)
      *(.rel.dtors)
      *(.rel.got)
      *(.rel.sharable_data .rel.sharable_data.* .rel.gnu.linkonce.shrd.*)
      *(.rel.sharable_bss .rel.sharable_bss.* .rel.gnu.linkonce.shrb.*)
      *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
      *(.rel.ifunc)
    }
  .rel.plt        :
    {
      *(.rel.plt)
      *(.rel.iplt)
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    KEEP (*(.preinit_array))
  }
  .init_array     :
  {
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
  }
  .fini_array     :
  {
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (12, .);
  .got.plt        : { *(.got.plt)  *(.igot.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_data_start = .);
    *(.sharable_data .sharable_data.* .gnu.linkonce.shrd.*)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_data_end = .);
  }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 32 / 8 : 1);
  }
  /* Sharable bss sections  */
  .sharable_bss   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_bss_start = .);
    *(.dynsharablebss)
    *(.sharable_bss .sharable_bss.* .gnu.linkonce.shrb.*)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_bss_end = .);
  }
  . = ALIGN(32 / 8);
  . = ALIGN(32 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for ld --shared: link shared library */
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
	      "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
SEARCH_DIR("/usr/i386-redhat-linux/lib"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS;
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rel.init       : { *(.rel.init) }
  .rel.text       : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) }
  .rel.fini       : { *(.rel.fini) }
  .rel.rodata     : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) }
  .rel.data.rel.ro   : { *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) }
  .rel.data       : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) }
  .rel.tdata	  : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) }
  .rel.tbss	  : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) }
  .rel.ctors      : { *(.rel.ctors) }
  .rel.dtors      : { *(.rel.dtors) }
  .rel.got        : { *(.rel.got) }
  .rel.sharable_data	  : { *(.rel.sharable_data .rel.sharable_data.* .rel.gnu.linkonce.shrd.*) }
  .rel.sharable_bss	  : { *(.rel.sharable_bss .rel.sharable_bss.* .rel.gnu.linkonce.shrb.*) }
  .rel.bss        : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) }
  .rel.ifunc      : { *(.rel.ifunc) }
  .rel.plt        :
    {
      *(.rel.plt)
      *(.rel.iplt)
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    KEEP (*(.preinit_array))
  }
  .init_array     :
  {
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
  }
  .fini_array     :
  {
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (12, .);
  .got.plt        : { *(.got.plt)  *(.igot.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_data_start = .);
    *(.sharable_data .sharable_data.* .gnu.linkonce.shrd.*)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_data_end = .);
  }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 32 / 8 : 1);
  }
  /* Sharable bss sections  */
  .sharable_bss   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_bss_start = .);
    *(.dynsharablebss)
    *(.sharable_bss .sharable_bss.* .gnu.linkonce.shrb.*)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_bss_end = .);
  }
  . = ALIGN(32 / 8);
  . = ALIGN(32 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for -z combreloc -z now -z relro: combine and sort reloc sections */
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
	      "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
SEARCH_DIR("/usr/i386-redhat-linux/lib"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x08048000)); . = SEGMENT_START("text-segment", 0x08048000) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rel.dyn        :
    {
      *(.rel.init)
      *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
      *(.rel.fini)
      *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
      *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*)
      *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
      *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
      *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
      *(.rel.ctors)
      *(.rel.dtors)
      *(.rel.got)
      *(.rel.sharable_data .rel.sharable_data.* .rel.gnu.linkonce.shrd.*)
      *(.rel.sharable_bss .rel.sharable_bss.* .rel.gnu.linkonce.shrb.*)
      *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
      *(.rel.ifunc)
    }
  .rel.plt        :
    {
      *(.rel.plt)
      PROVIDE_HIDDEN (__rel_iplt_start = .);
      *(.rel.iplt)
      PROVIDE_HIDDEN (__rel_iplt_end = .);
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
     PROVIDE_HIDDEN (__init_array_start = .);
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
     PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got.plt) *(.igot.plt) *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (0, .);
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_data_start = .);
    *(.sharable_data .sharable_data.* .gnu.linkonce.shrd.*)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_data_end = .);
  }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 32 / 8 : 1);
  }
  /* Sharable bss sections  */
  .sharable_bss   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_bss_start = .);
    *(.dynsharablebss)
    *(.sharable_bss .sharable_bss.* .gnu.linkonce.shrb.*)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_bss_end = .);
  }
  . = ALIGN(32 / 8);
  . = ALIGN(32 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Default linker script, for normal executables */
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
	      "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
SEARCH_DIR("/usr/i386-redhat-linux/lib"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x08048000)); . = SEGMENT_START("text-segment", 0x08048000) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rel.init       : { *(.rel.init) }
  .rel.text       : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) }
  .rel.fini       : { *(.rel.fini) }
  .rel.rodata     : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) }
  .rel.data.rel.ro   : { *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) }
  .rel.data       : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) }
  .rel.tdata	  : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) }
  .rel.tbss	  : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) }
  .rel.ctors      : { *(.rel.ctors) }
  .rel.dtors      : { *(.rel.dtors) }
  .rel.got        : { *(.rel.got) }
  .rel.sharable_data	  : { *(.rel.sharable_data .rel.sharable_data.* .rel.gnu.linkonce.shrd.*) }
  .rel.sharable_bss	  : { *(.rel.sharable_bss .rel.sharable_bss.* .rel.gnu.linkonce.shrb.*) }
  .rel.bss        : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) }
  .rel.ifunc      : { *(.rel.ifunc) }
  .rel.plt        :
    {
      *(.rel.plt)
      PROVIDE_HIDDEN (__rel_iplt_start = .);
      *(.rel.iplt)
      PROVIDE_HIDDEN (__rel_iplt_end = .);
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
     PROVIDE_HIDDEN (__init_array_start = .);
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
     PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (12, .);
  .got.plt        : { *(.got.plt)  *(.igot.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_data_start = .);
    *(.sharable_data .sharable_data.* .gnu.linkonce.shrd.*)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_data_end = .);
  }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 32 / 8 : 1);
  }
  /* Sharable bss sections  */
  .sharable_bss   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_bss_start = .);
    *(.dynsharablebss)
    *(.sharable_bss .sharable_bss.* .gnu.linkonce.shrb.*)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_bss_end = .);
  }
  . = ALIGN(32 / 8);
  . = ALIGN(32 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for -z combreloc: combine and sort reloc sections */
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
	      "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
SEARCH_DIR("/usr/i386-redhat-linux/lib"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x08048000)); . = SEGMENT_START("text-segment", 0x08048000) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rel.dyn        :
    {
      *(.rel.init)
      *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
      *(.rel.fini)
      *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
      *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*)
      *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
      *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
      *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
      *(.rel.ctors)
      *(.rel.dtors)
      *(.rel.got)
      *(.rel.sharable_data .rel.sharable_data.* .rel.gnu.linkonce.shrd.*)
      *(.rel.sharable_bss .rel.sharable_bss.* .rel.gnu.linkonce.shrb.*)
      *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
      *(.rel.ifunc)
    }
  .rel.plt        :
    {
      *(.rel.plt)
      PROVIDE_HIDDEN (__rel_iplt_start = .);
      *(.rel.iplt)
      PROVIDE_HIDDEN (__rel_iplt_end = .);
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
     PROVIDE_HIDDEN (__init_array_start = .);
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
     PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (12, .);
  .got.plt        : { *(.got.plt)  *(.igot.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_data_start = .);
    *(.sharable_data .sharable_data.* .gnu.linkonce.shrd.*)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_data_end = .);
  }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 32 / 8 : 1);
  }
  /* Sharable bss sections  */
  .sharable_bss   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_bss_start = .);
    *(.dynsharablebss)
    *(.sharable_bss .sharable_bss.* .gnu.linkonce.shrb.*)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_bss_end = .);
  }
  . = ALIGN(32 / 8);
  . = ALIGN(32 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

eelf_i386.celf_i386elf32-i386)B)B)BN)B)B`)B`)BEEEPEEEžEϞEڞEgldelf_i386_write_build_id_sectionread_hexldscripts/i386linux.xrldscripts/i386linux.xuldscripts/i386linux.xbnldscripts/i386linux.xldscripts/i386linux.xn%s/lib%s%s.saei386linux.ci386linuxa.out-i386-linux/* Script for ld -r: link without relocation */
OUTPUT_FORMAT("elf64-l1om", "elf64-l1om",
	      "elf64-l1om")
OUTPUT_ARCH(l1om)
 /* For some reason, the Solaris linker makes bad executables
  if gld -r is used and the intermediate file has sections starting
  at non-zero addresses.  Could be a Solaris ld bug, could be a GNU ld
  bug.  But for now assigning the zero vmas works.  */
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  .interp       0 : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash         0 : { *(.hash) }
  .gnu.hash     0 : { *(.gnu.hash) }
  .dynsym       0 : { *(.dynsym) }
  .dynstr       0 : { *(.dynstr) }
  .gnu.version  0 : { *(.gnu.version) }
  .gnu.version_d 0: { *(.gnu.version_d) }
  .gnu.version_r 0: { *(.gnu.version_r) }
  .rela.init    0 : { *(.rela.init) }
  .rela.text    0 : { *(.rela.text) }
  .rela.fini    0 : { *(.rela.fini) }
  .rela.rodata  0 : { *(.rela.rodata) }
  .rela.data.rel.ro 0 : { *(.rela.data.rel.ro) }
  .rela.data    0 : { *(.rela.data) }
  .rela.tdata	0 : { *(.rela.tdata) }
  .rela.tbss	0 : { *(.rela.tbss) }
  .rela.ctors   0 : { *(.rela.ctors) }
  .rela.dtors   0 : { *(.rela.dtors) }
  .rela.got     0 : { *(.rela.got) }
  .rela.bss     0 : { *(.rela.bss) }
  .rela.ldata   0 : { *(.rela.ldata) }
  .rela.lbss    0 : { *(.rela.lbss) }
  .rela.lrodata 0 : { *(.rela.lrodata) }
  .rela.iplt    0 :
    {
      *(.rela.iplt)
    }
  .rela.plt     0 :
    {
      *(.rela.plt)
    }
  .init         0 :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt          0 : { *(.plt) }
  .iplt         0 : { *(.iplt) }
  .text         0 :
  {
    *(.text .stub)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini         0 :
  {
    KEEP (*(.fini))
  } =0x90909090
  .rodata       0 : { *(.rodata) }
  .rodata1      0 : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame     0 : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table 0 : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  /* Exception handling  */
  .eh_frame     0 : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	0 : { *(.tdata) }
  .tbss		0 : { *(.tbss) }
  .preinit_array   0 :
  {
    KEEP (*(.preinit_array))
  }
  .init_array   0 :
  {
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
  }
  .fini_array   0 :
  {
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
  }
  .jcr          0 : { KEEP (*(.jcr)) }
  .dynamic      0 : { *(.dynamic) }
  .got          0 : { *(.got) *(.igot) }
  .got.plt      0 : { *(.got.plt)  *(.igot.plt) }
  .data         0 :
  {
    *(.data)
  }
  .data1        0 : { *(.data1) }
  .bss          0 :
  {
   *(.dynbss)
   *(.bss)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
  }
  .lbss 0 :
  {
    *(.dynlbss)
    *(.lbss)
    *(LARGE_COMMON)
  }
  .lrodata 0  :
  {
    *(.lrodata)
  }
  .ldata 0  :
  {
    *(.ldata)
  }
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
}

/* Script for ld -Ur: link w/out relocation, do create constructors */
OUTPUT_FORMAT("elf64-l1om", "elf64-l1om",
	      "elf64-l1om")
OUTPUT_ARCH(l1om)
 /* For some reason, the Solaris linker makes bad executables
  if gld -r is used and the intermediate file has sections starting
  at non-zero addresses.  Could be a Solaris ld bug, could be a GNU ld
  bug.  But for now assigning the zero vmas works.  */
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  .interp       0 : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash         0 : { *(.hash) }
  .gnu.hash     0 : { *(.gnu.hash) }
  .dynsym       0 : { *(.dynsym) }
  .dynstr       0 : { *(.dynstr) }
  .gnu.version  0 : { *(.gnu.version) }
  .gnu.version_d 0: { *(.gnu.version_d) }
  .gnu.version_r 0: { *(.gnu.version_r) }
  .rela.init    0 : { *(.rela.init) }
  .rela.text    0 : { *(.rela.text) }
  .rela.fini    0 : { *(.rela.fini) }
  .rela.rodata  0 : { *(.rela.rodata) }
  .rela.data.rel.ro 0 : { *(.rela.data.rel.ro) }
  .rela.data    0 : { *(.rela.data) }
  .rela.tdata	0 : { *(.rela.tdata) }
  .rela.tbss	0 : { *(.rela.tbss) }
  .rela.ctors   0 : { *(.rela.ctors) }
  .rela.dtors   0 : { *(.rela.dtors) }
  .rela.got     0 : { *(.rela.got) }
  .rela.bss     0 : { *(.rela.bss) }
  .rela.ldata   0 : { *(.rela.ldata) }
  .rela.lbss    0 : { *(.rela.lbss) }
  .rela.lrodata 0 : { *(.rela.lrodata) }
  .rela.iplt    0 :
    {
      *(.rela.iplt)
    }
  .rela.plt     0 :
    {
      *(.rela.plt)
    }
  .init         0 :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt          0 : { *(.plt) }
  .iplt         0 : { *(.iplt) }
  .text         0 :
  {
    *(.text .stub)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini         0 :
  {
    KEEP (*(.fini))
  } =0x90909090
  .rodata       0 : { *(.rodata) }
  .rodata1      0 : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame     0 : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table 0 : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  /* Exception handling  */
  .eh_frame     0 : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	0 : { *(.tdata) }
  .tbss		0 : { *(.tbss) }
  .preinit_array   0 :
  {
    KEEP (*(.preinit_array))
  }
  .init_array   0 :
  {
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
  }
  .fini_array   0 :
  {
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
  }
  .jcr          0 : { KEEP (*(.jcr)) }
  .dynamic      0 : { *(.dynamic) }
  .got          0 : { *(.got) *(.igot) }
  .got.plt      0 : { *(.got.plt)  *(.igot.plt) }
  .data         0 :
  {
    *(.data)
    SORT(CONSTRUCTORS)
  }
  .data1        0 : { *(.data1) }
  .bss          0 :
  {
   *(.dynbss)
   *(.bss)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
  }
  .lbss 0 :
  {
    *(.dynlbss)
    *(.lbss)
    *(LARGE_COMMON)
  }
  .lrodata 0  :
  {
    *(.lrodata)
  }
  .ldata 0  :
  {
    *(.ldata)
  }
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
}

/* Script for -N: mix text and data on same page; don't align data */
OUTPUT_FORMAT("elf64-l1om", "elf64-l1om",
	      "elf64-l1om")
OUTPUT_ARCH(l1om)
ENTRY(_start)
SEARCH_DIR("/usr/x86_64-redhat-linux/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000)); . = SEGMENT_START("text-segment", 0x400000) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rela.init      : { *(.rela.init) }
  .rela.text      : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) }
  .rela.fini      : { *(.rela.fini) }
  .rela.rodata    : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) }
  .rela.data.rel.ro   : { *(.rela.data.rel.ro* .rela.gnu.linkonce.d.rel.ro.*) }
  .rela.data      : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) }
  .rela.tdata	  : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) }
  .rela.tbss	  : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) }
  .rela.ctors     : { *(.rela.ctors) }
  .rela.dtors     : { *(.rela.dtors) }
  .rela.got       : { *(.rela.got) }
  .rela.bss       : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) }
  .rela.ldata     : { *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*) }
  .rela.lbss      : { *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*) }
  .rela.lrodata   : { *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*) }
  .rela.iplt      :
    {
      PROVIDE_HIDDEN (__rela_iplt_start = .);
      *(.rela.iplt)
      PROVIDE_HIDDEN (__rela_iplt_end = .);
    }
  .rela.plt       :
    {
      *(.rela.plt)
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) }
  .iplt           : { *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = .;
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
     PROVIDE_HIDDEN (__init_array_start = .);
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
     PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) *(.igot) }
  .got.plt        : { *(.got.plt)  *(.igot.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  .lbss   :
  {
    *(.dynlbss)
    *(.lbss .lbss.* .gnu.linkonce.lb.*)
    *(LARGE_COMMON)
  }
  . = ALIGN(64 / 8);
  .lrodata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.lrodata .lrodata.* .gnu.linkonce.lr.*)
  }
  .ldata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.ldata .ldata.* .gnu.linkonce.l.*)
    . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  . = ALIGN(64 / 8);
  _end = .; PROVIDE (end = .);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for -n: mix text and data on same page */
OUTPUT_FORMAT("elf64-l1om", "elf64-l1om",
	      "elf64-l1om")
OUTPUT_ARCH(l1om)
ENTRY(_start)
SEARCH_DIR("/usr/x86_64-redhat-linux/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000)); . = SEGMENT_START("text-segment", 0x400000) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rela.init      : { *(.rela.init) }
  .rela.text      : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) }
  .rela.fini      : { *(.rela.fini) }
  .rela.rodata    : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) }
  .rela.data.rel.ro   : { *(.rela.data.rel.ro* .rela.gnu.linkonce.d.rel.ro.*) }
  .rela.data      : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) }
  .rela.tdata	  : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) }
  .rela.tbss	  : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) }
  .rela.ctors     : { *(.rela.ctors) }
  .rela.dtors     : { *(.rela.dtors) }
  .rela.got       : { *(.rela.got) }
  .rela.bss       : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) }
  .rela.ldata     : { *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*) }
  .rela.lbss      : { *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*) }
  .rela.lrodata   : { *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*) }
  .rela.iplt      :
    {
      PROVIDE_HIDDEN (__rela_iplt_start = .);
      *(.rela.iplt)
      PROVIDE_HIDDEN (__rela_iplt_end = .);
    }
  .rela.plt       :
    {
      *(.rela.plt)
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) }
  .iplt           : { *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
     PROVIDE_HIDDEN (__init_array_start = .);
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
     PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (24, .);
  .got.plt        : { *(.got.plt)  *(.igot.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  .lbss   :
  {
    *(.dynlbss)
    *(.lbss .lbss.* .gnu.linkonce.lb.*)
    *(LARGE_COMMON)
  }
  . = ALIGN(64 / 8);
  .lrodata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.lrodata .lrodata.* .gnu.linkonce.lr.*)
  }
  .ldata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.ldata .ldata.* .gnu.linkonce.l.*)
    . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  . = ALIGN(64 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for -pie -z combreloc -z now -z relro: position independent executable, combine & sort relocs */
OUTPUT_FORMAT("elf64-l1om", "elf64-l1om",
	      "elf64-l1om")
OUTPUT_ARCH(l1om)
ENTRY(_start)
SEARCH_DIR("/usr/x86_64-redhat-linux/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rela.dyn       :
    {
      *(.rela.init)
      *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
      *(.rela.fini)
      *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
      *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
      *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
      *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
      *(.rela.ctors)
      *(.rela.dtors)
      *(.rela.got)
      *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
      *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*)
      *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*)
      *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*)
      PROVIDE_HIDDEN (__rel_iplt_start = .);
      PROVIDE_HIDDEN (__rel_iplt_end = .);
      PROVIDE_HIDDEN (__rela_iplt_start = .);
      *(.rela.iplt)
      PROVIDE_HIDDEN (__rela_iplt_end = .);
    }
  .rela.plt       :
    {
      *(.rela.plt)
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) }
  .iplt           : { *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
     PROVIDE_HIDDEN (__init_array_start = .);
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
     PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got.plt) *(.igot.plt) *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (0, .);
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  .lbss   :
  {
    *(.dynlbss)
    *(.lbss .lbss.* .gnu.linkonce.lb.*)
    *(LARGE_COMMON)
  }
  . = ALIGN(64 / 8);
  .lrodata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.lrodata .lrodata.* .gnu.linkonce.lr.*)
  }
  .ldata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.ldata .ldata.* .gnu.linkonce.l.*)
    . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  . = ALIGN(64 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for -pie -z combreloc: position independent executable, combine & sort relocs */
OUTPUT_FORMAT("elf64-l1om", "elf64-l1om",
	      "elf64-l1om")
OUTPUT_ARCH(l1om)
ENTRY(_start)
SEARCH_DIR("/usr/x86_64-redhat-linux/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rela.dyn       :
    {
      *(.rela.init)
      *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
      *(.rela.fini)
      *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
      *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
      *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
      *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
      *(.rela.ctors)
      *(.rela.dtors)
      *(.rela.got)
      *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
      *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*)
      *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*)
      *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*)
      PROVIDE_HIDDEN (__rel_iplt_start = .);
      PROVIDE_HIDDEN (__rel_iplt_end = .);
      PROVIDE_HIDDEN (__rela_iplt_start = .);
      *(.rela.iplt)
      PROVIDE_HIDDEN (__rela_iplt_end = .);
    }
  .rela.plt       :
    {
      *(.rela.plt)
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) }
  .iplt           : { *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
     PROVIDE_HIDDEN (__init_array_start = .);
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
     PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (24, .);
  .got.plt        : { *(.got.plt)  *(.igot.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  .lbss   :
  {
    *(.dynlbss)
    *(.lbss .lbss.* .gnu.linkonce.lb.*)
    *(LARGE_COMMON)
  }
  . = ALIGN(64 / 8);
  .lrodata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.lrodata .lrodata.* .gnu.linkonce.lr.*)
  }
  .ldata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.ldata .ldata.* .gnu.linkonce.l.*)
    . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  . = ALIGN(64 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for ld -pie: link position independent executable */
OUTPUT_FORMAT("elf64-l1om", "elf64-l1om",
	      "elf64-l1om")
OUTPUT_ARCH(l1om)
ENTRY(_start)
SEARCH_DIR("/usr/x86_64-redhat-linux/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rela.init      : { *(.rela.init) }
  .rela.text      : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) }
  .rela.fini      : { *(.rela.fini) }
  .rela.rodata    : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) }
  .rela.data.rel.ro   : { *(.rela.data.rel.ro* .rela.gnu.linkonce.d.rel.ro.*) }
  .rela.data      : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) }
  .rela.tdata	  : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) }
  .rela.tbss	  : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) }
  .rela.ctors     : { *(.rela.ctors) }
  .rela.dtors     : { *(.rela.dtors) }
  .rela.got       : { *(.rela.got) }
  .rela.bss       : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) }
  .rela.ldata     : { *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*) }
  .rela.lbss      : { *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*) }
  .rela.lrodata   : { *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*) }
  .rela.iplt      :
    {
      PROVIDE_HIDDEN (__rela_iplt_start = .);
      *(.rela.iplt)
      PROVIDE_HIDDEN (__rela_iplt_end = .);
    }
  .rela.plt       :
    {
      *(.rela.plt)
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) }
  .iplt           : { *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
     PROVIDE_HIDDEN (__init_array_start = .);
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
     PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (24, .);
  .got.plt        : { *(.got.plt)  *(.igot.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  .lbss   :
  {
    *(.dynlbss)
    *(.lbss .lbss.* .gnu.linkonce.lb.*)
    *(LARGE_COMMON)
  }
  . = ALIGN(64 / 8);
  .lrodata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.lrodata .lrodata.* .gnu.linkonce.lr.*)
  }
  .ldata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.ldata .ldata.* .gnu.linkonce.l.*)
    . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  . = ALIGN(64 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for --shared -z combreloc -z now -z relro: shared library, combine & sort relocs */
OUTPUT_FORMAT("elf64-l1om", "elf64-l1om",
	      "elf64-l1om")
OUTPUT_ARCH(l1om)
ENTRY(_start)
SEARCH_DIR("/usr/x86_64-redhat-linux/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS;
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rela.dyn       :
    {
      *(.rela.init)
      *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
      *(.rela.fini)
      *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
      *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
      *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
      *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
      *(.rela.ctors)
      *(.rela.dtors)
      *(.rela.got)
      *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
      *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*)
      *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*)
      *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*)
      *(.rela.iplt)
    }
  .rela.plt       :
    {
      *(.rela.plt)
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) }
  .iplt           : { *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    KEEP (*(.preinit_array))
  }
  .init_array     :
  {
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
  }
  .fini_array     :
  {
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got.plt) *(.igot.plt) *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (0, .);
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  .lbss   :
  {
    *(.dynlbss)
    *(.lbss .lbss.* .gnu.linkonce.lb.*)
    *(LARGE_COMMON)
  }
  . = ALIGN(64 / 8);
  .lrodata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.lrodata .lrodata.* .gnu.linkonce.lr.*)
  }
  .ldata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.ldata .ldata.* .gnu.linkonce.l.*)
    . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  . = ALIGN(64 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for --shared -z combreloc: shared library, combine & sort relocs */
OUTPUT_FORMAT("elf64-l1om", "elf64-l1om",
	      "elf64-l1om")
OUTPUT_ARCH(l1om)
ENTRY(_start)
SEARCH_DIR("/usr/x86_64-redhat-linux/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS;
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rela.dyn       :
    {
      *(.rela.init)
      *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
      *(.rela.fini)
      *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
      *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
      *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
      *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
      *(.rela.ctors)
      *(.rela.dtors)
      *(.rela.got)
      *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
      *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*)
      *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*)
      *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*)
      *(.rela.iplt)
    }
  .rela.plt       :
    {
      *(.rela.plt)
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) }
  .iplt           : { *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    KEEP (*(.preinit_array))
  }
  .init_array     :
  {
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
  }
  .fini_array     :
  {
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (24, .);
  .got.plt        : { *(.got.plt)  *(.igot.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  .lbss   :
  {
    *(.dynlbss)
    *(.lbss .lbss.* .gnu.linkonce.lb.*)
    *(LARGE_COMMON)
  }
  . = ALIGN(64 / 8);
  .lrodata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.lrodata .lrodata.* .gnu.linkonce.lr.*)
  }
  .ldata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.ldata .ldata.* .gnu.linkonce.l.*)
    . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  . = ALIGN(64 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for ld --shared: link shared library */
OUTPUT_FORMAT("elf64-l1om", "elf64-l1om",
	      "elf64-l1om")
OUTPUT_ARCH(l1om)
ENTRY(_start)
SEARCH_DIR("/usr/x86_64-redhat-linux/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS;
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rela.init      : { *(.rela.init) }
  .rela.text      : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) }
  .rela.fini      : { *(.rela.fini) }
  .rela.rodata    : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) }
  .rela.data.rel.ro   : { *(.rela.data.rel.ro* .rela.gnu.linkonce.d.rel.ro.*) }
  .rela.data      : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) }
  .rela.tdata	  : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) }
  .rela.tbss	  : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) }
  .rela.ctors     : { *(.rela.ctors) }
  .rela.dtors     : { *(.rela.dtors) }
  .rela.got       : { *(.rela.got) }
  .rela.bss       : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) }
  .rela.ldata     : { *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*) }
  .rela.lbss      : { *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*) }
  .rela.lrodata   : { *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*) }
  .rela.iplt      :
    {
      *(.rela.iplt)
    }
  .rela.plt       :
    {
      *(.rela.plt)
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) }
  .iplt           : { *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    KEEP (*(.preinit_array))
  }
  .init_array     :
  {
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
  }
  .fini_array     :
  {
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (24, .);
  .got.plt        : { *(.got.plt)  *(.igot.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  .lbss   :
  {
    *(.dynlbss)
    *(.lbss .lbss.* .gnu.linkonce.lb.*)
    *(LARGE_COMMON)
  }
  . = ALIGN(64 / 8);
  .lrodata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.lrodata .lrodata.* .gnu.linkonce.lr.*)
  }
  .ldata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.ldata .ldata.* .gnu.linkonce.l.*)
    . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  . = ALIGN(64 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for -z combreloc -z now -z relro: combine and sort reloc sections */
OUTPUT_FORMAT("elf64-l1om", "elf64-l1om",
	      "elf64-l1om")
OUTPUT_ARCH(l1om)
ENTRY(_start)
SEARCH_DIR("/usr/x86_64-redhat-linux/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000)); . = SEGMENT_START("text-segment", 0x400000) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rela.dyn       :
    {
      *(.rela.init)
      *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
      *(.rela.fini)
      *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
      *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
      *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
      *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
      *(.rela.ctors)
      *(.rela.dtors)
      *(.rela.got)
      *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
      *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*)
      *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*)
      *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*)
      PROVIDE_HIDDEN (__rel_iplt_start = .);
      PROVIDE_HIDDEN (__rel_iplt_end = .);
      PROVIDE_HIDDEN (__rela_iplt_start = .);
      *(.rela.iplt)
      PROVIDE_HIDDEN (__rela_iplt_end = .);
    }
  .rela.plt       :
    {
      *(.rela.plt)
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) }
  .iplt           : { *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
     PROVIDE_HIDDEN (__init_array_start = .);
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
     PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got.plt) *(.igot.plt) *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (0, .);
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  .lbss   :
  {
    *(.dynlbss)
    *(.lbss .lbss.* .gnu.linkonce.lb.*)
    *(LARGE_COMMON)
  }
  . = ALIGN(64 / 8);
  .lrodata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.lrodata .lrodata.* .gnu.linkonce.lr.*)
  }
  .ldata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.ldata .ldata.* .gnu.linkonce.l.*)
    . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  . = ALIGN(64 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Default linker script, for normal executables */
OUTPUT_FORMAT("elf64-l1om", "elf64-l1om",
	      "elf64-l1om")
OUTPUT_ARCH(l1om)
ENTRY(_start)
SEARCH_DIR("/usr/x86_64-redhat-linux/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000)); . = SEGMENT_START("text-segment", 0x400000) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rela.init      : { *(.rela.init) }
  .rela.text      : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) }
  .rela.fini      : { *(.rela.fini) }
  .rela.rodata    : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) }
  .rela.data.rel.ro   : { *(.rela.data.rel.ro* .rela.gnu.linkonce.d.rel.ro.*) }
  .rela.data      : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) }
  .rela.tdata	  : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) }
  .rela.tbss	  : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) }
  .rela.ctors     : { *(.rela.ctors) }
  .rela.dtors     : { *(.rela.dtors) }
  .rela.got       : { *(.rela.got) }
  .rela.bss       : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) }
  .rela.ldata     : { *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*) }
  .rela.lbss      : { *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*) }
  .rela.lrodata   : { *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*) }
  .rela.iplt      :
    {
      PROVIDE_HIDDEN (__rela_iplt_start = .);
      *(.rela.iplt)
      PROVIDE_HIDDEN (__rela_iplt_end = .);
    }
  .rela.plt       :
    {
      *(.rela.plt)
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) }
  .iplt           : { *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
     PROVIDE_HIDDEN (__init_array_start = .);
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
     PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (24, .);
  .got.plt        : { *(.got.plt)  *(.igot.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  .lbss   :
  {
    *(.dynlbss)
    *(.lbss .lbss.* .gnu.linkonce.lb.*)
    *(LARGE_COMMON)
  }
  . = ALIGN(64 / 8);
  .lrodata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.lrodata .lrodata.* .gnu.linkonce.lr.*)
  }
  .ldata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.ldata .ldata.* .gnu.linkonce.l.*)
    . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  . = ALIGN(64 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

/* Script for -z combreloc: combine and sort reloc sections */
OUTPUT_FORMAT("elf64-l1om", "elf64-l1om",
	      "elf64-l1om")
OUTPUT_ARCH(l1om)
ENTRY(_start)
SEARCH_DIR("/usr/x86_64-redhat-linux/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000)); . = SEGMENT_START("text-segment", 0x400000) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rela.dyn       :
    {
      *(.rela.init)
      *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
      *(.rela.fini)
      *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
      *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
      *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
      *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
      *(.rela.ctors)
      *(.rela.dtors)
      *(.rela.got)
      *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
      *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*)
      *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*)
      *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*)
      PROVIDE_HIDDEN (__rel_iplt_start = .);
      PROVIDE_HIDDEN (__rel_iplt_end = .);
      PROVIDE_HIDDEN (__rela_iplt_start = .);
      *(.rela.iplt)
      PROVIDE_HIDDEN (__rela_iplt_end = .);
    }
  .rela.plt       :
    {
      *(.rela.plt)
    }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) }
  .iplt           : { *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
     PROVIDE_HIDDEN (__init_array_start = .);
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
     PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (24, .);
  .got.plt        : { *(.got.plt)  *(.igot.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  .lbss   :
  {
    *(.dynlbss)
    *(.lbss .lbss.* .gnu.linkonce.lb.*)
    *(LARGE_COMMON)
  }
  . = ALIGN(64 / 8);
  .lrodata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.lrodata .lrodata.* .gnu.linkonce.lr.*)
  }
  .ldata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.ldata .ldata.* .gnu.linkonce.l.*)
    . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  . = ALIGN(64 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}

eelf_l1om.celf_l1omelf64-l1om@^B ^B^B]B]B]B]BEEEPEEEžEϞEڞEgldelf_l1om_write_build_id_sectionread_hex
out of memory
;4
P
Px

0
ж
8 Ph (0@@Xpp0`0H@pP(HPp  0Hp`@  @``P#p###P'H (`p(x((()@)p)0)H*``*x****+`++(,H0,`P,x`--@..(/H`1122(2H3x4P6`:xp:P<<<(@=H>hp>???@8@XApAPBChDF GGHHpII@Lh MMNN O  PO@ Oh P Q R U8!UP!Vx!W!W!X"`X "X8"XX"0Y"pY"Y"Y"Z#_P#@_h#a#a#b#c$pc0$d$0f$ g%hP%@i%j%x&@x(&|P&}&&& H'ph'''' (0H(x(P()`X))P) * *pH**0* *+08+++8,,,-8-P-x-`.P.../P/h////0/P/0(0H0`00`101`X11012022`22 2 3`P3x33P3P3(4 X444P4@55550	6	(6	H60
h6p
666 70@7PX7 7!7!7 "7"8"8"08"H8"`8#x8#8 #80#8@#8P#8p#9# 9#89#P9#h9$9 $9@$9`$9$9$9$:$(:$@:%x:%:&:&:';`'(;'@;'X;'p; (;P(;@);`);)<4X<p5x< 6<6<p7<7<`8=9@=p9h=9=p:= ;=;>=P>=h>=>@B> D?E@?E`?Fx?F?G?@JX@PK@`NAN@ARATApTBU B VHB@ZhB@[BbB@cC iPCpjxCPmC nC@nC@o(DpXD`tDvDw8E~E`E0E Fp(FPxFFF@F`F`8G0`G`G@GHp@H@`H`xH`H0H0IXIIJ8JPhJ@JJpKK0KXKpKPKKKKL0LxLLLM@MMMMMNhNpN@N0NO`XOpOOOOP@P`hP`PPP8Q0	`Q@
Q
QRPRRPR@S`SSPST HTTT@TTU0`U`UpUUU@VP VzRx$HN s
Ob
NDЧ^Go
J$drAPG GFA$hN i
IML7$BBB B(A0A8G*C
8D0A(B BBBG{40L(d |$%<%T%l(%@%X%p%$bDl
HM
KQ<D
G\XDt)D,H^
Jt
Dv
BD
D A
G$GMN0
F<N0Y
ID\BAG J0U
 AABA_
 AABAAN$MN0
E$xMN Q
D$AG n
DF,<hAAG h
AAE,lADG0s
AAGLBBA A(D0W
(D CBBDZ
(C ABBFN0b
AgDY
ED,(OBBB B(A0A8D@
8A0A(B BBBAD
8F0A(B BBBAD
8F0A(B BBBAD
8F0A(B BBBAD
8F0A(B BBBBLBGD A(J@S
(A ABBGH
(A ABBJL,xjBBB B(D0H8G
8A0A(B BBBK|QLeBBB B(D0D8DP0
8D0A(B BBBG,EDLQd?|$-ADD aAA$-ADD aAA ,8{	,	RD	;\	t	0			X	PQHe
Ab	IMD w
DV,
DQ$D

MI n
Dl
L4
AHG0[
AAC[CA4
HqAAG S
FAEDCA
OQ d
KLLBEE E(D0A8D`$
8D0A(B BBBEd,Aj4qADD s
AABnAA4BIA 
HBK_DBpEI{,AIG c
AAJ,D0+X0s
Eg
Ifdt0eBBB B(A0A8GPJ
8A0A(B BBBK
8A0A(B BBBCd8BGE E(D0A8DP{
8D0A(B BBBEJ
8A0A(B BBBCD
	d\
BEE A(I0y
(A MBBOh
(A MBBFJ
(A MBBL
P!7Dk
x!7Dk
!fN {
G!GQ
X44"YBAC C
ADBEAB,l"ADG T
AAF(#$ #MD x
GF
J$#MD x
Gy
G`$=AL nA$$\<$BBE E(D0D8GPw
8A0A(B BBBBL8A0J(B BEBD$xBEE E(D0A8D@S8A0A(B BBBL0%BEE E(D0A8D@p
8A0A(B BBBAL4%BBB E(D0A8D%
8A0A(B BBBEd&LBBE E(A0A8Dp
8A0A(B BBBJA8A0A(B BBB\'BEE E(A0A8D`
8A0A(B BBBCv8A0A(B BBB$Lx(MMI@[
Bt(eDP
LD$@)mKb
CS
M$)MN@~
G$P*~EY
JA
O$*MNpG
F40-N a
A4T-AG ]
AJj
AEcA$-MML0h
B.BDi
A..HDo
A$/MAAG AAA<40/0BEA D(D0
(C ABBD$t 0MI w
C1Hv
JD1%BBB D(D0G@
0A(A BBBGp4$x4O`
AK
ELD5BBE E(D0I8FP
8A0A(B BBBG5?LD n53Dj6MN ~86@6 HW$$@6MMI0gL6?N pl6 HW6 HW6QMI zL7BBB B(D0D8G@
8A0A(B BBBD;*De<4;fBBD C(G0
(D ABBFt>
$=MV0
B$>oN H
JN>YMD GL8?bBLB B(A0D8J@
8A0A(B BBBALLX@LBEA C(G0E
(D ABBH(D ABB,XAMYD@b
DOLBBBB E(D0J8G`b8A0A(B BBB,XCAGJ H
AAL<LCZBLA A(D08(D ABBLDX
BEB E(D0D8G
8A0A(B BBBEQ3D n$RMN0F
G4UAAD0
AAA
AAET0WD!
K4tYIAAG O
FAA
AAHd(ZBBB E(A0A8G@
8A0A(B BBBD_
8A0A(B BBBG\CAA4]ID ]
G`T0]?A]
BZ$tP]HF
Be
KHL]AAG Q
AADO
AAG,
AAJS
AAK$h`MV@l
A,d|AAG V
DAA|D0eBEE E(A0A8D@j
8A0A(B BBBEn
8A0A(B BBBHL
8G0A(B BBHNPfiDM
G<fADG H
AAJ]
AAA\AA,$gADG x
AAJ<Tg2BBA C(G@e
(A ABBF4iBHA A(D0(A ABBjmN f
D$hjAJ 
AFL kBDD C(N0P
(C ABBAP
(A ABBF$dkAJ
Ec
M,hlMN0e
H
C$(nMX0d
GpgMI Ldp|BBB B(D0D8J
8A0A(B BBBEi
8A0A(B BBBEDls
BBB D(D0G@W
0A(A BBBDLuBBB B(A0A8D'
8A0A(B BBBALBEB E(D0D8K@
8A0A(B BEBF$TpAQ {
ABL|ZBEB B(D0D8G
8D0A(B BBBJ4AG Q
AFO
DEJD `
$ X@D
JU
KD pBBB A(D0x
(A BBBVd
(A BBBKS
(A BBBA
(A BBBE@
(A BBBKF
(A BBBGX
(A BBBQ
(O BBBAJ
(A BBBS
(A BBB]4,!XBQH r
AIIdAI4d!xBAA D
 AABA!!L!BEB E(D0D8GPf
8A0A(B BBBC"84"@L"Hd"P|"X"` DT,"hAV
IA
WA
WA"
"N@K
G#`D,#hBBB A(A0D@u
0A(A BBBGdt# BBB B(A0A8D@5
8A0A(B BBBK
8A0A(B BBBA#HmDo
A$#MN0X
E\$$XBEB E(D0C8G@
8A0A(B BBBGY8G0A(B BBB$$iMPD0G$$HiMPD0G$$M[@L$BIB A(A0
(A BBLD(A BBB$L%(Ag
HR
N$t%Ag
HR
N$%8MN0u
Hj$% MMI0
D,%MMN@_
I$&pMMIPv
G,D&PM[Pm
K
G$t&аMU@@
F$&xMI0
F,&PM\G|
D,&%MMN`q
G4$'f
BBB B(A0A8D\'@Di
CK$|'zMS@X
Hd'pBFB B(A0A8D
8A0A(B BBBI
8A0A(B BBBA<(BIC N
ABAT
ABYDL(XAa
V{
]m
Kw
a
Ly
GA
O(HMD v(XMQ y( QLN v(`KMD y)KMD y4)2ApTT)eMN0`
EO
I
H0
H2
F
ES
E)&$)LI f
E)yN W
K*DL$$*9MI ~
DL*qD@U
GPl*hqD@R
JP*D@n
FP*8yD@`
DP**
*
+
,+D+
\+x
t+p
+h
+`
+X+`+h
,`,h4,pL,xd,|,,,
,,,4-BDA [
ABKRAM$D-`ADI OAA<l-8BAA B
HBHF
ABO-#DU-#DU-LDC-0!.H$.P<.HYD h
D\.0DS
IO$|.Ay
FZ
F.`.hL.p_BBE B(D0D8J
8A0A(B BBBA$/GD/Gd/G/MI /AMD k/G$/@N |
FX
Hg$0kADD _AA$40XALGCA4\08ACD G
CAEvAC$0MI k
G0(gS S<0x=BBG A(D0
(O BBLI1x
41p$L1hNM[P
Idt1BEE E(A0D8D`P
8A0A(B BBBA
8C0A(B BBBH,1rMI Y
A
MH
H2X7DN
FZ,2x$D2MML`zLl2)BBB B(A0A8DP
8A0A(B BBBAd2`BBB E(D0A8D
8A0A(B BBBAw
8A0A(B BBBML$3	BOB B(A0A8D@k
8F0A(B BBBAdt3
BLB B(A0A8IPV
8A0A(B BBBAp
8A0A(B BBBA,3H
jADG D
FAI<4
BBA A(D0
(A ABBA\L4BBD D(G0r
(A ABBEL
(A ABBFs
(A ABBA$4cAG n
AI4` $4hMI H
B5AD45BBE A(A0G@
0A(A BBBF$|5AD 
AK$50,HS0
FL58 BBB E(D0C8Gp
8D0A(B BBBH$6%GYNPn
K<D6&BBA A(Dp^
(A ABBB6)AN
A6@*46H*AFI l
AABq
FAH,6+BAC ABL$7+FBEB B(A0A8G
8A0A(B BBBA$t7/0MN@q
Dd71)BEB B(G0A8D`
8A0A(B BBBHD
8F0A(B BBBEL82&BBB B(A0A8DQ
8A0A(B BBBG$T8`9fMQq
A,|8:BGC U
ABD8H;MI $8<LH[
EG
AG
AL8@<BBB B(A0A8Jv
8A0A(B BBBDD9?3Dn\9? $t9AMI H
B9hAAD9hEBBE A(A0G@
0A(A BBBF$: FAD 
AK$,:L,HS0
FLT:MBBB E(D0C8Gp
8D0A(B BBBH$:`SGYNPn
K<:TBBA A(Dp^
(A ABBB;(WAN
A,;W4D;WAFI l
AABq
FAH,|;XBAC ABL;HYFBEB B(A0A8G
8A0A(B BBBA$;H]0MN@q
Dd$<P_)BEB B(G0A8D`
8A0A(B BBBHD
8F0A(B BBBEL<`&BBB B(A0A8DQ
8A0A(B BBBG$<ffMQq
A,=@hBGC U
ABD4=hMI $T=iLH[
EG
AG
AL|=iBBB B(A0A8Jv
8A0A(B BBBD=hm3Dn=mW$=mYI@i
E$>n
<>nFAJ
Eu$\>nSDM
GY
ON>n,Dg>o $>pMI H
B>xpAD>xtBBE A(A0G@
0A(A BBBF$D?0uAD 
AK$l?{,HS0
FL?|BBB E(D0C8Gp
8D0A(B BBBH$?pGYNPn
K<@BBA A(Dp^
(A ABBBL@8AN
Al@4@AFI l
AABq
FAH$@0MN@q
DL@BBB B(A0A8DQ
8A0A(B BBBG$4AfMQq
A,\AؐBGC U
ABDAxMI $AHLH[
EG
AG
ALApBBB B(A0A8Jv
8A0A(B BBBD$B3Dn<B(1TBPDlBXBEB B(A0A8{0A(B BBB,B6MMN`K
E$BMV0
L$CxMQt
AL4CBEB H(D0A8G"
8A0A(B BBBFC8CȡLCZBEB B(A0A8Dh>8A0A(B BBB$DPMMN@y
G<,DȷBEA A(G0
(G ABBJ$lDmMQNLDBEB H(A0D8I"
8A0A(B BBBF4DGADD l
DAFDAA<EBHB D(A0v
(A BBBB,\EAC
EJ
CLEBBB E(A0D8D@I
8D0A(B BBBFLE(BBB E(D0A8DpP
8A0A(B BBBB<,FBEA D(G(A ABBlFAF`ADFhBEB A(A0G
0D(A BBBA<FXBEA A(D
(D ABBA<GBEA A(D(A ABBTG`lGX6Gd4GGADD m
DAEDAAGQGHO rLG>BJB B(A0A8G@
8D0A(B BBBF,,H+AC
KVA
J\HtH
$H<AAD sAAH{Hi
GH0$H(Q_@X2@
Bo@X@
O hh#@!@	o!@oo( @o@oPo`@ox@h0_1ihHh&3@P1˂1F1*1 1-1̂1 wF1ׂ1`1A1M1`111@e1@O1N1PM11`1L1F11@B1K1*1@ZC1PO1B1,1@c1I1@+1M1 1G1oF1`A1G11c1p1@N11lF1p~1J10͂111&1 g1H1P1F1 G1`gK10F1p11F1 M1Ԃ1pł11ق1ł1{1ǂ1 11Е1E11 1ނ1̂1 C1`1F11G1 rF1nC1 G1΂1@11H1p108H11L1sF1OC1}1p1G1pA1OC131Ђ1B1 %P1c1L1P1P.11h11Ղ10]1 J1 F111cF1&1.101`1Q1Ƃ1+11т1O1ł1ق1P1M1e1+1@yF11 G101̂1}1т111`{1@nC1͂1J1M10L11P1F1@1Pт1d1 hhCCh h'<C
 qApaA oAPnAsA0kAhAfAaA`AeAAA@ADAh@hhhChi BAAABAAA@A@AC|E0AAAAAA`ACE+C#C+E+E#@@BBAAA3B0*BAA`&B`BIGRG0A%B0BB0BBBCE+C#C+E+E#@DBAAA`AAAA DBBBGG0ACBBB0oBAAAaB^BAAZBDBdHmH0A`YBSBPRBKB`FBEBCE+C#C+E+E#@h1 h`1hCBBBBQ00000000000000000000000000000000	

 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~x11h01phx1x1libbfd-2.20.51.0.2-5.36.el6.so__gmon_start___Jv_RegisterClasseshtab_find_slotbfd_elf_set_dt_needed_namebfd_getb64bfd_link_add_undefbfd_check_formatbfd_hash_newfuncxexitbfd_target_listxstrdupbfd_get_archbfd_make_section_anyway_with_flagsbfd_set_gp_sizecplus_demangle_name_to_stylebfd_emul_get_commonpagesizebfd_und_sectionbfd_search_for_target_sch_tolowerbfd_set_errorbfd_get_reloc_sizebfd_set_error_program_namehtab_hash_string_sch_istablebfd_elf_get_dt_sonamebfd_section_already_linked_table_initbfd_elf_set_dyn_lib_classxmalloc_set_program_namebfd_check_format_matchesbfd_closebfd_elf_get_bfd_needed_listxcallocbfd_errmsgbfd_elf_size_dynsym_hash_dynstrcplus_demanglebfd_openr_next_archived_filebfd_new_link_orderbfd_hash_set_default_sizebfd_abs_sectionbfd_hash_lookupbfd_section_already_linked_table_freebfd_arch_mach_octets_per_bytebfd_cache_closebfd_get_section_by_namebfd_elf_get_runpath_listlrealpathbfd_emul_set_maxpagesizebfd_map_over_sectionsbfd_elf_get_dyn_lib_classbfd_scan_archbfd_bwriteunlink_if_ordinarybfd_elf_get_needed_listxmalloc_bfd_elf_map_sections_to_segmentsbfd_get_unique_section_namebfd_putl16bfd_arch_get_compatiblecplus_demangle_set_stylebfd_elf_size_dynamic_sectionsbfd_set_default_targetbfd_link_hash_lookupbfd_set_format_bfd_elf_match_sections_by_typexreallocbfd_emul_get_maxpagesizebfd_elf_discard_infobfd_get_reloc_code_namebfd_set_error_handlerbfd_putl32bfd_coff_get_comdat_sectionbfd_octets_per_bytebfd_link_hash_traversebfd_emul_set_commonpagesizebfd_seekbfd_record_phdrbfd_hash_table_initbfd_generic_link_read_symbolsbfd_hash_allocatebfd_scan_vmabfd_get_section_by_name_ifbfd_getb16lbasenamebfd_statbfd_hash_traversebfd_i386linux_size_dynamic_sectionsbfd_demanglebfd_putl64bfd_hash_table_free_bfd_fix_excluded_sec_symsbfd_wrapped_link_hash_lookupbfd_get_errorbfd_make_section_with_flagsbfd_getb32bfd_get_section_contentsbfd_reloc_type_lookupbfd_openrbfd_openwbfd_hash_table_init_nhtab_findhtab_createobjalloc_free_blockbfd_elf_record_link_assignmentbfd_set_start_addressbfd_initbfd_printable_namebfd_canonicalize_relocbfd_get_reloc_upper_bound_finibfd_make_section_anyway_bfd_elf_tls_setup_xexit_cleanuplibz.so.1libc.so.6strcpy__rawmemchr__printf_chkfnmatch_IO_putcfopenstrncmpoptindstrrchr__strdupdcgettextftellstrncpy__stack_chk_failstdinsbrkrewindstrtolisattyfeoffgetsstrlenglobstrstr__errno_locationfseek__fprintf_chkstdoutfputcgetrusagefputsmemcpyfclosestrtoulstrcatstrcasecmpgetenvoptargstderr_obstack_newchunkgetopt_longfilenofwritefreadstrchrobstack_freeqsort__sprintf_chk__xstatmemmove_obstack_beginbindtextdomainaccess_IO_getcopterrstrcmp__libc_start_mainferrorglobfreegetopt_long_only__environ_edata__bss_start_endlibiberty_concat_ptrGLIBC_2.4GLIBC_2.3.4GLIBC_2.2.5/lib64/ld-linux-x86-64.so.2ld.debug-ELF>=@@@8@@@@@@@@@@   h h$ HHhHh@@DDPtdЉЉHЉH4
4
Qtd@@ !<@<$4o`@`> @ F@ONo( @( z[o!@!@j!@!th#@h#~2@2y3@3p
=@=hlBB ЉHЉ4
HI h 0h0@h@HhHh( h Hhh	 h .shstrtab.interp.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.eh_frame_hdr.eh_frame.ctors.dtors.jcr.dynamic.got.got.plt.data.bss.gnu_debuglink.dynbss.gnu.liblist.gnu.conflict.gnu.prelink_undo8@8T@T !t@t$4o@>X@Xo@P	`@`xNo( @( z[o!@!@j!@!th#@h#
~2@2y3@3p
=@=hlBB ЉHЉ4
HI h 0h0@h@HhHh( h Hhh	 h h Fk	(	
	)

haha - 2025