403Webshell
Server IP : 182.53.201.61  /  Your IP : 216.73.217.175
Web Server : Apache/2.2.15 (Fedora)
System : Linux km10.dyndns.org 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686
User : apache ( 48)
PHP Version : 5.3.3
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /proc/self/root/usr/bin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/self/root/usr/bin/ld
ELF4F4 ( 44p4p44q4qpp333P3HHqHqDDPtdOOQtd/lib/ld-linux.so.2GNUGNU|v=(`(a^libbfd-2.19.51.0.14-34.fc12.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.6_IO_stdin_usedglobfree64strcpy__rawmemchr__printf_chkfnmatch_IO_putcstrncmpoptindstrrchr__strdupdcgettextglob64ftellstrncpy__stack_chk_failstdinsbrkrewindstrtolisattyfeoffgetsstrlenstrstr__errno_locationfseek__fprintf_chkstdoutfputcgetrusagefputsmemcpyfclosestrtoulstrcatstrcasecmp__xstat64getenvoptargstderr_obstack_newchunkgetopt_longfilenofwritefreadstrchrqsort__sprintf_chkmemmovefopen64_obstack_beginbindtextdomainaccess_IO_getcopterrstrcmp__libc_start_mainferrorgetopt_long_only__environ_edata__bss_start_endlibiberty_concat_ptrGLIBC_2.2.3GLIBC_2.4GLIBC_2.2GLIBC_2.3.4GLIBC_2.1GLIBC_2.0/lib/ld-linux.so.2OM/0O_AO^wOI*H*T + (+D+D`+t+|++,*,*T,*-*D../ d/*tx܎$(,<XpĿDȏԏ؏OyOyOyOyOypOyD@")0TL()3"
Uf2t
|qX@K|pTŹ@D8ĉCEV&ݣkgUa{G}
E)[
		dRwv

	  / 
C	
y?
	mo
(
b	o	
x


:	
)
j
	@	`=
.K	
	HO
		[	/	
	+YB	\	5
]b
	Hj	`	'r

	

OQ|K|
	+	r"	qi
U	B

TB	cRC(G3	BD
"$LDj6
!
"
/
!{	Ŀ D	si	7ii
Cii
Mti	Wii
cii
mQ ĿĴȴ	̴
дԴشܴ
 $ (!,"0#4$8%<&@'D(H)L*P+T,X-\.`/d0h1l2p3t4x5|6789:;<=>?@ABCDEFĵGȵH̵IеJԵKصLܵMNOPRSTUVWXYZ[\]^ _$`(a,b0c4d8e<f@gDhHiLjPkTlXm\n`odphqlrpsttxu|vwxyz{|}~Ķȶ̶жԶضܶ $(,048<US[Lt^mX[5%%h%h%h%h%h %h(%h0%Ĵh8p%ȴh@`%̴hHP%дhP@%ԴhX0%شh` %ܴhh%hp%hx%h%h%h%h%h%h%h%hp%h`%hP%h@%h0%h %h% h%$h%(h%,h%0h%4h%8h %<h(%@h0%Dh8p%Hh@`%LhHP%PhP@%ThX0%Xh` %\hh%`hp%dhx%hh%lh%ph%th%xh%|h%h%hp%h`%hP%h@%h0%h %h%h%h%h%h%h%h%h %h(%h0%ĵh8p%ȵh@`%̵hHP%еhP@%ԵhX0%صh` %ܵhh%hp%hx%h%h%h%h%h%h%h%hp%h`%hP%h@%h0%h %h% h%$h%(h%,h%0h%4h%8h %<h(%@h0%Dh8p%Hh@`%LhHP%PhP@%ThX0%Xh` %\hh%`hp%dhx%hh%lh%ph%th%xh%|h%h%hp%h`%hP%h@%h0%h %h%h%h%h%h%h%h%h %h(%h0%Ķh8p%ȶh@`%̶hHP%жhP@%ԶhX0%ضh` %ܶhh%hp%hx%h%h%h%h%h%h%h%hp%h`%hP%h@%h0%h %h% h%$h%(h%,h%0h%4h%8h %<h(1^PTRhhQVhUSd$=u>뤳9st&9rd$[]Ív'Ud$衬tt	$ÐUd$衸]u]uOpv\$$ʜ]u]Ë \$D$$襜]u]Ív5D$D$$J$t$j끐&USÍd$~FgD$D$D$$$D$KlD$d$[]Ít&gD$D$D$$븍vUVSÍd$D$D$$9w-f[D$D$	D$$}9sաD$)D$$\d$[^]US
d$܅DËtTD$UMD$D$$MUD$)D$$d$$[]É'UWVS$d
<EDžDžDž1DžfJ9'(Dž'='GD$(+L$D$4$|$DD$$b9t$F҉C~9''!t]3K=zw'j7=.w )9"E.=K)ÉE̋CEЋCEԋCE=Z
T)ً)?`MCE̋CEЉBEԉBE؉Bm@Pف.@Qt&7p=&*Et&v!=t@=.wf )tA;@RRnt뛍v7~ơ=DžCCCD$D$D$$6@RD$)D$$k=tra59t<[v@R9uߋ9t$$[^_]Í&\$D$CD$$f$ f;	 )l	7gt&=M@f="5
1D$hD$$Et&D$~D$D$$D$)D$$>L$D$&D$$t&D$D$$fD$D$`XD$ЃD$$<1	@[ ^[D$\$D$$vD$)D$$9t&D$+D$D$$	`MM̉D$)D$$M
))ɉM97t&$3? AAA[D$VD$$O؉"&K#D$CD$C$Z$U!p)D$D$$ p[p"-pD$D$4$S$\$sTED$B$H)D$A$,
D$C$$+D$B$D$A$D$C$wD$G$lD$B$PD$A$c4D$C$G$D$D$B$~D$D$A$Z$%$ v$薕w mD$$nP$;$&$p$[$$E$$ѷ$輷mrfaQG$蚩;D$B$|D$A$kD$D$D$C$pmD$GD$GЉD$G$DmD$B$֍xi._t&QA$jl; $@!VG$zsD$$D$$ЦCD$CЉ$裶D$D$$D$D$$ɴZD$D$$褴5D$D$$D$D$$ZD$D$$5EMCljE}uBbEMCC0D$G$i&6BD$BЉ$S$FEEE̲EEEEE̋GEtBEEEUAEEE6CEEEGEEEBEEEAEEECEE̋CЉE$WPEx$j@ES$ExދSE($xEEEܡD$EED$$胤D$B$D$\D$AD$ȃ0$4ufW$蕢F$脢5$@iCD$CЉ$G$&BD$B$O$$豍&ljE}iEMQljE}9EM!ljE}	D$D$$mEEEE+E-E*E/EE}E&qE|eD$CD$C$O$詠:GD$$9nD$\$G$oD$GD$$=N$WD$BD$BЉ$BN$*D$AD$AЉ$N$D$$lD$D$D$$B$<uE:$? Ut&D$D$D$$jCSPHPH D$D$D$$jCSD$D$D$$$ctEaD$D$$Jl;D$D$$$lB$k$mn$Xn$Cn$Nn$
c$bE$sQPE]$OSPE9/dE$-D$kEAECD$CЉ$kkE$!D$KkEE$~D$kEyD$CD$$*lERD$GD$$/kE+D$BD$$%kED$AD$$+kED$CD$$-hkED$GD$$AkED$BD$$kEhD$AD$$jEAD$CD$$jED$GD$$jED$BD$$~jED$AD$$<WjED$CD$$>0jE~D$GD$$&	jEWD$BD$$^iE0D$AD$$|iE	D$CD$CD$$?hED$GD$$fiED$BD$$
?iEA$7D$gElCD$S$T$HEFD$$)LgE*B$>D$+gE	A$=D$
gEC$?D$fEG$@D$fEB$yD$fEA$ZD$gEdC$D$fECGD$GЉD$$gEBD$BЉD$$$gEAЉD$AD$$%}gEC$&D$LfEG$D$eD$GD$$.$gErB$D$eEQ$D$SeE1CD$CЉD$$AfE	GD$GЉD$$BfEBD$BЉ$EEA$ID$dEC$KD$dEEoEcBEREFAE5E)CEEEuEvEwE
&GD$GD$GЉD$GD$D$GD$G$9zJkt&BD$BD$BЉD$$f7D$D$D$G$kEt&+
AD$A$ymt&CD$CD$CЉD$D$@D$P$"sH&aD$y	D$$=B$螔/
$4JAEECЉEtGEcBEREFEE3EE EEE$@PSE$	&{		BD$$DuJ	kt&	\@PT$PT$@D$AD$AЉD$A$)E̋x8p1[t3@X4$D$su$D$[AED$4$CD$4$+$QtdD$AEi1UXD$$uzD$$uyD$$GEBED$$VED$B$VE_D$A$VE>C$D$oVEGD$G$OVED$D$$D$eED$D$$D$eED$D$D$C$meEkD$D$D$G$=eE;E̋B  C‹uGE̋GУE̋BAE̋AУD$D$D$$dED$D$D$C$XdEVD$D$D$$+dE)^-p]&;D$G$D$_D$BD$B$_AD$AЉD$A$\_$D$ZEmD$G$pZENp)D$D$$ p[p<-pC$RUp)D$D$$ p[pEAE|D$D$D$$_D$)D$$1i$a'C0<,D$D$$$\$pD$D$l$$t$p$D$";E$PtdD$;EdEXELU]ÍUSEt=P@PBH҉H@@,t;t[]Ðt&P

[]É'UD]ÍU]ÍU]ÍU]ÍU]ÍUED]ÍvUE]ÍvUE]ÍvU]ÍUE]ÍvLUL]ÍLUL]ÍLUL
]ÍLUL]ÍLUL	]ÍLUL]ÍLUL]ÍLUP@L]Ðt&Ud$GvUd$7vUSd$]tYt
;t;Cu]d$[]C$]d$[]&뽍d$[]ÐUd$衜tmt`$kuEt>t1PPÐR밐t&Ud$衜u0;$9t
uˉ$1Í&Ud$'vUd$D$D$#D$$$`Ud$衜]}S;v
]}]Ív[$T$b< u{1u%u]}]됍t&ft$tW7t&fRu`vl/l똍vUd$؉]]ۉu}Et2=50~=~tM
CC]u}]Ð뷍USd$]1҅t	9tatdt
J
JCCd$[]á뾍UWVSd$䡘	}H
`1҅ &lt	<$H@$0ÉpF$C
|$$SFD2SD2CC]CCCCC(C,d$[^_]bf$lgv'Ud$؉]]}u}w1]u}]Ít&|u|u$0tB[~^~F^FFF(F,4$닸ldfUWVSd$ԋu}V$UbËUtP~1v@9uD33$T$
tC؍d$,[^_]ø/llU롍v'USd$]$D$$Qd$[]Ív'Ud$ȉ]uÉ։}[NjE$1҉3C(t9tC C$t54$$i~ES]u}]Í&1UVSd$u$0tBsv4$CtCUd$[^]fm׍t&m벍t&UVSd$	]uwgH
`1҅ɉ4 t	$@D$@HEd$[^]P$Dmd농'USd$졜tOtBU*BBd$[]D$@$g1tzUd$ȋ
]eE1ɉuubu'uD$D$MlD$D$4$\$t$$mcEe3u1]u]Ð$$dmD$wcx!'UWVSd$ԋ
5=}EPt29p(u +]Íd$,ۃ[^_]Ís+u~1]@9uU]x,PuNt&W~nG@D$G$GtC)
áUҋP>1t<GwuGm]G뮉ЉG뉍t&u1ۅɋxE؋
  L$D$Nڍ<7\$<$9ã1:G0;OG
HD@d$,[^_]ømU
5uU܍E@0:;OG,PL$G$G@
f$t$n`1ۅ:GDv$:v@8nB
@cUd$]uu@9s&SS]u]ÍC5,¸t׃tt뭋E$E)뇉'Ud$3t*t!
uHu*u*t/t
tЃu$Sl^UWVSd$ġt5vD$0D$$il^f$n5]䡐`ߐfuqt2=%`=6~`ɍ
	9u	`f	끋
۸Ez]I
Xz&d$<[^_]Íd$<s[^_]Íd$<i[^_]Íd$<h[^_]Íd$<j[^_]Í&u}uuډ=)=vhnt&$nHfD$@$Ŀw}8/Xx*N=£)WGJm$褻nQ$舻o5ll!qq
pp+
ڋx,uH

@,@9UU8
ӡM92t<qfut
`<7}?9t`=6~ʋMR	yD$D$D$$*g$չDw$諹X$菹<$p$T$8ZZYYXXmmllkkmaaY__E^^1bb[[	ffeeddWWQQ]]}ZZiYYUXXAmm-kkaa__^^bb[[ffeeddyWWeQQQ=]])1҉$`HH\\|loyyxxql2u++7--#
ttUUTTSSRR  u//aKKMKK9II%IIwwvvuu6655443322q'']((I''566!HH
GGFFEEmDDY,,E**1CCJJ	##""!!--++PP}LLi77UVVANN-MMOO9988==::..))))y<<ellQ;;=``)BBAA>>@@??&&%%$$uKKaM9rr%II1100;;::(()){{}}q==]<<I%%5//!--
++**??!!~~||&&,,m>>YE1			

}iU

A-[[]]1Ҁ8$T$D$$aÉ֡LmMkcKZ:0'mL
B6w
ɋ@T$D$$ƪD$D$$自==$v$貪_BB<Xt<xR$y&

5	5@6=6"[Uщ׋X91EtqUfutd
U`uuuuu69t`=6~ˋu뾋UIkUu2EӋщ9v~1EtqUfu
U`uuuuu69ta`=6~ˋuuft`v69`ۋUI&U]UWVSӍd$ĉED$E$D$ƋE׀8EЋۉEu
5t&t*CUԉT$$us{d$<[^_]Ðt&$`ËEԉCs{C4$|$UЉ\$D$$cd$<[^_]fD$D$$Т$\$F1t&'UWV1S$4$褦E$P	蕦E$P	膦E܋E-1Dž\?vU`v<d|h|l|@ =t}ptMd[J`tƃ|u\U`\<d|h|l@ |=uEE\EE܉D$\D$t$E$D$ED$2}y}ut&y@ӋL8u4Y:zu(I:
{u9v		uD|9w}ut&[9vi8-uxluxt$$认‹$LD$D$D$D$L[9wDž\DžX&9tUMT$$2uE؉D$EUD$MED$T$$?4$1uv{D$D$<$裟$CD$D$$l9>OM:[_U:[P$`E؋UD$ME܉D$D$T$$^+X\\tX\t&t?pD$:4$襜t>t݉LD$4$FLu$Q$[^_]À

504$tP$LZLTlj!4$D$қtBƃt;|$t$$臢u>t8uTv
t&TPD:$褡ơD$D$D$D$D$D$4$ա$5H\@$u
%
%yD$D$$ȝ@4(T
X5D$=4$>ztzu*D$D$$$@5)T$ݟƋT4$D$D$轜TUDD$T$<$щ‹EԀ8t@LHD$D$$W$|$w?HL$L$	D$D$4$[J$&$_.$Ǡ
%u
i
]ND$D$$蝛l'	
%5$E5=t
=rc0=t
=>/0=t
=
={lD$D$$賙=D$D$$ě*$D$5L輝L
TTSD5&?Dy$-d$Y-$聜5$
B5yJdPO
C
7$,d
^u@\t\$ԕ$'\TT$,Vp$^
TT:TD$$TD$$TD$$ԚD$D$$T$T$9t&
@$?($u.=D$D$$4$|$T84$Ж%D$D$$豓D$\$$]D$D$$聓D$$1Dž\v\xTD$5$\\p1T$D$D$$謐VҸ~t#LD$6$[qLT$LD$$荒D$D$$5LD$T$$W$菓ø
	V(v t܃~tօT$D$)D$$賏%teVG8D$D$D$$


T	$ơ$D$ÔơD$D$D$D$D$D$4$$'5 =	=$H=t	=	
%D$D$$֐ƒ	ТOD$D$$\-
!D$$D$$r6
81Ʌt
fI4u<4T$$	803
9
D$$$\}$8\XA9DžX:E4D$D$$T$t$t1$"3
 MD$L$$*EԀ85D$D$$nj$t$0zk$7͕6tD$L$$E%=@D$D$$Y$GZ$6"dXJDžXm
ad[D$$ Tu㋍TD$L$$QD$D$#$\\D$D$+$D$$豈t&[D$$ 贏uD$D$3$賊D$$cD$D$K$聊D$\$$-(Ƌt%f[D$D$$$u߉4$D$)$߇D$D$b$D$\$$詇$D$)$與D$D$$覉D$\$$R$D$)$1D$D$}$UD$D$$$t&\\d||$T$D$D$#$蠆DžX<$Xd`~…dteD$|$$萈D$D$$$8D$|$$`$蘉dTd[Vv ~t܋tՍR҅҉`)Eх|$T$D$)D$#$苅DžXD$)$1fVTD$
$,)TD$$TD$~$͌tTD$$賌1D$D$$І$*x_P})D$D$$R$v*	D$D$$)$M*D$D$$$$$*6D$D$T$ׅ$)@D$D$p$讅T$T$)[TD$$1$D$D$$DT$T$^)D$D$$$5)$LD$D$X$˄L$T$(xTD$$NAD$D$$L[$(5L+1$5@$D$D$,$كT$T$'UEt@]ÍU1]Í&Ud$]u:
t1]u]H:JuH:JuX1:Zu׍v\*]tt
I8]t붸뱍t&'UE@]
UWVSd$ԋu}@Etb1҉}fC{Lt1Mxt't$D$<U܉L$$UUt3~@DӋ[uҋ}FƒNU~1ҋ]Ut&CsLt-ҋpt&|$D$<U܉L$$҅Ut3wuECL@DÉE[u׋UE1d$,[^_]f@@X]1҅}C{Lt1Mxt't$D$<U܉L$$UUt	3~DӋ[u}Et&]C]0҉}䐍t&C{Lt1Mxt't$D$<U܉L$$UUt3~@DӋ[u}fE1ҋ]UCsLt-ҋpt&|$D$<U܉L$$҅UtG1ƁtCN@tu][uSf]t_]f1҉}C{Lt1Mxt't$D$<U܉L$$UUt3~@DӋ[u}1uEd$,[^_]1҃}M1ҋqYLt^1À DыIu&'U
VSt91Ƀzv[^]ÍvZ$u4Z{t+[;.u#u{u&Ћu뷍Ћ1u륍t&tRttBt[^]Í&Ћ1Ʌeft&Ud$UEMB u*@4@tfPEME&@EMdv'Ud$$t$|$EUX(J(9ˋx$r$s$t$|$]v$t$|$]f9r9sR9P|w9vʐ&U]Ít&'UVSd$(ۋutf$֋[ud$[^]Ít&UVSd$ۋutf$֋[ud$[^]Ít&UUtt]ÍvE]Ít&UHtt&PHPH @$@utt&`T@u<@dt"P,H0P4H8@,@0@u]Í'UUEJtH ]Í&UUBDt;
<t]ÍvfxxBu%=t؋B0B,tЋE]Ív'UEu

uU]Ít&uU&'UEX]ÍvUSUt'
&<FRD˄u
[]Ð&UE]ÍvUEMP
UP]Ív'US]EۋUMt
uҋtttD[]ÐUSd$
ɋ]t 	&‹ud$[]D$$@`.Ս&Ud$D$<$@8`.@0UPUPÉ'Ud$E@D$E@$Í&Ud$ED$E$Ít&'UVSӍd$…tt1d$ [^]Ít&{wC$ C4$D$UjU[뷐t&Ct4$D$Ad$ [^]Ðt&SntRd$ [^]Ðt&SNuS@d$ [^]Ë[:Cu5vS̰'t&'USd$t2?t@*t;[t6?t+*t&[t![uT$$g~d$[]ÉftD$T$$4}d$[]É'UVƍBSӍd$zuRQ1t98tG9t$P1%d$[^]ËQM
Mtd$1[^]ÍUVSÍd$ttP\$$xu"3(u(t"Cud$[^]Í&d$1[^]Í&'Ud$$t$]ueuSDt$t$]Í&CufT⍶UWVSd$ċU}BuEuUB]t,MQRuiMQJtLUE܉D$uB$yu,t&C8< tCt$$|t؋Mt
MA|EXu5HC8< t<MDD$L$$zttSt:*uzuv;}t<$u;ut4$ud$<[^_]ÍvU냐ED$$Yt<$D$4tMAfEPU$UU܉T$_xt>}ԉuvC8<Ct$$ztԉ}ԋMQRUE܉D$}B$wu0t&C8<TC|$$dztԋMQU}B}E}ԋP'Ud$$qx0UP0
@ÐUVSd$(ۋuu(t"Ct$$yud$[^]Í&$xÉ4$xC((d$[^]fUWVSd$u$wNj4Eۉu,t&t"Ct$$?yu_d$[^_]ÐD$D$$`s$t$d$[^_]Ðt&USd$졬]t$D$D$$s$8XXH!d$[]ÍUVSd$E]Up,(Du2RfD$D$$r$[t"@<7w$@[uvd$[^]Ã Ǎv뿍v뷍v믍vUd$]u]u}]ԉuЋZr ]uZr9u]uZr]؉u܋]؋u]u]؉u܋}؋u3}3u	@
MUD$D$$qMUĉL$T$MU|$T$L$$]u}]Í&9]RZr]؋]+]u܉]ȋu]u9މur3u9uv&&uu9]u}]Í&J0y@B028D$D$$$p$t$|$\$0UWVSd$ċ8E6U1ɋZ&PP	ӅuEɉXuExd$<[^_]D$D$ +D$p:$sUUԉBЃۉEufU܉]܉]tqECtUD$\$B$u8tfCEt&E2G8tc7tFST$$7ut׉3]ut&E܋UBUԉd$<[^_]ÍvUԉ]ԉY1f$nCt&'UWVSd$ԋEEEuE؅)EEUU܉E8uE4D$D$X$n$U܉Ud$,[^_]mn4tVC8tuftACt$$/tuD$D$$_n$t$uE܃E܃E܋x4ƍF G^$tgu
&tRCw4$D$suC2G8uD$D$$m$t$uvu6s54?YU܋zIvFG^tgu
&tRCw4$D$ruC2G8uD$D$$l$t$uvu6s54?[E܋U؉P,UP:nUܡhhB4t&6uU܉d$,[^_]f|$$potunCw4$D$qTC2G8uD$D$$	l$t$)맍&|$$nMut&6Cw4$D$hqC2G8uD$D$$k$t$맍&G#6ft&GK6f*E@4XvUd$E@E.pv'UWVSd$ċUE}UԉEu$nËUԉU@UCU҉SjD$4$lttD$4$l|D$4$lu C]ǃ Cd$<[^_]svD$D$$j$t$8C]ǃCd$<[^_]+vC]ǃCd$<[^_]v$k$mUE؉E}E1vRGE1t'u<*t2<?t.<[t*1ɀ:\RuًE܅t-t&E؉$hCEcCU؉$hEEc'Ud$D$D$D$$$D$D$D$$Ít&'Ud$D$D$D$"$$D$D$D$5e$MÍt&'Ud$Xt(D$$C
EXE\f
\u΋`ufUSÍd$t)tCt8wuCud$[]Ðt&
tu8؋Ctϋ

HtPtrut&u@ؐt&u@fD$
$C,d$[]Ðt&UWVSd$EuXx9{t1D$$C&9{$uCT9tuyud$1[^_]Ívd$C[^_]Ít&UVSӍd$u!Et&D$$Ct&$փ{wۋC$ Suڍd$[^]Ë8뽐S밍t&Ud$Ejv'Ud$D$D$D$E]D$,u}$ctv{v]u}]ÍvECD$<$btq
$x0p,1 EEpx {sC ]u}]Ðt&D$D$0$@e$d	a&CC말&USd$܋ED$D$,D$D$$btN{vd$$[]ÐECD$<$atIP @CSC d$$[]Í&D$D$0$pd$fCCUSˍd$D$!ML$RT$@EE$kjEEd$$[]Ð&U1d$%t҉$T$aÉ'UWVSd$ĉEEXucv‰%uA[tJuߋVt!FtًtϋPfufd$<[^_]Í&Et$D$ED$E|$$Ud$<[^_]Ð&UWVSd$E}p$GXdu
:[t2FotEىD$ED$E4$[u΍d$[^_]Í&'UWVSd$ԋU}BpdtX_uR&yt
t*CuEUD$T$U${u֋vud$,[^_]ËEUt$D$T$D$<$Uvzʐ&UWVS]ٍd$EU@$EȋER(UċP0p,ŰEUx}EԅًUċE]MEЅUBXdu/t&EUD$T$ًUE4$[ts;];]tu;FuŰBtʋEUD$T$Ẻ$ًUEC말EUD$T$EUD$$@d$L[^_]Í&UET$UĉD$$ًUEPfEUD$T$E낐t&UWVMSd$ċEU@$E̋B,r(EЋŰE#EԋEUBXdu-yUET$D$ًUE4$b[tN;]tV;FuƋUЋBtӋEUD$T$EЉ$ًUE[ud$<[^_]Ít&EUD$T$Eɐt&UET$D$UET$$d$<[^_]
UWVMSd$ċEU@$Eԋr(‹E
UDžUBXduD[t79t=FtUET$D$ًUE4$1[uɍd$<[^_]ÐEUD$EԉT$$ًUE땐t&EUD$T$EUD$$d$<[^_]
Ud$ȉuu}]}M^$Mu4tUT$UT$$t]u}]Í&EU|$4$D$T$f]u}]É'Ud$衜D$$'b$vuJt$tD$$CÍUSd$܉D$,D$D$D$$Zt1CuCC,\$$[d$$[]Ít&D$D$0$]$4fUWVSÍd$ԋBtD$$-YuF t_d$,[^_]ÍD$
D$F$]t΋tB u݋MEL$|$T$$S EE|$t$$D$S d$,[^_]fUSÍd$uZuEu0 ut$v
"d$[]Ív$_f$f$&	f$(똍v'UWVSd$]eU1҃{EtUe3fd$|[^_]ËS
US{2u;0w<RUP\$D$$?
t0WD$CD$<$\D$$4$-\É4$Z^[~$~U]T$|$D$lD$2D$$_\$$p$[[~U$D$:t&E]D$D$hD$2D$$^넍t&sD$D$X$Y$t$D$D$L$Y$D$D$$Y$0R1t&;0vC$D$EC$~ZT\&'Ud$uu]Fv]u]ÍE9Fu1ۍ[uNA<Q@IDFVAQ T$D$$tF$|D$fUWVSÍd$Up,x0v1$D$_$Ya]؉Ǎ~ދ]؋CDt;<E
U؉M
$ t1҉EU䋋UE؉L$T$MU܉L$D$T$$S8C41M1Mt	u;CDt;<d$L[^_]ÐEE11z#]fuދ]S4K8UԉMD$D$$WUԋMЉT$L$$at&s1]؉v=Spt7Bt(}uאt&\$$ruu}
$1 EEu};=w;55=d$L[^_]fS<K@U؉M܋PH UM%,\$D$`L$VSx'USd$܃t{vtTuAH+BHt/d$$[]Ãt#D$D$x$C&T$$D[d$$[]Ð\$$UM&[UMuAH+BHd$$[]Ít&'UWVSd$ԋ}uIt
d$,[^_]Ít&$0YE@@8E]4Hu6tVu+UB4tt&X@uEd$,[^_]Ët
Fx[uEʍt&'Ud$h=vP@hPD$uD$$C&'Ud$vUd$h=(sP@hEPD$D$$C7&UVSd$T$$MVt%4$Tt@[ud$[^]ÍUWVSd$ԉU$T$WUƉ$T$jWÄɉUt!t&@u
tR@
Ru1غ:u!ut&t.>:;t4$^R$VRd$,[^_]Í&<׉'Ud$表]u}]UC;Bt]u}1]Ít&
tۿ
t˿
t
t5Pt!MBƋEP/9~Pu{`]u}1]Í&{JUC;B;IUSd$]CCtD$$C5C9<tRDCDT$$V\$D$&C$Nd$[]Ðt&D$$CC
UWVSÍd$ċEEۋEEu&vD$$Ctt&tr{w܋C$`fED$ D$C$8(,S CC$S
$1EUu&EUd$<[^_]ÐMD$ L$C$84P @(,SCC-D$(D$$C{Cfx
$P0@, t1EUt&CUM$L$gEUt&C֍vEU$T$85EUjfFUD$T$C$JfC=CT3P @EUK(MԋKM܉$T$MԉڋESB%=
$B,R0 t1EUC4UD$ T$$ofC$
$9B1EUrf֐ΐƐD$D$$M$&D$D$$M$O!ft&'U1ɉd$$D$ q
Ud$D$D$$ED$*Lt#URtt
txt	 PÍ'Ud$D$D$$ED$Kt
@Ðt&ED$$CaE@É'USd$]D$D$\$$iKt	d$[]fD$D$$L$\$ d$[]É'USd$td$[]á;uu&[tA{uC!t$-CtD$$GtʋC@t땍t&늉'UVSd$]C
ttd$[^]Í&Cd$[^]Ë
<tD$$C[D$$K<6D$$N<
PL$
$L$D<P$X,D$<$7P5t$
u<B4B4&<B4B4
u$ɉB4yB4d$[^]ÐɉB4xB4d$[^]ÐD$D$$I$\$vD$D$$xI$\$vD$$P+Ot|1҃=9Ptkt;Qt,D$$SNPt(&D$D$$H$D$D$$H$>&Et2D$D$X$nH$\$<5D$D$
$6H$t$V랍t&UWVSd$ċu]F!td$<[^_]f4$D$F$1D5ED$D$F$?G2Dlj4$u~D$D$$sG$|$F$HFF$v$F ,=,F F F U$PỦ=,4$FEԋP,t:tmPD$$`N!d$<[^_]Ðt&4$=u
tt$$R
\F뚍&Lut&[$'GUԉƋB$BNj:V
u$P:W
uP:X
uP:Y
t8t$|$$DJu7t<.u|7au|7vEԋuЀVUԉ1ۀ~ xvE~D$D$$#E$|$\$1=(D$L\$$}CD$$`t3F\$$ED$$@ucD$D$H$1D$\$롍t&^D$D$H$UD$\$pF!!0t&F!	F!&uЋFEo~D$D$
$C$|$~D$D$8
$C$|$}tD$$$u$N
D$hD$x
$CfUWVSd$ԋEE€8u|t&<:tRtj<,utb$G+}LCG$FU|$T$$C8L>t&~VtUuU$Cu뎍d$,[^_]Ðt&Ud$؋
PL)Љ]]9Éu}QH9tl5XD!ω))މL9~
L]u}
H]Ét&\$$@ALHڋ
P9u
h닐&USd$$<ECED$Z
D$$SCECECECEC$$t
f‹ud$[]Í&Ud$$uΉ]XVF]u]ÍU
d$
PP@P$Í'Ud$
PdUPUPÍUd$
PE%t&Ud$
PUPÍU0	d$
P@@ U@(PUPUPUPUP@$@,ÐU$d$
PtUPUPÍUd$
PDUPÍU
d$
PUPÍUd$
PUPUPUPUWVSd$ċUtS1ҋEUt&ȋpt*n
‰ι8E
(
(UɉEuEE)MtZ:t=<?tC<*t?<[u'9&<?<*<[Ru8
P]E܋U@B1{BE܋M܋UPEAȃAAA BA$A(A,A0A4Zۉ]؉EEt5?tD*t?[uf6<?t&<*t"<[tRu6toNtI밅t*t9?t4[t/1ҍv<*t<?ft<[tRuv<*td$<[^_]Ðt&|u6Eu}ًE҉Ur@UMEċ]11Ҁ}{tS}??tH}**t=}[[t2Ef?*[RuډE111Ʉt?<??t6<**t-<[[t$Ef?t*t[tIuEĉu<9G9U҉U$EJ:
3]pEľ?TEľ*GEľ[:A2f
P8#E@@EEE=m==+]C `B1ҋ]Mu0<*t<[tIt<?utft6KMċE܉\$R==MA C둋E܋XKu,<*t<[ftIt<?ut
M܉\$RuaE@ F1MA F"UB Dv'Ud$
PPÉ'UWVSÍd$ԋM
$
PzB B ;:&J!B ZUD$\$$u
Ur BB J!t&	BB B	BB 	؈B 	؈J!B ,B,d$,[^_]Ít&$$L@v+UD$$CUr J!,t&${Kˋ5,ZZ	ƃJ!J!B vJ!ZJ!ZƈB vZƉZJ!J!B ZƉZJ!J!B vJ!Z뎍t&UVSÍd$5(t!vFt\$$Y=t)vu
$qƍ&F!<t
d$[^]É4$D$3Dڍ&UWVSÍd$ԅ:f{C$t&C!Ct*C f%f=uD$C$-3tc!E5EED$$u
EtL95@sD$D$l$u6$t$PMP
UPftZv8f,p ƋC,@ 9u볍vCufd$,[^_]Í&CtCt3?t7*t2[t-?tK*tF[tAIutWCL7t&C6!&tŋCvEECg럐t&UWVSd$ԋpEUMt^}u
1[t)ىftE܉ډ$ME[u׍d$,[^_]Í&t׉fډE4$[ud$,[^_]Ðt1<?tY<*tU<[uvJ<?t<<*ft6<[t2RuyyU܋M$‹E.atԋN}[=D$CD$4$8uڋMڋE<$Ȑ&USÍd$u8uCt&Ct&v
tu8uېd$[]Ð1ɺ(BUVSu)tCt&tC
uCFTu[^]Ít&.FTu[^]É8FTu[^]fUVSÅuYtU;u!Kvu
Ct49t,Ct,vڃ
tكfu܉8uЍt&[^]Ít&)RUd$EMEUSvUd$ȉ]ÉuEցU}E}Utۉt{tqtxt]M$~\D@xpM܋]u+_w pXH1O,_0]u}]Ít&9xuː9{t&u뾍Ud$$]uuá4$5
<Ct]u]f]u]ÍUd$$]]uƋCptD$$Cspv]u]Í&U
WVSd$ԋu
uHE1ۍvuu]&vtO>E<$D$,6uD$D$$\0U$T$yvuE@Euta$ƋE$<4CFsd$,[^_]D$D$$/$HE#D$D$$1/U$T$UT$f&>UT$<$35D]t&UWV1Sd$]t95HtBu3vt)\$$4uMd$[^_]ÐvuUu8
t(D$D$$.$\$$46Ɖ$2dFFFFFF0FFF F$F(F,F0d.fD$D$`$8.$\$Xd$[^_]Í'Ud$D$u։}E}E]E܋]<$MlEۋUu]}tW
uGU]܅ۉtW}tQD$D$$-E]u}]t&$D$U]܅ۉu]u}]Í&U1ɉWVEUSd$ă}}L$M$Mu]D$d	P`D$XUȉD$$+蓻D$D$y	$=苚UȉB4d}E߉&$EG,]ԅt|t`CP(t^UP ɋUP$t4tP8tIEЅt$R0SRPỦE뛍vU@PP0뽐C륍vp(띍vx8벍vu̅tỦ$~Xd`d$<[^_]Í&Ud$ȋ
Tu}]Y,ۋEÉEߍA Q$|$y0uɉL$M$MZTX$tUp8P(]u}]t&H0uۋPH ;J uЋR$P$ȍUWVSd$ġTpED$E$D$D$,4$(,$.Éلu,f<_tRt?tRIu$+$.lj\$D$x
D$D$$.t$$@肷D$<$D$Η$$r+
$7.lj\$D$
D$D$$.t$$=Et$$@
UD$T$$+胸D$<$D$?$']d$<[^_][)&UWVSÍ$tEEЅۋEEU,D$$CLt&~߉Ã{wԋC$fEUԋHE+AQ S,C(UBC$C$,
$‰ljEEȉUMԋM}̋ŰqF,V0ut&EЋUԍ$[^_]ÍUEЍuЋJU+AQ S CMACt$D$ C$轷C-$D$>D$K$CUKBCMt&MAHpEt=MPL$D$t$$T	MpEЋUԉEUċUR(U@ f~EH@ANHURU;JH	EEE1 U¸U1 EE!EM+MM
MEU+AQ F<
$F,V@V01 EE֋uEUċEU+FV 1 EEljF,V0bfUsT$UԋEЉT$U}D$$KU|$EЉUKvUԋEЉU܋UE؍u؋{t$B<$D$讵/GMATE;w}ԋuЋU؋M܉uȉ}̋Eȋ}11	ljUMtZ
$}̉|$Ћ}+E1 UEƋuȉt$O$LGMUu؋}܉uȉ}̋BHEȋỦEЉU1s,tacTED$ D$C,$裴
8= t,{D$D$$!%$|$A{<@@UЋMԁ UȉMC,KDuȋ}̃u11 }EU1 }MEE!#UċE11	n
uC,tC= t:sUD$D$$.$+MȉL$t$$EUt<@xtCx$P(xP CHC}ȉU@<@@EsỦD$}EȉD$|$T$S($K
STs STVN UȉU1҉M̉Mԋ{C<UċUȋM̃5$UȉEEM̉EȋUċG,ŰW0 t1EȋEU؋UċMȃ!ډMM̋E!+GMUW 1 EEƉG,W0s uC0D$
D$$KA$Q(sKT KT=4NʁF,V0EȉŰuЋ}ԋ
$ŰE t1҉ỦEu}̋UȋM̉UЉMԋC4tMD$ L$$JC SRUЋMԉH PEC$m;C dSUBT
$z0r, t1uȉ}̋r$z(uȋUȉPU}̅ҋM̉H Cs$P$H(L$$1ɉt&}Cu|$}ԉt$|$uЋ}KUt$<$pEЉUt&CUEЋJU+AQ SCt&EЋUԉD$Eu}T$$KU8t$|$EЉUCv}FV O+AQ F<V@EUĉEЉU&G8.d}GTGTf$L4P @(,EЉUu&f}ȋU
$}9B‰1UMԋO1A,y0oȸfV0V,D$$Cv9D$$COfGPCt
&{D$D$T$$|$2C{@PH W$O(WO SJKP0@,A,Q0t&C$WH PUȉM̋KDtDuȋ}̃11 Ƹ׺ t1!Mȉ!щM̋Cuȋ}̉p$x(sD$D$|$0$T@&[9D$$CfxuFTJHNHRE؋U܉EȉŰEȋỦEЉUbV,N0M	щUu+}O$I}ԋu9y 0r	9q%C$EX${G%=W,O0UȉM̋uЋ}t&@<AD$C$C(K ɉMOtuȋ8*CTS Uȋ{UȋOHBR EȉUG,W0EȉŰuЋ}:
$EUT$UE$D$U1ҋEEUNH{s K,GW T$$]D$$E5GtK M'%=}UȋD$$S!
HD$$M(!Mu
y= =?D$D$$/$|$OK Mȋ{RD$$M M!ȉʃ =H}DʅtuJ(t	J,RuuD$$4EȋEȋ{C D$$U܋E؉ỦEȉAQ }W$IsFBPH MĉUMԋU9MĉUȉMw9Uv{V,N0M	щUtkUMUM9MrZw9UrSM;H(fUSD$UD$L$U$T$s^{PUȋMP$H(UȉM̋EU)EŰ{DtZ11 UĉEUȃEM̃UUMĉ1 MEEljUU!#MEUȉM̋EȋỦF$V(sjxON ;N(Vr;V$iDUȉu'C Es uP,H0UȉM̋P$H(UM};x$?D$D$$j$|$芼s uȋ{Ud$؋D$D$$ ED$ED$hÍUd$ LEU]u}D$$z=Lt]u} ]fd`x|
X\ƉLރ!ߋ
P!ߋT]̋pMȉuЋ
`5t]؃ًdu܃u!Ή}ԋMȋ}!]̉M
P
p
`]ĉTtd5p=tމu!ߋMЉ}!]ԉu؉}9]r#w9Mvu})Ɖ5P)E؉=TU?}E|$$
`=d9}܉U<Hd7PTE׉؍vQ Y9w$r9w9Ѝrw9]v
QH9UCUUIuˉϋMMM]؉u܋tu܋
p9M]rzw]9vqMމ)9]rw9MvM])
PT#]u\$4$=`}Ћ=dPTEЉ=H
T5pM܉P=tU؉E؃؋U܃!ډEU!ڡlUhEȉUЋU!ڋE!ȉ	]]ىMMȃ3Mۉ]ċ]#M3]#]	EU9vJL]u\$4$st&9U؍&t&9G&뤡PTEEE'UWVSd$= t- LD$$E`
tI=<YHx5Yt.C8C4uC ust39^t3ǃǃIu4d$[^_]9_hu͋tvPtuǃǃATuQ4t/CKtptFoluwdu쐉GhATsUd$]]u}Cv]u}]ËCpp~
)ƒ~[@9tv=!+=}+=9}䣌F
RVqv
D$$
넍&
끍&vQD$D$$@Cpp.t&USd$]tC؍d$[]ÐED$$uD$D$$U$T$<C؍d$[]ÍUWSd$Uҋ]t}E$D$\$.tTX1BLBPBHBBPHXtEHJ Bd$[_]ÍD$d$iԍt&뿉'UWVSd$}E]D$|$D$$,Ep$tTwuLljt$D$,$WPWPp$XT@d$[^_]Ít&ЋPT9tuyߋҍvt;r$tud$1[^_]fu뵅tD$D$$GU$T$d1D$D$$$t$81\USÍd${vd$[]ÐC$`[ݍvC[͍v=wø
tD$D$C$]tPud$1[]1&ChC`[b&Ud$]u}MHÅt]u}]Í&p

{HwCUD$<$
CU	@DC@<@@=C,tUUC0tUUCDtKAHJ<HD$[D$\$T$$]u}]ÍvCWUD$D$$
$D$
9UU$a@KUApEUD$CD$<$FCU<{@0D$D$$$|$t$蛰CUU
d$ȉ]]U}u
CEr8t	U
t"tu"KDt2]u}]Ðt&E tڋsDuCD Ս&MuQPE%DUBxPu4MUXBCDDP	PtSu`S@tH@SH;PHvPH$'CMAHA<PD1сu&tz;u	PVP/t&ǃ҉tEt&uz	PEMAg&Ud$؉]u}ӋRDž҉tt$D$G$YSt	$e	]u}]Ít&UWVSd$ċE莑t
d$<[^_]ÐEpEXuv{fuURUB:,xEC[PET$<$UUugEԅ=EЅ=MԅtVT$<$XKu0Ev:UB,KU聲UET$UE$ET$E8tD$	$C!UuB9t69u؋Ud$<[^_]ÍEEx]tUJ_EUD$ET$$Dd$<[^_]ÍvVEMЅEMԅɋx&D$	$CL?&UWVSÍd$ąUMt8f{w*C$MtEPNCvuʍd$<[^_]ÐMU8uދSUufCMUAL%BɃ	H\fCMU2@qvC$t
xOM;C0]ԋptѿn
89u؋]Ct@D$D$C$xƅCF,~}Mq11ҋE+Izt&CHtAZKTCCTt{HvuCH1{HutCًUt&S0PMS4MC4E]ԣ11\11N'UWVS$tt$0Z/Z%tvC谦us1ңL
I5u.
<$	fv^D$<D$$t!t<S@R;PtC4{lt
1<PD$$XYvc53
1ɉM&]D$
C$EH0x,M<$M‰L$MȉD$ËEЉ|$D$D$D$AU$oU<:9s6\$4$D$D$lƉ$D$X9rˋ]ЁK Eȋ@E0D$D$D$$D$4$XD$D$$迒0t3
t)A@dtvP uP@uIuuyt	=tgGE],\$$D$IEEvE,\$D$I$X111ҡ1@&҉ut;rtD$
$C}赥M+FHۉFHDދUЋ97FtUuD$D$FU$4EЋUN}CJHJYAMЋABA5Pu1ɉs^1+CHCHCttɉt9)[ơ<$E$D$D$$U\$T$|$$褣$'<UBCMD$ED$|$+UMT$UЉL$\$T$$6D$D$d	$MЉ$L$UN@
HHxEiMЋQtx9X
NKN
YJNJ
qPB1ۋE~76
2҉~EIt#QHxQteIu1띅ۉt)+CH9߉CHu+CH9CHt[utRvBXdu
<t&[t1{DuB gf{CD [u֍&Ru@词$(g=$Eȅ1E
u1ۅufGHG8ƋWtwuƅtk}UFBUȉ[6tDFWT$$MkMu9]weЋED$Eȉ$EȋM룍v}u_uϋGEt#D$
D$D$$dEO11҅t#$D$
D$D$6Ouȉ\$$t$(_\$ _D$1ɉ\$T$D$ED$1D$GD$<$?}Uȉ$f
ɉM]Ћ{Hxvsto[8uftZKuS
ֹtEЉUpD$D$
$/Ut$T$$HufUЋR҉Uo%=u	1=$D$	5\\v]``E5`}D$$Euу\v볐t&PG@yu&P8D@uMD$D$	$$1M耬|D$$m<pduz\t&|$D$
D$D$$,D$D$D$\$$wEt
x$v><$Y
$É|$D$
D$D$$h,D$D$D$\$$#xVN @PH@ 3n
uйt5D$U@\$$UBU@D$$dU_D$D$	$$/
wEЉUt$D$$
UMD$$t$kD$\$$(U=$V0@F,1 MEE׉AQA $v辇=%} i=D$,D$D$D$$tPED$D$$M9trTD$<$}tHPH UMD$D$8$1UMT$L$\$$CFV D$<T$$w$[^_]É؉U}1UD$D$,	$$\$Йh<@lQ${E<@d31@OPuP0P,tߋu[ԡ<PD$$t<D$J$
=-Ht<PD$$p3D$D$X$$ƘdpVDJ RPHV<<N@T$L$$dD$D$
$6$\$V15=X1ۣE\$$D$@'D$U]UMB$R(EUċA,Q0
$O]uă]]]ȃ1 uEEEŰu>uG$W(ÉփEЉUԋG,W0 t1;urw;]rU9Uwr/M9Mv'm]ȉű]Ћuԋ
$}]u끋EUD$ED$8
$M̋UȉL$(MĉL$ MT$$L$UMԉT$L$UЋM\$t$T$L$$讖cD$D$$a$腖`u4$	Hu[K0ts;+ssD$D$
$$t$|$볍B@U=w`G,D$D$I$
<^YdX]䡄E_}k%_UD$D$$?ULE],\$$D$I?EEuE
<qh]^D$D$	$$\$ɔ
<YhD$D$t%D$D$
$K$oNv'UVSd$E D$EuD$$H,ÅɣT1sPDC<CLC$裛ED$
D$$h{x1ҹR th9rS@ED$
D$$${x1ҹfR t 9rESDC0d$[^]Í&0t&0뚍t&EC,%'USd$ܡ\]D$XD$D$D$D$D$$dtb$TPdd\$$={`tD$T$$A2}`d$$[]Í\$$?{X뇉'UWVSd$u}]tEEE$E@ME$UЉD$D$D$D$D$\$
ƅt];1ۋU MҍFEE L$$t$#D$D$D$$t	;]貘FO9t>;Bt9XHۉ]xKU]ԉYJPɉHB+AU@҉GtbGHU
MPH	;MWUЋWJH
ɉHtAMЉ@Gd$L[^_]Í$D$ZKt&+]	$Fá<@@UT$D$D$D$$uD$y	$
yD$D$$YY$Ajt&Uxu<_[u+E
$E̡<Ű@@ML$D$D$D$$E1ҋHH1 T$$YD$$xD$D$y	$=X$aD$y	$wD$$ZmxUD$D$$6X$
d$L[^_]Í&M9
ˋIt`9IO)t&XPS
<Z@QhPQhBAh+vSt!JHxJt
uRuᐋ
<dO&PUt&<Bdf
<]ԉYh&<Kd}fEjU
MEG@Ad6Yh
<Qd]
t&Ud$؉]]ۉu}EuuctMtID$D$$D$D$$tt1ۋW ;P É؋u]}]Ívu؋}]]ÍUd$$,qÍt&'Ud$D$DD$D$D$$@PD$=D$dD$$,P@(,(D$D$$D$D$$@@ D$D$D$$TtfD$D$$ $DfD$D$$$&UWVSÍd$ċxvbD$D$$D$|$D$$D$$C}t&d$<[^_]Í&${PT$E$oD$8뾋8t@w$+8t؉u|;p@$D$҉FV C$vX}~F,V0T$D$FV T$D$$kV$~(N F11	t2UD$D$$<U؉|$T$$%C4tD$D$ $Vt|s~6ud1f|uSzIB8.;zjED$VT$E؉<$s8E؅
45(=,tpx t$|$$7Et5=$'CpP@t
@5 T$D$ND$$YpD$D$i$$t$覇C$Md$<[^_]{I{{CD$$cK$LCuމfS=CtC$VD$Cxtf$$D$u$fCD$$ȆC;t$6諆iu$Kl菆z[&؉u@d$<[^_]1‰$FD$
D$D$${7t71ۍ[D$D$D$$9uԡ$
D$J轃1vvpyuCs{ tpx C-D$SD$$C軅f1t&vyuC$s({,tpx C$9EECU@ T$D$ED$t$|$$CD$$C$Jdx$UE1 EEӉUEu}UM
d$<[^_]Ë@D$8D$D$$@$DD$StD$$$:$>.$$vvwuCSUECtPH UMKEUD$L$D$T$$軃C8t9@]13vD$D$D$$9uԋ]w
$C1EU䣸D$WD$$X[tt&؉?uD$dD$$ &$P&$Kl̂
&$贂$$A蜂$Kl苂.$PzzECcEESKT$D$UED$L$T$t$|$$Cx*uC$HEE땸EE뀸EEhEEP$舁$/|SxzED$D$D$C@D$,$^tL
4Pɋ@tAQ D$T$$t1K$߀w$΀'UWVSd$u=]x<t(vu
x؋u=d$[^_]Ðۋ5t捶؉gu=d$[^_]fUWVS$d5eE11F@4@ F uzXduqL[t]CDt;<tC0uۅuD$D$}$fD$D$$됋veD$D$$U$ID$D$$1D$D$$D$D$$D$D$$D$\$|$t$D$D$$Hut&D$D$D$$SCD$T$D$lD$dD$4$t$$/~
R!%tzDE)
q~CST$D$$}{(t
qC(m}K,=q[D$D$$D$D$$=ye ۋ5tt&؉_uEe3$[^_]Ðt&$}C,|MD$DD$D$D$$w@t#$D$D$@tuޡ,D$D$$ cUE ]ÍvUEl]ÍvUWVSӍd$ԉE0t&tF$D$uQE60u$UXxUPUPU@Pd$,[^_]Ðt&u6둉'U1ɉd$D$$EUD$DfU1ɉd$D$$EUD$fU1ɸpd$D$D$$UÐU1ɸtd$D$D$$UÐUxd$D$D$$MUUd$$=ED$ED$DE&Ud$؉]]u}:uC:t6D$D$$6$\$Vz]u}]ÐD$D$D$$	Z]u}]Í&D$D$D$$lZ]u}]Í&D$D$D$$4Z]u}]Í&Ud$D$E$XÍt&Ud$eE1U]҉u]t61ɸ|D$D$$Ee3u_]u]ÐEuD$D$
D$D$4$R4$uD$7D$
$1x
Ud$D$D$ E$fUWVSd$ġlx5pu#p&CۉGtd5pt&CEfGMD$$tʋ?uKSpD$D$$m5pu=tfCWT$$2uCu݋?uύ&Et&~t&C|$$uCEuEt'~t&C|$$uKMu <~M҉L$ML$T$D$D$D$F$z $VP@@D$D$$2|uftZCVT$$u$<SP@@D$D$$ƒuD$D$D$$6bld$<[^_]Í&Ft> =ptĉt&@u5pD$y	$^묐UWVSd$
@$8M$8|5DS1}䐍t&F@-FD$<$EE܉$EtbEtPFPE܉U؉$tED$D$t$UU؋MԉT$L$$ktE؉$D$>D$$]D$D$y	$==$sD$y	$]D$F@$=D$=$=FD$$Z>D$E$諏^thE+F@$D$esF@$߉f[g~GD$$sC= tH t|CST$$=D$CD$CD$E܉D$F$~4$D$`=D$E$豎6d$L[^_]yfSKL$T$$<D$E$s듐e1߉D$D$$8$,rEGWOT$L$D$$D$qESE܃xEF@tV$T$EFPF$UËF@=DAG1su$:Wtt&ҍIu$ED$D$t$E1ɋW1҅ttR9ډ1u$t?Vd$L[^_]ËFPF$U(á<@D$MD$D$]U؋MԉT$\$L$$opv'UWVd$8_u
f@8_tt
d$^_]ÍP@:BuB<Dt<IuۍBRtD$
D$$^뵐&U)d$؉}}uu]@YD…DLEB9U}]u}]Ð~9rݍvUWVSd$ċ]]܋DEMۋuUE}Muo&tb9su9SC~tt@tg@D$B$ptM^D$D$U$ËUԡDsDSCC$sUPU؉PSM܅҉HxKt
fыuCd$<[^_]Ð^D$D$$E]d$<[^_]nUd$D$D$$$]u]uU\$T$UT$Ut$$T$m]u]Í'Ud$D$D$d$]u]uEU\$T$UT$Ut$$T$Lm]u]Í'UWVSd$ċuEUEU]$U(FDM,t t= CDt t= U܉MD$D$$U܋}M؉T$U |$T$L$\$$lUt=D$D$$AMUL$MT$t$L$$Llt.D$D$$$ld$<[^_]Í&UWVSd$ԃ=]D$$
$0D$D$$Wp$dsE4$Edt,@tQ4$%@uu2
E$d$,[^_]Í1E8;}t&4$\%@t_E8D$0D$D$$<D$D$D$o$jtE8;}qeED$E$ETD$D$t$$0jD$D$$$jgD$D$$$i$1\$$i&USd$8]t\D$D$\$$td$[]Ðt&D$D$$(Ed$[]Fi$8D$=D$D$$t8eD$D$$$hύv'USd$4]t\D$D$\$$td$[]Ðt&D$D$$HEd$[]fh$84D$=D$D$$t4eD$D$$$gύv'Ud$]U]UۋUu}Eu}U@@uj\$t$$&gu	0tUET$D$|$t$$y]u}]Í&@4tD$D$\$$Ato\$t$$	gjt&u

0tEuE]u}]fUWVSd$=E}u]U(M,T$U$T$U T$EL$$<fExҍJ
\u;D$D$$U|$T$$1fq&@PJvsD$D$B$Bfw[PD$UD$$U|$T$$e	$)ed$L[^_]fzP M@UED$D$H$&UMT$UԉL$T$|$$1e	st$\$$SeZD$D$$$d7
<MZUd$u5EU]}]}EU#D$D$\$$苿t]u}]ÐD$D$\$$Su+D$D$$$d&5t$$zurM D$D$<$聿MUL$M\$T$|$L$$cv4$$Zr&tKu $W4c&D$D$Zv떍t&U D$D$h'vKu} D$D$ $胾U\$T$$b$&E tiD$D$뼍&$HD$D$$tWD$D$jvD$D$$ؽM\$L$$ayD$D$$褽$aD$D$P뤍t&Ud$
ɉu}u} ]U]uЉ}uZutStgUD$D$s$$}uЉ|$Ű}ԉD$t$|$T$\$$} a]u}]ÍE$qtyC|MuEEE؉M܉uD$D$$蝺}؅uD$D$s$j}D$|$\$${`VD$D$$($\$H`ZvD$D$s$UD$T$\$$	`t&D$D$s$踻}D$|$$_&UWVSd$ċ}EUEUt	d$<[^_]ÉT$$ tމ$[E܋GD$E܉D$UET$$踻U܍9sE2t?Ӊf3t/t"tJ@$L$UUtJ[9wˋE܉Ed$<[^_]|D$D$$蠺U$T$^9׋ZD$D$s$kD$\$FVT$D$UED$T$$}g^at&D$D$$U$T$-^&Ud$҉]u}]u} u]u]u}]fEt$D$E|$D$D$$JsuECC밍t&SD$UD$$RU$T$o]mv'Ud$ȋ҉]u}MuE$}(],	PtzUtD$$B]D$D$0$貸U$T$U T$\}D$D$fv}tD$$B^]D$D$$FU$T$U T$\\Et+D$D$$
U$T$*\]u}]Ã}%MD$$B\M9sOD$D$$蟷U$T$U T$[]tD$D$Tw^9wZ9r9rD$D$($BU$T$U T$X[M#D$D$PD$D$h$U$T$U T$[uD$D$}UWVS$TEu}eU1҉pD$$$舻ËF$CCsd
pD$D$D$D$G,$Gt
xDžttVT$@D$$Y@$‹F$lltt&v@M~ttt$D$[YSG$D$@Y5u

t\$$R
\ZUe3"$[^_]Ív@$sL1SvD$D$x$D$UD$d$lD$l$T$XF$D$VXF$菵t&G@t0Gtt&Wt	fp$>T$WĶUd$U EUEeU1ҋE҉]u}]}uEu"Ue3]u}]á<D$$oF@MUՅɉ__CT@OR_L@IST_f@_D$D$D$T$C,$'Cu
CsUET$UĉD$T$|$D$$ofD$D$$萲$|$VvMEՅɍE֍U0__DT@OR_L@IST_f@_+t&t+D$D$$#$GVfD$4$뻍D$D$0$ر$U覴fUWVSd$D$(D$$E%z$E%~E$ܴED$E$$ز$U]T$<\$8f@9D$<L$8
u܍R
`:$U`)$-:$0(D@
$


 %T+X1\dl%:$)U]E\$0D$4$7蔭D$8CED$8|$4D$8~T$4T$,=vBD$<zw9\$,]T$0[T$<[9\$4~0T$<T$8L$0LtD$8[9\$4D$<ЋL$<L$8\$8$CED$E$xA~>ED$E$
	S?t=$ubt$D$D$|$.$RR=t$D$D$$$$Rt
 5u!!u!t
=)5D$D$$,$`R$TR
$ á$o
$RD$ D$D$$ϱuϡ$.$f$QQrdv$f)`:bx$胭$袮vD$D$$$D$*P$肱mt{yeQ
=$D$T$$T$$$D$T$$D$$İvD$D$$$O=f:t):P:<H4
5t8tD$hc
0ty]==$蓯&D$D$O$$NL$8L$<&<`46fD$_$$D$D$$i$\$Mt&&D$$9}cD$D$L$$MH=
6't&<$554$f~4tD$74$;OD$<4$#7$[Ɖ$D$8D$D$8$艩T$8$D$8.exe@D$$NjL$8D$_$ԥD$<\$<B|$D$D$4$P~ND$<\$D$D$4$~9tD$D$A$T$8$T$K됉<$脧L$<$xD$8$胦4${&
	$ vD$D$$P\$8$\$|Kit$$VQgD$L$6|$L$P+l<D$D$$讥$\$IN$Ë5+\$(D$D$$bC؉L$t$D$)i@BT$)á\$$:D$D${$D$|$\$D$$,D$D$0$谤$\$HD$D$$胤$IRD$L$V5$I$|]D$D$^$/\$8$\$KHKD$D$$\$8$\$HD$D$d$ǣ$\$GNfUd$
t<t$ҡuf$ÐUd$eE1]]u}Cfw,+Ee3]u}]Ðt&	uϋs;<tD$$GFu<t$$@SP@SKHPSPSPRt&s$;<tD$$cG<t$$薥S,C(FVC$5FF$/FSFSK HPCIFFSPt&{;<tD$4$F<|$$FS CVF$蕥FSUԋ<CEЋB@9tD$$BFC-yD$D$$eEt&[@ f{sD;<tD$$EFu%=t<t$$C:@@)@C,S0WGC<S@WG%t;u@HtAxC-D$D$$,Dt&&$|FC;<V@DBSFJ@R<PH9t&<V@T$Uԉ$UЉT$P<FF<V@T$Uԉ$UЉT$P$FFFUԈFFt&<V@T$Uԉ$UЉT$P0FFsD$D$$薞$BD$D$$m$Bt&X9sD@D$$1C$UԍE܉$UЉD$T$E
Ẻ$2UЉEԋ<UԍE܉$UЉD$T$EẺ$UЉEԋ<WUԍE܉$UЉD$T$E蝡Ẻ$bUЉEԋ<VB7Q'UWVS$d$ۙ$7=E<UJlrdɉMuUMEBR EUEEE1EU$UUD:
H:
H:
@:EuE}u}uȉ}̋M̋UȉMMЉމUMĉE}MUMMMUMĉ}EuFt@:EEEEUMĉMЋ
9Ms:EE9v0UMUM;
UȉM;w;-t&ֿEUEMUMUȉMumvu=<}UBD$$h$[^_]á#<E뷍vM	$MxƉ<$连|$}ȉEЉ|$$詛t>UD2ЋUfH@	uUuF@}ЋE|$u$t$UD$$Z,|$D$D$D$$NMЉ$肙GGwCS FCGFV FKF,	F0FS$C<K(V$S@F<CHN(V@vDFPFTFHUMUBREЉUԋC,S0ỦEȋUЋM)UM̋ŰEȉV0MԋUЉF,US,K0MEUFF$V V(EuȋMЋ]	vt*)HXxuxUȋpWDPxr<z@u֋uHF5tEux|}EtPTUċUp,x0҉u}qMĉM}Љ<$auȿuMAUyMЍD18.iat&EEEE&x^D$D$\$1a$;D$D$,$16Uȉ$T$S;蝓t0D$D$$$!;$[^_]$mUWV1SÍd$v2t	9u1vb~~E\$D$D$$蘓t$ D$菙d$[^_]f$D$sɐt&D$$4몍$ D$7_&'USd$]{	v!D$$:d$[]ÍC$D$D$$蟒C$CD$D$D$$pd$[]Ðt&CtT$$#9CSKL$T$$D$9d$[]ÐD$D$$C$C$D$KlD$$d$[]Ðt&C$D$D$$茑C$mD$D$$d[X&B1ҋ?COD$D$$C&=1CD$D$D$$輐vCD$D$D$$萐[sCD$D$D$$Xk&CST$D$$7d$[]Í&Ed$[]6CD$D$D$$

USd$]$	P!@SXPUPd$[]ÍUSd$]$O=@SXPUPUPd$[]USd$]$OU@SXPUPd$[]Í&Ud$$]u]uAOgHP@	UXPp]u]Ðt&Ud$$]u]uNHPXpUP@]u]Ðt&Ud$$]u]uNHPXp@@]u]Ít&Ud$]u}ÅC	vVD$;$5(,048]u}]Ív$Cx= uס,(uʋC$D$4뵐t& RCP@HD@<CS8(,0
4fC58;.V(,EUC=4#5858H  4= 9P 4 @(,GW EU=/*
%F&&D$$3PC58:,([C8=-<
~t&	!	D$$]3(,048=>===)A=7== GC8.u
xD$<D$D$D$D$$PJ= 5$H@@,;B D$$袋S:.l1C	8cOt$C$?(,VF4FF{"CCSK0H]u}8(
,4]Ðt&=I`?=?=@D$$-1[25 zD$D$C${@TM;=@1ҋHH1 84 (,0t&= 	5,(<@wv.؉\$t$$T$cщʋ
H80
4+AQ ,(eD$C$z[P@84 (,04/D$D$D$CD$,$謇{{D$D$x!$S$|$s.K(,048iC8Q(,048zt$D$D$ $艉$- Pu=H (,048,D$D$D$T$$+U@@v=<=Z=&> t=H 8&CۋpuvCt$$uCS(HC,04f=K=y[,$8B$(84 ,0t&====_UE3(3,	,( D$D$C$v[
@T_@8(,04* 11Ƀt <PD$$L84 (
,0 C$9D$D$D$CD$D$<$3@;5 	1(H,48& D$D$C$fu%@TP0Mr=844 P @(,D$C$U
P@84 (,0Q44 P @(,+44 P @(,,	(44 P @(,Љ
(,44 P @(,أ(ډ,{5 4@4 Xp (5,<wv.\$t$؉$T$щʣ(, @;+UM(
,-t	+=4^0)<v> 1ҋ];,wru;5(w11ң(,V=%=.=$ t=H 	8D$D$"$}$\$&C$
611m$C=8$= D$D$ $$$&W8H89=M=(u]1 EE(5,+H-{EU+(,(,=A
=BCU;,rM;
(]u(5,u|8=
1ҋMMu(,1(,/$.(84 ,0UE3(3,	,(1ҋu;5,wrM;
(s11ң(,1ҋu;5,rwM;
(r11ң(,`
(EU1 EEã(,4M]	
(	,11ҋuut(,1ɉÉʃأ(,ME
(,E%(ʉEUUM(
,];,wu;5(EU(,tEU1(1,] t.L|txb85,(wv:؉\$t$EU$T$׉EUUM(
,UM(
,,(	l= lD$D$$}$"C]u!(!5,,,(	4= 
D$D$$}$!1ҋM;
,rw];(v11ң(,
DH=@<Xp (5,9Mr9C= 8UD$D$8!$|Uĉ\$t$T$|$$ ![D$D$!$|$\$ P rD(J@R<PH
,8(054
H<@80
4+AQ ,(_LJ(,Lhl(D<5@p
T$D$UE$T$[(,]uT$D$$t$(,tUM(
,=LUЉMԉ`
dp5t؉E؋}؃#}ЉU܋M#M	tiUЋMډUEMUۋUM!މ`!+(
d
,(
,=LLM]
(,Ћ[D$D$D"$Oz$\$o[D$D$D"$z$\$?ri`YR= 84 (,0= [D$D$"$~y$\$= [D$D$"$Ay$\$a@84 0P(@$(,]@X,p0<$yD$D$$t$=Lttt	<@}(5,EЉUԉEUw}vXUЋMԃEU؋UT$E؉MU܋U؋M܉D$L$$^E؉ыEMEEeʉEUUM(
,	EUMEȃ#<U#@U܉E؋UUM܃= U؉M܉(
,UԋM܋EЉ\
TU؉pM]LXP5t
x|`d= [D$D$!$w$\$?rD$D$0$v$I[D$D$"$v$\$D$D$ $v$P@(84 ,09uw	9]EU)؉E<5@UUM!!ЉEU(,bPT(,G
Ud$<@DH t&'Ud$]]ۉuutN
8uPt9= t0CD$HD$"$;u$t$[E]‹u]Ð4]uP @(,(,]ÍUd$؋E]u}]u}tC8uJt1= t(D$D$"$t$|$؉]u}]Ít&(5,ݍv'Ud$ED$E‰D$ET$$GÐt&Ud$ȋE]u}]ut_.8td0t$'u$w(шPÈHHH؋u]}]Ðt&t= tD$D$"$ks$t$؋u]}]Ít&pF$LwljE0012RFЃ	vFɃ[u߅ۈt21ɍRFЃ	vf]u؋}]]ÍUd$ȋEEEHEEEE
8u,$0UUPUPUPÍ&(,$T$	Í&Ud$ȋEUUEPEEUX8u'$/UUPUPUPf(,$T$
Ud$ȋEUUEPEEUEEEE8u2$.UUPUPUPUPUPÐ(,$T$Í&Ud$ȋEUUEPEEUEEB
8u0$l.UUPUPUPUPÐt&(,$T$q
Ud$EDHE<H
@EUd$@&'Ud$@&'Ud$@&'Ud$
Ud$@&'Ud$@&'Ud$@ &'Ud$@&'Ud$@0&'Ud$@@tfÍUd$@4tfÍUd$@$&'USd$UM]@8t]MUd$[]fd$[]É'USd$UM]@<t]MUd$[]fd$[]É'Ud$؋E]E䡨u}@Ht]u}]]u}]ÍvUd$U@Lt
Ut&Í&'Ud$UM@DtMUÍUd$U@Pt
Ut&Í&'Ud$U@Xt
Ut&Í&'Ud$@&'U]Ít&'U]Ít&'U]Ít&'Ud$<
PL$
$L$DfUd$UM@\tMUÍUd$ER`t	⍶Í&'UWVSd$ܷۋ}tQ1ܷfSTt*C(D$"D$D$<$ni<$STvuƅt
d$[^_]ÐD$D$,#$lD$<$D$id$[^_]
UVSܷd$ܷuuFt&D$6D$4$h[@(D$D$D$4$hud$[^]ÍUWVSd$}?gܷt8ܷ
vt'C(<$D$pud$[^_]Ðt&D$D$P#$k$|$ D$D$"$j$$EN
d$[^_]vlDdGD5
Ud$D$D$"$ajEt&Ud$D$D$#$1jEdt&Ud$tÍ<D$$hÐUd$tÍVfUd$$!#gt	Í&@,ÐUSd$D$]D$u#$}iD$D$#D$$|fu
d$[]ÍvD$D$#$(iD$$fܷtܷ@([D$D$#$fu܍d$[]Ðt&D$D$#$hD$$hfD$D$#$hD$$<f$Ud$D$)D$$peÍv'Ud$D$6D$$@eÍv'UWVSӍ$$deE1Dž\tr<%t[t$$l<%u׍C[%<Qt&CD$L%D$D$4$ddfduMt
uP\Me3

$[^_]<%OC[%<Qt$%뤋dWT$D$D$lED$dD$$LkUE0u@0tdt$$bt$$%ekdddD@D$D$D$4$Yc@DA@T$$kewmD$D$$D$4$bLdd@D$BD$D$D$4$bddd	LdBRɉ`PT2$f`tBL$|L$TxL$`T$PT$Q|$T$LT$xɉHt
{C`D$T$4$e|DždtT$D$0%D$4$yaxt
{G|ttiTPT$LD$T$D$:%4$dw(i`$fOeD$D$D$4$`dd<dDž\ddt	:D$D$$$`cD$D$4$l`ddBt+@DD$D$D$4$$`DBDD$D$D$4$_DBGJB$L$@[h@!L$D$D$4$_ddPR T$PHT$L$@D$%D$4$
=
HD$T$D$$D$4$	_dbddD$
D$D$4$^0d}QD$T$D$lD$dD$<$eE<0u
R<0t<1эy(`Ӎt$$ f~ڋ`dT$D$$D$4$^|dgddQT$D$D$lD$4$].ddD$D$D$4$]ddD$$D$D$4$k]<dr<udd[D$H%D$D$4$#]TPT$`LD$T$L$D$7%4$t$k_$L_=<T$DD$$AaDtaD$D$D$4$@E\@$^D$$D$D$4$\djT$D$D$4$[ID$D$$D$4$[tt
t9`D$D$%$_^H`D$T$L$4$`t$]|t
$'bt$]x$b|DždPdd[D$D%D$D$4$ZB{=HD$D$$$J]D$|$D$4$RZdD$D$$]`$L$%@SD$$D$D$4$YJD$D$4%4$|t,T$$D@;bD@H$D$DbDždD_$a'Ud$$MUEfUd$tMU$Í&Ud$$MUUd$؉]]ۉu}u}tcD$D$%${[$\$|$t$D$D$Q%$K[$o$`vD$D$%$[$|$t$4fUd$D$D$o%$ZU$T$UT$Ðt&Ud$$MUUd$]]u$u9[t)P]P@u]Ðt&t5]u]Ít&D$D$4'$(ZE]u]]@UVSd$u4$ ^$^@5t[u@d$[^]Ív'UV1Sd$D$D$X($ݵ$E\$D$VuE%=@$	Yd$p[^]Ít&'UVSd$ts$Yte$IZt)9|:/t?1$Xd$[^]Ív9uӡ\$$صtfݍv1d$[^]ÍUd$؉}}u]uu

u@$t\x>=t+4$_\C1҉C]u}]Í&`D$v$t$\CCu]}]Ðt&Ud$D$$]u%Vát,t:D$D$($W$t$؋u]]ÍD$D$c(čU1ɉWVSÍd$ԅ=5D5uv6tz)D$\$D$F$RE<$VMt\$$MMH
d$,[^_]Ðt&M$SD$D$\'$fV$\$M냐ksMD$(D$($۹ljEMtPjMt9=E$MD$M=M<$UMMD$(D$($_ljEMtMu<$CUMถ(ME(MZD$y	D$y	$ljEMtM!<$TM=-iUd$E{t&'U1҉d$E^&'Ud$ȉ]]u}uC4$D$R=Ct3>D$D$($^T$t$C#S t?D$${P{t D$<$\Pu$9{#v]u}]ÍC u
SB4@tϡ<$D$<D$OuGx{D$D$'$sS$|$t$ZfD$C$IT"D$D$(vO1[D$D$'$R$\$1t&C MO$4$诈Ehu] =}8=)賗5=~=*|ߍwԡ$QŐt&D$D$'$R$t$0C$SC1<@x9D$C$Nt&(?f=-=Ֆ,11ۃ)<$+Qt$Q4$Q$Pu]k$QMStXtKUU؉D$$vVDEE@=t%E؉<$\PE-u뭅ۉuf룋Õ,tE؉<$'P$PE螕=uً5茕&UWVSd$ԋ]C ugSC8/k\$$Kt7C8/31C 	ЈC d$,[^_]É4$Ot&C8/5ubt&ED$D$ED$CD$ED$)D$F$ȫlj\$<$uX<$O6txC t	tGuD$CD$)D$F$plj\$<$Rt{VE\$t$$uC 뜍vd$,1[^_]Ðt&C~D$`D$$Ɖ\$$sUd$؉uu]}Ft]u}]ÐF t`u#t$$"u-[D$(D$(t$$tf ]u}]Ét$F$s^v4$\$[SD$D$($M$\$t$(F tH=`t>^;/tPD$D$)$6M$\$V]u}]Ð^ōvD$D$(D$D$8($L$|$\$Ud$uÍD$D$p]$Q$YÍ&'Ud$E@EE@ER'Ud$}}]uÉ։Mĉ<$Mu(D$D$$L$|$"Eĉ]ԉE؋EE܋G|uE<$ED$[D$I]u}]ÍUWVSd$ԋE@E$AMMI|M؋E&UBp|ыRRDtp2EuAE܋=0tRf_u@&t3Ct$$PuUEJ$1ҋE܉|$u͋?uEU؋҉UTd$,[^_]D$D$$JU$T$vUWVSd$UEUE؋EEBDUB@D$D$EOtVUBpu
Gf6t?F$D$OuEUREЉUԋEU؉D$$N|u4d$\[^_]D$D$$IU؉$T$4$MUE̋BUD$ẺD$E؉T$$J5E̍98Ɖ]-CtUC;BtBt&v9>ttߋEԅtC=t@uCt‹UЅCUЉT$$MNMtWG[MUĉED$D$)$HNjU܋ET$D$UċET$D$UE؉\$T$D$<$M(ỦUd$\[^_]!Ht&ChD$D$$2HU؉$T$Ov'UWVSd$ċUD$D$D$BD$,$E@vd$<[^_]ËF@Dt=0EtٍvW҉UtZUBUT$$'Mu/EXt%t&NF|$S$uU҉Uu?ud$<[^_]ËEXD$D$T)$G$\$"+'UWVSd$uD$D$)$FD$D$4$CD$D$)$FÉD$D$D$4$C$G1f[t$$ )K1~D$D$)$(FD$D$4$4C
>$JÉED$bE$D$&KE)9tD$$
*D$YD$T$$NBE9f]Ѝt&EЋD$ED$D$@D$,$pBx"UԋBD$D$D$4$,BUԋB$>FXEԋxu?tIGt1&[t$$ I1~GD$D$4$?1ۅuUԋzu
Tt&?tIGu1&[t$$ AI1~GD$D$4$!?1ۅutD$$
*!EE9Ed$L[^_]Ë@PDt݋@4@UԋBu
ftPB4@uD$D$*$CD$4$D$@d$L[^_]ËUԋB$T)D$FUVSd$]uCtD$I$
*FD$CD$<$ECtd$[^]Í&CCUWVSd$ԋҋEtkuuE5U1]Åk0At
Ru	3B޸d$,[^_]Ãt
15m=|$t$$&C=}<>EU4tS|$D$4$BF=t+KHKHKHҋK[Huۋ6uEE9wD$$\@$A&؍;}svM
$ED$$@D$D$$A55ҋ5=
5<EU4tZ&<$D$t$_AF=t+PSPSPSPS[uۋ6uEE9|낡$AJvUWVSd$
ɋuED$D$D$$>_u>t29suC}UBuKCd$[^_]Ít&D$$>Gs_CC뢍vCd$[^_]ÐD$D$Pg$>tCd$[^_]D$D$)$>$D$D$)$l>$D$D$*$C>$g fUSd$E]t6U\$T$$oBt@@d$[]ÍvD$$=t봐Ud$$t$|$Et)54*@>E‹$t$|$]Ðt&xRt݋
hqtf%f==!̯ttu5%=t`
	e(	WfftBd		E6fp0kpt	pE	tv'Ud$؉uu]}F ڃ Dڨt	~G4@uBt	F@4@u]u}1]Í\$$9]u}1]Ðt&D$D$l	$;$|$딍&'USd$D$]D$	$;D$$D$8D$D$أ	$};D$$D$8D$D$ 	$M;D$$D$Y8D$D$X	$;D$$D$)8D$D$	$:D$$D$7D$D$̤	$:D$$D$7D$D$	$:D$$D$7D$D$`	$]:D$$D$i7D$D$	$-:D$$D$97D$D$	$9D$$D$	7D$D$H	$9D$$D$6D$D$	$9D$$D$6D$D$	$m9D$$D$y6D$D$,	$=9D$$D$I6D$D$h	$
9D$$D$6D$D$	$8D$$D$5D$D$	$8D$$D$5D$D$8	$}8D$$D$5D$D$|	$M8D$$D$Y5D$D$	$8D$$D$)5D$D$	$7D$$D$4D$D$P	$7D$$D$4D$D$	$7D$$D$4D$D$ة	$]7D$$D$i4D$D$X	$-7D$$D$94D$D$	$6D$$D$	4D$D$Ԫ	$6D$$D$3D$D$	$6D$$D$3d$[]Í&'Ud$ȋE]=u}j~0=t&}F
]u}]Ðt&=
~C]u}
]f=u=]u}1]Ívzu	
9	

		i	
ͮ		֮		߮	:C:C:~C:n
p
xft$4pukhf$;]u}]Ð	:S:u|S:upS:ud@f]u}%]Í&]u}
x]Ív	``f
xJt&
x 5& 		$U7f
x&D$D$T	$2$\$
x
x
x@n
xZ	D$	$8D$	$7D$	$7D$	$7D$	$7pD$
	$7D$	$x7jD$	$`7DD$	$H7D$D$	$(6?D$D$:	$6ED$D$[$f2M1ң9u	t1D$D$	$0$\$uD$$.	
$T$L$y3i%p%xQ
p
x6%

	%ED$D$[$G1M1ң9u	t1D$D$t	$/$\$uD$$.	
$T$L$4J
<%.
 Ȁ࿢@v'UWVSd$ԋU}u]UGD$$j4U<8Ffz:GD$$@4lj 	u6uN1tftd$,[^_]f 	!	tf@fv
UWVSd$]BxEE@%=qEE
 @=vBt,D$D$$ZFt
PLuVPLv@uáиd	]t&@HtA up	8u΋]@0(d	 % = CE( MQ҉U\MT$EU$D$D$L$D$T$S>ƍd$\[^_]ÍH@M|T$\$$ī	c1ҨE{ƒU9}u${	uE&vUD$D$$vFt;x\$D$<T$$C(t
F@3Ctx4$D$^uEwt&CUS}}	fXf3m	
:5,Ft$\$$d$\[^_]éEȸ@EEసMJ_	uuUEEDEEt&]1VD$D$$‹EPrED$$$D$,NC&_	uExat.EEV	&]1EEL	xaUEE@UEEEỦ]vu؅J1ۀaþ	|9]ȋ]…ttEMЅttZPt)RMEȉMЍt]ԉEE؉]ԋPt?E܉ЋxHxP_	ֹZPtϋR붋}oŰ]ĉE܋}Ѕt/UЋEP:Ű]}	}}vtUƃ}tU뻅uU벐t&U1d$]]u}uC u]u}]Ðt&F{$6)<$E+)E$M)MUT
Љ$+‹ED$|$FU$D$D$	D$D$,U\$$Ut~SD$C$#tLC@4@tCC <tD$$.	4C$-$D$C$>-]u}]Í$&]u}1]ÐUWVS
d$ԡ<D$$"<Pztd$,[^_]quዐLPM
$D$$*<PL1׉}}1}z~3tSD$$
(v7v9֍rw9MrU䉰PLD$D$	$%$d$,[^_]rf$	3&BTUWVSd$,x$g$h4D$T$UT$D$T$<D$T$${(t]tCt$&C0C,u0[%C uD$	C$!t֋@,V0EЃỦ${(MЋỦL$T$D$D$D$t$NjC$!ED$D$D$CD$(D$|$$P<$#FDt5P4H8MĉUN0V,9MĉUЉMrUM+UMԉP4H8[N F,F0&胹<D$$R u$,	~d$\[^_]Ðt&D$($.	,D&C$\	D$=9U`If$,	&<D$$($	 t&USÍd$܍{v
d$$[]ÍvC$	C:y	tMSD$<T$L$D$$&ueC$	D$bPC1:y	uP:z	t4f[hCt&KCC[KvC0[8&Ud$ExtÍ@
UWVS1ۍd$ԉ$"lj
t&8ʍ@u`[$"؍D$Y%E`D$E$"E$b"}&[Tt/:u`D$<$"<$"ʐt&Ed$,[^_]ÐUWVSd$U$ED$EU1$$EEf]uډ9t&$[!9
|7
6<$\$%T0ljމE)Ӊ$UD$\$kUu9u}FUD$
$tMD$#$t][<t< t<
t<	t&t<t˯	uS	H ?<=t
}1ًE}@OE<9V}
:UBt$\$$, }ww0E$ ~U$M$d$|[^_]f< t#<	t<t<
ft<tBJ<=tu93:/tf9Ӎt&z/Btы})ދ)ىO$o"‰G1u};{f<	tJ< tFv tېtv	uu~<	u</Et{ED$/$<$EM+MPMUD$!MƒEL$$UMD$UMыED$|$$tUUMD$L$D$$"u2Eąt u1uEȋ[;}ru}ĉ<$}E$MA$D$U"}‰GE|Ut&Ud$]u}EЋ@։Eԡ<Uԋ@$D$1t1D$$tC4@t
<S;Pt$1]u}]ÍudE$D$!"EtF$CuEu	딐tpӯ	uD$@$\uLC$=ƅuM$ם
t}]u}]Ív\$$ۯ	舿뢍D$D$	$8Uԉt$T$$a낍&\$$Ĭ	8vt$$!UЋt$uT$$-CD$$`0\$$H;PvUWljVSd$ċRMЉUԀ:/?EEԉ$EEmt&E)ЉUȉ$@9ËUtT$|$$'U/DUԉ$T$UЍE];uO$>t2~<$D$z<$4jf1d$<[^_]Ðt&d$<[^_]f
U卤$h҉]u}]t]u}]ÍvCt$%uݍED$C$EU3@3D	,pD$/4$u4$D$		QsC$,vUZ<$)މ\$t$AU2|$BD$\$$	藼fEU5
11	I	A&C$ݯ	D$EC$	P&'UWVSd$
ɋ]u
Ct@4@ud$[^_]Ív$t{uڍt΋s<$t$?tD$/4$[uD$		4$t@)D$t$<$ukC@$-pfUd$ء]u}]t@$sC=t$uvs,x4$|$btUC t'D$/4$ht@|$$5t(C$t,R$T$
u]u}]fUЉd$ux
t@Ív@Ív@D$ñ	D$O$.	?
UWVS$]eE1Ch
NQD RDQ<Q,I0T$$D$PTKD$$T$QTS$D$D$RTBGNU:	uqP:	ueP:	uYP:	uMH4$@ht$D$`$P4$D$OIf	L	oPpDžt&	tN~	:t&-t!D$	D$$.	t&vuq,y0D$AQA<Q@T$D$$(1Ue3$|[^_]Ít&v	ЈK4$jJht$D$$Pu1i4$L$b	\$t$|$$11	%t&Rt҉A,$TBtCD$$	RT$D$4$Blj4$8;H1D$D$0	$$ܵZD$	D$$.	ѵUd$D$	$	Ŷ
Ð&UWVSd$,{$t
d$|[^_]Ðm@U:			1ɍp@UM%Vt#EvU@	u<:t<-7v׍P:	UP:	EP:	5 1ɋED$+@D$$	$UM@H<$E=U8V,UMpN0Gǂd
h
o%= M<D$$VE-Ɛt&Ft$5]9t5fCt$uCVT$$9u͉,$`/t@$#C=ECECEt@E܍EE߉uvMUMUࡼ5V$`	MUd<D$$b}}t&4$
C.ƋC;Gu܋MU'tˉ$k
&6Fg5@vD$7	4$
tx0wx,v
xD 4uMU	$x	X$ft&96}
(_6$t"MUС$E])G$
@EtrCuC$
E$ƋGD$CD$D$	D$D$4$UE؉uu|4$v뎍E}GuD$GD$$H	H$1$		MU'}u`EEED$D$p	$g‰ƍE4$EątƋEĉ$5$(N$	F@$D$A	4$D$
@HV4$
`D$D$t	$gƉECS{UD$D$O	$
U|$T$$謯$	苮UEṯ	Һ	E]Ít&
	t	Һ(	]DÍv'U1d$]]u}uC u]u}]Ðt&F$
‹C$U
NjE$
UT:Љ$
NjED$CD$FD$D$?	D$D$<$
\$<$蔴t{]u}]Ív<$1G'Ud$$͢Ít&'Ud$؉]]u}{t]u}]fsJuCxtD$[$M	蚭C@ P]u}]fUd$tÍ<D$$tY$,	lFUd$D$	$	uÐUd$$t$|$Et)5x		E‹$t$|$]Ðt&	t݋
$	tf%f==!`C
td
u5%=t`
e
WfftBd	P,E6fp"
kp`
t	p
tv'Ud$؉uu]}F ڃ Dڨt	~G4@uBt	F@4@u]u}1]Í\$$]u}1]Ðt&D$D$l	$$|$0딍&'USd$D$]D$	$D$$D$D$D$أ	$D$$D$D$D$ 	$mD$$D$yD$D$X	$=D$$D$ID$D$	$
D$$D$D$D$̤	$D$$D$D$D$	$D$$D$D$D$`	$}D$$D$D$D$	$MD$$D$YD$D$	$D$$D$)D$D$H	$D$$D$D$D$	$D$$D$D$D$	$D$$D$D$D$,	$]D$$D$iD$D$h	$-D$$D$9D$D$	$D$$D$	D$D$	$D$$D$D$D$8	$D$$D$D$D$|	$mD$$D$yD$D$	$=D$$D$ID$D$	$
D$$D$D$D$P	$D$$D$D$D$	$D$$D$D$D$ة	$}D$$D$D$D$X	$MD$$D$YD$D$	$D$$D$)D$D$Ԫ	$D$$D$D$D$	$D$$D$d$[]Í&'Ud$ȋE]=u}j~0=t&}F
]u}]Ðt&=
~C]u}
]f=u=]u}1]Ívzu	
9	

		i	
ͮ		֮		߮	:C:C:~C:n
p
xft$pukhf$[]u}]Ð	:S:u|S:upS:ud@f]u}%]Í&]u}
x]Ív	``f
xJt&
x 5& 		$uf
x&D$D$T	$$\$0
x
x
x@n
xZ	D$	$(D$	$D$	$D$	$D$	$pD$
	$D$	$jD$	$DD$	$hD$D$	$H?D$D$:	$(ED$D$[$M1ң9u	t1D$D$	$$\$3uD$$M
$T$L$i%p%xQ
p
x6%

	%ED$D$[$gM1ң9u	t1D$D$t	$$\$uD$$MǞ
$T$L$
J
<%.
 Ȁ࿢@v'UWVSd$ԋU}u]UGD$$U<8Ffz:GD$$`lj@Nu6uN1tftd$,[^_]f@NANtf@fv
UWVSd$]BxEE@%=qEE
=@vB@t,D$D$$zFt
PLuVPLvuád	]t&@HtA up	8u΋]@d	% = CE MQ҉U\MT$EU$D$D$L$D$T$sƍd$\[^_]ÍH@M|T$\$$ī	覚c1ҨE{ƒU9}u${	uEฺ&vUD$D$$vFt;x\$D$<T$$ct
F@3Ctx4$D$~uEwt&CUS}}	fXf3m	
:5H,Ft$\$$d$\[^_]éE@EкEpMJ_	uuUE࠺EX@DEEt&]1VD$D$$6‹EPrED$$$D$LqNC&_	uExat.EEV	&]1EEL	xaUEE@UEEEỦ]vu؅J1ۀaþ	|9]ȋ]…ttEMЅttZPt)RMEȉMЍt]ԉEE؉]ԋPt?E܉ЋxHxP_	ֹZPtϋR붋}oŰ]ĉE܋}Ѕt/UЋEP:Ű]}	}}vtUƃ}tU뻅uU벐t&U1d$]]u}uC u]u}]Ðt&F{$V<$EKE$M;MUT
Љ$‹ED$|$FU$D$D$	D$D$0U\$$Ut~SD$C$tLC@4@tCC <tD$$MTC$MD$C$^]u}]Í$]u}1]ÐUWVS
d$ԡ<D$$<Pztd$,[^_]鑆uዐLPM
$D$$<PL1׉}}1}z~3tSsD$$-Hâv7v9֍rw9MrU䉰PLD$D$	$$d$,[^_]钅f$	ԓ3&BTUWVSd$,x$g$+h4D$T$UT$D$T$<D$T$$t]tCt$(C0C,u0[%C uD$	C$t֋@,V0EЃỦ$MЋỦL$T$D$D$D$t$NjC$8ED$D$D$CD$(D$|$$P<$FDt5P4H8MĉUN0V,9MĉUЉMrUM+UMԉP4H8[N F,F0&裃<D$$ru$,	螑d$\[^_]Ðt&D$($MLD&C$\	D$]9U`If$,	<&<D$$$	t&USÍd$܍{v
d$$[]ÍvC$ NC:y	tMSD$<T$L$D$$=ueC$	D$肐PC1:y	uP:z	t4f[hCt&KCC[KvC0[8&Ud$ExtÍ@
UWVS1ۍd$ԉ$lj
t&8ʍ@u`[$؍D$yE`D$E$E$}&[Tt/:u`D$<$<$=ʐt&Ed$,[^_]ÐUWVSd$U$ED$$EU1$EEf]uډ9t&$[9
|7
6<$\$T0ljމE)Ӊ$UD$\$Uu9u}FUD$
$tMD$#$t][<t< t<
t<	t&t<t˯	uS	H ?<=t
}1ًE}@OE<9V}
:UBt$\$$L}ww0E$~U$M$d$|[^_]f< t#<	t<t<
ft<tBJ<=tu93:/tf9Ӎt&z/Btы})ދ)ىO$‰G1u};{f<	tJ< tFv tېtv	uu~<	u</Et{ED$/$<$EM+MPMUD$MƒEL$$UMD$UMыED$|$$UUMD$L$D$$u2Eąt u1uEȋ[;}ru}ĉ<$}E$MA$D$u}‰GE|Ut&Ud$]u}EЋ@։Eԡ<Uԋ@$D$1t1D$$tC4@t
<S;Pt$1]u}]ÍudE$D$AEtFDH$pchHuEu	딐tpӯ	uD$$|uLC$=ƅuM@$g
@t}]u}]Ív\$$ۯ	訉뢍D$D$	$XUԉt$T$$聊낍&\$$Ĭ	Xvt$$8UЋt$uT$$MCD$$`0\$$HPvUWljVSd$ċRMЉUԀ:/?EEԉ$EEmt&E)ЉUȉ$`9ËUtT$|$$GU/DUԉ$T$UЍE];uO$>t2~<$D$z<$4jf1d$<[^_]Ðt&d$<[^_]f
U卤$h@҉]u}]t]u}]ÍvCt$EuݍED$C$EU33	pD$/4$u4$D$		qsC$<vUZ<$)މ\$t$aU2|$BD$\$$	跆fEU5<
811	I	A@&C$ݯ	D$eC$)P&'UWVSd$
Hɋ]u
Ct@4@ud$[^_]Ív$<t{Duڍt΋s<$t$_tD$/4${uD$		4$t@)D$t$<$uHkC@$MpfUd$ء@]u}]t@$
sC=@t$uvsx4$|$tUC t'D$/4$t@|$$Ut(C$tR$T$-u@]u}]fUЉd$ux
t@Ív@Ív@D$ND$O$M_
UWVS$]eE1Ch
NQD RDQ<Q,I0T$$D$PTKD$$T$QTS$D$D$RTBGNU:	uqP:	ueP:	uYP:	uMH4$7
ht$D$`$P4$D$of	L	oPpDžt&	tN~	:t&-t!D$ND$$Mt&vuq,y0D$AQA<Q@T$D$$H1Ue3$|[^_]Ít&v	ЈK4$ht$D$$Pu1i4$L$,	\$t$|$$11	%t&Rt҉A,$tBtCD$$	RT$D$4$blj4$X;H1D$D$0	$$ZD$ND$$MUd$D$	$M
Ð&UWVSd$,{$t
d$|[^_]Ðm@U:			1ɍp@UM%Vt#EvU@	u<:t<-7v׍P:	UP:	EP:	5 1ɋED$+@D$$	$UM@H<$E=U8V,UMpN0Gǂd
h
o%= M<D$$vE-Ɛt&Ft$U]9t5fCt$5uCVT$$9u͉@$@O[@t@$#C=ECECE@t@E܍EE߉uvMUMUࡼ5V$`	:MUd<D$$}}t&4$C.ƋC;Gu܋MU'tˉ$&6Fg5@vD$7	4$tx0wx,v
xD 4uMU	$x	x{$ft&96}
_6t"MUСE])G$
@EtrCuC$E$ƋGD$CD$D$	D$D$4$UE؉uu|4$v뎍E}GuD$GD$$H	=zH$1$	MU'}u`EEED$D$p	$1‰ƍE4$=EątƋEĉ$$5N$	F@$D$A	4$D$@HV4$`D$D$t	$51ƉECS{UD$D$O	$U|$T$$y$	xUE#Eg@@ܺ@vT2@@@]Ð&UUE
JHJHRP]
UWVd$UыEu}MMEvuu	MM}IMN9ʉNvF;Eat&}Eu?}8xj׋E3E#E3E}ЋUER}U2VU3U!3UʋMp $M1}!3Muыvu>ν1!1}
΋}|}E1!1E}*ƇG}U1!‹1ʉ}UF0}M1!ы1}Mэ7F}u1!΋ 1Ɖ}u
΍ؘi}E1!$1Љ}ED}U1!‹(1ʉ}U[}M1!ы,1}Mэ7\}u1!΋01u}
΍"k}E1!41Љ}Eq}U1!‹81ʉ}UCy}M1E@!ы<1M}э7!Iu֋}1!1u
8b%ΉE}1!1E:@@U‹}1!1U9QZ^&‰Mы}1!1M>Ƕщu΋}1!1u8]/ΉE}1!1E:SDU‹}1!1U9‰Mы}1!1M>щu΋}1!1u8!ΉE}1!1E:7U‹}1!1U9
‰Mы}1!1M>ZEщu΋}1!1u8ΉE}1!1E:U‹}1!1U9og‰M1!1Mщ1׉}}؍>L*}uu!1u8B9΋}1NjEq11‹E"am11Eэ811ƋE	΍D꾤11}:KU}11׋UǍ`K11ыUp11u	ʍ0~(Eȋu11ƋE֍'11NjE0ԉ11ȋM
UM11ыU	9ى11֋U΍11}8|E}11NjE׍eVĉ11E	D")	1uȍ2*CUĉu	1֋Uƍ#	1׋U9	1ʋMY[eEM	1Eэ	1ƋE΍}	1}:]Uʋ}	1׋UǍO~o	1ыU,	1uʍ0CEu	1ƋE֍N	1NjE~S	1ȋME
5:UM	1ыUM荴*	1֋Uu썼ӆ	1ʋMU9Mu}EUM>FVNd$`^_]fUd$}}]u$WMҋuuU@w(tGt$L$$w]u}]Ð$M܉D$E؉|$?E؋M밸L$)ЉU9ƉMFƉEGEЉ$ED$EUG@Mw
M+u]fЉU؃|$EĉD$E$2U؋EE?D$ET$U؉$$U؋M܉W먐t&Ud$ȉuu]}e~F9ljFvF7~8)NT$9U$MdD$UFM<:D>FV	ЉD9t$|$$eE4$D$&]u}]Ðx)
U卤$(eU1҉]E+u}H}D4$|UDT$$t$|$4$Ue3u
]u}]i3'UWVSë$EUHeE1$1D$D$)D$7$:Ɓv$t$D$D$<$묍t&u$uu9$D$1҉ЋUe3u)$[^_]Ðt&t$T$<$jC2$ÐUE#Eg@@ܺ@vT2@@@@]ÐUWVME1			q			Pq			Pq			PIʉ	΁		ʉP^_]ÐUWV$\UЋM`ȉXEx0}}@uEE}}@EG9‰GvG;XE\l8}t&}1ҋ`t&ȉ	΁		ȋlRuȋEu}M`@0yZu‹E3E#E3EЉEEyZE1M!3EЋUЉ}yZMщ1#M1MϋMĉ}}yZ1!1u΋M
yZU‰1#U1UыỦMMyZ}ϋU1!1}׉}UyZ1#E1ȋU}NjEyZ1#E1ȉEMMyZuƋM1!1u΋Mu
yZ1#U1‹Muu0yZEȉ1#E1EƋEuuyZ}E1!1}NjE}yZ1#M1E}ω}}>yZ1#u1֋}΋M}
yZU1#U1UʋMUUyZEȋU1!1E‹EU3EU1ЋU1p1#UyZ1ʋE3EtE܋}1tE1ttt׋UyZMщ1#M1MEMM3MxM1xM1xxx1yZ1!1u΋Muu3u1΋p1΋M|yZ1#U1u3uʉuu1ut1uMMun։E13EEEE3E̋uEE1Ex1EME8n11}NjE}}3}1Nj|1}n13ME3Eԋ}EE1EE1EME}0nȉu13uuƋEuu3u؉up1uu1uMunU‹u11U֋Uu3U܋t1u1U13u:n}U3UUux1UU1UMUnE13EEЋUEE3EE|1EE1EMEn11EȋME3ME1E1M13E1nƋEM3MƋEMM1MM1MMMnU13UUʋMhp3UUU1UU1UMU:n}ϋh11}׋t3UUU1UU1UMUnE13hEЋhEx3ppE1pE1pppnMыE11MEh|3t1E1Et1n13u΋h΋M3xxM1xM1xxxnU13hUʋhUU3||U1|p1|||:n}ϋU11}׋U3UUU1Ut1UMUnE13EEЋUhE3EEE1Ex1EMEnMыh11MEMM3M1|1M1n13h΋M΋hdEM3E1ȋM1ȋMEnd13U‰ЋphE3E1ЋU1ЋhE8ܼU	!#d	׋Et3E1ЋU1Ћd}EܼhU	h!!	ЉEЋhdE3EEx1EE1EMEܼdM	!!	Mh|M3M1E1dM1ܼudd	!!	΋hu΋M3MMM1MM1MMMܼʉUh	‹h!!	UUU3UhUU1UU1UMU:ܼh	ʉ!!	h׋U׋p3UUU1UU1UMUܼEEEE	U!!	EEt3EUEE1EE1EMEܼh	Љ!!	ȋhEȋMhx3p1ȋM1p0ܼhu	E!!	ƋE΋|3ttM1tM1tttܼUhh	!!	ʉUʋhUU3xxU1xU1xxx:ܼUU	ω!!	׋U3|}|U1|p1|||ܼhEU	!!	Ћh‰ЋUhE3EEE1Et1EMEܼhM	!!	MMEM3M1x1hM!1ܼh	!	h΋M΋M3MMM1M|1MMMܼUMUUU	!!	UdU3UMUU1UU1UMU:ܼ}	!!	׋d}׋p}}3}1׋U1}ܼEd	d!!	}3}htd1NjE1}ܼM}	!!	<E3EhEx1EE1EME}0ܼƋhuh	!!	uuu3uhu|1uu1uMuܼhʉ	!!	h֋UuUU3U1u11ƉU3u:bʋU3UU}U1UU1UMUubʉE13EEЋUEp3EEE1EE1EMEbʉ11ȋMt3EEE1EE1EME0bʉ13EƋx3puupE1pE1pppbʉUE11U‹EU|3t1‹E1‹Et:bʉ13U׋U׋U3xxU1xU1xxx2bʉ13U։Uu3|U|u1|p1|||bʉMыu11MudM3M1t1uMbʉ13EȋdȋM3M3M3xbʉU13dUUUUUhddU3U3U3|:bʉ}d11}}h}}}EE3E3E3E}0bʋu3d3h}h}h}p3}11Td7bʋh3}3}}}uu3}ut1u1}7bʋ}3h3}uu}}3u}x1h1u>bʋu}}3}3}}}}}|u3u1T1}u>bʋu}}3}3}}u}}3u}}1}1}u>bʋu}}3}3}}u}}3u}1΋}1u}>bʋu}}3}3}}p}}3u1։}}1}u>bʋu}}3}3}}t}}3u1Ɖ}}1\uuuu>bʋu}3}3}u\u>}~~}}vuuwuwwuuwwX9`usqptu}x|u}ċuTUЉEԋUEuȉM̉}؉E܋}UMuEU}MuEU\$^_]Ít&Ud$ȉ}}]uÔWMҋu?wTu]u}]ÍvWG EЉt$U܉L$$>Uփ?w]u}]Ít&$M؉D$E܉|$?E܋M넸L$)ЉM9ƉUFƉEG EЉ$ED$ıEG@GMwGM+u3t&E|$$D$@)G`D$Ev$t$t?v|$D$E$GU܃?UGD$UET$$.MsfUWVS!d$ċuF8҃ꀃ8UVɃ8MƒV9Љ}NN	щʉ	ρ	~	ʋMԉT 	ρ	}	ʋMT )~ ȃ$D$D$:Et$D$<$E4$D$d$<[^_]ÍvN>U卤$H]uXX4$WEt$D$E$!E4$D$]u]Ð&UWV1Sß$E}eU1҉$|$)D$D$$%ƁtGtk<$迯turD$$1Ue3um$[^_]ÐD$D$$1Na<$4¸utD$t$$mUWVSad$}t%tt&v$u<$Ӭd$[^_]ÍUWVSrd$EtmE0u.<\t=<"t9<'t5M<$L$t9vt>Q@tE$\D$谯ud$[^_]ÐE$
D$良tكEM1u1
UWVSAd$ueE1EE4$:EE)EEET$UWUtMUȃMMčM9MȉU|BEąeED$Eĉ$ب…MȍMUĄUt6O@MЅMԅM̅u}ẺEU$ΰM@EMċUW@tvW@uUe3Ee[^_]ÍMԅu)<\tMMЅt.<'tzRv7bfREfM̅t!<"uEǍt&E뺍&<'t4<"uE뢍&vUt&E낍&Eo$ 褬EuuąUĉ$iEEĉ$REQUWVSád$ԋ}Eu
E܍d$,[^_]Ð71tv@u$EEttq1ɉ}'v$T$ުU}2VtH։$M-$被M؋U
u$yEE܍d$,[^_]1t&E0E܍d$,[^_]Ív'UWVSÜd$E)}Uvv958@uM@UĉL$$蓦EUMD$D$$UwE$өEMD$D$$:MzA$ëEԋEMD$EԉL$D$$蟬ME9UtM$U(MԋEUĉ$#E܋$E؉UZM܋:E8*MEMЉŰM܉}t&:@<uUЉEU}ЋŰ}ȋMEUD$E؉$7ME؋M)D$DD$E$	M܋UċE$L$D$~UMDE܉$Uԉ$
t&vM$֦E9t&d$\[^_]Í&EEEЉE}ЋŰ}EED$D$D$$$:UW1VuS
ìd$Et&$v豦NjFud$[^_]É'UWVMS^d$ԋu8t14$MaD$t$<$EMU׍IquЋd$,[^_]Ít&UWVMSOd$ԋu}t64$MD$t$<$E讥MU׍IquEd$,[^_]É'UWVES|d$ԋuE1҉u֍&$qƋGuuB$(EMǍt&4$MAD$t$<$EM܋U׍IquEtE$臣Ed$,[^_]$迧ljE̍t&UWVES
ìd$ԋuEt{Ev$詤EGuE$aEMǐt&4$MyD$t$<$E6M܋U׍IquEd$,[^_]$	ljEސUSTd$ED$E$od$[]ÐUS$ñd$E$D$UUi@BEEd$d[]ÐUWVSod$t'tƐt&$Vvu<$d$[^_]Ðt&Ud$ȉ]u{}ƉUB$詤UljT$t$$U]u}]Ív'U1ɉWVSýd$ԉU
&҅t/@u/ҍIu$EtS1tt&/vtKu)ƅ~M	M܉TtqEtE8Ed$,[^_]Ðv>/tM)M܉TyOEEd$,[^_]Ít&@)EUd$]}ÊljueE1҉֋Mttu'1}e3=]u}]ÍM<$9EԋMU}ԋ}/}ԉM<$ϠNjMtUM%Eԉ<$莟MԅxU܉E̋M};}܉}uH}1ljM
t&v9u~UԋT$$tߋ}ЋM9U؉EtW}܋E9}EN~@1҉uЉ׋ut&9}UŰT$$諤tۅ41EEwEoEԉM$萤NjM$蘜M$EҟxFEԉ$蹟UMD)ĉuЉMȉ։э|$}ft<:Vt9tbL$)ʉ<$T$U'~/UtO/DEԉ<$D$覡D$<$j>VVщ.G/G1E}}1}~ 1UUԋv$՞;uuUE)Ѝ@9UȉE~&Eĉ։U<v$螞E9uUEЉU$EЉƋUG}~+1EȉUuԋUЉD$$詠9}uȋU1}}9U܍D~f..@/I9M܍@9UEĉuȉ֍<UЉD$$vB9uuKuЋM|ŰuЋMȉUk
Ud$MEUMEUd$MEUMEUWVS1d$䋃dEt,Epx|yEEuڍd$[^_]É'US4Ӫd$싃t)dB+ML@B1d$[]Ðt&T͍$ ¸t͋dBd1륐UWVd$Mu}ɋUu}EuEuUu9v8щ1
f9vL11ɉȋMɉt؃ڍd$ ^_]Íu1ƋM1lj뾍ЃUuE;uv9s1뛍vڋuEمT]UU]Bt&ME +EUMUUuM	׉u։e9։Ur MU9s;ut1t&O1UWVd$ЋMu}ɋUu}EuE}}܍uUЉU؉u+9Mv~Љu܋EԉFuEUd$0^_]Ð9v$NEԅtEU؃ڍd$0^_]ÍvЃUuuM9M9M؉~븍&U܅u
1u܉E܉1u܋Eucf]U].Et&M¸ +EEM؋E	ЉMEȋEM؉E̋EMMM	}uȉ}܉e9rJ9Er=M)׉ʉMMM	Љ~t&U+UljU9ut&+EUUWVd$EUuU}u49w`u1ƋM1҉ljȍd$^_]Ít&9wЃUu9;u911ɉȉd$^_]Éщ1ȍd$^_]ME +EUMUUuM	׉u։e9։Ur0MU9s;ut1qt&1`t&O1ȉd$^_]ÐU]Ít&'UWVSñK)t$1ED$ED$E$9rރ[^_]ÐUSSUSd$t[Ћud$[]ÐUS[|Y[%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_semicolonoy
BQmֹ*Fb~ۺ)F[pĻлڻ)5E[yż-7E[uս<aо!4SfϿۿ"A`Cn!0?Pa|-E]u
%1\\v5[	9]g|Dk.U|?f	*Pl2S{$Ee'3DPam~+#5g"3DPcv!+:|-A	Hm~	)7Xy+[v@_*&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$9	
 "$))/056789:;<=>?ACEHJLNPRQUXW[_`bdilorux|{"$#*+/05:;@DDHGNORTXZ\^`elnrtvxz|~
 "$&(+-/13579;=?ACEGIKMOQSUXZ\^`bdfhjlnwy{}	"$,/1565?lo{
!%)-15;=	"#&+-/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

}
}:	!'.6=AEJQUY]ae(hovz~$6:>M[s
 %+19=FDLX_dkXT
 )-:KX]dm}!-1AEVim{5b/4BPbq2 1=BGS_n~
($-<CMZjoty~i

",16;EU^pu%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 foundwiT)Mo[G3kWC/{gS?+wcO;'s_K7#o[G3kWC/{gS?+wcO;'s&&#o[G3kWC/{_C$&gS?+_=&&t777777777	

 !"#$%&'()*+,-./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 unknownSet DT_NEEDED tags for DT_NEEDED entries in
                                following dynamic libsDo not set DT_NEEDED tags for DT_NEEDED entries
                                in following dynamic libsOnly set DT_NEEDED for following dynamic libs if usedAlways set DT_NEEDED for following dynamic libsIgnored 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 overlapsDemangle 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-sectionscrefOutput 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-symbolswrapAS_nZi,;HFUH'@Un}	ZHxSH:[:F@



"7L{Ms


`o~		 	/	>	M	j









!0?XdpIim(iaamAAzibb$#zcc.dddee5E8*	$ff\.FFg5=GGBDhKTIcll~kLL4\m9MMnnNNKoo.Oqq *rr6iRRR.H_ssi{SS|ttTT..uu	(vVT8xxD^XX|mzyyY	(())4h8pa6BJMCXby0v`!20K_\4n\k,.
*9I0F`_y	2C\ kzL$#.$	H	p~)5MYfu,\-=Z5_{555.":\La{.,P*BN,[X&X&&&&&&&&&&&&&&&,(,P,X,++++83222222203220322222(32222 332222222283222222203220322222(32222 33?>>>@?>>>>>>>>?>0?VVUUPVVUVU(UUUhWxVUVWWWxWWkxmPm0mlmp0opn0oo0o0o0o0o0oo0o0oPo0o@o~8|8|~h}X}@}|X|8|8|P8|ׅׅЅɅh m.?W/J)compare_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
%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?
%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_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%016llx0x%V                %T
0x%V %W %B
%W (size before relaxing)
elf32-bigelf64-bigelf32-littleelf64-little%F%P: invalid data statement
%P%F: target %s not found
%B: file not recognized: %E
%B: matching formats:%F
%I
ALLprogram header typeCOMMON-l__load_start_%s__load_stop_%sload base/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:.././ld/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=i686-redhat-linux-gnuCOLLECT_NO_DEMANGLE_init_finiLDEMULATIONelf_i386-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.out}ppXX@reloc_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
HH["build_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+=-=*=/=<<=>>=&=|=||&&==!=<<>>MAXMINASSERTh((X@(XXX8fGJ
M	PSW[^
adgjTXmp)>078$#9:;<>=
? @yZAsBw`{g*$%&IXKd.%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.19.51.0.14-34.fc12 20090722Copyright 2008 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
>===========================
??@@AA@==B======C=C[CA=DCD===========C=======>E======D=E>%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

%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("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)
      *(.rel.iplt)
    }
  .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)
      *(.rel.iplt)
    }
  .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/i686-redhat-linux/lib"); 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 .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) }
}

/* 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/i686-redhat-linux/lib"); 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 .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) }
}

/* 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/i686-redhat-linux/lib"); 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 .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) }
}

/* 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/i686-redhat-linux/lib"); 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 .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) }
}

/* Script for ld -pie: link position independent executable */
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
	      "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
SEARCH_DIR("/usr/i686-redhat-linux/lib"); 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 .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) }
}

/* 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/i686-redhat-linux/lib"); 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 .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) }
}

/* 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/i686-redhat-linux/lib"); 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 .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) }
}

/* Script for ld --shared: link shared library */
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
	      "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
SEARCH_DIR("/usr/i686-redhat-linux/lib"); 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 .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) }
}

/* 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/i686-redhat-linux/lib"); 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 .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) }
}

/* Default linker script, for normal executables */
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
	      "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
SEARCH_DIR("/usr/i686-redhat-linux/lib"); 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 .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) }
}

/* 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/i686-redhat-linux/lib"); 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 .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) }
}

%P%F: --just-symbols may not be used on DSO: %B
  --build-id[=STYLE]          Generate build ID note
  -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)
%F%P: map sections to segments failed: %E
%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:%B: bfd_elf_get_bfd_needed_list failed: %E
%P: warning: %s, needed by %B, may conflict with %s
%P: warning: .note.gnu.build-id section discarded, --build-id ignored.
%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)
sha1sysvbothinitfirstinterposeloadfltrnodefaultlibnodeletenodlopennodumplazymuldefsnocombrelocnocopyrelocnoexecstacknorelromax-page-size=eelf_i386.ccommon-page-size=.rela.dyn.rel.dyn.rel.comment.gnu.warning..note.plt%s/lib%s%s.so%P%F: looping in map_segmentsLD_RUN_PATH.gnu.warningincludelibc.so%F%P:%B: bfd_stat failed: %E
found %s at %s
.so.md5uuid/dev/urandom.note.gnu.build-id.eh_frame.eh_frame_hdr%s needed by %B
LD_LIBRARY_PATH/usr/etc/ld.so.conf%s/%self32-i386disable-new-dtagsenable-new-dtagseh-frame-hdrexclude-libshash-styleBgroup.rodata.interp.sdataxpP.				Ű	Ұ	ݰ	gldelf_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-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)
      *(.rela.iplt)
    }
  .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)
      *(.rela.iplt)
    }
  .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/i686-redhat-linux/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/i686-redhat-linux/lib"); 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 .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) }
}

/* 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/i686-redhat-linux/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/i686-redhat-linux/lib"); 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 .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) }
}

/* 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/i686-redhat-linux/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/i686-redhat-linux/lib"); 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 .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) }
}

/* 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/i686-redhat-linux/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/i686-redhat-linux/lib"); 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 .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) }
}

/* 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/i686-redhat-linux/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/i686-redhat-linux/lib"); 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 .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) }
}

/* 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/i686-redhat-linux/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/i686-redhat-linux/lib"); 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 .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) }
}

/* 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/i686-redhat-linux/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/i686-redhat-linux/lib"); 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 .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) }
}

/* 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/i686-redhat-linux/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/i686-redhat-linux/lib"); 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 .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) }
}

/* 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/i686-redhat-linux/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/i686-redhat-linux/lib"); 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 .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) }
}

/* 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/i686-redhat-linux/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/i686-redhat-linux/lib"); 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 .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) }
}

/* 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/i686-redhat-linux/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/i686-redhat-linux/lib"); 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 .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) }
}

eelf_x86_64.ci386:x86-64elf_x86_64elf64-x86-64xXPƸ0.				Ű	Ұ	ݰ	gldelf_x86_64_write_build_id_sectionread_hex
out of memory
; ]]@^
^8
@_\

Љ
P
`
p<\|Њ <P\|@`p<\0@L| @p4X@P4 t@0(@h@pPP0@p<dPp 08p\|P,Lp8d $Ht`4TP4@p(L l@P4pp``0l `0 h `   !`8!h!!@!" "@	@"	h"
"
"
#P#`|####$P8$pX$x$$0$`$$%H%h% %% % "<&"d&"&p#&#&P$ '$T'%|'&'''($(0*T(*(`,(=(>)0B4)`Cd)D)E)E)F0*Gd*I*L*`L*NL+`Q|+e+f+g,l@,pm|,m,o,0y(-yd-}-}-}-0~.`~$.~D.~d.~. .P./8/`d////@ 0P0000 1p<1Pl101P1P2p82`h222P3830h3@333 <4p4@445<5Pd555 5`6L6|66 67 47\7@77778$8 D8@d8`8888949@d9999 :PD:l:::::;04;`\;;;p< <@<h< <P<<=,=\=|= =@==0>P >`>P>>`>$?P?? ?@??0@0	|@	@	@@
@p A
`AAAB0<BB BpB CDC&C'C-(D/pD0D@3D 4EP40E05`E@9E`;E<F><F>lF?F@FpDFDGKLGLtGLGMGpMHM<HN\HPOHPH`UH\dI]IcIdJpf\J iJjJ0jJkK o<K@qxK`rKsKtLuDLuxLPzLzLLM8MЉdMMMPM$NDNlN`NNO`,O\OOO`O`0PPdPPPPPQLQ@pQQQ@Qp,R\R|RйR0RR@STS@SPSSzR|4lPAB
Tg

AAc

AD$TP}AB
CL
AE(|,QAB
CCtAA QwAB
FlA,Qz*AB
X
AAAH,|
AG
A,|wAB
H~
AF`FLl|
AG
Al\|
AG
AL|
AG
A<|
AG
A,|
AG
A|
AB
I|
AB
I,{
AB
IL{
AG
Al{
AB
I{$LB
U{$LB
U{$LB
U{$LB
U|$LB
U,|$LB
UL,|$LB
Ul<|FB
R<|
AB
E,|
AB
E4|oAB
Hi
AKS
ALMA T|AB
{
B(|AB
HP}
AB
Eh@}4AB
4d}=AB
WY

ADf

AA,l~AB
JN

AB$~AB
H
AA,tAB
R
AAAG,DdAB
JLQ

AE,tԀAB
JZ
AAAA 4&AB
HYA,@AB
LEs

AH(lAB
I
AAC($AB
Qe
AAE$PhAB
NM
AA(xAB
ORa

AB<_AB
XC
AAAG
AAAA(AB
VG

AA8`AB
\d0xAB
P
AAAAJ
AAAAJ
AAAAJ
AAAAJ
AAAH<AB
Eo
AAAFR
AAAC0ОAB
DF
AAAA$)AB
V
GH(4eAB
QJ

AA`AB
M<AB
J5
AAAC
AAAA48AH
HQ
AADv
AAH,VAB
Z
CW
IT8(	xAB
\_

AAT

ACd	4AB
A$	$,AB
LZAA$	,,AB
LZAA$	4,AB
Q
DS	<sAI
h
AB
U$<
VAB
Y
Du d
BAB
`
E

AB
I 
8AB
KhA

AB
I
AB
R$DAB
Dv
AB$4$YAB
P`
AA\\7AB
s||)AB
e%AB
aLAB
CCX
AAEX
AAFX
AAFe
AAA,LwAB
LC
AAaA4<AB
CFY
AAAYAA0trAB
DW
AAHGAA(@DAB
N^

AH,dAB
MI
AAAD
/AB
k0$
nAB
Lg
AAHkAA8X
0AB
JF
AAABoAAA 
TAB
O@A(
AB
Ln
AAA<
4AB
Mm

AH_

AH<$eAB
IP
AAAA
AAAD<d
AB
SY
AAAE;
AAACAB
NHAB
P
AAAH}
AAAHU
AAAHHUAB
Q0UAB
Q PNAB
r
C,tAB
C{
AFA8lAB
MI
AAADHAAA(|AB
CCT
AAAAB
N8,AB
t\

ADY

AF,hAB
lV
ABw
AH pHAB
C@A'AF
_8AB
CCN^
AAAHdAAA( bAB
MNAAA,DdAB
Mg
AAAA,t[AB
F
AAAH8AB
\
AAAE}AAA8AB
Yo
AAABMAAA8AB
JIA

AHe
AXdAB
`$xPAB
iv
AE8AB
CCCj
AAAGjAAA$,vAB
Cm
AD,AB
Jo
AAAA(4AB
JNM

AG<`hAB
E
AAAB*
AAAC4AB
JY
AA}
ABkA<0AB
JS
AAAE\
AAAA BAB
b
A<
AB
E \IAB
i
A$JAB
CLuAA, AB
CL
AAAH8AB
Xg

AE

AH$AB
M
AF0<lUAB
CCC
AAABp1AD
kSAB
O$WAB
o
F^,0gAB
Hi
ACmA$pAB
NE
AAL0,AB
IR
AAHM
AAA<
AABT
AAB<AB
JU
AAAC
AAAF(HAB
XAAA,AB
ZJG

AA \yAB
LhA$@4AB
LE^
Ah3AL
e4AL
fAG
N$AL
V _AL
Q`*AL
\(p$AL
VH$AL
Vh0AL
b,AB
N
AAAF`'AL
Y0p<AB
CCC
AAAE(|AB
Dc
AAA08AB
CDK
AAAH<lXAB
J`
AAAHk
AAAB$`AB
CG
AB<nAD
CCn
AAEU
AAASAA(DAB
CE^
AAE@AB
U,`AB
IHRt

AE0(ZAB
Tq

AGH
A$TIAB
QCp
A,||AL
CI
AAAA8SAB
DHD
AAABAAA8XAB
QILl

AJg
A,yAD
WYAAA,AB
V]

AI,DAB
OoAAA,$DAB
CD
AAAGTJAG
A,t'AB
nc

AC,0AB
P
AAAA,AB
JQP

AA,tAB
HR
ABRA(44AB
Nv
AAG<`/AB
J
AAAEj
AAAC0AB
CO
ABm
AJ84AB
UO

AH

AD,hAG
JNI

AF(@(!\AB
OH
ALl\!IAB
JN
AAAB~
AAAGI
AAAD,\#AB
EK
AAAB,%VAB
S
AAAA(:AB
S
AAH$H;AB
M
AG<p;AB
J
AAAG
AAAH8@AB
JN`

ADR
A@AB
Q( @yAB
"
Ce
C\8 @B
AB
DCc
AAAH
AAAE2
AAAG
AAAA8 LAB
JN
AAABjAAA, TLAB
P
AAAF!O
AB
I$!O
AB
I,D!OAB
CDm
AAAFt!$P.AD
h!4P.AD
h!DP/AI
d!TP/AI
d!dP0AG
g"tP*AB
bP4"P)AB
JQg

ABo

AHo

AHo
A"`QAB
X("`QAB
]u

AB"Q.AB
j,"RAB
T
AAAH<$#TAB
M
AAAG
AAAA(d#YxAB
Kd
AAA,#ZmAG
JFOn

AB8#XZRAB
J
AAABjAAA$#|[cAB
dz
A$$$[cAB
dz
A,L$\)AB
JAAA,|$]HAB
Q
AAAG,$,_AB
Og
AFd
AK,$_AB
Og
AFd
AK8%`AB
MTs

AHx
A,H%paAB
T
AAAC,x%@cAB
MQL

AB,%0fAB
UL|

AG<%gAB
JW
AAAA
AAAE,&PiAB
Xa

AC,H&iAB
[(

AA,x&@lAB
P
AAAD,&nAB
sx

AA8&pAB
Ju		"u		"u		"$'~?AB
j
CN,<'~AB
URg

AF<l'AB
Q_
AAAA
AAAA0'܊AB
CCCn
AAAC\'1AB
Hu
AGa
AFE
ABa
AF
AHL
AK @(h:AB
HmA d(@AB
HsA (9AB
HlA$(KAB
Tr
A$(KAB
Tr
A$(LAB
Ts
A<$)4!AB
Oa

AD

AFd)$5AB
m4)DAB
JH`

ABj
A,)AB
UZ

AE)+AB
gD*,JAB
Uq

AFB

AEp
A$T*4yAB
U
HX$|*qAB
R
CX$*AB
k
BX$*LAB
_
FX*1AB
i+ԭAB
M4+ԭAB
MT+ԭAB
Mt+ԭAB
L+ԭAB
M+ԭAB
M+ԭAB
M+ԭAB
M,ԭAB
M$4,ԭAB
Q
DA$\,̭AB
Q
DA,ĭAB
M,,ĭ7AB
SU
ADEA,,ԭ7AB
SU
ADEA4-=AB
_K

ABK
A$<-"AB
W
FA$d-*AB
]
HA$-"AB
W
FA$-"AB
W
FA-AB
M-AB
A.AB
A<.AB
A\.ܭ.AB
j$|.*AB
]
HA$."AB
U
HA8.AB
MS
AAABuAAA$/pjAB
G]AA<0/AB
JB
AAAFe
AAAHp/h,AB
d/x,AB
d$//AB
N
GV$/AB
N
GA$0*AB
U
HI0(0-AB
PH
ADi
AF\0&AB
b|0&AB
b,0AB
DC
AAAA0lAB
Z0l)AB
e1| AB
\ ,1|AB
JKP1;AB
wp1( AB
\<1(AB
JIk

AFR

AEj
A$1xfAB
IWAA(1eAB
CXDAA0$2AB
CO}
AADyAA8X2pAB
JKW

AHq
A(2zAB
WF

AG,28jAD
DC
AAAF2xAG
H3xAD
H,03xyAB
JI

AG<`3AB
JS
AAAA
AAAFH3XAB
JMK

ABf

AA

AB$3BAB
N
Gi4#AB
[(44AB
JHs
A,`4H-AB
X
AAAA<4HfAB
av
AAAA}
AAAJ<4x#AB
qd
AAAA
AAAA<5hpAB
J
AAAAy
AAAA(P5pAB
IR
AAH,|5=AB
Tu
AAAAH5AB
Rs
AAAEC
AAABz
AAAA$50^AB
Ku
AD, 6hFAB
db

AF8P6AB
JLw

AGY

AF$6RAB
P=Ap64VAB
[k

AFd

ACc

ADU

AB

AHk

AD,(7 AB
M
AAAC<X7AB
J
AAAG
AAAAD7OAD
JIQ

AF

AGU
A<7tAB
H|
AAAF
AAAG, 8AB
V
AAAF$P8XAB
CU
AD$x8!AB
N
GD,8AB
DCAAA,8AB
X
AAAC89AB
U`

AG

AD<<9AB
CZ
AAAFJ
AAAC,|9lrAB
[M

AD,9AB
RT
AAAD(9\AB
W
A0:QAE
^
DD
DD
A,<:<_AB
M
AAAEl:l8AB
t,:AB
MK
AAAB$:LVAB
h
Eb8:AD
JIQ

AF

AD ;(AB
Q8@;(nAB
JLK

ACD
A,|;\JAB
N
GZ
FM;|1AB
m,;FAB
db

AF8;AB
JLw

AGY

AF$8<0RAB
P=Ap`<hVAB
[k

AFd

ACc

ADU

AB

AHk

AD,<TAB
M
AAAC<=AB
J
AAAG
AAAADD=OAD
JIQ

AF

AGU
A<=tAB
H|
AAAF
AAAG,=AB
V
AAAF$=AB
CU
AD$$>D!AB
N
GD,L>LAB
DCAAA,|>AB
X
AAAC8>#AB
U`

AG

AD<>%AB
CZ
AAAFJ
AAAC,(?&rAB
[M

AD,X?'AB
RT
AAAD(?(AB
W
A0?D)QAE
^
DD
DD
A,?p)_AB
M
AAAE@-8AB
t,8@-AB
MK
AAABh@48AB
t@4!AB
](@4AB
TAA,@d<AB
JQw

AB,AT=AB
JQ

AB,4A=AB
dLM

AA,dAT>AB
HL
AAAFAT??AB
{$At?AB
JAA(A,@AB
hAA8BU~AB
JQe

ADz

AE,DBW AB
N
AAAD$tBWXAB
X{
A,B,X5AB
DL
AAAB(B<YJAB
NuAAA,B`YAB
N
AAAB,(CZAB
N}
AAAGDXCp\AB
NZ
AAAB
AAAAXAAA0C(]AB
GL_
AAAH,C_GAB
CDLmAAA(D`lAB
QTAAA(0DH`gAB
QOAAA,\D`AB
GL
AAAA,D,aAB
GL
AAAA Da,AB
L[A DaAAB
LpA(EaKAB
CMtAAA(0EbVAB
UNn
A<\ELb0AD
DL
AAABH
AAAE,E<cAB
UTl

AGE,g AB
XE,g AB
X(F,gWAB
NBAAA$8F`gAB
Lr
AF(`FgrAB
Lh
AAG4FiAB
Le
AABb
AADHFj)AB
Qu
AAEm
AAAU
AAAAAGkAB
A(0GkZAB
NEAAA\GkAB
LD
oq`
w0o$ooo}oPoh}o@npz# @[`dP̡ V|$0VŞ`}^Pcp8`ЖPV|PZ6hzڀ0{~y`8Нe~(ʙ` w|{p܀pc{0*@ec<Ь_pv}cY`p3w|d@0@ psP(ux}0  [:o0paހ{PP{p 
{ਖ਼p``0PP^
0po 0yP@v_|0Pٝp`@cyp]J'H'
PIJI`@)0;;08@P8`8; gC	~P}PwpvoiiJ	+D#?+	+	#@P0;;08@8P8`8;0Z	d	`;p0;;08 P8`8;MN00PJ	+D#?+	+	#@` CBBBBQ00000000000000000000000000000000	

 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~`% ld.debug{{WELF4,4 (444444###h#HHHDDPtdOOQtd44HH !hh$4o>``F00wNoz[o$$pj	s	0|DD!0wtt!p
+c? O$\$xG####$$@@'  +
 ++.shstrtab.interp.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rel.dyn.rel.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_undo4q4HqH !hqh$Fqo}
Ph}h
@4o>``No)z[o$$+pj	+s	,0|DD10wtt1p
;c? O$\$xG333344@@7   ; ? ??lhE'

Youez - 2016 - github.com/yon3zu
LinuXploit