Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325
ELF>œY@@S@8 @@@@@@øø88@8@@@ŒŒ ÈÈoÈo˜5 ààoàoTT@T@DDPåtd�œ�œN�œNÜÜQåtdRåtdÈÈoÈo88/lib64/ld-linux-x86-64.so.2GNU GNU ’J{ÇHÒHgYŠíáPvž1»VPà  B)Ò €eÀ€ � …  † ÃÅÇÊÍÏÑÔ×ÙÚÛÜêÓïUÀf2Ä÷¹�ñ†ð–|ØqXuÜ µºã’|nmŸÿÍ@ÛæèïpT“˜<­¶úëOŽýBEÕìDø¡9ò‹L>¥ h �HÁ³÷>[³¢÷jšugUa�Çà`(Œ�cÿæ Ë£S Ëo)¬' Û àj × › – Ë]º þ  x#Av 9 îŽi U û·ÛÊ ; ! rÌ Æ  ÷ ÈòP  í+@ :  …o :+ ¾ «…æ q¿ ¹ æ¶ ßW ½Ÿ¯ïïÓ© î Zj ì � §& J  ¤Ð 5 ñÙ  ^ ã¹¼å < E - 92 ãÅ ßTõoF $÷§ ùv !æ� N� Õ hKîÐf{ 4‡ h †N C Ç + © # R¯ ¹EÅ�Ò Ñ Ù¯ ëŒçÒÓ ‚O|jDì K Œˆ b Úb ” ·od •²º ‰…–p ï<�c } Å™ K ŠCM°@@ß  8oÓ  Ø;@€<@; `8oHàG@G ÈRoUà:o`Î`?oȰ>@M  @ˆC&| P8o·  P†C4 `8oPÀ8o h@o&  ЇCj]@?oÞ `@oí  �‡C6 À:o  p†C ˆ8o(  �†Cõ¢ `8on €8olibbfd-2.27-44.base.el7_9.1.tuxcare.els7.so__gmon_start__htab_find_slotbfd_elf_parse_eh_frame_entriesbfd_elf_set_dt_needed_namebfd_getb64bfd_cache_close_allbfd_link_add_undefbfd_check_formatbfd_hash_newfuncxexitbfd_target_listxstrdupbfd_get_archbfd_make_section_anyway_with_flagsregister_ld_plugin_object_pbfd_set_gp_sizebfd_emul_get_commonpagesizecplus_demangle_name_to_stylebfd_set_assert_handlerbfd_search_for_targetmake_relative_prefix_sch_tolower_bfd_abortconcatbfd_get_reloc_sizebfd_set_errorbfd_set_error_program_namehtab_hash_stringbfd_elf_get_dt_soname_sch_istablebfd_make_readablebfd_elf_set_dyn_lib_classbfd_section_already_linked_table_initxmalloc_set_program_namebfd_allocbfd_check_format_matchesbfd_closebfd_elf_get_bfd_needed_listbfd_close_all_donebfd_hide_sym_by_versionxcallocbfd_errmsgbfd_elf_size_dynsym_hash_dynstrbfd_openr_next_archived_filebfd_plugin_target_pbfd_get_arch_infobfd_new_link_orderbfd_hash_set_default_sizebfd_hash_lookupbfd_section_already_linked_table_freefilename_ncmpbfd_arch_mach_octets_per_bytebfd_elf_get_runpath_listbfd_get_section_by_namelrealpathbfd_emul_set_maxpagesizebfd_map_over_sectionsbfd_elf_get_dyn_lib_classbfd_scan_archbfd_get_gp_sizebfd_bwriteunlink_if_ordinarybfd_make_writablebfd_elf_get_needed_list_bfd_elf_map_sections_to_segmentsxmalloc_bfd_std_sectionbfd_get_unique_section_namebfd_putl16bfd_set_arch_infobfd_arch_get_compatiblecplus_demangle_set_stylebfd_elf_size_dynamic_sectionsbfd_set_default_targetbfd_link_hash_lookup_bfd_elf_link_hash_hide_symbolbfd_set_format_bfd_elf_match_sections_by_typebfd_get_next_section_by_namexreallocbfd_emul_get_maxpagesizebfd_elf_discard_infobfd_set_symtabbfd_get_reloc_code_namebfd_set_error_handlerbfd_putl32bfd_octets_per_bytebfd_emul_set_commonpagesizebfd_link_hash_traversebfd_seekbfd_record_phdrbfd_hash_table_initbfd_generic_link_read_symbolsbfd_link_check_relocsbfd_scan_vmabfd_hash_allocatebfd_get_section_by_name_ifbfd_getb16lbasenamebfd_statbfd_createbfd_hash_traversebfd_i386linux_size_dynamic_sectionsbfd_demanglebfd_putl64bfd_use_reserved_idbfd_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_findfilename_cmphtab_createcurrent_demangling_styleobjalloc_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_cleanuplibdl.so.2dlclosedlsymdlopendlerrorlibc.so.6fflushstrcpy__rawmemchr__printf_chkfnmatch_IO_putcsetlocalefopenstrncmpoptindstrrchr__strdupdcgettextftell__stack_chk_failputcharstdinsbrkrewindstrtolisattymmapfeoffgetsstrlenmemsetglobstrstr__errno_locationfseekmemcmpgetpagesize__fprintf_chkstdoutfputcgetrusagefputslseekmemcpyfclosestrtoulstrcasecmpgetenv_obstack_allocated_poptargstderrmunmap_obstack_begin_1_obstack_newchunkgetopt_longfileno_obstack_memory_usedfwritefreadstrchrqsortobstack_alloc_failed_handler__sprintf_chk__xstatmemmove_obstack_beginbindtextdomain_IO_getcopterrstrcmp__libc_start_mainferrorstpcpyglobfreegetopt_long_only_obstack_free_edata__bss_start_end/usr/lib64GLIBC_2.2.5GLIBC_2.3.4GLIBC_2.14GLIBC_2.4]  ui W … ti c ”‘–o ii z ui W àoÒèojðo‹øoÓÀ8oÒh@oÓ`8oÜ€8o݈8oÚ 8oÅÀ:oØà:oË@?oÕ`?oÌ`@oÖ o o( o0 o8 o@ oH oP oÇX o` o h o p o x o € o ˆ o� o˜ o  o¨ o° o¸ oÀ oÈ oÐ oØ oà oè oð oø o!o!o!o!o !o!(!o"0!o#8!o$@!o%H!o&P!o'X!o(`!o)h!oÍp!o*x!o+€!o,ˆ!o-�!o.˜!o/ !o0¨!o1°!o2¸!o3À!o4È!o5Ð!o6Ø!o7à!o8è!o9ð!o:ø!o;"o<"o="o>"o? "o@("oA0"oB8"oC@"oDH"oEP"oFX"oG`"oHh"oÄp"oIx"oJ€"oKˆ"oL�"oM˜"oN "oO¨"oP°"oQ¸"oRÀ"oSÈ"oTÐ"oUØ"oVà"oWè"oXð"oYø"oZ#o[#o\#o]#o^ #o_(#o`0#oa8#ob@#ocH#odP#oeX#of`#ogh#ohp#oix#oj€#okˆ#ol�#om˜#on #oo¨#op°#oq¸#orÀ#osÈ#otÐ#ouØ#ovà#owè#oxð#oyø#oz$o{$o|$o}$o~ $o($o€0$o�8$o‚@$oƒH$o„P$o…X$o†`$o‡h$oˆp$o‰x$oŠ€$oŒˆ$o��$oŽ˜$o� $o�¨$o‘°$o’¸$o“À$o”È$o•Ð$o–Ø$o—à$o˜è$o™ð$ošø$o›%oœ%o�%ož%oŸ %o (%o¡0%o¢8%o£@%o¤H%o¥P%o¦X%o§`%o¨h%o©p%oªx%o«€%o¬ˆ%o­�%o®˜%o¯ %o°¨%o±°%o²¸%o³À%o´È%oµÐ%o¶Ø%o·à%o¸è%o¹ð%oºø%o»&oÉ&o¼&o½&o¾ &o¿(&oÀ0&oÁ8&oÂHƒìH‹ä.H…ÀtèãHƒÄÃÿ5ä.ÿ%ä.@ÿ%ä.héàÿÿÿÿ%úã.héÐÿÿÿÿ%òã.héÀÿÿÿÿ%êã.hé°ÿÿÿÿ%âã.hé ÿÿÿÿ%Úã.hé�ÿÿÿÿ%Òã.hé€ÿÿÿÿ%Êã.hépÿÿÿÿ%Âã.hé`ÿÿÿÿ%ºã.h éPÿÿÿÿ%²ã.h é@ÿÿÿÿ%ªã.h é0ÿÿÿÿ%¢ã.h é ÿÿÿÿ%šã.h éÿÿÿÿ%’ã.héÿÿÿÿ%Šã.héðþÿÿÿ%‚ã.héàþÿÿÿ%zã.héÐþÿÿÿ%rã.héÀþÿÿÿ%jã.hé°þÿÿÿ%bã.hé þÿÿÿ%Zã.hé�þÿÿÿ%Rã.hé€þÿÿÿ%Jã.hépþÿÿÿ%Bã.hé`þÿÿÿ%:ã.héPþÿÿÿ%2ã.hé@þÿÿÿ%*ã.hé0þÿÿÿ%"ã.hé þÿÿÿ%ã.héþÿÿÿ%ã.héþÿÿÿ% ã.héðýÿÿÿ%ã.h éàýÿÿÿ%úâ.h!éÐýÿÿÿ%òâ.h"éÀýÿÿÿ%êâ.h#é°ýÿÿÿ%ââ.h$é ýÿÿÿ%Úâ.h%é�ýÿÿÿ%Òâ.h&é€ýÿÿÿ%Êâ.h'épýÿÿÿ%Ââ.h(é`ýÿÿÿ%ºâ.h)éPýÿÿÿ%²â.h*é@ýÿÿÿ%ªâ.h+é0ýÿÿÿ%¢â.h,é ýÿÿÿ%šâ.h-éýÿÿÿ%’â.h.éýÿÿÿ%Šâ.h/éðüÿÿÿ%‚â.h0éàüÿÿÿ%zâ.h1éÐüÿÿÿ%râ.h2éÀüÿÿÿ%jâ.h3é°üÿÿÿ%bâ.h4é üÿÿÿ%Zâ.h5é�üÿÿÿ%Râ.h6é€üÿÿÿ%Jâ.h7épüÿÿÿ%Bâ.h8é`üÿÿÿ%:â.h9éPüÿÿÿ%2â.h:é@üÿÿÿ%*â.h;é0üÿÿÿ%"â.h<é üÿÿÿ%â.h=éüÿÿÿ%â.h>éüÿÿÿ% â.h?éðûÿÿÿ%â.h@éàûÿÿÿ%úá.hAéÐûÿÿÿ%òá.hBéÀûÿÿÿ%êá.hCé°ûÿÿÿ%âá.hDé ûÿÿÿ%Úá.hEé�ûÿÿÿ%Òá.hFé€ûÿÿÿ%Êá.hGépûÿÿÿ%Âá.hHé`ûÿÿÿ%ºá.hIéPûÿÿÿ%²á.hJé@ûÿÿÿ%ªá.hKé0ûÿÿÿ%¢á.hLé ûÿÿÿ%šá.hMéûÿÿÿ%’á.hNéûÿÿÿ%Šá.hOéðúÿÿÿ%‚á.hPéàúÿÿÿ%zá.hQéÐúÿÿÿ%rá.hRéÀúÿÿÿ%já.hSé°úÿÿÿ%bá.hTé úÿÿÿ%Zá.hUé�úÿÿÿ%Rá.hVé€úÿÿÿ%Já.hWépúÿÿÿ%Bá.hXé`úÿÿÿ%:á.hYéPúÿÿÿ%2á.hZé@úÿÿÿ%*á.h[é0úÿÿÿ%"á.h\é úÿÿÿ%á.h]éúÿÿÿ%á.h^éúÿÿÿ% á.h_éðùÿÿÿ%á.h`éàùÿÿÿ%úà.haéÐùÿÿÿ%òà.hbéÀùÿÿÿ%êà.hcé°ùÿÿÿ%âà.hdé ùÿÿÿ%Úà.heé�ùÿÿÿ%Òà.hfé€ùÿÿÿ%Êà.hgépùÿÿÿ%Âà.hhé`ùÿÿÿ%ºà.hiéPùÿÿÿ%²à.hjé@ùÿÿÿ%ªà.hké0ùÿÿÿ%¢à.hlé ùÿÿÿ%šà.hméùÿÿÿ%’à.hnéùÿÿÿ%Šà.hoéðøÿÿÿ%‚à.hpéàøÿÿÿ%zà.hqéÐøÿÿÿ%rà.hréÀøÿÿÿ%jà.hsé°øÿÿÿ%bà.hté øÿÿÿ%Zà.hué�øÿÿÿ%Rà.hv逸ÿÿÿ%Jà.hwépøÿÿÿ%Bà.hxé`øÿÿÿ%:à.hyéPøÿÿÿ%2à.hzé@øÿÿÿ%*à.h{é0øÿÿÿ%"à.h|é øÿÿÿ%à.h}éøÿÿÿ%à.h~éøÿÿÿ% à.héð÷ÿÿÿ%à.h€éà÷ÿÿÿ%úß.h�éÐ÷ÿÿÿ%òß.h‚éÀ÷ÿÿÿ%êß.hƒé°÷ÿÿÿ%âß.h„é ÷ÿÿÿ%Úß.h…é�÷ÿÿÿ%Òß.h†é€÷ÿÿÿ%Êß.h‡ép÷ÿÿÿ%Âß.hˆé`÷ÿÿÿ%ºß.h‰éP÷ÿÿÿ%²ß.hŠé@÷ÿÿÿ%ªß.h‹é0÷ÿÿÿ%¢ß.hŒé ÷ÿÿÿ%šß.h�é÷ÿÿÿ%’ß.hŽé÷ÿÿÿ%Šß.h�éðöÿÿÿ%‚ß.h�éàöÿÿÿ%zß.h‘éÐöÿÿÿ%rß.h’éÀöÿÿÿ%jß.h“é°öÿÿÿ%bß.h”é öÿÿÿ%Zß.h•é�öÿÿÿ%Rß.h–é€öÿÿÿ%Jß.h—épöÿÿÿ%Bß.h˜é`öÿÿÿ%:ß.h™éPöÿÿÿ%2ß.hšé@öÿÿÿ%*ß.h›é0öÿÿÿ%"ß.hœé öÿÿÿ%ß.h�éöÿÿÿ%ß.hžéöÿÿÿ% ß.hŸéðõÿÿÿ%ß.h éàõÿÿÿ%úÞ.h¡éÐõÿÿÿ%òÞ.h¢éÀõÿÿÿ%êÞ.h£é°õÿÿÿ%âÞ.h¤é õÿÿÿ%ÚÞ.h¥é�õÿÿÿ%ÒÞ.h¦é€õÿÿÿ%ÊÞ.h§épõÿÿÿ%ÂÞ.h¨é`õÿÿÿ%ºÞ.h©éPõÿÿÿ%²Þ.hªé@õÿÿÿ%ªÞ.h«é0õÿÿÿ%¢Þ.h¬é õÿÿÿ%šÞ.h­éõÿÿÿ%’Þ.h®éõÿÿÿ%ŠÞ.h¯éðôÿÿÿ%‚Þ.h°éàôÿÿÿ%zÞ.h±éÐôÿÿÿ%rÞ.h²éÀôÿÿÿ%jÞ.h³é°ôÿÿÿ%bÞ.h´é ôÿÿÿ%ZÞ.hµé�ôÿÿÿ%RÞ.h¶é€ôÿÿÿ%JÞ.h·épôÿÿÿ%BÞ.h¸é`ôÿÿÿ%:Þ.h¹éPôÿÿÿ%2Þ.hºé@ôÿÿÿ%*Þ.h»é0ôÿÿÿ%"Þ.h¼é ôÿÿÿ%Þ.h½éôÿÿÿ%Þ.h¾éôÿÿÿ% Þ.h¿éðóÿÿÿ%Þ.hÀéàóÿÿÿ%úÝ.hÁéÐóÿÿÿ%òÝ.hÂéÀóÿÿÿ%êÝ.hÃé°óÿÿÿ%âÝ.hÄé óÿÿS‹¹ú.L‹ r/H‹³ú.D‹œú.L‹�ú.I9ÙskA¶A°„ÒtDŠ‚ÀJDHcÐfƒ¼ÀKDMEÑDEØHcÐA¶È·´@ŠC1Àè¯ëÿÿH‰Þ¿)[é±åÿÿ�H…ÿ¸TŠCHDø‹2ó.…Àu óÄH‰ùH‹=Þä.Sº ÈD‰ó1À¾èbëÿÿH‹=Ãä.‰ÞèTÿÿÿ[H‹5´ä.¿ éRåÿÿf�USH‰ûHƒì‹Ùê.…ÀuU‹³ä.ƒèƒøvHƒÄH‰Ú1ö[]¿pŠC1Àéx�„H˜H‰Ú1öH‹ Å @oHƒÄ¿]ŠC[]1ÀéO�€èãE1ÿH‰Åº¾è•Cè¯âÿÿH‰îH‰Ç1Àè"�ëƒAWAVAUATUSH�ì(dH‹%(H‰„$1À‹*ò.…À…ÖH�œ$L�¬$€Çò.Çò.þÿÿÿHÇD$È1íH‰\$ M‰îÇD$ÇD$0H‹D$fA‰mHÀI�TþI9Õ‚ÏL‰ëL)óHÑûHƒÃH�|$'‡H"H='¹'HGÁH� H‰D$HÁàH�|I‰ÏH‰L$(èâæÿÿH…ÀI‰Ä„"L�,M�L‰öH‰ÇHÁãL‰êIƒçàèÈåÿÿH‹t$ MçH‰ÚL‰ÿèµåÿÿH�„$€I9ÆtL‰÷èßÿÿ‹ñ.O�l,þI�\à…À…8H‹D$(I�DþI9Ńô!L‰|$ M‰æ‹ëð.…À…D¿¤- ÉCA�ühýÿÿth‹Ïð.ƒøþ„>…ÀŽW=‚ÇD$w H˜¶€ÀôC‰D$D‹=—ð.E…ÿ…rDd$A�üµwMcäG¿¼$©CD;|$„µD·¤- ÐCE…ä„ËIcÄD‹ Mð.H‰D$(¶€×C¶èˆD$7¸)èH˜HÁàHØE…ÉH‹H‰T$@H‹PH‰T$HH‹PH‰T$PH‹@H‰D$X…RAƒìA�üj‡‰Bÿ$å—CH‹¿;‹C¹H‰D$@H‹CH‰D$HH‹CH‰D$PH‹kÀH‰îó¦u Hƒ{à„è!¿C‹C¹H‰îó¦u Hƒ{à„Ù!¿g�C¹H‰îó¦…‰ H‹CàH…À„| H‰D$P@D‹]ï.E…À…€¶D$7H‰ÂHÀI)ÅH‹D$(HÁâH)ÓH‰ÝD·¤€ØCH‹D$@A·UH�] H‰E H‹D$H¿ÊH‰E(H‹D$PH‰E0H‹D$XH‰E8A�„$eÿÿÿH˜¿´ÈCñ�ùµwHcÉf;” ©C„N¿„€ÏCHcèIƒÅéâüÿÿf„G¿¤$€¸CE…ä�©A�ü¨þÿÿ…YD‰|$@‹t$0…ö„Œƒ|$0„Á�¿„- ÉC=hýÿÿtƒÀ=µw H˜fƒ¼©CtBM9õ„é·´- ¢C¿“‹CIƒíHƒë èçúÿÿ‹ %î.I¿m…Ét¨L‰îL‰÷èýùÿÿ뛿„€¸C…À~²ƒøH‰Ú„üH‹ î.HƒÃ HcèÇD$0H‰J H‹ ÷í.H‰J(H‹ ôí.H‰J0H‹ ñí.H‰J8‹³í.…Ò„åþÿÿH‹=hß.¹óŠCº ÈD¾1ÀèêåÿÿHcÅH‹=Hß.·´ ¢CèÓùÿÿH‹54ß.¿ èÒßÿÿé›þÿÿD»‹Uí.ƒøþ…4‹Bí.…Àt%é DI¿E¿Ñ‹CIƒí·´ ¢CèÕùÿÿM9îuàH�„$€I9ÆtL‰÷èÛÚÿÿH‹Œ$dH3 %(‰Ø…NH�Ä([]A\A]A^A_ÃH‹=‘Þ.‰éºªŠC¾1ÀèåÿÿéÒûÿÿ�ƒ=±ì.Ž4‹t$¿�‹CèUùÿÿÇ“ì.þÿÿÿéþÿÿfD‹~ì.…À…è­"…À‰mì.�©ûÿÿ‹]ì.ÇWì.ÇD$…À„µûÿÿH‹ Þ.º¾¿ÏŠCètäÿÿé•ûÿÿ€H‹=ÙÝ.¹åŠCº ÈD¾1Àè[äÿÿ‹t$H‹=¸Ý.èKøÿÿH‹5¬Ý.¿ èJÞÿÿéKûÿÿDH‹L$H‹=ŒÝ.º�ŠC¾1Àèäÿÿé¦úÿÿfDH‹D$(H‹=dÝ.A�L$ÿº(–C¾D·„€äC1ÀèÝãÿÿ…í„{ûÿÿH‹D$(E1ÿH‰\$8D‰û·„ÀñCA‰Çf.„H‹=Ý.ƒÃºüŠC‰Ù¾1Àè“ãÿÿB�D;ÿH‹=ïÜ.H˜¿´€çCèx÷ÿÿH‹5ÙÜ.¿ èwÝÿÿ9Ýu³H‹\$8éÿúÿÿf„¿t‹Cƒäê.èÿ÷ÿÿéjüÿÿf.„H‹=‘Ü.º ÈD¹l‹C¾1ÀèãÿÿH‹D$(H‹=oÜ.D·¤€ØCD‰æèööÿÿH‹5WÜ.¿ èõÜÿÿ¶D$7‹=~ê.H‰ÂHÀHÁâI)ÅH)Ó…ÿH‰Ý„5ûÿÿL‰îL‰÷èDöÿÿé%ûÿÿ€H‹ Ü.º¾¿}ŠCè}âÿÿé øÿÿL‰îL‰÷è öÿÿéýÿÿ„…À„Äüÿÿ‹t$¿³‹Cèºöÿÿé±üÿÿAƒü„÷D‹èé.ƒ|$0ƒT$0ÿE…Û…�D‹Òé.E…Òt ÇÃé.þÿÿÿH‹Ôé.HƒÃ D‰|$IcìH‰H‹Æé.H‰CH‹Ãé.H‰CH‹Àé.H‰Cé½úÿÿ¿„ €¸CHcèé­úÿÿ…ùúÿÿ»éüÿÿ€H‹ Û.º¾¿½ŠCè�áÿÿéÆüÿÿE…䄞úÿÿA÷ÜéÔøÿÿ¿ è-ÛÿÿH‹€:!„IÇH‰PÇ@H‹SÀH‰D$@H‰PéŽùÿÿ¿ èôÚÿÿH‹€:!„åÇH‰PÇ@HÇ@H‰D$@éUùÿÿH‹CàÇD$PHÇD$HHÇD$XH‰D$@é-ùÿÿH‹{à1öèòåéùÿÿ¶SÀ¶é.Áâƒà Јé.éÿøÿÿ¶øè.‰ÂƒÈ€Àêˆêè.¶ÒH‰T$@éÝøÿÿ¶SÀ¶Òè.Áâƒà ЈÄè.é¿øÿÿ¶¸è.‰ÂƒÈ€Àꈪè.¶ÒH‰T$@é�øÿÿ¶SÀ¶’è.Áâƒà Ј„è.éøÿÿ¶xè.‰ÂƒÈ€Àêˆjè.¶ÒH‰T$@é]øÿÿH‹;1Ò1öè›éLøÿÿH‹;1Ò1öè›é;øÿÿH‹;1Ò1öèïšé*øÿÿH‹;1Ò¾èÛšéøÿÿH‹;1Ò¾èÇšéøÿÿH‹;1Ò¾賚éî÷ÿÿè™:éä÷ÿÿ@è;9éÖ÷ÿÿH‹{àèméÈ÷ÿÿH‹CàÇD$PHÇD$HHÇD$XH‰D$@é ÷ÿÿH‹ÇD$PH‰D$@H‹CÀHÇD$XH‰D$Héy÷ÿÿH‹ÇD$PHÇD$HHÇD$XH‰D$@éR÷ÿÿHÇD$@‹CéD÷ÿÿHÇD$@\ÉDé6÷ÿÿH‹H‰D$@é)÷ÿÿèÔ9H‹{ H‹sàèGhH‰ÇèŸåé ÷ÿÿèU9DéûöÿÿH‹CÀÇD$PHÇD$HHÇD$XH‰D$@éÓöÿÿH‹CÀÇD$PHÇD$HHÇD$XH‰D$@é«öÿÿH‹CàÇD$PHÇD$HHÇD$XH‰D$@éƒöÿÿH‹CàÇD$PHÇD$HHÇD$XH‰D$@é[öÿÿH‹CÀÇD$PHÇD$HHÇD$XH‰D$@é3öÿÿH‹CÀÇD$PHÇD$HHÇD$XH‰D$@é öÿÿH‹CàÇD$PH‰D$@H‹C HÇD$XH‰D$HéãõÿÿH‹sàH‹{ èƨéÑõÿÿH‹;¾èDìé¿õÿÿH‹;1öè5ìé°õÿÿH‹{àèîé¢õÿÿH‹{àèÉíé”õÿÿè?8éŠõÿÿèµ6H‹;f�è«�évõÿÿH‹ƒ ÿÿÿH‰D$@éeõÿÿH‹C H‰D$@éWõÿÿHÇD$@éIõÿÿH‹CÀH‰D$@é;õÿÿÇ9×.é,õÿÿÇ*×.éõÿÿÇ×.éõÿÿÇ ×.éÿôÿÿÇýÖ.éðôÿÿÇîÖ.éáôÿÿÇßÖ.éÒôÿÿè}7éÈôÿÿ„èë5H‹;èã�é®ôÿÿèY7H‹31Ò¿õ©FèÚdH‰Çè"ãé�ôÿÿèØ6„é{ôÿÿè&7H‹K H‹» þÿÿL‹KÀL‹CàH‹‹³€þÿÿèuïéPôÿÿèû6è–6éAôÿÿH‹sÀH‹»`ÿÿÿèÁìé,ôÿÿè×6€èK5éôÿÿfDè[6éôÿÿH‹?Õ.1ɾe‹C1ÿèÑðH‰D$@éçóÿÿè’6H‹KÀH‹SàH‹s H‹;è>ãéÉóÿÿèt6@è 6é¶óÿÿ‹C€L‹‹@ÿÿÿL‹C H‹‹`ÿÿÿH‹³ ÿÿÿH‹»àþÿÿ‰D$‹Cà‹ŽÕ.‰$è~Ôéyóÿÿè$6@è›4éfóÿÿfDè«5éVóÿÿÇD$@éIóÿÿÇD$@}é<óÿÿÇD$@|é/óÿÿÇD$@{é"óÿÿHÇD$@éóÿÿH‹CàH‰D$@éóÿÿÇD$@éùòÿÿÇD$@éìòÿÿHÇD$@éÞòÿÿH‹CàH‰D$@éÐòÿÿHÇD$@éÂòÿÿH‹CàH‰D$@é´òÿÿHÇD$@é¦òÿÿH‹H‰D$@é™òÿÿH‹sà¿fèaH‰D$@é�òÿÿH‹sà¿OèÓaH‰D$@éiòÿÿH‹sà¿Mè»aH‰D$@éQòÿÿH‹sàH‹{ ètcH‰D$@é:òÿÿH‹SàH‹s ¿Eèè^H‰D$@éòÿÿH‹SàH‹s ¿DèÌ^H‰D$@éòÿÿH‹3¿èUaH‰D$@éëñÿÿH‹sà¿èm`H‰D$@éÓñÿÿH‹s ¿è%aH‹sàH‰Â¿0èt^H‰D$@éªñÿÿH‹sà¿&è,`H‰D$@é’ñÿÿH‹S H‹sà¿%è@^H‰D$@évñÿÿH‹SàH‹s ¿$è$^H‰D$@éZñÿÿH‹SàH‹s ¿è^H‰D$@é>ñÿÿH‹sà¿èÀ_H‰D$@é&ñÿÿH‹sà¿_è¨_H‰D$@éñÿÿH‹sà¿�è``H‰D$@éöðÿÿH‹sà¿CèH`H‰D$@éÞðÿÿH‹sà¿Bè0`H‰D$@éÆðÿÿH‹sà¿@è`H‰D$@é®ðÿÿH‹sà¿Aè`H‰D$@é–ðÿÿ1ö¿+èê_H‰D$@é€ðÿÿH‹sH‹;è4\H‰D$@éjðÿÿH‹sà¿:è¼_H‰D$@éRðÿÿH‹sÀH‹¿ è]H‰D$@é7ðÿÿH‹sÀH‹¿èæ\H‰D$@éðÿÿH‹SÀH‹s€¿?H‹ è§]H‰D$@éýïÿÿH‹sÀH‹¿|è¬\H‰D$@éâïÿÿH‹sÀH‹¿^è‘\H‰D$@éÇïÿÿH‹sÀH‹¿&èv\H‰D$@é¬ïÿÿH‹sÀH‹¿>è[\H‰D$@é‘ïÿÿH‹sÀH‹¿<è@\H‰D$@évïÿÿH‹sÀH‹¿è%\H‰D$@é[ïÿÿH‹sÀH‹¿è \H‰D$@é@ïÿÿH‹sÀH‹¿èï[H‰D$@é%ïÿÿH‹sÀH‹¿èÔ[H‰D$@é ïÿÿH‹sÀH‹¿è¹[H‰D$@éïîÿÿH‹sÀH‹¿èž[H‰D$@éÔîÿÿH‹sÀH‹¿-èƒ[H‰D$@é¹îÿÿH‹sÀH‹¿+èh[H‰D$@éžîÿÿH‹sÀH‹¿%èM[H‰D$@éƒîÿÿH‹sÀH‹¿/è2[H‰D$@éhîÿÿH‹sÀH‹¿*è[H‰D$@éMîÿÿH‹3¿~èÐ\H‰D$@é6îÿÿH‹H‰D$@é)îÿÿH‹3¿!è¬\H‰D$@éîÿÿH‹sà‹{ è–\H‰D$@éüíÿÿH‹CàH‰D$@éîíÿÿH‹{ÀH‹3èòéÝíÿÿH‹;è%DéËíÿÿH‹{àH‹3è¯éºíÿÿH‹{ÀH‹3èžé©íÿÿH‹{ÀH‹3è�é˜íÿÿHÇÝß.î¨FéˆíÿÿH‹+1ÿº¾P–Cè$ÍÿÿH‰îH‰Ç1Àè—yébíÿÿè 0踃-�Î.éLíÿÿè×.‹-�Î.ƒýޏƒÅ‰-{Î.é*íÿÿH‹{àè�Úéíÿÿè7ä€é íÿÿèÖãfDéûìÿÿÇuÞ.éììÿÿÇbÞ.éÝìÿÿH‹{à1öè’ˆéÍìÿÿH‹SàH‹s ¹H‹»`ÿÿÿèäâé¯ìÿÿH‹{à¹1Ò1öèÍâé˜ìÿÿH‹{à¾èZÍé…ìÿÿH‹{à1öèª}éuìÿÿH‹{àèŒÙégìÿÿè/f�é[ìÿÿèÖ.fDéKìÿÿH‹;1öè‘·�é;ìÿÿH‹;1öè�·�é+ìÿÿH‹;1öèq·�éìÿÿèÆ.fDé ìÿÿèV.fDéûëÿÿHÇD$@éíëÿÿH‹;è éàëÿÿH‹;è éÓëÿÿH‹;è;éÆëÿÿH‹;è.é¹ëÿÿH‹;èA�é«ëÿÿH‹;è3é›ëÿÿH‹;1öèaØ�é‹ëÿÿè6.fDé{ëÿÿè¦,H‹;蛆éfëÿÿ‹;è¯éZëÿÿH‹;è¢ f�éKëÿÿH‹{À‹1öèîé9ëÿÿH‹{ÀH‹31ÒèÛé&ëÿÿHcH‰D$@éëÿÿèÄ-éëÿÿè:,H‹;è2†f�éûêÿÿè¦-H‹{€H‹sÀè\H‰ÇèqÙéÜêÿÿè'-€éËêÿÿH‹{àèRØf�é»êÿÿH‹sà‹{ èØéªêÿÿ¿ÇëÚ.èfÙé‘êÿÿ¿èWÙé‚êÿÿ¿èHÙésêÿÿDZË.édêÿÿÇ¢Ë.éUêÿÿH‹C€H‹sàH�{ H‰C¸‹‡Ë.èÊÑé5êÿÿH‹sà‹sË.H�{ è²ÑéêÿÿHÇD$`HÇD$hH�|$`ÇD$pH‹C ‹<Ë.H‰D$xH‹sàèvÑéáéÿÿH‹sà‹Ë.1ÿè`ÑéËéÿÿH‹‹ Ë.H�|$`HÇD$hÇD$p1öH‰D$`H‹CàH‰D$xè'Ñé’éÿÿH‹‹ÑÊ.H�|$`1öHÇD$hÇD$pHÇD$xH‰D$`èîÐéYéÿÿ¿(è¿ÊÿÿHÇH‹H‰D$@H‰PH‹SH‰PH‹SH‰PH‹SH‰P ééÿÿ¿(è…ÊÿÿH‹SÀH‰H‹H‰D$@H‰PH‹SH‰PH‹SH‰PH‹SH‰P éåèÿÿ¿èKÊÿÿH‹HÇ@H‰H‰D$@éÃèÿÿ¿è)ÊÿÿH‹H‰H‹SàH‰D$@H‰Pé¡èÿÿ¿èÊÿÿH‹SàÇ@ÇÇ@H‰D$@H‰PéqèÿÿH‹{àè(écèÿÿè+ƒ-£É.éRèÿÿè=*‹-“É.ƒýŽ ƒÅ‰-�É.é0èÿÿH‹CàH‰D$@é"èÿÿHÇD$@éèÿÿH‹H‰D$@H‹CH‰D$HH‹CH‰D$PH‹CÀH‰D$HéìçÿÿHÇD$@HÇD$HHÇD$PéÌçÿÿH‹H‰D$@H‹ƒx…·çÿÿ�8…«çÿÿH‹hE1äëf�IƒÄIƒü„„J‹4å`¢CH‰ïèÒÊÿÿ…ÀuÞD‰çèæRH‰D$@élçÿÿ@‹KÄ‹SÀH‹s H‹»`ÿÿÿL‹KÐL‹CÈèzÞéEçÿÿèð)é;çÿÿè†)fDé+çÿÿèÖ)H‹sàH‹;èÊàéçÿÿèÀ)è[)éçÿÿfDè+(H‹;èãßéîæÿÿ¿èTÈÿÿH‹Ç@H‰PH‹SÀH‰H‰D$@éÅæÿÿHÇD$@é·æÿÿHÇD$@$‹C驿ÿÿH‹H‰D$@éœæÿÿHÇD$@éŽæÿÿHÇD$@逿ÿÿHÇD$@éræÿÿH‹CàH‰D$@édæÿÿè)H‹{ÀH‹3èãVH‰ÇèÛÔéFæÿÿèa(�é;æÿÿH‹;ès é+æÿÿH‹{ÀH‹3èO éæÿÿH‹{ÀH‹3è> é æÿÿH‹{ÀH‹3è éøåÿÿH‹{ÀH‹3èü éçåÿÿH‹{ÀH‹3èëéÖåÿÿH‹{àH‹3èÚéÅåÿÿH‹þÆ.H‹3¹1ÿè�âH‰D$@é¥åÿÿH‹ÞÆ.H‹31É1ÿèrâH‰D$@éˆåÿÿH‹sàH‹»`ÿÿÿèäH‰D$@énåÿÿH‹sà1ÿèäH‰D$@éYåÿÿH‹{à1öèîãH‰D$@éDåÿÿH‹{à1öèÙãH‰D$@é/åÿÿ1ö1ÿèÆãH‰D$@éåÿÿH‹{àH‹3èÀH‰D$@éåÿÿH‹31ÿè¬H‰D$@éòäÿÿH‹SàH‹s H‹»`ÿÿÿè¾ãéÙäÿÿH‹sÀH‹{€1ÒèªãéÅäÿÿH‹sÀ1Ò1ÿè˜ãé³äÿÿè^'é©äÿÿèd&@é›äÿÿèF'ƒ-ÛÅ.éŠäÿÿèu&‹-ËÅ.ƒýŽ!ƒÅ‰-¹Å.éhäÿÿH‹{ÀH‹�Å.1ɾX‹Cè1áH‰D$@éGäÿÿH‹€Å.1ɾX‹C1ÿèáH‰D$@é(äÿÿH‹CÀH‰D$@H‹C H‰TÅ.éäÿÿH‹HÅ.H‰D$@H‹CàH‰8Å.éóãÿÿH‹SÀH‰ÐëH‰ÈH‹H…ÉuõH‹‹ÿÿÿH‰H‰T$@H‹C H‰Å.éÀãÿÿH‹ùÄ.H‰D$@H‹CàH‰éÄ.é¤ãÿÿH‹{ÀH‹ÙÄ.¹H‹3èlàH‰D$@é‚ãÿÿH‹{ÀH‹·Ä.1ÉH‹3èMàH‰D$@écãÿÿÇD$@-éVãÿÿÇD$@+éIãÿÿHÇD$@é;ãÿÿH‹H‰D$@é.ãÿÿH‹;º‹C1öèŸXH‰D$@éãÿÿHcH‰D$@éãÿÿHcH‰D$@éûâÿÿHcH‰D$@éîâÿÿH‹3¿-èqQH‰D$@é×âÿÿè‚%H‹H‰D$@éÅâÿÿè%é»âÿÿ¿è!ÄÿÿH‹SÀH‰PH‹H‰H‰D$@é™âÿÿ¿èÿÃÿÿH‹SàH‰PH‹H‰H‰D$@éwâÿÿHÇD$@éiâÿÿ1ÿèÂÑé]âÿÿ¿è³ÑéKâÿÿH‹;èSZé;âÿÿH‹;è3Zé+âÿÿH‹;è#Zéâÿÿ1ÿèZ@é âÿÿH‹{àèÑf�éûáÿÿH‹3H‹=ñÃ.ºè÷±éâáÿÿH‹3H‹=ØÃ.1Òèá±éÌáÿÿH‹{ÀH‹Ã.1ɾe‹Cè•ÞH‰D$@é«áÿÿH‹H‹¡Ã.H‰P0é˜áÿÿH‹‘Ã.H‹H‰PH‹P H‰P8é}áÿÿè($ésáÿÿè›"H‹;è“|é^áÿÿH‹;¾豄H‰JÃ.éEáÿÿH‹{ H‹sàºèRH‰Çè»Ïé&áÿÿH‹{ H‹sà1Òè÷QH‰ÇèŸÏé áÿÿH‹{ H‹sàºè8QH‰Çè€ÏéëàÿÿH‹sÀH‹+¿è:P‹{àH‰êH‰ÆèŒMH‹{À1ÒH‰ÆèþPH‰ÇèFÏé±àÿÿH‹{ÀH‹31ÒèãPH‰Çè+Ïé–àÿÿÇD$@|é‰àÿÿÇD$@&é|àÿÿÇD$@éoàÿÿÇD$@ébàÿÿÇD$@/éUàÿÿÇD$@*éHàÿÿHcH‰D$@é;àÿÿH‹tÁ.1ɾ_‹C1ÿèÝH‰D$@éàÿÿH‹{ÀH‹QÁ.1ɾ_‹CèåÜH‰D$@éûßÿÿ¿¢‹C»èiÜÿÿéñáÿÿH‹=Á.¹óŠCº ÈD¾1Àè‡Çÿÿ‹t$H‹=äÀ.èwÛÿÿH‹5ØÀ.¿ èvÁÿÿé0åÿÿM‰æ»é¡áÿÿ1Ûéšáÿÿ1ÿº¾À–Cè,¿ÿÿH‰êH‰Ç1ö1Àè�kéhßÿÿHƒÂÇH‰Pé®åÿÿº¾I‹C1ÿèô¾ÿÿHcÕH‰Õ @oé¾úÿÿè¿ÿÿº¾ìŠD1ÿèξÿÿHcÕH‰Õ @oéÐöÿÿ¿â‹C¹H‰îó¦tV¿.‹C¹ H‰îó¦u¿QåtdèRJH‰D$@éØÞÿÿº¾ˆ–C1ÿèw¾ÿÿH‰êH‰Ç1ö1Àèèj1ÿè!JH‰D$@é§Þÿÿ¿Påtdè JH‰D$@é“ÞÿÿHƒÂÇH‰Péåÿÿº¾‹C1ÿè¾ÿÿHcÕH‰Õ @oé'ñÿÿÇD$@éRÞÿÿÇD$DéEÞÿÿDH‹9Â.H‹BÂ.H�ÐH‹H‹H H‹@H‰¼Í.H‹H‰úÁ.H‰ ûÁ.H‹H‰9À.¶ˆðÁ.ÀUSHƒìH‹=ãÁ.H…ÿt^H‹ßÁ.H�PÿH;ÜÁ.v HƒÄ[]ÃH�XH�,ÝH‰îè<ÃÿÿH…ÀH‰¢Á.tSH�T(À¹1ÀH‰•Á.H‰×óH«HƒÄ[]Ã@·èHÂÿÿH…ÀH‰nÁ.tHÇHÇbÁ.HÇ_Á.냿˜öCè¾Çÿÿ¸Ãf.„SH‰ûè7ÿÿÿH‹ Á.H…ÀtQH‹$Á.H�ÐH‹H9Út»>é¥ñÿÿÇ´¹.e»eé‘ñÿÿÇ ¹.f»fé}ñÿÿÇŒ¹.E»EéiñÿÿÇx¹.D»DéUñÿÿÇd¹./»/éAñÿÿÇP¹.-»-é-ñÿÿÇ<¹.+»+éñÿÿÇ(¹.*»*éñÿÿǹ.?»?éñðÿÿǹ.!»!éÝðÿÿÇì¸.~»~éÉðÿÿÇظ.|»|éµðÿÿÇĸ.&»&é¡ðÿÿǰ¸.,»,é�ðÿÿÇœ¸.>»>éyðÿÿLj¸.~»~éeðÿÿÇt¸.O»OéQðÿÿÇ`¸.O»Oé=ðÿÿÇL¸.M»Mé)ðÿÿÇ8¸.M»MéðÿÿÇ$¸.}»}éðÿÿǸ.|»|éíïÿÿÇü·.{»{éÙïÿÿÇè·.9»9éÅïÿÿÇÔ·.8»8é±ïÿÿÇÀ·.7»7é�ïÿÿǬ·.6»6é‰ïÿÿǘ·.5»5éuïÿÿÇ„·.)»)éaïÿÿÇp·.*»*éMïÿÿÇ\·.'»'é9ïÿÿÇH·.(»(é%ïÿÿÇ4·.'»'éïÿÿÇ ·.9»9éýîÿÿÇ ·.L»LééîÿÿÇø¶.K»KéÕîÿÿÇä¶.J»JéÁîÿÿÇж.»é­îÿÿǼ¶.»é™îÿÿǨ¶.»é…îÿÿÇ”¶.»éqîÿÿÇ€¶.»é]îÿÿÇl¶.I»IéIîÿÿÇX¶.H»Hé5îÿÿÇD¶.G»Gé!îÿÿÇ0¶..».é îÿÿǶ.,»,éùíÿÿǶ.F»FéåíÿÿÇôµ.N»NéÑíÿÿÇàµ.#»#é½íÿÿÇ̵."»"é©íÿÿǸµ.!»!é•íÿÿǤµ.»é�íÿÿÇ�µ./»/émíÿÿÇ|µ.-»-éYíÿÿÇhµ.T»TéEíÿÿÇTµ.P»Pé1íÿÿÇ@µ.:»:éíÿÿÇ,µ.[»[é íÿÿǵ.R»Réõìÿÿǵ.Q»QéáìÿÿÇð´.S»SéÍìÿÿÇÜ´.<»<é¹ìÿÿÇÈ´.;»;é¥ìÿÿÇ´´.@»@é‘ìÿÿÇ ´.=»=é}ìÿÿÇŒ´.0»0éiìÿÿÇx´.+»+éUìÿÿÇd´.A»AéAìÿÿÇP´.C»Cé-ìÿÿÇ<´.B»Béìÿÿf�H…ÿSH‰ût~è²æÿÿH‹›¨.H‹¤¨.HÁàH…ÒtPH‹5”¨.H� õH� Hƒ8t7D¶b¨.H‹=K¨.HƒÆH‰5h¨.DˆL‹I‰xH‹=7¨.H‹H‰x H�D H‰èóåÿÿǨ.[ÀATUSH‹¨.H…ÛtGH‹-¨.L�$ëI‹<$H…ÿt3èGçÿÿH…íIÇ$t!HƒíHƒ<ëH‰-ê§.tè“åÿÿÇ¥§.[]A\Ã@Hƒþ††ATL�fþUH‰ýS€|7þud€|7ÿu]¿Hèc¨ÿÿH…ÀH‰Ãt^L‰`H‰hH‰ÇH‰hL‰` Ç@(HÇÇ@,Ç@0Ç@<Ç@@èæÿÿH‰Ø[]A\Ã�[]1ÀA\Ãf„1Àÿ8øCèž­ÿÿATL�fUH‰ýL‰çSH‰óèÚ§ÿÿH…ÀtC1ÒH…ÛtfD¶Lˆ HƒÂH9ÚuïÆDÆL‰æH‰ÇèÿÿÿH…ÀtÇ@([]A\ÿhøCè3­ÿÿ¿íøCè)­ÿÿ@f.„SH‰ûèw¢ÿÿH‰ßH‰Æ[ékÿÿÿ�f.„‹މ.Ãf„H‹¡¤.ÄH‹‰¤.ÄH‹ù±.ÄH‹Ù±.ĉ=>‰.Ãf„H‰=Q¤.ÄH‰=9¤.Ä‹"¤.Ãf„‰=¤.Ãf„USHƒìH‹-Ó¥.H…íuë,@H‰ÇèåÿÿHÇè”ýÿÿH‹½¥.H�\ÅH‹H…ÀuØH‰ïèØžÿÿHÇ�¥.HÇ’¥.1ÀHÇ}¥.HÇR¥.ÇD¥.Ç6¥.Hǃ£.HÇp£.HƒÄ[]Ãf„éû¥ÿÿ�f.„髦ÿÿ�f.„éKžÿÿ�f.„SH‰ûHƒì‹ †£.ƒù ‡¡‰ÈH‰4Å`Bo‹5é‡.‰4… Bo¶5˰.@Àîƒæ‰4…àAoH‹5¶¤.H…ö„�H‹=¶¤.H‹4þH‰4ÅÀBo¶“°.ƒâÁâH‰ßƒÁ¾@H‰³¢.‰ £.Ç{‡.ƒà÷ Ј`°.è åÿÿHƒÄH‰Ç[éãÿÿfD¿˜øC1À‰T$ H‰4$èdL‹ ¢.‹T$ H‹4$é8ÿÿÿ�1öéwÿÿÿf„AUI‰ýATUSHƒì‹‘¢.Ç×£.ƒø ‡â‰ÁH‰4Í`Bo‹5ê†.‰4� BoH‹5Ì£.H…ö„ãH‹=Ì£.H‹4þL‰ïƒÀH‰4ÍÀBo‰´†.‰2¢.èyŸÿÿ¿HH‰Åè\¤ÿÿ�}H‰hHÇH‰ÃèF¤ÿÿH�xL‰îÆ I‰ÄH‰CèP�ÿÿH�EAÆD,AÆD,ÇC(ÇC,H‰ßH‰C H‹CÇC0ÇC<ÇC@HƒÀH‰CHƒÄ[]A\A]éÛáÿÿ1À¿ ùC‰T$ H‰4$è$K‹‚¡.‹T$ H‹4$é÷þÿÿ�1öé!ÿÿÿf„H‹Ñ….H�PH‰Æ….‹˜¢.ÇŽ¢.‰Ã�f.„H‹¡….H�PH‰–….‹h¢.Ç^¢.‰Ã�f.„H‹q….H�PH‰f….‹8¢.Ç.¢. ‰Ã�f.„H‹A….H�PH‰6….‹¢.Çþ¡.‰Ã�f.„H‹….H�PH‰….‹Ø¡.ÇΡ.‰Ã�f.„H‹á„.H�PH‰Ö„.‹¨¡.Çž¡. ‰Ã�f.„H‹±„.H�PH‰¦„.‹x¡.Çn¡.‰Ã�f.„H‹�„.H�PH‰v„.‹H¡.Ç>¡. ‰Ã�f.„H‹Q„.H�Pü‹@üH‰C„.‰¡.Ã@‹¾Ÿ.1Ò…À•Â)ÐH‹Å`BoÄAUºATI‰üUSH‰óH‰ßHƒìH‰ædH‹%(H‰D$1Àè@šÿÿI‰ÅH‹$€8… H‹)°.I�l$H…Ûuë-DH‹H…Ût H‹{H‰îèôŸÿÿ…ÀuèL‰kë7f.„¿ èvXH‰ÃH‰hL‰hÇ@H‹ͯ.H‰H‰ï.L‰ïèË'H‰ÚH‰ÆL‰ç轨H‹D$dH3%(u0HƒÄ[]A\A]Ãf�1ÿº¾ YDèÏ›ÿÿH‰ÞH‰Ç1ÀèBHé=ÿÿÿèø›ÿÿ„AWAVAUATU‰ý¿ýSH‰óH�ìdH‹%(H‰„$1Àè=�ÿÿ¿@H‰D$Pè.�ÿÿ¿@H‰D$Xè ÿÿH‰D$`H‹D$PE1À1Ò¿Æ-¸€”D¶H „Ét"L‹L$PHc÷Aˆ 1‹H�wD�IÿAƒù†‰÷Hƒ8t7ƒx8„HcÊH‹0ƒÂHÁáHL$XH‰1H‹pH‰qH‹pH‰qH‹pH‰qHƒÀ@H=À¾Du�H‹L$PHcÇL�L$`H�t$PÆHcÂH�L$XHÁàHD$XHÇIcÀHÁàHD$`HÇè÷3ƒý†ÇL�cH‹S¸ë€‰ÂH‹ÓƒÀ€:-�Hÿu+€zGu%€zu9Åv‰ÂH‹Ó¶2ö„6À8ouÒHÇË}D9ÅwÀ�EþL�lÃëfDIƒÄM9ìtXI‹<$€?-uî€luè€tâè%šÿÿH�xIƒÄ訛ÿÿM‹D$øI‰ÆH‰Ç¹'}D1ÀHÇÂÿÿÿÿ¾IƒÀè£ÿÿM‰t$øM9ìu¨ÇD$A¼ÿÿÿÿE1ÿÇD$fDD9%A“.tH‰Þ‰ïè53…ÀuéD‹%*“.H‹L$XH‹T$PL�D$LH‰Þ‰ïÇÌš.è'œÿÿA‰ÅAƒý?„šD‰ïèÒ2…Àu¦Aƒýÿ„ÔA�ý‡Bÿ$í ŒD€L‹L$PHcöƒùAÆ1:�w…çýÿÿH‹L$PHcöƒÇÆ1:éÕýÿÿIcÈH‹0AƒÀHÁáHL$`H‰1H‹pH‰qH‹pH‰qH‹pH‰qéÜýÿÿDH‹L$`L�D$Lºî¨FH‰Þ‰ïD‰%E’.è™ÿÿA‰Åé>ÿÿÿIcÄA½ˆ¾DL‹4Ãëf„Iƒí@I�ýH”D„Ô Aƒ}uèI‹uøH…ötßA‹}0L÷èã›ÿÿ…ÀuϺ¾4}D1ÿè.˜ÿÿL‰öH‰Ç1Àè¡D1ÿº¾ÀYDè˜ÿÿH‰Ç1Àè†DH‹=Ï“.1Ò¾è[éVþÿÿ€ »¨.€¶°¨.¨t2ƒàA½}D¾ˆgD<¸}DºLEè1ÿè·—ÿÿL‰îH‰Ç1Àè*D¶s¨.Çõ©.Çß©.Ǫ.€%Χ.߃àüƒÈˆB¨.éÕýÿÿL‹5~©.M…ö„‚"L‰÷è…—ÿÿH‰D$8H‹“.H‰ÇH‰D$(èl—ÿÿ¶Í©.L‰|$ I‰ÅL‹|$(H‰\$0L‰ó‰l$(¾ú‰ÕA‰þë f�HƒÀH‰Ãt8L‰êH‰ÞL‰ÿè•ÿÿ…ÀuB¶+„À„W@8è„ND‰öH‰ßè„—ÿÿH…Àu¿L‹|$ ‹l$(H‹\$0H‹D$8J�|(èr˜ÿÿD¾ B©.I‰ÅH‹p’.L‹±¨.¹Ÿ~DHÇÂÿÿÿÿ¾L‰ïH‰$1ÀèÊŸÿÿH‹=‹¨.èþ“ÿÿL‰-¨.éÊüÿÿf�H‹i¨.L‰ûH…Àt €8„Œ‹D$‹l$…Àt@裭ƒíuöM…ÿuëO€H…Àt;L�x¾:L‰ÿ躖ÿÿH…ÀtÆA€?tܾL‰ÿH‰D$èjGH‹D$H…ÀuÅH‰ßèh“ÿÿ¶£¦.¨u¶\$ƒàç�Ý Ðˆˆ¦.¨`u¶}¦.¶T$ƒàŸÁâ Јj¦.¶a¦.‰Ðƒà<„¯‹ ~§.ƒù„jƒù…­ƒâ„¤Ç]§.€ #¦.€ ¦.<tJHƒ=g§.t1ÿº¾(jDè,•ÿÿH‰Ç1Àè¢AHƒ=J§.t1ÿº¾XjDè•ÿÿH‰Ç1Àè}A·Æ¥.f%f=„±H‹„$dH3%(…V H�Ä[]A\A]A^A_˽¦.ƒú„Wÿÿÿƒú„UÿÿÿéWÿÿÿÇè¦.€%á¤.ßéôúÿÿH‹=U�.1öèž•éáúÿÿ€ E¥.éÕúÿÿ€ 7¥.éÉúÿÿÇO§.éºúÿÿH‹=�.¾èáé¤úÿÿ1ÿèU2ÇÛ¤.éŽúÿÿ€ ð¤.`é‚úÿÿH‹=ã�.èŽòéqúÿÿL‹-Ò�.¿†D¹ L‰îó¦„Uúÿÿ¿V}D¹L‰îó¦„@úÿÿ¿d}D¹ L‰îó¦„+úÿÿ¿o}D¹ L‰îó¦„úÿÿ1ÿº¾ ZDè�“ÿÿL‰îH‰Ç1Àè@éóùÿÿ€ Ñ£. éäùÿÿÇR¥.€ ;¤.€éÎùÿÿ‹È—.H‹=)�.¾y}D�PH‰=º•.‰¬—.èóÿÿÇ-£.è�°ÿÿHÇ••.éˆùÿÿH‹=éŽ.Çã.H…ÿ„nùÿÿè��ÿÿ…ÀA‰Åu%L‹5ÃŽ.¾HZD1ÿºèâ’ÿÿL‰öH‰Ç1ÀèU?D‰ïè-’ÿÿé0ùÿÿ€ —£.é$ùÿÿL‹-…Ž.¾3DL‰ïèˆ�ÿÿ…À…?Ç¥.éùøÿÿǃ¤.éêøÿÿÇP¤.éÛøÿÿ€%<£.ïéÏøÿÿH‹@¥.º¾�}D1ÿèO’ÿÿH‰ÚH‰Æ¿1Àèm˜ÿÿº¾º}D1ÿè,’ÿÿ¿H‰Æ1ÀèM˜ÿÿHÇD$°”DÇD$@H‹D$H‹H…ÀH‰D$ „ ¾zÈD¿1Àè˜ÿÿ‹D$1Ò»‰ÅA‰Äé¶@º¯êD¾dD¿1Àèâ—ÿÿ¸IÁäÃM‹¬$¨”DM…í„>Aƒ¼$ˆ”Dt ¿ ƒÃèN�ÿÿºL‰î1ÿèo‘ÿÿ¾$ÈDH‰Â¿1Àè‹—ÿÿºL‰î1ÿèL‘ÿÿH‰Çèt‘ÿÿºÃÅ�ý¨‡¦A‰ìL‰àHÁàHƒ¸°”D…ŽL‰àHÁྈ ”D„Étǃ¸¸”Dt¾…Ò…+ÿÿÿº›öD¾dD¿1Àè —ÿÿ¸é&ÿÿÿH‹œŒ.H‰e£.é(÷ÿÿDz¢.é÷ÿÿÇ[¡.é ÷ÿÿ€%n¡.þéþöÿÿÇp¢.éïöÿÿÇe¢.éàöÿÿÇž—.éÑöÿÿ€%² .ßéÅöÿÿ€%§ .þé¹öÿÿH‹=Œ.1É1Ò1ö迦é¢öÿÿÇ¡.é“öÿÿÇ ¡.é„öÿÿ¶æ .ƒàçƒÈˆÚ .élöÿÿH‹=—.H‹=Æ‹.H‰'—.èjKÇØŸ.è;­ÿÿHÇ—.é3öÿÿ¿èá-Çg .éöÿÿ¶| .ƒàŸƒÈ@ˆp .éöÿÿL‹-c‹.¿0D¹L‰îó¦u IƒÅL‰-G‹.M…ÿtL‰ÿèúŒÿÿL‰ïèb‘ÿÿI‰ÇéÂõÿÿL‹-#‹.¿Þ†D¹L‰îó¦…€%‡Ÿ.ßéšõÿÿH‹=ûŠ.è–œé‰õÿÿH‹=êŠ.1Ò1öè!RétõÿÿÇú .éeõÿÿH‹ÆŠ.H‰¡.éRõÿÿH‹=³Š.H�t$h1Òè–ÿÿ‰w.H‹D$h€8„+õÿÿL‹-ŒŠ.1ÿº¾‚}D諎ÿÿL‰îH‰Ç1Àè;éõÿÿH‹bŠ.€%aŸ.÷H‰Œ .éçôÿÿH‹=HŠ.¾èî?éÑôÿÿHÇþ .î¨FéÁôÿÿÇÏ .Ç• .€%Žž.ßé¡ôÿÿH‹=b .H…ÿ„f1ÒE1íHƒ?H‰øA¾¾tHƒÀƒÂHƒ8uóƒÂHcòHÁæL�nðM�uèìŽÿÿH‹µ‰.H‰ .J‰(H‹ .JÇ0é.ôÿÿH‹=�‰.èÊyéôÿÿÇ{Ÿ.éôÿÿH‹=o‰.¾赚éøóÿÿH‹=Y‰.èIÇr�.èÕªÿÿéØóÿÿH‹9‰.€8uH‹mŸ.H…Òt €:…2H‰XŸ.é«óÿÿD9%ì†.„ï¶ÿ�.¨t2ƒàA½}D¾ˆgD<¸}DºLEè1ÿè�ÿÿL‰îH‰Ç1Àèy9¶Â�.ÇDŸ.Ç.Ÿ.ÇTŸ.€%�.߃àüƒÈˆ‘�.é$óÿÿH‹=…ˆ.1Ò1öèì“ÿÿH…À¶w�.•ÂÁâƒàß Ðˆf�.éôòÿÿH‹5Uˆ.H�T$p¿è6‘ÿÿ…Àˆõÿÿ‹„$ˆ%ð=@„êôÿÿH‹= ˆ.1Ò¾èTOé§òÿÿ‹T$…Ò„+蛣ƒl$é‰òÿÿH‹=ê‡.èµGéxòÿÿè+£ƒD$éiòÿÿH‹=Rœ.H…ÿ„±H‹H‰7œ.H‹GH‰4œ.èg‰ÿÿé:òÿÿ€ ›œ.é.òÿÿÇ0ž.éòÿÿH‹=€‡.H…ÿ„€1Ò1öèÞ’ÿÿ‰Hž.éûñÿÿH‹=\‡.H…ÿ„k1Ò1öè*‰ÿÿH‰+ž.éÖñÿÿ€ ¸›.éÊñÿÿ€ «›.@é¾ñÿÿ€%Ÿ›.¿é²ñÿÿ€ “›.€é¦ñÿÿ€%‡›.éšñÿÿH‹=û†.èöìé‰ñÿÿÇóœ.ézñÿÿ€ Û›.@énñÿÿ€%Ï›.¿ébñÿÿ€ È›.@éVñÿÿ€%¼›.¿éJñÿÿH‹=«†.1Ò1öè’ÿÿH…À„‚H‰‚�.é%ñÿÿÆ¢œ.éñÿÿÆ–œ.é ñÿÿ¶D$�Ŷd›.ƒàç ЈY›.éêðÿÿH‹K†.H‰Ä›.é×ðÿÿH‹8†.H‰¹›.éÄðÿÿL‹5%†.¾=L‰÷èøŠÿÿH…ÀI‰ÅL‰ò„€:M�utA€}u"º¾øhD1ÿèŠÿÿH‰Ç1ÀèŽ6H‹×….L‰ðH)ÐHcÈH‰D$(H‰ÏH‰L$ 謋ÿÿH‹T$(H‹5°….H‰ÇI‰ÅƒêHcÒèÿ�ÿÿH‹L$ H�t$hºL‰÷AÆD ÿèb‡ÿÿH‰D$ H‹D$h€8t¾ YD1ÿºè’‰ÿÿL‰öH‰Ç1Àè6H‹|$ è;1ÒH‰ÆL‰ïè.–éÑïÿÿH‹=Ò‚.è}&1ÿèF‘ÿÿH‹=….H…ÿ„~èÑÆé¤ïÿÿ¶š.ƒàŸƒÈ ˆû™.éŒïÿÿ¶ï™.¶T$ƒàŸÁâ ЈÜ™.émïÿÿ€ Ó™.éaïÿÿ€%Ç™.ýéUïÿÿ€ ¶™. éIïÿÿ€ ®™.é=ïÿÿ¶Ÿ™.ƒàŸƒÈ ˆ“™.é%ïÿÿH‹=†„.1Ò1öèí�ÿÿ‰š.é ïÿÿÇlš.éûîÿÿèþƃ=‹š.t Çš.ƒ=tš.…ÖîÿÿÇdš.éÇîÿÿƒ=Xš.ÇRš.…°îÿÿÇ>š.é¡îÿÿÇ“š.é’îÿÿÇ€š.éƒîÿÿljš.étîÿÿÇzš.éeîÿÿÇcš.éVîÿÿÇLš.éGîÿÿL‹-�.H‹=¡ƒ.èLCL‰-�.dz—.è¥ÿÿéîÿÿH‹zƒ.H‰Û™.éîÿÿL‹-׎.H‹=`ƒ.è CL‰-ÄŽ.Çr—.èÕ¤ÿÿƒ=r™.t Çf™.ƒ=[™.…½íÿÿÇK™.é®íÿÿèñŃ=>™.t Ç2™.ƒ='™.…‰íÿÿÇ™.ézíÿÿÇü˜.ékíÿÿH‹=¬˜.€?…:1ÿèÌ�ÿÿH‹5µ‚.¿ÀOoè æé>íÿÿº¾¿@OoèÑH‰—.éíÿÿǬ˜.éíÿÿH‹5p‚.¿ò~DèÖéÿÿéùìÿÿH‹5Z‚.¿÷~DèÀéÿÿéãìÿÿH‹5D‚.¿ý~DèªéÿÿéÍìÿÿH‹5.‚.¿Dè”éÿÿé·ìÿÿH‹5‚.¿Dè~éÿÿé¡ìÿÿH‹5‚.¿!Dèhéÿÿé‹ìÿÿL‹-ì�.M…í„£ ¿Ý~D¹ L‰î󦄎 ¿è~D¹ L‰îó¦…ìÇ[˜.éBìÿÿL‹-£�.¿�D¹L‰îó¦…BÇ ˜.éìÿÿÇ)˜.éìÿÿ¶k–.‰Âƒâ€ú„3ƒà`ÇD$<`…àëÿÿ¶C–.ƒàŸƒÈ@ˆ7–.éÈëÿÿ¶+–.‰Âƒâ€ú„¼ƒà`ÇD$<@… ëÿÿ€ –.`é”ëÿÿÇ®—.é…ëÿÿ¿è3#H‹=Ü€.Dz•.Çà—.Çžl.þÿÿÿH…ÿ„MëÿÿH�t$h1ÒèŒÿÿI‰ÅH‹D$h€8t%L‹5•€.¾‚}D1ÿºè´„ÿÿL‰öH‰Ç1Àè'11ÀAƒýŸÀ‰h˜.éûêÿÿ¿è©"é‘ýÿÿ€ Q•.Hƒ=5—.…×êÿÿHÇ$—.ýéÇêÿÿH‹=(€.è³bé¶êÿÿH‹=€.èÒc…À„¢êÿÿ1ÿº¾�~Dè)„ÿÿH‰Ç1ÀèŸ0é‚êÿÿH‹ã.H‰L–.éoêÿÿ€ Ó”. écêÿÿ€ É”.€éWêÿÿH‹=–.H…ÿ„‡è „ÿÿH‹=£.I‰ÅèûƒÿÿI�|è�…ÿÿD¾ Q–.I‰ÅH‹.L‹È•.¹Ÿ~DHÇÂÿÿÿÿ¾L‰ïH‰$1ÀèÙŒÿÿH‹=¢•.è �ÿÿL‰-–•.éÙéÿÿ‹5Õ.…ö„{ ¶,”.ƒà<„V¶”.€ ”.¨u ƒàçƒÈˆ”.¨`…“éÿÿ¶ö“.ƒàŸƒÈ ˆê“.é{éÿÿH‹=Ü~.è‡åéjéÿÿ€ Ï“.é^éÿÿÇì”.éOéÿÿÇÍ”.é@éÿÿǾ”.é1éÿÿ‹ •.…É„ ¶„“.ƒà<„¶r“.ƒàüƒÈˆf“.éùèÿÿL‹-Z~.¿>~D¹ L‰îó¦…ž ¶@“.ƒà‡ƒÈ(ˆ4“.éÅèÿÿ€ '“.é¹èÿÿÇÇ”.Ç�”.é èÿÿ€%“.ýé”èÿÿ@ƒû�×€H‹5�{.¿ ƒÃèä‚ÿÿƒûuçH‹t$ 1ÿºèî�ÿÿH‰ÇèV€ÿÿƒD$HƒD$@�|$©…Åïÿÿº¾È}D1ÿè¼�ÿÿ»H‰Æ¿1ÀèØ‡ÿÿ„H‹5 {.¿ èo‚ÿÿƒëuêº1ÿ¾Ð}Dèy�ÿÿ¿H‰Æ1À蚇ÿÿH‹C”.1ÿº¾è}DèR�ÿÿH‰ÚH‰Æ¿1Àèp‡ÿÿ軂ÿÿH‹H‰ÅH‰ÃH…Òt"D1ÀHƒÃ¾Ä}D¿èC‡ÿÿH‹H…ÒuãH‰ïè“~ÿÿ¿ èÉ~ÿÿH‹Ò“.1ÿº¾ÿ}Dèá€ÿÿH‰ÚH‰Æ¿1Àèÿ†ÿÿH‹=8z.èÿ è‰~ÿÿH‹’“.1ÿº¾pZDè¡€ÿÿH‰ÚH‰Æ¿1À迆ÿÿH‹øy.º1ÿ¾~Dèw€ÿÿ¿H‰Æ1À蘆ÿÿ1ÿº¾˜ZDèW€ÿÿ¾H‰ÂH‰ß1ÀèUˆÿÿ1ÿº¾P[Dè4€ÿÿ¾H‰ÂH‰ß1Àè2ˆÿÿ1ÿº¾ˆ[Dè€ÿÿ¾H‰ÂH‰ß1Àèˆÿÿ1ÿº¾\Dèîÿÿ¾H‰ÂH‰ß1Àèì‡ÿÿº¾@\D1ÿèËÿÿ¾H‰ÂH‰ß1Àèɇÿÿ1ÿº¾€\Dè¨ÿÿ¾H‰ÂH‰ß1À覇ÿÿ1ÿº¾À\Dè…ÿÿ¾H‰ÂH‰ß1À胇ÿÿ1ÿº¾]Dèbÿÿ¾H‰ÂH‰ß1Àè`‡ÿÿ1ÿº¾P]Dè?ÿÿ¾H‰ÂH‰ß1Àè=‡ÿÿ1ÿº¾ ]Dèÿÿ¾H‰ÂH‰ß1Àè‡ÿÿ1ÿº¾ø]Dèù~ÿÿ¾H‰ÂH‰ß1Àè÷†ÿÿ1ÿº¾H^DèÖ~ÿÿ¾H‰ÂH‰ß1ÀèÔ†ÿÿ1ÿº¾�^Dè³~ÿÿ¾H‰ÂH‰ß1À豆ÿÿ1ÿº¾Ø^Dè�~ÿÿ¾H‰ÂH‰ß1À莆ÿÿ1ÿº¾_Dèm~ÿÿ¾H‰ÂH‰ß1Àèk†ÿÿ1ÿº¾H_DèJ~ÿÿ¾H‰ÂH‰ß1ÀèH†ÿÿ1ÿº¾ˆ_Dè'~ÿÿ¾H‰ÂH‰ß1Àè%†ÿÿ1ÿº¾È_Dè~ÿÿ¾H‰ÂH‰ß1Àè†ÿÿ1ÿº¾`Dèá}ÿÿ¾H‰ÂH‰ß1Àèß…ÿÿ1ÿº¾p`Dè¾}ÿÿ¾H‰ÂH‰ß1Àè¼…ÿÿ1ÿº¾À`Dè›}ÿÿ¾H‰ÂH‰ß1Àè™…ÿÿ1ÿº¾aDèx}ÿÿ¾H‰ÂH‰ß1Àèv…ÿÿ1ÿº¾xaDèU}ÿÿ¾H‰ÂH‰ß1ÀèS…ÿÿ1ÿº¾ÈaDè2}ÿÿ¾H‰ÂH‰ß1Àè0…ÿÿ1ÿº¾bDè}ÿÿ¾H‰ÂH‰ß1Àè …ÿÿ1ÿº¾hbDèì|ÿÿ¾H‰ÂH‰ß1Àèê„ÿÿ1ÿº¾°bDèÉ|ÿÿ¾H‰ÂH‰ß1ÀèÇ„ÿÿ1ÿº¾èbDè¦|ÿÿ¾H‰ÂH‰ß1À褄ÿÿ1ÿº¾8cDèƒ|ÿÿ¾H‰ÂH‰ß1Àè�„ÿÿ1ÿº¾€cDè`|ÿÿ¾H‰ÂH‰ß1Àè^„ÿÿ1ÿº¾ÀcDè=|ÿÿ¾H‰ÂH‰ß1Àè;„ÿÿ1ÿº¾dDè|ÿÿ¾H‰ÂH‰ß1Àè„ÿÿ1ÿº¾HdDè÷{ÿÿ¾H‰ÂH‰ß1Àèõƒÿÿ1ÿº¾°dDèÔ{ÿÿ¾H‰ÂH‰ß1ÀèÒƒÿÿ1ÿº¾ødDè±{ÿÿ¾H‰ÂH‰ß1À诃ÿÿ1ÿº¾@eDèŽ{ÿÿ¾H‰ÂH‰ß1À范ÿÿ1ÿº¾�eDèk{ÿÿ¾H‰ÂH‰ß1Àèiƒÿÿº¾àeD1ÿèH{ÿÿ¾H‰ÂH‰ß1ÀèFƒÿÿº¾ fD1ÿè%{ÿÿ¾H‰ÂH‰ß1Àè#ƒÿÿº¾pfD1ÿè{ÿÿ¾H‰ÂH‰ß1Àèƒÿÿº¾ÀfD1ÿèßzÿÿ¾H‰ÂH‰ß1ÀèÝ‚ÿÿH‹=6t.èá¿ è‡xÿÿº¾+~D1ÿè¦zÿÿ¿H‰ÆºgD1Àè€ÿÿ1ÿèk�ÿÿ‹D$‰ÅA‰Çé¶f.„M‰ðº¯êD¾jD¿1ÀA½è�€ÿÿL‰÷EìèvzÿÿM‰ùÃIÁáDãM‹¡¨”DM…ät>ºL‰æ1ÿèzÿÿ¾Ä}DH‰Â¿1Àè;€ÿÿºL‰æ1ÿèüyÿÿH‰Çè$zÿÿ�\ºƒÅ�ý©„´÷ÿÿA‰ïL‰øHÁàHƒ¸°”D…œ÷ÿÿL‰øHÁàL‹°€”DM…ötÆ‹€¸”Dƒøt»ƒèE1ä¹î¨Fƒø¸›öDA–ÄE…äHDÈ…Ò…ÿÿÿM‰ðº›öD¾jD¿1ÀA½è‘ÿÿé ÿÿÿ@ºéèÿÿfD¿ 1Ûè wÿÿé÷ÿÿ¶Š.ƒàç‰ÂƒÊˆó‰.ƒâ`…1äÿÿƒÈhˆá‰.é#äÿÿƒâ„Cäÿÿ¶ˉ.HÇ�Š.ÇêŠ.ƒÈˆ­‰.ƒàéŠãÿÿ€=ºŠ.‰DãÿÿÆ­Š.é8ãÿÿº¾øiD1ÿè«xÿÿH‰Ç1Àè!%HǦŠ.éIâÿÿI‰ÞL‹|$ ‹l$(M…öH‹\$0…ßÞÿÿé±áÿÿf�ÇâŠ.éÉÞÿÿ¾9DL‰ïè4vÿÿ…À„ö¾{‹CL‰ïèvÿÿ…À…»Ç™Š.é�Þÿÿ¿ }D¹L‰îó¦t4¿N}D¹L‰îó¦t#1ÿº¾øYDèõwÿÿL‰îH‰Ç1Àèh$éKÞÿÿ€ ,ˆ. é?Þÿÿ¿I~D¹ L‰îó¦„A¿T~D¹L‰îó¦…ö¶xˆ.¶T$ƒà‡ÁâƒÈ Јbˆ.éóÝÿÿº¾FDéGßÿÿ¿>ÊD¹ L‰îó¦…�ÇIŠ.éÀÝÿÿƒàçƒÈˆˆ.é¼ñÿÿ1ÿº¾hiDè6wÿÿH‰Ç1Àè¬#é�ÝÿÿÇ͉.€é€ÝÿÿHÇʼn.épÝÿÿ1ÿº¾0iDè÷vÿÿH‰Ç1Àèm#éµêÿÿ1ÿº¾¦~Dè×vÿÿH‰Ç1ÀèM#é0ÝÿÿÇF‰.é!Ýÿÿè$uÿÿé¼ïÿÿ1ÿº¾Ã~DèžvÿÿH‰Ç1Àè#é÷ÜÿÿƒÈˆX‡.é6ñÿÿ¶T$¶G‡.ƒâƒà‡� ÕÁâ È Ðˆ-‡.é¾ÜÿÿǸˆ.é¯ÜÿÿIcÄ1ÿºL‹,þhgDè/vÿÿH‰Ç1ÀL‰îè¢"éçèÿÿ1ÿº¾hDè vÿÿH‰Ç1Àè‚"éeÜÿÿ1ÿº¾XhDèìuÿÿL‰îH‰Ç1Àè_"éBÜÿÿ1ÿº¾�hDèÉuÿÿL‰îH‰Ç1Àè<"éÜÿÿ¿k~D¹L‰îó¦…,¶D$�Ŷa†.ƒà‡ ÐƒÈ ˆS†.éäÛÿÿ¾>DL‰ïèOsÿÿ…À…Çɇ.éÀÛÿÿH‹=!q.èLwÿÿH‰e‡.é¨Ûÿÿº¾˜iDè1uÿÿH‰Ç1Àè§!éŠÛÿÿº¾ÀhD1ÿèuÿÿH‰Ç1Àè‡!H‹Ðp.éÂêÿÿ1ÿº¾¸gDèêtÿÿH‰Ç1Àè`!éŠñÿÿH‹=¤p.èÏvÿÿH‰à†.é+Ûÿÿ¿èyvÿÿH‹‚p.H‰Û†.HÇ@H‰éÛÿÿ1ÿº¾ègDèŠtÿÿH‰Ç1Àè!éÒñÿÿè¶tÿÿ1ÿº¾8gDèetÿÿL‰îH‰Ç1ÀèØ é»Úÿÿ1ÿº¾ÀiDèBtÿÿH‰Ç1Àè¸ é›ÚÿÿHƒ:tÇB¸ÃDH‰21ÀÃf�E1ÀH9=v„.H‹H‰øA”ÀH…ÒtW1öƒzwO‹Jÿ$ÍÀ¾DDH‹JƒytCH‹I€9.u:€yu4E…Àu/H‰Æ€H‰ÐH‹H…Òu¸óÃH‰ðDóÃfDH…öt³H‰ÐH‹E1ÀH…Òu�ëÖH…ötÛH‹R8H…ÒtÊHƒºtÀöB HEÆÃ€H‰ÐH‹1öH…Ò…Rÿÿÿë˜DH‹H‹1öH‹B0H9A0¸ÿÿÿÿ@—ÆCÆÃH‹H‹H‹B0H9A0r ¸w!‹B1ö9A¸ÿÿÿÿ@—ÆCÆÃ@¸ÿÿÿÿóÃfDH‹H‹H‹B(H9A(r ¸w!‹B1ö9A¸ÿÿÿÿ@—ÆCÆÃ@¸ÿÿÿÿóÃfDóÃ@f.„‹G(…Àt�J óÃUH‰ýSH‰óHƒìH‹H9t¾i¿ÀÆDèÍH‹CH‹H‰H‹UH‰SH‰EHÇHƒÄ[]Ãf„SH‰óHƒìH…ÿ„/H‰Þè×qÿÿH…ÀH‰Â„CH�pA¸˜@öÆH‰÷…4@öÇ…:@öÇ…HD‰Á1ÀÁéAöÀóH«…»AöÀ…‘Aƒàu{H�B(ÇB Ç‚”ÿÿÿÿÇ‚˜ÿÿÿÿÇ‚�H‰B0H‹ÿX.HÇB(H‹HH‰1Hƒ=à�.H‰pH‹Ý�.tH�HàH‰J@H‰0H�B8H‰Å�.HƒÄH‰Ð[Ã@Æé}ÿÿÿ„1ÀHƒÇf‰GþAƒà„aÿÿÿëÚf.„ÇHƒÇAöÀ„;ÿÿÿëÊf.„H‰ß¾°H‰T$è^tÿÿH…ÀH‰ÇH‹T$…®þÿÿDHƒÄ1À[ÃÆ@H�xA°—é¼þÿÿ1ÉHƒÇAƒèf‰Oþé³þÿÿDÇAƒèHƒÇé¥þÿÿDHƒìH‹?ètÿÿ…À”ÀHƒÄ¶ÀÀHƒìH‹vH‹èïsÿÿ…À”ÀHƒÄ¶ÀÃf�‹&ƒ.…À„‰ƒø‡‰U½SH‰ûHƒìH…ÿu$ëe@ƒø tKƒøu H‹=�€.èºÿÿÿH‹H…ÛtC‹CƒøtZwØ…ÀuêH‹C0¿ÉÆDH‰éH‰Æó¦t×¿ÏÆDH‰ÆH‰éó¦tÈf�H‹{èwÿÿÿH‹H…Ûu½HƒÄ[]óÀ¾Ä ¿ÀÆDé�H‹C ‹5r‚.H…Àu-é‚ÿÿÿ@r>ƒúuƒþt9f„H‹H…À„Zÿÿÿ‹PƒúuÔƒþuçÇ@ëÞfD‰pëÓÇ@ëÇ€@öÇS‰ûugöÃuRöÃu=öà u ƒãu [f�À[¿LÉD1À雿 ŠD1ÀèŒëÒf.„¿“‚D1Àètëµf�¿Ë]K1Àèdë f�¿?õD1ÀèTë‹f�AUI‰ÕATI‰ôUL‰ÅSH‰ûHƒìH…ÿH‰L$„Ì@ƒ{‡æ‹Cÿ$Å@¿D@¶U¶ƒ�ƒâƒàßÁâ ÐH‹S8ˆƒ�H…Òt{¨uwöB tH‰2s.Çs.H‹J(H‹{I‰èH‹SPH‰ÞH‰L$èdÿÿÿH‹S8‹B %=„MH‹B8‹ [s.HÓèHD$H‹{hH…ÿtH�T$¾=oèsúH‹H…Û…<ÿÿÿ@H‹D$HƒÄ[]A\A]ÃH‹Cö@!€uÖH‹@8‹ s.HÓèHD$H‹H…Û…ÿÿÿëÆfDH‹{0H‹L$I‰èL‰êL‰æè¹þÿÿH‰D$H‹H…Û…Ðþÿÿë–fDH‹{ëÎf.„H‹L$H‹=´}.I‰èL‰êL‰æèvþÿÿH‰D$H‹H…Û…�þÿÿéPÿÿÿH‹{H‰õq.ƒtJL;%(}.H‹G¶„R€ú_ufDHƒÀ€8_t÷€8eu€xnu€xdu€xu ÇEH‹{I‹t$8H�T$èFùH‹H…Û…þÿÿéÕþÿÿDH‹C‹ îq.HÓèHD$H‹H…Û…êýÿÿé­þÿÿDH‹{0H�T$¾=oèõø‹.…À„wH‹X.H‰C8H‹{èslÿÿ‹ •q.ÓèHD$H‹H…Û…’ýÿÿéUþÿÿDH‹{H�T$¾=oè�ø‹'.…Ò„ßH‹.H‰S H‹.H…ÀtHP(H‰S ‹C-ƒø‡Ûÿ$ÅÀ¿D„L‹kH‹H…Û…ýÿÿéÛýÿÿ¾w¿ÀÆDèéH‹H…Û…õüÿÿé¸ýÿÿ„º‹ Íp.¸Óà9ÂCÂÓèHD$H‹H…Û…¾üÿÿé�ýÿÿ�ºëÎf„ºë¾f„ºë®f„1ÿº¾ÕÆDèïjÿÿH‰Ç1Àèe‹C-ƒø†%ÿÿÿº@ÆD¾%¿ÀÆDè0jÿÿ1ÿº¾xËDè¯jÿÿH‰Ç1Àè%étþÿÿ¶i{.ƒà<…³üÿÿéœüÿÿ€ú.…¥ýÿÿ€x…¯ýÿÿÇdo.é ýÿÿ€H‰þH‹=N{.S1ÉA¸ºè3mÿÿH…ÀH‰Ãt+€{t[ÃHÇC(ÆCH‰Þ[H‹={.éôlÿÿ@1ÿº¾˜ËDèÿiÿÿH‰Ç1Àèuë¸UH‰õSHƒìèòrÿÿH…ÀH‰Ãt/H‰ïèjÿÿHض„Òt„HƒÃHƒÀˆSÿ¶„ÒuîÆHƒÄ[]Ã@AUI‰ýATI‰ôUSHƒìè»iÿÿH�xèBkÿÿL‰çH‰Ãè§iÿÿH�xè.kÿÿA¶UH‰ÅM�EH‰Ù„Òt¶‚`?oHƒÁIƒÀˆAÿA¶Pÿ„ÒuåÆA¶$M�D$H‰é„Òt$f„¶’`?oHƒÁIƒÀˆQÿA¶Pÿ„Òu対ÈÈDH‰ßèÿÿÿ¾ÜÈDH‰ßèøþÿÿ¾ÈÈDH‰ïèëþÿÿ¾ÜÈDH‰ïèÞþÿÿ¶:EuO1Ò„ÀuëGfDHƒÂ„Ét0¶LD�b:LtéH‰ßè)fÿÿH‰ïè!fÿÿHƒÄD‰à[]A\A]ÃG�$¤EäëÖE1äëÑf�AWAVAUI‰ýATUSHƒìL‹M…Àt9‹OL‰À1ÿ€¶PH‹‰Öƒæ@€þHƒßÿÀêƒâ ÑH…ÀußH…ÿA‰MuM‰EHƒÄ[]A\A]A^A_ÃHÿ1ɺ�Î@¾ð×@èÔoÿÿM‹}I‰EI�EL‰l$H‰$M…ÿué}DH‹$L‰<$L‰8M…äthM‰çAöGM‹'tãI‹}ºL‰þèRkÿÿL‹0M…ötzA¶oëI‹H…ÛtXI‹wH‹{èkÿÿ…ÀuGI‰Þ‰èA2F¨8uÚL‰ÿèòdÿÿM…äu�DH‹$H‹L$HÇI‹EH‰HƒÄ[]A\A]A^A_Ãf�I‰M‰>é`ÿÿÿDL‰8H‹D$L‰|$L‰8éFÿÿÿ�f.„H‹é—dÿÿ€¾5Âw.@„öt é�gÿÿ€1ÀÃDAWAVI‰þ¿ÿÿÿÿAUI‰ÕATM‰ìUSHƒì8‹>`.H‰t$dH‹%(H‰D$(1ÀèôeÿÿH‹=­w.1ÒL‰îèmÿÿ‰ßH…ÀH‰ÅIDíèÒeÿÿA‹F¨…F¨…L‰ëI‹~H…ÿt:H‹D$H…À„T¶@¨„ØÀèƒàƒø„Aƒø„�…À„(H‹D$H…Àt ö@„¤M‹~ë,fDA¶GH‰Þƒà8< t <L‰æHEõ1ÒèIgÿÿ…Àt%M‹?M…ÿt}I‹H…ÿtï€?*uÇ€uÁf„L9ítH‰ïè3cÿÿM9ìtL‰çè&cÿÿL9ëtH‰ßècÿÿH‹L$(dH3 %(L‰ø…“HƒÄ8[]A\A]A^A_ÃH‹D$L‹8M…ÿu†E1ÿë›H‹=av.ºL‰îèÄkÿÿH…ÀH‰Ã…ÍþÿÿéÅþÿÿH‹=9v.ºL‰îèœkÿÿI‰ÄA‹FM…ä…–þÿÿM‰ìéŽþÿÿ@A‹F¨…µ¨tTI‹~H�t$L‰d$è}lÿÿH…ÀI‰Çuë3A¶Gƒà8<„ÿÿÿM‹?M…ÿtI‹L‰æèH‹}èEìHƒÄ[]A\A]éæ fDè» D‹EE…À…âH‹uH…ö„ê¿$ÈD1Àèõ‹}…ÿ…­1À¿¹êDèÞL‹e M…ä„©�A‹t$…ö…ëI‹D$H…ÀtEH‹0¿�ÇD1ÀèªI‹D$H‹XH…Ût@H‹31À¿Ä}Dè‰H‹[H…Ûuè¿ ÇD1ÀètI‹t$H…ö„¾¿$ÈD1ÀèZA‹L$…É…�Iƒ<$t1À¿{ÈDè:M‹$$M…ä…]ÿÿÿD1À¿ ùCèè×H‹]0H…Û„¡H‰ßL‰îèïûÿÿH‹H…Ûuíé‰f�H‹HƒÄ1ö[]A\A]éËøÿÿ¿ÁÇDHƒÄ1À[]A\A]éÂf�H‹ ±k.º ¾¿ÙÇDèõ`ÿÿH‹EH‹H�hH…Ût+D¶MH‹=}k.1ÀºçÇD¾HƒÅèÐ`ÿÿHƒëuÚH‹5[k.HƒÄ¿ []A\A]é¿Zÿÿ€»è¾÷ÿÿfDèÓƒëuöH‹E(H‹]0H…ÀtHX(‹E-ƒø‡�ÿ$ÅhÀDD»èv÷ÿÿfD苃ëuöH‹E@H‹]HH…ÀtHX(H‹}èlXÿÿA‰ÄH‹E‹ ‡].L‰âH‰Þ¿üÇDH‹@(HÓêH‰Á1Àè£H‹u(H…ö„†¿ÈD1ÀèŠH‹}0è‘éè<‹ >].IÓìLãH‰¹].HƒÄ[]A\A]ÃfDH‹Oº}ÈDH‹=@j.HƒÄ¾[]A\A]1Àé’_ÿÿf�è«öÿÿ» ¿ÈD1Àèf.„諃ëuöH‹E L‹mH…ÀtLh(H‹U‹ ³\.1ÀL‰î¿ÈDHÓêèÙL‹e(I‹$IƒÄH…Ût/„A¶ $H‹=¬i.1ÀºçÇD¾IƒÄèÿ^ÿÿHƒëuÙèTH‹E‹ R\.HÓèLèH‰Í\.éÿÿÿ„H‹ ai.º ¾¿œÈDè¥^ÿÿH‹]H…Ût@H‰ßL‰îè-ùÿÿH‹H…ÛuíH‹ &i.HƒÄº []A\A]¾¿©ÈDé`^ÿÿH‹w1À¿‰ÈDèH‹5±f.H…öt ¿Ä}D1Àèè¿xÇDé ýÿÿfD¿ŠÇD1ÀèÌéüÿÿ€¿ ùC1Àè´ébüÿÿ€¿\ÉD1Àèœé=üÿÿ€º¾WÇD1ÿèÏUÿÿH‹=ph.‰ÙH‰Â¾1ÀèÇ]ÿÿHƒÄ¾‹¿ÀÆD[]A\A]é¿eÇD1ÀèB靸ÿÿ¿ ùC1Àè1éBûÿÿ¿ŠÇD1Àè é ûÿÿH‹x1ÛéÜùÿÿH‹E H‹0énýÿÿ¾�C¸‹ ¼Z.A¼L‹E ¿ìÇDAÓäL9àLCà1ÀL‰âHÓêH‰ñH‰ÞèÈH‹Eƒx„9ýÿÿèUH‹}é&ýÿÿ¾þŒC¸릾øŒC¸ëš¾ùŒC¸뎾 �C¸낺�ÆD¾Å¿ÀÆDè(TÿÿÇîg.H‹EƒxtN¿aÈD1ÀèH¿tÈD1Àè<é�ùÿÿ€y…ìøÿÿ»éëøÿÿèÞ1Ûéøÿÿ¿\ÉD1Àè éúÿÿ¿VÈD1Àèúë°H‹pH‹=5e.1É1ÒA¸èWÿÿH…Àt%H‹P(¿BÈDH‹JhH‹q(Hp01ÀHr`è¹éþøÿÿ¿IÈD1Àè¨éíøÿÿAT‹äe.UH‰õƒøSH‰û„¿ƒø„ž‹E9Ct[]1ÀA\ÀH‹¿ÂÈD¹ H‰Æó¦tÞ¿ÌÈD¹ H‰Æó¦tÍ¿ÖÈD¹ H‰Æó¦t¼¿ãÈD¹ H‰Æó¦t«Hƒ=‰X.t+H‹uH‰Çè»éÿÿA‰ÄH‹qX.H‹uH‹8è¥éÿÿA9ÄŽvÿÿÿH‰UX.éjÿÿÿƒ „Xÿÿÿ[]1ÀA\À‹G …À…Gÿÿÿ‹E9C…;ÿÿÿéDÿÿÿf�f.„AUATUSH‰ûHƒìHdH‹%(H‰D$81À€t-H‹L$8dH3 %(¸…LHƒÄH[]A\A]Ãf„‹e.H‹G(L‹o0ƒú‹„ïƒúu;w±H‹=—c.H‹hH‰Ú¾ÀOoH‹Gÿ�…À„9Hƒ=ùd.t‚‹ùV.…À„QH‹sH‹=Vc.ºè¼XÿÿH…ÀI‰Ä„˜H‰Æ¿$ÈD1ÀèÁÿL‰çè9RÿÿL‰ç‰Ãè�Oÿÿƒû�NfDƒÃè8ƒû~ó1À¿äÇDH‰ãè„ÿ¸ÿÿÿÿM‰è¹ ÉDI9Å‡Žº2¾H‰ß1ÀèúZÿÿH‰Þ¿$ÈD1ÀèKÿH‰Ú‹ HƒÂ��ÿþþþ÷Ñ!È%€€€€té‰ÁÁé©€€DÁH�JHDÑÀHƒÚH)Úƒú‰Ó@ƒÃè ƒûuóH‹µð¿8ÇD1Àèèþéfþÿÿ¹ÉDéhÿÿÿfDL‹c1ÿº¾@ÌDè QÿÿL‰æH‰Ç1Àè~ýé þÿÿf„º¾ðÈD1ÿèßPÿÿH‰Ç1Àè…þº¾pÌD1ÿèÄPÿÿH‰Ç1ÀèjþÇ`U.éjþÿÿè1Ûé¬þÿÿ@;ƒþÿÿé¾ýÿÿH‹s¿$ÈD1Àè(þH‹{èŸPÿÿ‰Ãéiþÿÿè£Pÿÿ¾„Àt3ƒø?t4ƒø*t/ƒø[t*H‰úëDƒø?tƒø*tƒø[tHƒÂ¾„ÀuæéÁSÿÿ�1Òé‰Qÿÿf„UH‰ýSH‰óHƒì€~u^H‹H9ë”À1ÉH…Òt HƒºÐ•Á8ÁtYH9ë¸t&H‹‚ÐH‰ïH‹0Æè`ÿÿÿ¶’`.…À”À¶ÀˆHƒÄ[]ÄH�~H‰ÖH‰L$è/ÿÿÿ…ÀH‹L$tˆHƒÄ1À[]Ãf.„AWAVI‰þAUI‰ÍATL�f UH‰õSHƒì(H‹YH‰T$L‰D$L‰L$H…Ûu$ë{H‹UL‰áH‰ÆL‰ÿèÿÿÿ…ÀuRH‹[H…ÛtYL‹;L‰ÿèèÿÿH…ÀuÑH‹uL‰ÿè�þÿÿ…Àt)H‹E H…ÀtÎH‹€ÐH…ÀtÂH‹0H‹;èyþÿÿ…Àu³DHƒÄ([]A\A]A^A_Ã�I‹NpL‹L$I‰èH‹T$H‹D$HƒÄ([]A\L‰îL‰÷A]A^A_ÿà@AWI‰×AVI‰ÎAUI‰ýATI‰ôUSHƒìH‹F H‹oHH‹˜�H…Ûu ë9H‹[H…Ût0H‹}H‹3è{êÿÿ…ÀtçH‰ÚM‰ñM‰øH‰éL‰æL‰ïèÀþÿÿH‹[H…ÛuÐHƒÄ[]A\A]A^A_ÄAWI‰×AVI‰ÎAUI‰õATI‰üUSHƒìH‹F H‹¨�H…ít\fDI‹\$ H…ÛuëY@H‹uègýÿÿ…ÀtH‹H…Ût(H‹{H…ÿuâH‰ÙM‰ñM‰øH‰êL‰îL‰çè+þÿÿH‹H…ÛuØH‹mH…íuªHƒÄ[]A\A]A^A_ÃH‰ê1öI‹L$pM‰ñM‰èL‰çAÿ×H‹mH…í…xÿÿÿëÌfDAWAVAUATUH‰õSH‰ûHƒìXL‹gXL‹`dH‹%(H‰D$H1ÀH‹GHH‰T$H‹WPH‹~ H‰L$H�L$0H‹pH‰D$(H‰T$ ºÀÊ@HÇD$0ÇD$8èPJÿÿ‹T$8H‹D$0…Ò…ïI‰ÅH‹D$ H‹} H�L$0ºÀÊ@H‹pHÇD$0ÇD$8èJÿÿH‹D$0H‰$‹D$8…À…ªH‹E L‹°�M…ö„«H‰\$L‰óI‰îë/f„L‹L$L‹D$L‰áH‹|$H‰ÚL‰öèÓüÿÿH‹[H…ÛtoL9넱H;$„H‹+I‹|$H‰îèGèÿÿ…Àu³I‹H‰îè7èÿÿ…ÀtÀL‹L$L‹D$L‰ùH‹|$H‰ÚL‰öèvüÿÿë¡@H‹L$H‹T$H‰îH‰ßè»ýÿÿH‹D$HdH3%(u_HƒÄX[]A\A]A^A_Ã@L‹L$L‹D$H‰ÚH‹L$ H‹|$L‰öèüÿÿéAÿÿÿ@L‹L$L‹D$H‰ÚH‹L$(H‹|$L‰öèñûÿÿéÿÿÿè—Kÿÿ€AWAVAUI‰õATUH‰ýSHƒìHH‹_PL‹XdH‹%(H‰D$81ÀH‹GHH‹~ H‰L$H�L$ H‰T$ºÀÊ@HÇD$ H‹pH‰D$ÇD$(èYHÿÿH‹D$ H‰$‹D$(…À…ÜI‹E L‹°�M…öu(ëzf�L‹L$L‹D$H‰ÙL‰òL‰îH‰ïè5ûÿÿM‹vM…ötTL;4$tvM‹&H‹{L‰æè·æÿÿ…ÀuÃI‹L‰æè§æÿÿ…ÀtÎL‹L$L‹D$L‰òL‰ùL‰îH‰ïèèúÿÿM‹vM…öu³€H‹D$8dH3%(uWHƒÄH[]A\A]A^A_Ãf„L‹L$L‹D$L‰òH‹L$L‰îH‰ïè“úÿÿéYÿÿÿfDH‹L$H‹T$L‰îH‰ïèÓûÿÿë™èJÿÿf�f.„AWI‰ÏAVAUI‰õATI‰üUSHƒì8H‹_PdH‹%(H‰D$(1ÀH‹GHH‹~ H�L$H‰$ºÀÊ@HÇD$H‹pH‰D$ÇD$èàFÿÿ‹D$H‹l$…À…ŸI‹E L‹°�M…öuëMDM‹vM…öt?I9îtZH‹{I‹6è^åÿÿ…ÀtâL‹$L‰òM‰ùH‰ÙL‰îL‰çè¢ùÿÿM‹vM…öuÊf„H‹D$(dH3%(uDHƒÄ8[]A\A]A^A_Ã�L‹$H‹L$M‰ùL‰òL‰îL‰çèVùÿÿéyÿÿÿ�H‹$L‰ùL‰îL‰çèžúÿÿë¬èçHÿÿ€AVI‰ÎAUI‰ÕºÀÊ@ATUH‰õSH‰ûHƒì L‹gHH‹~ H‰áHÇ$dH‹%(H‰D$1ÀI‹t$ÇD$è¾Eÿÿ‹D$H‹$…Àu:H…ÒtM‰ñM‰èL‰áH‰îH‰ßè¹øÿÿH‹D$dH3%(u$HƒÄ []A\A]A^Ã@L‰ñL‰êH‰îH‰ßèçùÿÿëÌè0HÿÿUSH‰ûHƒì¶°X.ƒà<tQH‹+H‹WM.H…Ûuë0„H‹H…Ût H‹{H‰îèL÷ÿÿ…Àuè¸HƒÄ[]Ã@HƒÄ1À[]ÀH‹¿ðH…ÿt£H‹GH‰õH‰Þÿ�…Àt�H…ít»H‹u0¿ÉD¹ ó¦•À¶Àë¨�f.„UL‰ÎH‰×L‰ÍSH‰ÓHƒìè9ÿÿÿ…ÀuHƒ{htHƒÄ[]ÀöC u쀥�ûëã�HƒìH‰ø¹ dH‹4%(H‰t$1ö¿!ÉDH‰Æó¦t¿.ÉD¹ H‰Æó¦u7H�x º H‰æèöMÿÿH‹ $1Ò€9HDÐH‹t$dH34%(H‰ÐuZHƒÄÃ�¿;ÉD¹H‰Æó¦t¿CÉD¹H‰Æó¦u.H�xº H‰æè�MÿÿH‹$€:uºÿÿH)Âë¡f.„1Òë“èwFÿÿ€USHƒìƒÿ‡¡‰ÿH‰óÿ$ý�ÀDDH‹>H‰ $èÿÿÿH‹ $H‰ÅH‹9èõþÿÿH…ÀH‹ $tH…ít‰î)ƉðuE€H‹;H‹1HƒÄ[]égIÿÿ€H‹1H‹;L‰D$H‰$èLIÿÿ…ÀH‹$L‹D$uA‹+HƒÄ[]ÃA‹+uï므º0ÆD¾©¿ÀÆDèÜDÿÿf�f.„AVAUI‰ýH‰×ATI‰ôL‰ÎUH‰ÕSèTýÿÿ…Àt[]A\A]A^À¿I�]hèâFÿÿA‹UI‰ÆHÇ@HÇ@H‰(…Òu.ÓøH˜HD$H‹U8I‰ßH‰D$H+B(HÓàH‰B8é{ÿÿÿH‹U8H‹D$¾=oH‹{H+B(H�T$H‰C0H‹E8H‰C(è¼Å‹C-ƒø‡ ÿ$ÅøÁD@H‹E8L‹kI‰ßH‰C éÿÿÿ@H‹E8I‰ßH‰J.éÿÿÿDM…äH‹st/H‹¾ðH�L$ ºÀOoH‹Gÿ�¨…À„T‹D$ …À…HI‹L‹D$L‹M8H‹@·P$f�â€f�ú„Œö@!€…º‹M|ƒùÿ„‰HpA9IpsA‰Ip‹HpA»IÓãK�TÿI÷ÛI!ÓL‰ÚL)Â…žI‹Q(L‰ÁH)ÑH‰H`‹ ‚=.H‹@8HÓèIÀL‰ÀH)ÐHÓàI‰A8L‰D$I‰ßé&þÿÿfDH�{0H‹L$E‰ñM‰àL‰êH‰îI‰ßèÓüÿÿH‰D$éùýÿÿf„ƒ»„ÿI‰ß„àýÿÿH‹{XH…ÿ„^€£�þH�T$¾=oè-Ä‹=·J.…ÿ„?H‹ J.H‹‰J.H…ÀH‰T$t HP(H‰T$H‹C8H…ÀH‰Â„zýÿÿH‹ WH.H‹I‹Iƒéƒù†dH�ú=oH‹D$„"Hƒ{X„lD‹»€E…ÿ޲D‰ù¾HÓæH‰ñH�t0ÿH÷ÙH!ñH‰ÎH)ÆH‰4$tR‹5@I.…ö„܃=ÍI.t;H‹C0º¾(ÎD1ÿH‰L$H‰D$èœ6ÿÿH‹$H‹t$H‰Ç1Àè ãH‹S8H‹L$€J$H‰J0H‰J(HÇB`H‹SPH�{E‰ñM‰àH‰Þèfûÿÿ¶ƒ�H‹S8ƒÈH�ú=oˆƒ�„¥¨…�‹{xH‹r(‹ ˜;.H‹B8H‰t$L�D>ÿHÓèH÷ßLÀH!øH)ðHÓàH‰B8L‹C@M…À„ÿH‹{`H…ÿ„*1öºNÉDL‰$èâÌH‹s8L‹$H‰F0¶“�I‰ßƒÊH�þ=oˆ“�„æûÿÿƒâ…Ýûÿÿ‹F ¨…Z%=„H‹F8H‹T$‹ ë:.HÓèH‹{hHÂH‰T$H…ÿtH�T$¾=oH‰$èüÁH‹$H‹s@H…ö„wûÿÿH‹S8I‰ßöB „jûÿÿH‹L$E…öH‰N8…bH‹sHH…ö„GûÿÿH;s@„=ûÿÿH‹S8öB „ÙH‹J0I‰ßHÈE…öH‰F8„ûÿÿH�{81ÒèqÒÿÿé ûÿÿ@HÇCH‹U8I‰ßH‹D$H+B(H‰Céçúÿÿ€H‹L$E‰ñM‰àL‰êH‰î¿€OoI‰ßè’ùÿÿH‰D$é¸úÿÿ„H�{é‹üÿÿ€¾A¿ÀÆDI‰ßè¾áé‰úÿÿf„AÇ$é«ûÿÿƒ=9G.„ÕüÿÿH‹C0L‹{X1ÿº¾ÍDH‰$è4ÿÿH‹$H‰ÇL‰þ1Àèuàé¢üÿÿ¸‹ ]9.ºÓâ9ÐBÂÓèévúÿÿf�¸ëÞf„¸ëÎf„¸ë¾f„L‰ÂI+Q(H‰P`é�ûÿÿHƒz8„‰ýÿÿ¾Ù¿ÀÆDèæàéuýÿÿ�H‹ G.H…À„H9Äùÿÿ¾ê¿ÀÆDè¸àéìøÿÿ1ÿº¾�ÎDè/3ÿÿH‰Ç1Àè¥ßéŒúÿÿH‹ÁF.H…À„NH9İøÿÿ¾ó¿ÀÆDèhàéœøÿÿº`ÆD¾†¿ÀÆDèL2ÿÿ@H‹P(I+Q(H‰P`éÔúÿÿ€ö@#„’ûÿÿH‹SH…Òt Hƒ:„ÍL‹{0º¾`ÍD1ÿèŽ2ÿÿL‰þH‰Ç1ÀèßH‹SH‹C8H‹RI‰ßH‹J(H‹R8€H$H‰H0H‰H(H‰P8镸ÿÿD€x„øÿÿé øÿÿ�‹Hpéíùÿÿ%=„ÃH‹F8H…À„àH‹T$Hƒ{H…’üÿÿ¶ ÔB.ƒá€ù„üÿÿI‰X@évüÿÿ€Hƒ{X…ûÿÿéXûÿÿH‹ñB.H‹@ƒx…õ÷ÿÿéè÷ÿÿfDH‹SHH…Ò„öƒ�@H‹B8„ËH$H‹s8H‰F0éÃûÿÿf„‹ ò6.L‰îL‰ÿL‰\$H‰D$L‰ $HÓâL‰Éè«ïÿÿL‹\$H‹D$L‹ $M‰Øé'ùÿÿH‰ÁHÇ$éµúÿÿ¶þA.ƒà<…ÕùÿÿH‹*uT¿$‹C¹ ó¦uFD‰Á‰Î‰ÈƒæƒÈ ƒþDÈH‹„5.H…Àt…HHt…HLtH‹@H…Àuí1ö¿$‹CèàóÿÿH‹S8H‰C@öƒ�…©‹J öÁ„��á�ù„‹¶ Æ@.ƒá€ùt|E…ötwH‹0A¹$‹C¹ L‰Ïó¦ubL‹ý4.M…ÀtVI‹0¹ L‰Ïó¦uIƒxt@ƒ=»B.t7€=ŽA.L‹:¾˜ÍDºu¾àÍD1ÿè‡/ÿÿL‰þH‰Ç1ÀèúÛH‹C@H‹S8H‹@8D‹zpéeøÿÿ¶.@.ƒà<„ÑùÿÿH‹T$1Àé×ùÿÿH‰àB.éäôÿÿI‹P@H…Òt-H‹J8H‹T$H9Q(‡¦ùÿÿéýÿÿöƒ�@I‰ß„JõÿÿéúÿÿH‹~0H9~(…Üüÿÿétùÿÿf�1ö¿$‹Cè”òÿÿI‰Àéíøÿÿ1ö¿$‹Cè€òÿÿH‹T$ H‰P8éùôÿÿH‰cB.é_ôÿÿH‹J(H‹SXH�{8H‰$èAÌÿÿH‹$é€ùÿÿI‹@@H‹s8H…À„ÁøÿÿöF „·øÿÿH‹P8H‹D$H‹z(H9dž L‹N8M…É„“‹ Ì3.IÓéL‰ÉHÁH9ÏrH;z0„vøÿÿL‹{0º¾`ÎD1ÿL‰$è#.ÿÿL‰þH‰Ç1Àè–ÚH‹s8L‹$éCøÿÿf„¾~¿ÀÆDH‰$è]ÛH‹$E1ÿHÇ$H‰Áéj÷ÿÿƒz…)ûÿÿéNûÿÿƒ»Œt3HB0H)øE…ÿ~ºD‰ùHÓâH�DÿH÷ÚH!ÐH‰F0éÍ÷ÿÿ‹J é ýÿÿH‹B8‹ ù2.HÓèHB0ëÁè³-ÿÿAWE‰ÏAVI‰ö1öAUE‰ÅATI‰üH‰ÏUH‰ÕSH‰ËHƒìèöðÿÿH…ÛI‰•Ãt3E…ÿu.¿$‹C¹ H‰îó¦u„ÛI‰$u'HƒÄ[]A\A]A^A_ÃfD1öH‰ïè®ðÿÿ„ÛI‰$tÙE…ítÔ¾°ÎD1ÿºèà,ÿÿHƒÄH‰Ç1ö[]A\A]A^A_1ÀéFÙfDAW¸$‹C¹ I‰÷AVAUI‰ýH‰ÇATUSHƒì󦄿¹ L‰îH‰Ç󦄬L‹5­1.M…ö„ÉE1ä�L‰óë H‹[H…ÛtDM…äH‹+„ÓL‰îH‰ïèè/ÿÿ…ÀuÜ1ÿº¾(ÏDè3,ÿÿ1öH‰ÇL‰ê1Àè¤ØH‹[H…Ûu¼M‹vM…öu¢M…ätb¿èCèÿÿL‰ïH‰Ãèø-ÿÿH‰I‹D$H‰CI‰\$HƒÄ[]A\A]A^A_Ã1ÿº¾ðÎDèÇ+ÿÿ1öH‰Ç1Àè;ØL‹5ä0.M…ö…7ÿÿÿº¾hÏD1ÿèš+ÿÿL‰éH‰ÇL‰ú1ö1ÀE1äèØésÿÿÿL‰þH‰ïè/ÿÿ…ÀMDæéÿÿÿf.„H‹‡¨Ã„AW1ÉAVI‰þAUA‰ÕATU‰õH‰þ¿@DoSHƒìèk/ÿÿH…ÀH‰Ã„¯L‹`HM…ä„ÒE…ítv�ý}un1ÿL‰â¾@DoèÆ¸ÿÿH…À„µH‹H‰H‹SH‰PH‹SH‰PH‰L�xL‰`H‰¨œHƒÄL‰ø[]A\A]A^A_Ã@…íu…ÀyH‹H…Àt L;`HuH‰Ã‹ƒœ9èuÝL�{ëÁ€E1ÿE…ít²énÿÿÿE1ÿE…ít¢1ÿº¾°ÏDèW*ÿÿL‰öH‰Ç1ÀèÊÖë‚„M‰ôédÿÿÿº¾°ÏD1ÿè'*ÿÿL‰æH‰Ç1ÀèšÖE1ÿéLÿÿÿf�Hƒì1ÒA¸€<@¹°@@¾è¿€EoèPq¹=º°¾ÀÌ@¿@DoHÇI.ÐDoèÜ,ÿÿ…Àu1ÿº¾ØÏDè·)ÿÿH‰Ç1Àè-ÖH‹.1Ò¾1ÿHÇH‰@HÇ·9.HÇ´9. OoHÇá9.HÇÞ9.`OoHÇû-.HÇø-.�Coè[ìÿÿº1ö¿XÉDH‰0/.èãýÿÿHǨ..H‰a9.HÇ@8=oHÇ.9.pDoHƒÄÃf„SH‰ûƒ{w‹Cÿ$Å ÂD@H‹[ƒ{vèfD[ÃfDH‹{èÇÿÿÿH‹[ ëÅ�H‹{è·ÿÿÿH‹{ è®ÿÿÿH‹[(묄‹�ˆÀþÿÿƒùw»¸HÓਠt¯H‹{1Ò1öè*ýÿÿH…Àt�Hƒx8u–[1öH‰ÇëfDAT¹ U‰õSH‹w0H‰û¿ÉDó¦„��»„}teH‹s0H‹=J9.èe*ÿÿH‰C8H…À„€H‹{XH‰@hHÇ@`H‰˜¨H…ÿtè÷þÿÿH‹{`H…ÿtèéþÿÿ‹ƒ€ƒøÿtH‹S8‰Bp[]A\Ãf�H‹C8ë©f.„1ÿº¾ÐDè¯'ÿÿ¾ÉDH‰Ç1Àè ÔéZÿÿÿH‹s0H‹=­8.‰êè¶&ÿÿH…ÀH‰C8…aÿÿÿH‹’8.L‹c0º¾(ÐD1ÿH‹@H‹(èV'ÿÿL‰âH‰Ç1ÀH‰îèÆÓH‹C8é%ÿÿÿf.„ATU‰õSL‹g0H�_èL9gðt¾Ï¿ÀÆDè}ÔDH‹H…Ût(L9cHu"‹ƒœ9èt…íuä…ÀxàH�C[]A\À[]1ÀA\Ã�AW‰ðƒàAVI‰þ‰÷ƒç AUI‰ÍATUSHƒì8‰D$,‰ð‰t$ %H‰T$‰|$ ‰D$$‰ð%@‰D$(H‹ô6.H‹X H…Û„p€H‰ÝH‰\$‹\$ E1äL‰ðM‰æI‰Ä„H‹u8D‹½ˆH…öt"M…íD‹~ tI‹”$ðL‰áH‹=E7.AÿÕ…ÀtA1ßA�ç@LDõH‹m H…íu·L‰àM‰ôH‹\$M…äI‰ÆM‰ç…Wƒ|$,D‹d$ „íƒ|$ „2�|$$„¤�|$(@„‹D$ %=„­öD$ „E1ÿH…ÛD‹d$ tZf.„H‹s8‹«ˆH…öt M…í‹n tI‹–ðL‰ñH‹=x6.AÿÕ…Àt D1åƒåLDûH‹[ H…Ûu¾M…ÿ•À„À…‡M…í„~H‹�5.E1íHÇD$H‹X H…Û…—þÿÿƒ|$,…ÿÿÿE1ÿëÇ€H‹s8‹«ˆH…öt M…í‹n tI‹–ðL‰ñH‹=è5.AÿÕ…Àt D1å�å@LDûH‹[ H…Ûu»éhÿÿÿfDE1ÿH…Û„dÿÿÿD‹d$ ë*D© u�å@LDû€H‹[ H…Û„%ÿÿÿH‹s8‹«ˆH…öt M…í‹n tI‹–ðL‰ñH‹=[5.AÿÕ…ÀtĉèD1à© @u I‰ßë³H…ÛI‰ßtoD‹d$ 1öE1ÿD‰áAƒä�Éë!€¨uE…äuFI‰ßH‹[ ¾H…Ût5H‹S8‹ƒˆH…Òt‹B ‰Â1Ê÷ÂtÈ…öu�âLDûH‹[ H…ÛuËHƒÄ8L‰ø[]A\A]A^A_ÃE1ÿH…Û„[þÿÿ‹|$ ‰ø%‰ÅL‰èM‰õ‰l$I‰Æ‰ýë!DA�ä@t ‹D$…ÀLDûH‹[ H…ÛtIH‹s8D‹£ˆH…öt!M…öD‹f tI‹•ðL‰éH‹=B4.AÿÖ…ÀtÆD‰à1è©u§I‰ßH‹[ H…Ûu·L‰ðM‰îI‰Åé·ýÿÿE1ÿH…Û„¹ýÿÿD‹d$ @H‹s8‹«ˆH…öt M…í‹n tI‹–ðL‰ñH‹=Ø3.AÿÕ…Àt D1å�å@LDûH‹[ H…Ûu»éXýÿÿH‹D$H…À„ßþÿÿL‰ é×þÿÿH…ÛI‰ß„Ëþÿÿ‹L$ E1ÿH‹S8‹ƒˆH…Òt‹B 1ÈöÄ LDûH‹[ H…ÛuÜé›þÿÿ@ATE1äUSHƒÄ€H‹-Î&.dH‹%(H‰D$x1ÀH…턲DH‹U ‹BDÁè©@…‹öEH…�H‹š�H…Ûuës¾H‰ßèsÁÿÿH‹[H…ÛtZH‹ChH…ÀtH‹ Ú2.H9ˆðtÞ÷C 0uÕE…äuú¾ªÉD1ÿè’!ÿÿH‹=34.H‰Â¾1ÀA´è‰)ÿÿë—€H‹m0H…í…Sÿÿÿº¾^ÉD1ÿèR!ÿÿH‰Ç1ÀèøÎ1ÿº¾vÉDè7!ÿÿ1ÿº¾�ÉDI‰Äè#!ÿÿ1ÿº¾ˆÉDH‰Åè!ÿÿ1ÿº¾�ÉDH‰Ãèû ÿÿH‹=œ3.L‰$$I‰éH‰ÁI‰Ø1Àº”ÉD¾L�d$èá(ÿÿH‹-ú%.H…í„Ý�H‹MH‹=]3.ºÆÉD¾1Àè´(ÿÿL‹E ºd¹ÉD¾L‰ç1Àè×)ÿÿL‰æ¿ÍÉD1Àè(ÎL‰â‹ HƒÂ��ÿþþþ÷Ñ!È%€€€€té‰ÁÁé©€€DÁH�JHDÑÀHƒÚL)âƒú‰Óf„ƒÃèxσûuóH‹u(1À¿=ÈDèÃÍHƒ}Ht‹UH…Ò…‹EL…À…ÖèaÏH‹mH…í…$ÿÿÿ1ÿº¾hÐDèÓÿÿH‹=t2.H‰Â¾1ÀèÍ'ÿÿöŠ0.u/1Ò¾è¿ EoA¸€<@¹°@@èøfH‹=‰0.1Ò¾àû@è5%ÿÿH‹^%.ƒç#.H‹-°/.H…ÛtH‰ßH‰îèýÁÿÿH‹H…ÛuíH‹ö1.H‹=g0.¾ÀOoè=½H‹D$xdH3%(u?Hƒì€[]A\Ã@¿ÓÉD1ÀèÄÌ‹}Lèì¯ÿÿéÿÿÿ€èK΋}HèÓ¯ÿÿéíþÿÿè)ÿÿf„AVI‰Ñ¸H‹ï/.AUI‰ý¿ÉDATUH‰ÍSH‰óD‹f H‹q0¹ ó¦A—À’ÁA8Èt D‰àÁèƒàöa/.t A÷Ä u5…Àu1M…ÉtH‹BL‰ÎH‰Ú¿ÀOoÿ�ð…ÀtHƒ{ht$[]A\A]A^ÃHƒ{huíHÇCh=oë〶/.E‰æA�äûýñÿA�æÿýÿÿƒà<‹…ŒEEôƒø„HD‰òƒâþƒøDDòH‹M8H…É„¢D‰ð¶Q$ƒÈ÷#A ö‰A …ÕƒÊD ðH‹»ðˆQ$H‹Þ..A¸ÀOo‰A H‰ÞH‹Bÿ�HA÷Æ€t‹“ÄH‹E8‰�Ä€A�æ…ãH‹E8‹Sp;Ppv‰Pp‹~#.H‰Ch…Òu0H‹�H‰˜HǃH…ÒH‰“„ÝH‰š¿èdÙÿÿÇ@HÇI‹UH‰I‰EH‰Xé¦þÿÿf�D‰ò‰Æƒâ÷1Ö�æ€uA÷Æ€tu‹»Ä9¹ÄtgA�æ÷ÿþ%ÿÿþD ð‰A é8ÿÿÿH‹Ù-.H‹@ƒxtDAƒæüA�Îé¤þÿÿ€H‹»ðèH‹H…Ût&‹Cƒø uæH‹{H‰îèÂÿÿÿö…�uÛf„HƒÄ[]Ãf„H‰ê¾°÷@H‰ßè�ýÿÿö…�u©HƒÄ[]ÃH‹=I.H‰îèqÿÿÿö…�uŠHƒÄ[]Ã�AUA½ATI‰ôUH‰ÕSH‰ûHƒìH…ÿt2f�ƒ{w"‹Cÿ$Å(ÅDH‹=ù.H‰êL‰æè¾ÿÿÿfDH‹H…ÛuÐHƒÄ[]A\A]ÃDL‹cëâf.„H‹{è'Üÿÿ‹…Œƒø„°1öƒø@•Æ�´vH‹E8H…À„ƒ p ëžfDH‹{H‰êL‰æèAÿÿÿ뇀H‹CHH…Àt ƒx„•H‰ê¾À"AH‰ßèuüÿÿHƒ=½ .…OÿÿÿH‹C H…À„BÿÿÿA¸ëf�H‹H…À„,ÿÿÿH‹pH…ötë¿,ÊDL‰Áó¦ußH‰-x .é ÿÿÿH…ít Hƒ}8„`H‹{èGÛÿÿéêþÿÿf�‹ƒ„…À„ê-{ƒø‡Ìþÿÿ€‹�H‹{H‰ÞèÑýÿÿ¶ƒ�1ÒÀèƒà�»„{”Â9Є¥Çƒ„ÿÿÿÿé†þÿÿfDH‹C H…Àt ‹@…À…lþÿÿH‹{º1öèdØÿÿHƒx8H‹SH‰PX…Iþÿÿ1öH‰Çè7Ûÿÿé:þÿÿf�H…í„/þÿÿHƒ}8f�…"þÿÿ1öH‰ïèÛÿÿéþÿÿH‹�.¾H‹@ƒxAEõéCþÿÿH‹{H‰ÚL‰æè™ýÿÿéÜýÿÿ@‹S…Ò…`þÿÿ¾�ù@H‰êH‰ßèÕúÿÿH‹shH…ö„SþÿÿH‰êH‰ßè}éÿÿHÇChé;þÿÿ1öH‰ïè†Úÿÿé‘þÿÿ�UH‰õSHƒì‹…ÀuqH…ÿH‰ûtiH;=j.u2ë^fDƒø t5ƒøuH‹=7.H‰îè¿ÿÿÿH‹H…Ût7H98.t.‹Cƒøt6wÌ…Àf�ußH‹{H‰îè’ÿÿÿH‹H…ÛuÓf.„HƒÄ[]Ãf„H‰ê¾ÀÛ@H‰ßèúÿÿëŸ@f.„AVAUATUSH‰ûHƒì dH‹%(H‰D$1ÀH…ÿtDA‰öA‰ôA‰õAƒæAƒÌƒ{w"‹Cÿ$ŨÅD„H‹=i.D‰îè¡ÿÿÿ�H‹H…ÛuÐö.t ¿ÍùD1Àè3®H‹D$dH3%(…¨HƒÄ []A\A]A^Ãf�H‹�.H‹h0ëH‰ÅH‹{D‰æèAÿÿÿH‹b.H‹@0H9èuáë�€H‹CH‰=.éxÿÿÿ„H‹{‹G(…À„aÿÿÿè ŽéWÿÿÿ€H‹{D‰îèäþÿÿé?ÿÿÿ€E…öu[H‹kH…ítR¾E„Àt4ƒø?tEƒø*t@ƒø[t;H‰êëfDƒø?t+ƒø*t&ƒø[t!HƒÂ¾„ÀuæH‰ïèÆ™ÿÿH…À„ DH‹{0D‰îèlþÿÿéÇþÿÿ€¶CI¨„»H‹m.E…íH‰S@t4E…ö…¨t'H‹K H…Ét¶QDƒâ€ú„N€ú„ðDH‰æH‰ßH‹-«.HÇ$H‰d$èqòÿÿ…ÀtuHƒ<$tMH9-‡.t}H‹kº¾ðÑD1ÿèøÿþÿH‰îH‰Ç1Àèk¬H‹\ç-H‹$H‹@H‰H‹Jç-H‹T$H‰PH9Ú.…ìýÿÿHÇÉ.éÜýÿÿ@Çò.é|ÿÿÿf„H‹D$H‹H9™.H‰H‹$H‰…¡ýÿÿë³€Hƒ=x.…ÿÿÿéêþÿÿöAE„ ÿÿÿ€{H‰ÿÿÿH‹Aƒx…óþÿÿH‹�øö€„ „ßþÿÿ¶CIƒàýƒÈˆCIéÍþÿÿH‰ïè5öÿÿéXþÿÿ¨tÝé·þÿÿ€è+ÿþÿ�f.„‹V.…Àt…öuH‰=ç-Ç=.óÃDf.„AWI‰÷AVA‰ÖºAUM‰ÅATI‰ÌUL‰ÍSHƒì‹t$@è5ÓÿÿHƒxXH‰ÃH‰~.„º1ÀAƒþDÂH�{D‰³Œ‰ƒˆÇCxèÅÀÿÿ�|$H¶ƒ�”ƒà¿Áâ Ш@ˆƒ�t"M…ät¾0ÒD1ÿºè þþÿ1öH‰Ç1À誾ÿÿÿÿº3ÊDL‰ïè�“…À¾ÿÿÿÿx1öºë ƒÆÒƒþ tf9Ârò‰s|º6ÊD¾ÿÿÿÿL‰çèe“…Àºÿÿÿÿx1Ò¹ë ƒÂɃú t&9Árò‰“€H‰k`HƒÄH‰Ø[]A\A]A^A_ÃfD1ÒëÚ@1öëš@L‰xXéçþÿÿ€SH‹Àä-¿è~¹ÿÿHÇÇ@ H‹SH‰H‹rå-H‰CH‰P[ÄH‹9.H…Àt@H‹P HÇ@@H‰P8H‹@H…ÀuçH‹P .H…Àt€ �üH‹@ H…ÀuðH‹á .H‹€�H…Àt DH‹P8HÇ@8H‰P@H‹@H…ÀuçóÃóÃHƒìƒ=•.t"1ö1ÿÇ….ÇË.èFêÿÿèQÿÿÿ¶=- .H‹ à .L‹l .ƒçH…ÉtM@‹�„…Àx6H‹q8H…öt-Hƒ~@u&D‹N A÷Á uL‹FM…ÀtI9pt!f.„H‹I H…Éu·HƒÄÃI9²˜uéH‹†H…Àt&D‹P öÆ€u �âuÈ@„ÿuÃH‹€H…Àuß¶��¨u ƒÈˆ��H‹FA�É€D‰N H…ÀtM…ÀL‰@t&I‰@Aƒª éuÿÿÿDM…ÀM‰‚�uÞ@I‰‚˜ëÕ€AVÇT.Çš.AUATU‰õSH‰ûè éÿÿƒ=ƒ.tÇw.[]A\A]A^ÃfDöÔ .„H‹l.H…Ò„H‹l.H‹ M.AºL‹-8.D‹ A.L�tÿH÷ØH)ÊI‰ÐI!ÆH‹Ñ .M‰ôI)ÌH‹€˜H…Àt`€‹P öÂtHH‹p(L9îr?L9Æs:�âH‰÷�út H‹x8D‰ÉHÓïH÷‹HpIôL‰ÖI)üHÓæH÷ÞI!ô€H‹@H…Àu§M9ìÇ’ .‚äL‰%� .èýÿÿ‰îH‰ßèöçÿÿH‹‡ .I9Æ‚–H‹g .H‰� .H‰� .éÕþÿÿ@H‹ i .H‹5B .H‹=S .H�AÿH‰òH÷ÚI‰ÀI!øH!Є™þÿÿM…À„�þÿÿH‰ÊH1þH÷ÚH…ò„~þÿÿLÀH9Á‚rþÿÿÇé .ètüÿÿH‰ß‰î[]A\A]A^éRçÿÿf�L‰-Ñ .èTüÿÿ‰îH‰ßè:çÿÿH‹Ë .éHÿÿÿfD¾¬¿ÀÆD試L‹-š .éÿÿÿf.„SHƒìdH‹%(H‰D$1Àƒ=ì .v#…ÿ…€H‹D$dH3%(…ŒHƒÄ[�Ë9 .Ç/ .…ÛtQ¸ÿÿÿÿë�‹ .ƒÀ¿‰ .è·æÿÿè’ûÿÿH�|$1öÇD$è>ýÿÿ‹D$…Àuƃß .ƒëu²¿è€æÿÿè[ûÿÿ¾1ÿèýÿÿé`ÿÿÿè•øþÿDH…ÿSH‰ût¿è}´ÿÿH‹v .H‰XH‰H‰h .[ÃfDAWAVAUATA‰ÔUH‰ýSH‰óHƒì(H…ötDE1Àºëf.„I‰ØH‰ÃH‹sH…öt¿,ÊDH‰Ñó¦u Ççý-H‹L‰H…ÀuÐH…í„úH‹UH…Òt¾<*…m€z…8HÇEL‹5ß-¿xèÀ³ÿÿHÇÇ@I‰ÅI‹FL‰(M‰nH‹EI‰E1Àƒ}”ÀA‰EH‹EI‰EpI�E0H…ÛI‰] E‰e(IÇE0I‰E8IÇE@àð@IÇEHIÇEPIÇEXIÇE`IÇEh„†H‹CH…ÀH‰ÇH‰D$tuI‰ÙÇD$A¿@¾„Ét;ƒù?tTƒù*tOƒù[tJH‰úëDƒø?„‡ƒø*„~ƒø[tyHƒÂ¾„ÀuÞM‹ M…É„ÃI‹yAƒÇH…ÿu¥DHƒÄ([]A\A]A^A_ø*@ƒø?„¾þÿÿƒø*„µþÿÿƒø[„¬þÿÿHƒÂ¾„ÀuÚǨú-é’þÿÿƒù[t«1É뀃ø?tƒø[tH‰ñ¶TH�q„Òt†¾Âƒø*uÞHƒþ†tÿÿÿ€ú*…kÿÿÿ€|…`ÿÿÿM‹ ƒD$M…É…=ÿÿÿAƒÿ�EÿÿÿH‰ØL‰l$H‰\$L‹ M…ä„2L‹pM‰åA¶.@¾ÝD@„íI‹u„ƒû?„¯ƒû*„¦ƒû[„�1Òë@@¾Çƒø?tƒø*tƒø[tHƒÂA¶<@„ÿußD¶1ÉE„Àu$ë+f.„ƒø*tƒø[tHƒÁD¶E„Àt A¾Àƒø?uß@€ÿL‰÷HƒÒA€øHƒÑH9ÑHFÑè`÷þÿ…À„hþÿÿM‹mM…í…CÿÿÿL‰àéÿÿÿ‰ï1Òë†H‹-.Ü-¿xèì°ÿÿI‰ÅHÇÇ@H‹EL‰(L‰mIÇEAÇEIÇEpé,ýÿÿ1ÿ1Òé3ÿÿÿD‰øL‹l$H‹\$ÁàD$=„õ޶=„Ê=…¿ýÿÿIÇE@ ñ@H‹T$H‰Þ1ɾ„Àuë,@ƒø*tƒø[tHƒÂ¾„Àtƒø?uæH‹6H…ötH‹VëËHcÁƒÁI‰tÅHëåL‹d$A¾$„Àuë*ƒø*tƒø[tIƒÄA¾$„Àtƒø?uäHcÁƒÁI‰\ÅHH‹H…Û„%ýÿÿL‹cë¹=t%=… ýÿÿIÇE@`ð@éIÿÿÿIÇE@ ó@é<ÿÿÿIÇE@Pö@é/ÿÿÿIÇE@ õ@é"ÿÿÿf„AUI‰ÕATI‰ôUH‰ý¿(SHƒìH‹™Ú-è\¯ÿÿÇ@HÇH‹SH‰H‰CH‰hL‰`L‰h HƒÄ[]A\A]Ãf�f.„Hƒ=p÷-t…ötH‰=c÷-‰5á.óËÖ.…ÀuñH‰=G÷-‰5Å.ëâ€H‰=!Ú-ÄUH‰ý¿SHƒìH‹óÙ-è¶®ÿÿÇ@ HÇH‹SH‰H‰CH‰hHƒÄ[]Ãf�¶‹Oø-¹„ÀtfDH9ÐtHH‹JH9Èt?H‹pH‹xH…ö„?H‰~H…ÿ„H‰wH‹JH…ÉH‰HH‰PH‰B„åH‰AHƒÀHƒ|$@H‰E„‹H‹E H…À„ H‹H‹D$HH‰H‹E H‹T$@H‰H‹šÔ-H‹L$@H‹PH9 „€H‹D$HH‹t$H‰E H‹HÇH‹U(H�JàH‰H(H‹ H…ÉH‰H tH‰A(H‰HƒÀ H‰E(H‹D$Hƒ8„BH‰ØH‹\$XdH3%(… HƒÄh[]A\A]A^A_Ã@1ÿèQxI‰ÇéMýÿÿf„I‹D$@H…À„BH‹0I‹D$HH…À„)H‹I‹T$p1ÿèüÿÿé¤ýÿÿDL‹|$ A¶„À„ˆ€¶Ðö„À8oŒu<_…+IƒÇA¶„ÀußL‰ÿH+|$ HƒÇ è¾íþÿI‰ÂH‹ý-L‹D$ 1ÿ¹pÊDHÇÂÿÿÿÿ¾L‰T$(H‹@¶@„ÀAˆ@•Ç1ÀL×è õþÿ¾õ©F¿è]{L‹T$(1ÒH‰ÆL‰×èË|H‰ÇèsúÿÿH‰D$(é¥üÿÿf„H‰ñû-é²þÿÿ@H‹PH‹HH…Ò„�H‹5xü-H‰JH…É„}H‰QH‹–˜H…ÒHÇ@„MH‰PH‰BH‰†˜éºýÿÿL9%�û-t_I‹T$8H…ÒtH9ÂtPHƒÂH‰Ué9ýÿÿI‹L$(H…Ét9f„‹‘„…ÒxH‹Q8H…Òt Hƒºðu¾H‹I(H…ÉuÚf.„H‹ Éû-H�‘�H‰Uéßüÿÿf„H‹T$HH‰Pérýÿÿf�H‹™û-H‰‚�é ýÿÿDH‹=�û-H‰·˜éÛüÿÿDL‹iû-I‰¸�é²üÿÿD1ÉéÓýÿÿ�¾$‹Cé·ýÿÿfDL‰çIƒÄ èvÿÿH‹T$HH‹H‰ H‹T$@H‰L‰e(éÏüÿÿ„HÇD$(éþúÿÿHÇ@H‰†�é§þÿÿH‰–˜é‚þÿÿH‹5Ûú-H‰Ž�é[þÿÿL‹|$ ¿ é�ýÿÿèÛéþÿ�f.„H‹GH‰0H‰WÃ@Hƒ=àù-t…Éu‹hû-ƒøtƒøt"H‰=Ãù-óÃf„H…öHEþëå€H…ÒHEúëÕ€ATA‰ôUH‰ý¿ SH‹’Ð-èU¥ÿÿHÇÇ@H‹SH‰H‰CH‰hD‰`H‹%ð-[]H‰$ð-A\Ã�SH‹PÐ-¿ è¥ÿÿÇ@ HÇH�xH‹SH‰H‰CHÇ@H‰x[é«ÿÿDf.„é[«ÿÿ�f.„AWM‰ÇAVI‰þ¿0AUI‰õATA‰ÌUS‰ÓHƒìL‰L$蕤ÿÿ1öHÇL‰pº{ÊDL‰ïH‰Åèè}L‹L$H˜1öHƒøH‰E‰]D‰eL‰} L‰M(t~H‹oø-»POoH…ÒuëSH‹H‹H…ÒtE…ötñHƒz¾uåHƒzuÞº1ÿ¾pÒDèÍçþÿ1öH‰Ç1ÀèA”H‹1öH‹H…Òu¿@H‰+HƒÄ[]A\A]A^A_ÃfD1öD ã@•Æétÿÿÿf.„SH‰û¿è2éþÿH‹{÷-H‰XÇ@H‰i÷-€ "ø-€H‰[Ãf.„Hƒìè·ÿÿÿH‹@÷-Ç@HƒÄÃ@UH‰ýSH‰óHƒìHƒ=üë-t*¾Œ¿ÀÆDèk”H‰-äë-H‰Õë-HƒÄ[]ÃfDHƒ=Àë-uÌHƒ=®ë-uÂëÏf.„SE1É1ɺH‰ûHƒìL‹�ë-H‹5�ë-ÇD$Ç$èÜçÿÿHƒ=\ë-tb¿è8èþÿH‹yë-H‰Þ¿@H‰PH‹6ë-H‰/ë-H‰èÿuH‹5(ë-H…öt H‰Â¿DèFsH‰ë-HƒÄ[Ãf„H‰Þ¿BèÃuH‰üê-ëˆf.„AUH‰ò1ɾ$‹CATUSHƒìH‹íê-H‹h0èœõÿÿH‰ïèæþÿH�xè‹çþÿ¶UH‰Ã„Ò„H‰éI‰Áë@€ú_tHƒÁ¶„Òt!D¶ÒCö„À8oŒtáHƒÁAˆIƒÁ¶„ÒußAÆH‰ßè£åþÿH�xè*çþÿI‰Ø¹�ÊDI‰ÄHÇÂÿÿÿÿH‰Ç¾1Àè™îþÿH‰î¿Cèìt1ÒH‰ÆL‰çè_vH‰ÇèôÿÿH‰ßèOåþÿH�x èÖæþÿI‰Ø¹ŸÊDHÇÂÿÿÿÿI‰ÄH‰Ç¾1ÀèEîþÿH‰î¿@è˜tH‰îI‰Å¿CèˆtL‰êH‰Æ¿+èØqL‰ç1ÒH‰ÆèëuH‰Çè“óÿÿHƒÄH‰ß[]A\A]é1âþÿI‰Áéÿÿÿf„AWAVAUATA‰ôUL‰ÅE1ÀSH‰ÓH‰ÊL‰ÉHƒì8dH‹%(H‰D$(1ÀH‰|$H…ÿH�t$ H�|$A•ÀE1ÉèÒ¶ÿÿH‹é-H…À„åL‹hH‹é-¿+H‹5 é-A€��èq1ÒH‰Æ¿õ©Fè�tL‹=Ðè-I‰EhM…ÿ„žE1íëfDL‰ÿèháþÿM…ötyM‰÷H…ÛI‹Gt HƒxP„ÜH‹T$H‰P@H‹T$ H‰PHI‹H…Ò„–H…ít Hƒxp„žE…äI‰Öt¦¿è<åþÿI‹WM‹7L‰ÿH‹R0L‰(I‰ÅH‰PèïàþÿM…öu‡M…ítL‰ïèÍûÿÿH‹D$(dH3%(HÇ$è-HÇè-HÇþç-uEHƒÄ8[]A\A]A^A_ÃDH‹t$Ç€ŒH‰p`éRÿÿÿH‰hpéYÿÿÿ€H‰XPéÿÿÿèãþÿf�AVA‰ÎAUI‰ý¿ATI‰ôUH‰ÕSèräþÿH‰ÃL‰(¶@ƒàùƒÈE…öˆCL‰à„ÃH…ÀH‰C„FH…íto¾��CH‰ïèTàþÿ…Àt^¾®ÊDH‰ïèCàþÿ…Àto¾²ÊDH‰ïè2àþÿ…Àu¶CH‰ßƒàÇƒÈ ˆC[]A\A]A^é€�¾ÈÒD1ÿºèâþÿH‰îH‰Ç1Àè’Ž¶CH‰ßƒàǃȈC[]A\A]A^éÕD¶CH‰ßƒàǃȈC[]A\A]A^é³L‰çèøáþÿH�xèãþÿA¶ $„É„’M‰àI‰Â1ÒE1ÉëDIƒÀAˆJÿE1ÉA¶º„Ét2E…Éuã€ù?tN€ù*tI€ù[tDAˆ E1ÉA€8\A”ÁIƒÀA¶IƒÂ„ÉuÎ…Òt2AÆé¶þÿÿf„L‰c€cþé­þÿÿH‰Çè¸Þþÿ1ÀéŽþÿÿ�H‰Çè¨ÞþÿL‰àé}þÿÿUH‰ý¿SH‰ó¾pHƒìèÕéþÿH‰hH‰X8HÇ@h Ø@Ç@`ÿÿÿÿHƒÄ[]ÀAW¸›öDAVI‰öAUI‰ýATUSHƒìH‹Xò-H…ÿLDèH‰T$H…ÛtA€}t H‹{€?u[º¾ÓD1ÿè~àþÿH‰Ç1ÀèôŒHƒÄL‰÷[]A\A]A^A_éîÝþÿ1ÿº¾HÓDèMàþÿL‰îH‰Ç1ÀèÀŒH‹H…ÛtH‹{L‰îèÌãþÿ…ÀtÊH‹H…ÛuèI�~è§wÿÿI�~8èžwÿÿI‹^H…Û„ª�L‹%¡ñ-M…ä„�I‹|$@H…ÿ„¢öC…M‹|$HM…ÿuë\@M‹?M…ÿtPH‹kI‹wH‰ïèPãþÿ…ÀuäA¶G2C¨8uØ1ÿº¾pÓDè�ßþÿH‰îH‰Ç1ÀèŒM‹?M…ÿuºf.„M‹$$M…ä…sÿÿÿH‹H…Û…WÿÿÿI‹^8H…Û„³f.„L‹%áð-M…ä„�I‹|$ H…ÿ„ÂöC…ØM‹|$(M…ÿuë\@M‹?M…ÿtPH‹kI‹wH‰ïè�âþÿ…ÀuäA¶G2C¨8uØ1ÿº¾pÓDèÏÞþÿH‰îH‰Ç1ÀèB‹M‹?M…ÿuºf.„M‹$$M…ä…sÿÿÿH‹H…Û…WÿÿÿH‹D$M‰nI‰FXA€}…[AÇFH‹ð-H…ÒuéZfDH‰ÂH‹H…ÀuõL‰2HƒÄ[]A\A]A^A_ÃH‰ÞèèåþÿH…ÀI‰Çué{ÿÿÿM‹?M…ÿ„lÿÿÿH‹kI‹wH‰ïè¬áþÿ…À…TÿÿÿA¶G2C¨8uÐ1ÿº¾pÓDèçÝþÿH‰îH‰Ç1ÀèZŠë°„H‰ÞèxåþÿH…ÀI‰ÇuéKþÿÿM‹?M…ÿ„<þÿÿH‹kI‹wH‰ïè<áþÿ…À…$þÿÿA¶G2C¨8uÐ1ÿº¾pÓDèwÝþÿH‰îH‰Ç1Àèê‰ë°„öC„>þÿÿM‹$$M…ä…þÿÿé¡þÿÿ@öC„^ýÿÿM‹$$M…ä…9ýÿÿéÁýÿÿ‹îá-ƒÀ‰åá-A‰Fé•þÿÿº˜Poé­þÿÿf�AWAVAUATUSH�ìøH‹=ˆî-dH‹%(H‰„$è1ÀH…ÿtè[tÿÿH‹œï-H‹5�â-¿P'AH‰¡â-è\žÿÿè×{ÿÿè¢uH‹+á-H…ÛtfDH‹{è'rÿÿH‹H…Ûuïè åþÿ…À„UH‹Cï-H‹=Dâ-1öH‰Kâ-è&Úÿÿö í-…£Hƒ=�í-t¾í¿ÀÆDè ‰Hƒ=Àà-HÇ]í-€Co„WH‹=`í-è»ãÿÿH‹=\í-è¯ãÿÿèŠtHƒ=šî-„ÁHƒ=dá-„³1ÿº¾ÔDèÍÛþÿH�¼$€H‰Áºd¾1ÀèåþÿH�´$€1À¿$ÈDèM‰H‹-á-H…ítfH‹u1À¿$ÈDè1‰H‹}è¨ÛþÿHƒøH‰Ã‡ÃHƒÃ诊HƒûvñH‹uH…öt ¿·ÊD1ÀèôˆH‹u1À¿»ÊDèäˆH‹mH…íušèöãþÿH‹¿ß-H…ÛuéÙDH‹[0H…Û„ÇöCI uíH‹k ‹ãì-H‹5 ì-H‰ïè”Üþÿ¶­ë-I‰Äƒâ€út öžë-t&M…ätH‹Ýë-H‹UH‹@‹@9BtöED …YM…ä„ÿ‹… …Àt€D‹=mì-E1äE…ÿ„¦H‹5–ë-H‰ïH‹Fÿ�@…À…› D‹5>ì-E…ö…m L‰çè©ÝþÿH‹[0H…Û…9ÿÿÿHƒ=lì-„êL‹-ÇÞ-1íM…턎@I‹} ¾ÁÊDèJÜþÿH…ÀI‰ÆtgL‹`8L‰çè¶ÛþÿI‹} 1ÉM‰àH‰ÂL‰öH‰ÃèÿÙþÿ…À„ÊIÜL9ãs,€1É1ÒH‰ÞH‰ïèéöÿÿ1öH‰ßH‰Åè¼ÞþÿH�XL9ãrÛA�N € M‹m0M…í…vÿÿÿ1Ò1ɾ\ÉD1ÿè®öÿÿ¾p¿H‰ÃèLâþÿH‹=�ë-H‰ÆH‰hH‰X8HÇ@h Ø@1ÒÇ@`ÿÿÿÿètøÿÿèO"¿èEÇÿÿH‹^Þ-H…ÛuFé³@H‹Aì-H‰C H‰C8H‹{0H…ÿtèãeD‹<ì-E…Ût\H‹ì-H‰C(H‹[H…ÛtrH‹{H…ÿtÉèµe‹-ì-…íu«H‹+1ÿº¾pÕDè·ØþÿH‰îH‰Ç1Àè*…ë—èˆ1Û�é3ýÿÿH‹+1ÿº¾ ÕDè‡ØþÿH‰îH‰Ç1Àèú„H‹[H…ÛuŽD‹%>ê-Çpë-E…äuv¶$é-ƒà<„: ‹¿ê-…À„_ƒø„ºH�\$pÇD$pH‹=é-H‰Ú¾ì@èÁÝþÿ‹D$pƒÀƒø‰D$pvÜÇD$pÿÿÿÿH‹=êè-H‰Ú¾ì@è•ÝþÿH‹=¾Ý-è)Ñÿÿ¶5¢è-‰ðƒà<„Ý ƒæ@tH‹=Ùè-¾ÀOoH‹Gÿ�èöyè-t8H‹Âè-H…Ût,D¾ÀOoH‰ßè3àþÿ…Àu ÇÉé-H‹›ðH…ÛuÙH‹=BÝ-E1ä1ÛA¿þÿÿÿègÿÿH‹=+Ý-1Ò1öƒ°Û-è›ÑÿÿL‹5¤ç-@I‹.H…íI‰ítR‹E…À…ŠM…ätI;l$ t¾š¿ÀÆDèo„I‹.I‰îD‰øA+…„I‹.H…ÛM‰ìIDÝH…íA‰…„I‰íu®H…Ût*ºþÿÿÿë€H‹[ H…Ût‰Ð+ƒ„I9܉ƒ„uäH‹-=Û-A¼H…ít[f�H‹E H‹˜�H…Ûuë>fDH‹[H…Ût/Hƒ{huðöEH….öC!€„ÙHÇCh=oH‹[H…ÛuÔH‹m0H…íu§¶ç-ƒà<t>H‹=Bç-¾ÀOoH‹Gÿ�øH‹=,ç-¾ý~DèBØþÿH…Àt‹wè-…Û„‘ƒH è–n¿Pèœ×þÿL‹%5æ-I‰ÆM…䄈HÇD$(A½ f.„H‹-æ-1ÛH…í„ËfDD‹�„E…Ûˆ¨H‹EpH…À„CHƒ}8„ÀH…À„}H‰D$(L‹|$(ë H‹M8‰ØƒÃI‰ ÆAÇGM‹?M…ÿt[I‹t$I‹èÍØþÿ…ÀuæA9ÝwÌEíL‰÷D‰îHÁæèÖþÿI‰Æëµ1ÿº¾@ÕDèüÔþÿL‰öH‰Ç1Àèo�éûÿÿHÇD$(�H‹m H…í…;ÿÿÿI‹|$(1íH…ÿtºÊÊD1öèËi‰ÅI‹|$ E1ÉH…ÿtºÕÊD1öè°iI‹|$ I‰ÁE1ÀH…ÿI‹t$A•À1ÒIƒ|$(L‰t$‰\$‰éA‹D$H‹=Šå-•‰D$A‹D$‰$è¦Øþÿ…À„9M‹$$M…ä…‘þÿÿL‰÷A¼èÃÑþÿL‹-œä-M…턈E‹•„E…ÒxlIƒ}8teI‹]pH…Ûu ëZf�H‹H…ÛtPD‹KE…ÉuïH‹k¿Œ�CL‰áH‰îó¦tÜM‹u01ÿº¾€ÖDèÇÓþÿH‰êH‰ÇL‰ö1Àè7€H‹H…Ûu·€M‹m M…í…{ÿÿÿögä-t8¶[ä-ƒà<t*H‹=ç-H�t$pÇD$pè‹ÐÿÿD‹D$pE…Àu€%-ä-û1öƒ=9ä-@—Æ1ÿèö×ÿÿèák¶ ä-ƒà<„¯H‹Hä-H‹¨�H…íugé—€M‰à¹óÊDHÇÂÿÿÿÿ¾H‰ß1ÀèBÜþÿH‹=ãã-1É1ÒA¸H‰ÞèÉÕþÿH…Àt €x„ÕH‰ßèRÐþÿH‹mH…í„5L‹eL‰çèÙÒþÿH�x è`ÔþÿM‰àH‰ÇH‰Ã¹çÊDHÇÂÿÿÿÿ¾1ÀèÏÛþÿH‹=pã-1É1ÒA¸H‰ÞèVÕþÿH…À„Mÿÿÿ€x…CÿÿÿÆ@HÇ@0H‰h(é.ÿÿÿfDƒ½Œ„KýÿÿH‹E8H…À„>ýÿÿö@ „4ýÿÿIƒ|$„(ýÿÿHƒ|$(H‰è…—üÿÿH‹@ H…ÀtL‹xpM…ÿ…{ H‹@ H…Àuê1ÿº¾ÈØDèÉÑþÿH‰Ç1Àè?~1ÀHƒ}8…Büÿÿf�H‹m H‰D$(H…í…üÿÿéÆüÿÿf„ƒø„(I‰î@éKúÿÿL‹+¿,ÊDL‰áL‰îó¦…’¶.â-ƒà<„“H‹ \×-H…É„£H�y1ÒH‰ÞèU²ÿÿé¸úÿÿH‹E ¾ÀOoH‰ßH‹@ÿ�Àé�úÿÿ1ÿº¾XÖDèÑþÿH‰Ç1Àèz}é§üÿÿH‹U8‹ cÖ-Æ@HÇ@(=oHÓêH‰P0é þÿÿ‹9ã-ƒø„– ƒø„r D‹5<ã-A¿}E…ö„àD‰úL‰îH‰ßèçiH…ÀI‰Æ„› ƒ=ðâ-…úÿÿI‹N0H‹“ðH‰Þ¿ÖD1Àèä|éçùÿÿH‹}1Ò1öè¥ÿÿH…À„bD‹ME…É…LM…ä„ñI‹L$ H‹S(H‰J I‹L$ H…É„, H‰Q(H‹P I‰T$ H‹P H…Ò„ L‰b(H‰C(1ÉH‰X 1öë@I9Üt;H‹[ H…Ût2D‰ú+“„‰“„H‹S8H…ÒtÚHƒºðtÐH…öH‰ÑuÈI9ÜH‰ÖuÅH…É„0 H‹x8H…ÿ„ð1ÛH9ÏtIH‹VL‹AH…Ò„¶ L‰BL‹AM…À„¼ I‰PH‹WH‰QH‹WH…Ò„¯ H‰JH‰~1ÛH‰wH‰Çè*[ÿÿI‹6H‹ ß-H‹6H‹ H‰2H‹H…ÒI‰„ÃH‰E1äL‹5{ß-éÖ÷ÿÿfDD‹€„E…À‰´þÿÿH‹@(H…ÀuçH‹]1ÿº¾¨ØDèÒÎþÿH‰ÞH‰Ç1ÀèE{éøÿÿD‹=‰à-E…ÿ„8øÿÿH‹ ¹Ô-H…É…]ýÿÿº1ö¿ò~Dè?£ÿÿH‰ÁH‰•Ô-é=ýÿÿ¿膼ÿÿèAgèŒf€=Qà-…VH‹hÓ-H…ÛtVH‹3H‹=>ß-1É1ÒA¸è'ÑþÿH…Àt ¶@ƒè<v!H‹+¾h×D1ÿºèÎþÿH‰îH‰Ç1Àè†zH‹[H…Ûu­¶ÆÞ-‰ÐƒàC<„9ƒâ»€ú„(ËDH‰ïèo¾þÿ…Àu„ÛÇÓ-Aˆ$t/L‰åë„@1ÿº¾HËDè_ÀþÿH‰îH‰Ç1ÀèÒl„ÛAˆ$uÑ[]A\ÃDU1À¾ ÙD¿SHƒìèYÆþÿH‹RÅ-Hƒ{uIé¶fDòH*ÅH‹C(òYoZH…ÀxzòH*Èò^Á¾kËD¿¸è ÆþÿH‹[Hƒ{trH‹k8H+k ¾dËDH‹¿1ÀèæÅþÿH‰ïèÎ\ÿÿH‹{(èÅ\ÿÿH…íy�H‰èƒåHÑèH èòH*ÀòXÀé{ÿÿÿfDH‰ÂƒàHÑêH ÂòH*ÊòXÉéqÿÿÿfDHƒÄ[]Ãf„AWI‰×AVI‰ÎAUM‰ÅATUH‰õSH‰ûHƒìL‹'L‰L$M…ätI‹t$H‰ïè¶Âþÿ…ÀubM‹$$M…äL‰#uã¿8è¼ÀþÿH‰H‰hH‹H‹T$L‰xH‹HÇH‹L‰pÇ@0H‹L‰h H‹H‰P(HƒÄ[]A\A]A^A_Ã@L‰ãM‹$$é|ÿÿÿ@H‰òE1ÉH‰þE1À1É¿øEoé8ÿÿÿ„H‰þE1ÉE1À1É1Ò¿Foéÿÿÿf„H‰=yÅ-Ä‹2Å-…À…ŠAVAUATUSHƒìL‹-7Å-H‹-@Å-M…ít{H…íuL‰-/Å-L‰íëf�I‹EM‹mM…íH‰CtWH…íM‹eH‰ëtH‹sL‰çè„Áþÿ…ÀtÐH‹H…ÛuèI‹UE1ÉE1À1ÉL‰æ¿FoèoþÿÿM‹mH‹-ÌÄ-M…íu°€L‹-±Ä-M…í„H…í„€M‹eH‰ë�H‹{L‰æèÁþÿ…ÀuÇC0H‹H…ÛuáM‹mM…íuЄH‹AÄ-H…Û„°L‹mE1äf„H‹{L‰îèÄÀþÿ…ÀuL‹c H‹H…ÛuäH‹ýÃ-H…Û„lL‹mE1öDH‹{L‰îèŒÀþÿ…ÀuL‹s(H‹H…ÛuäH‹5õÃ-H…ö„ƒ}0H‹}M‰ðL‰áÇD$Ç$ÒE1Ƀâèò½ÿÿ¿(HDzÃ-èM¾þÿH‹U1ÿHÇHÇ@Ç@H‰ÆHÇ@ H‰P1Òè;ÄÿÿH‹TÃ-H…ÛuëbDH‹H…ÛtUH‹uH‹{èÓ¿þÿ…Àuç¿(èå½þÿH‹S1ÿHÇHÇ@Ç@H‰ÆHÇ@ H‰P1ÒèÓÃÿÿH‹H…Ûu«1É1Ò1ÿ¾$‹Cè›ËÿÿH‹mH…í…~þÿÿǬÂ-HƒÄ[]A\A]A^óÃfDH‹EH…ÀtKH‰ÀÂ-H‰ÆéÌþÿÿE1öé´þÿÿE1äétþÿÿL‰-™Â-L‰íéñýÿÿH…íH‰èt£�Ç@0H‹H…Àuñé þÿÿ¾õ©F¿èýJë¤�f.„1Ò¾HÇNÂ-é9~ÿÿf„H‰þE1ÉE1À1É1Ò¿Foé¹ûÿÿf„SH‰ûHƒì dH‹%(H‰D$1ÀH…öt3E1ÉE1À1ÒH‰Ù¿ðEoè~ûÿÿH‹D$dH3%(uIHƒÄ [ÄA‰Ð@¶¹;ŠCºH‰çèèÃþÿH‰çè�¼þÿH…ÀH‰Æu¥ºªÙDf¾¿hÙDèjè°ºþÿ¾醻ÿÿfDS€?SH‰ûu€tY¿sÙD¹H‰Þó¦t`¿}ÙD¹H‰Þó¦t¾ŒÙD1ÿºèºþÿH‰ÞH‰Ç1À[é�f[¹1Ò1ö¿‚ÙDé|Ðÿÿ@[¹1Ò1ö¿nÙDédÐÿÿ@[¹1Ò1ö¿xÙDéLÐÿÿf�f.„Hƒì1ÒèEJHƒÄH‰Çé‰Èÿÿf„I‰ðE1ÉH‰þ1É1Ò¿èEoé9úÿÿf„I‰ñE1ÀH‰þ1É1Ò¿àEoéúÿÿf„‰=ê -Ãf„€?_H‰úu„HƒÂ€:_t÷¿´ÙD¹H‰Öó¦¸ÿÿÿÿu@¶r @8ru4¶J€ùDu/¶J ¸ÿÿÿÿö„ À8otH�z Hƒìº 1öèç¼þÿHƒÄóÃóÀùItÌóÄAUº›öDATI‰ôUH‰ýSHƒìH‹H‹H‹xH‹YH…ÿHDúH…ÛHDÚèJÿÿÿH‰ßA‰Åè?ÿÿÿA9ź|#1ÀL9åºÿÿÿÿ—ÀCÐHƒÄ‰Ð[]A\A]ÃfDºÿÿÿÿëæf„AWA‰÷AVM‰ÆAUI‰ÕATI‰ÌUH‰ýSHƒìH‹¬È-H…ÛuëuDH‹H…ÛthH9kuòD9{…àH‹C H…À„�I‹”$ðH…ÒttH‹@H‹€ðH…ÀtdH‹HH‹BH‹1H‹8èk»þÿ…ÀtMH‹]º¾ÚDéš@¿(èf¹þÿH‰ÃH‹È-H‰kD‰{HÇCHÇC H‰H‰úÇ-¿ è0¹þÿHÇL‰hL‰`H‹K L‰pH…ÉuëZf�H‰ÑH‹H…ÒuõH‰HƒCHƒÄ[]A\A]A^A_ÃfDH‹]º¾àÙD1ÿè·þÿHƒÄH‰ÞH‰Ç[]A\A]A^A_1ÀéxcH�K ë­f�‹¾-…Ò…qAWAVAUATUSHƒì‹nÇ-Çì½-…À…o¿€OoE1íèyÿÿ¿€Ooè%yÿÿL‹%Ç-M…ä„ÅDI‹D$¶@ƒè<†ŸA‹t$H‹=�Ç-èû¶þÿH…ÀI‰Ç„'L‰ÿè§¶þÿƒø‰Ã„ôŽ¡ƒøA¾tƒø…œE1öAƒA”ÆA�ÆHcûè×A¿H‰ÆèêD1ÒH‰Æ¿õ©Fè‹FH‰ÇèÓÄÿÿ¾õ©F¿è”EI‹T$H‰ÆH‹z1ÒèaFH‰Çè©ÄÿÿI‹|$èAD‰÷H‰ÆèÔÃÿÿI‹l$ H…í„·fDHƒ=@È-tdE…í„ I‹D$¿$ÈDH‹p1Àè(cI‹D$H‹xèšµþÿƒø‰Ã�Ï€ƒÃè dƒû~óH‹uH…ö„æ¿,ÇD1ÀèâbH‹}H�ÿ=ot�O ¶çÅ-ƒà<tXH‹uègAD‰÷H‰ÆèÃÿÿH‹mH…í…Oÿÿÿ1ÿè¨@D‰÷H‰ÆèýÂÿÿM‹$$M…ä…@þÿÿHƒÄ[]A\A]A^A_é�wÿÿDH‹}èo@H‹MH‹UI‰ÀA‹|$L‰þè÷Âÿÿë™Dèûc1Ûé,ÿÿÿ@º¾¼ÙD1ÿèo´þÿH‰Ç1ÀAµèbéÐþÿÿDH‹UH‹M¿ÚÙD1ÀH‹²ðèíaéÿÿÿ¶Å-ƒà<„¸I‹D$ H‹@H‹¸ðH…ÿtA‹t$è—´þÿH…ÀI‰Ç…œýÿÿI‹D$A‹|$L‹pè±þÿH‰ÅI‹D$ H‹@H‹€ðH‹@1ÿº¾@ÚDH‹è½³þÿL‰ñH‰ÇH‰êH‰Þ1Àè*`éÈþÿÿƒøA¾„wýÿÿI‹D$L‰ÿL‹pèÕ³þÿº‰Å¾pÚD1ÿèr³þÿL‰òH‰Ç‰î1ÀA¾èÝ_é9ýÿÿA¾é.ýÿÿH‹-ÆÃ-H…í„�üÿÿDH‹E H…À„¨1Ûë €‰ÓH‹�SH…ÀuóLcêJ�<íèôþÿH‹U I‰ÄH‰ÁH…Òt@H‰H‹HƒÁH…Òuñ¹ †AºL‰îL‰ç蜱þÿI‹$H‰E 1À…Ût(�CÿL‰âM�DÄH‹ H‹rHƒÂL9ÂH‰1uíHcÃHÁàI‹L‰çHÇè°þÿH‹mH…í…>ÿÿÿéµûÿÿ�óÃI‹D$A‹|$L‹p苯þÿH‰ÅH‹qÃ-éwþÿÿf.„f�Hƒìÿ޹-Ç€Ä-HƒÄÀAU1ÿM‰ÅATI‰ô¾˜ÚDUH‰ÍSH‰ÓºHƒìèù±þÿHƒÄH‰ÞH‰ê[]M‰àL‰éH‰ÇA\A]1ÀéY^f„AU1ÿM‰ÅATI‰ô¾ØÚDUH‰ÍSH‰ÓºHƒì話þÿHƒÄH‰ÞH‰ê[]M‰àL‰éH‰ÇA\A]1Àé ^f„AUM‰ÍATUH‰ÍSHƒìH…ö„‡H‹8M‰ÄH‹^H…ÿt,1É1ÒH‰Þ苵þÿH…ÀtI�üø;oH‰ÚH‰îtG¿éâD1Àè«]‹Ã-…Àu Hƒ=)Á-tL‰éL‰âH‰îH‰ßè&tHƒÄ¸[]A\A]ÃfD¿ÔâD1Àèd]ë·f�‹ºÂ-…Òu Hƒ=ÞÀ-tÆHƒÄH‰ïD‰î[]A\A]éGu€ATI‰üH‰×UH‰õSH‰ÓHƒì0dH‹%(H‰D$(1Àè'¯þÿ…Àu¾øÚD1ÿºèr°þÿH‰ÞH‰Ç1Àèå\H‹ƒ°H‰â¾ —AH‰ßÇ$L‰d$H‰l$H‰D$蘸þÿH‹L$(dH3 %(‹$u HƒÄ0[]A\ÃèW°þÿ€AVI‰ÎAUI‰ÕATI‰ü¿UH‰õ¾XSH�ìÐdH‹%(H‰„$È1À賸þÿH‰ÃH‹Eö–À-H‹H‰k H‰l$ H‰CH‰CH‰D$H‰D$H‹C(H‰$H‹SH‰D$(H‹C0H‰T$H‰D$0H‹C8H‰D$8H‹C@H‰D$@H‹CHH‰D$HH‹CPH‰D$PtH‰ßèZ“¶CI¨ …>H‰ßèö ÿÿHƒ=æÁ-„ÓI‹|$(1É1ÒA¸L‰îè²þÿH…ÀI‰Ä„Õ€x‡Ë¶@ÿ$Å�åDI‹D$(H‹@L‹°ð‹52¶-…ö„,H‹…ÐH…Àt ö@H„¬H‹u¿$ÈD1Àèl\H‹}èã®þÿ‰Ãƒû�x„ƒÃèè]ƒû~óM…ötL‰ö¿·ÊD1Àè/\M…ä„–I‹t$¿»ÊD1Àè\‹ WÁ-…Éu‹=Á-¸…Òt1ÀH‰æ¿(ÊDèíY¸H‹Œ$ÈdH3 %(…UH�ÄÐ[]A\A]A^Ã�D‹ y¶-E…É„¨D‹ñÀ-E…Àu ‹=ÖÀ-…ÿtH‰æ¿ ÛD1Àè‹Y€cIß1À뛋5µ-I‹D$(…öL‹°ð…Ôþÿÿº¾HÛD1ÿ襭þÿH�|$`H‰Áºd¾1ÀèܶþÿH�t$`¿$ÈD1Àè+[ǹ´-éŠþÿÿ@M‹t$(énþÿÿfDƒÈ@ˆCIH‹C I‰éøýÿÿfDE1öéHþÿÿ„è›\1Ûé„þÿÿ@H‹0H‹U¿ÿâD1Àè½ZH‹…ÐH‹8è.­þÿH‹}H‰Ãè"­þÿ�\é8þÿÿf„L‰î¿ƒÈD1Àè�Zégþÿÿè­þÿ€Hƒìèg³þÿèr‘H‹=û”-H…ÿt ‹±-…Àu HƒÄÀHƒÄé÷±þÿ€AVƒ='”-ÿI‰ÖAUATI‰ÌUSH‹T$0H‹L$8„ë1ÀI‰ýH‰ó¿ãDL‰ÎL‰ÅèÃX‹í“-…Àx�Pÿ…À‰Þ“-„ÈH…Ûu'1ÿº¾`ÜDè¬þÿL‰òH‰ÇL‰æ1Àè‚XëkH‹[(¶C�Pú€úvð<‚¨<†¸<‡˜L‹s(I�þ=o„áM‹®ðH‹[º¾ÜD1ÿè««þÿM‰èH‰ÇL‰ñH‰ÚL‰æ1ÀèXH…í…’¿šöD[]A\A]A^1ÀéøW„[]A\A]A^À1ÿº¾ˆÛDèO«þÿH‰ÇëÃf.„ºÔåD¾€¿ ãDè¼Z@H‹[1ÿº¾ÈÛDè«þÿH‰ÚH‰ÇL‰æ1ÀèƒWH…í„nÿÿÿH‰î¿ãD1ÀèkWéZÿÿÿM‹mPéÿÿÿf.„öG…AWM‰ÇAVAUATUH‰ÕSH‰ËHƒì¶V€ú„ò€ú…)E1íE1öA¼(>oI‹T$hH…Òt H�ú=o„²H‹ShH…ÒtH�û=ot H�ú=o„“L‹F1ÿH…íº¾�ÜDL‰D$„áè4ªþÿL‹D$H‰ÇL‰ù1ÀH‰ÚH‰îèœVM…ít$º¾ãD1ÿèªþÿL‰ñH‰ÇL‰âL‰î1ÀèsV‹Õº-…Àu%º¾¸ÜD1ÿèØ©þÿH‰Ç1ÀèNVǬº-HƒÄ[]A\A]A^A_óÃ@L‹f(L‹v0I�ü=oM‹¬$ð…ÿÿÿH�ù=otTH‹QhH…Ò…ÿÿÿé!ÿÿÿ„ºÀåD¾ª¿ ãDèìX@èS©þÿL‹D$H‰ÇL‰ñL‰âL‰î1Àè»UéCÿÿÿM9ð„iÿÿÿI‰ÌéÎþÿÿDAWI‰ÿAVM‰ÎAUI‰ÕATI‰ôUH‰ÍSL‰ÃHƒì‹j»-…Àu¿3ãD¹ó¦„ÔH…Ût?º¾ÙùD1ÿèΨþÿHƒÄH‰ÚH‰î[]M‰áL‰ñI‰ÀA\A]A^A_¿LãD1Àé%UDH…í„–M…ítEH‰êL‰îL‰çèÔ÷ÿÿ…ÀupI‹_XH…Ût*€H9ÝtH‰ÚL‰îL‰çè­÷ÿÿ…ÀuIH‹›ðH…Ûuݺ¾ÙùD1ÿè<¨þÿHƒÄH‰îL‰á[]A\A]A^A_H‰Â¿`ãD1Àé™Tf„HƒÄ[]A\A]A^A_ú¾ÙùD1ÿèð§þÿHƒÄL‰âH‰Æ[]A\A]A^A_¿VãD1ÀéPTAWI‰×AVAUATUSHƒì‹…ÀtHƒÄ[]A\A]A^A_Ãf.„I‰ýI‰öèå¯þÿH…ÀH‰Ãˆ™tÎH‰ßè?©þÿI‹OH‰ÂL‰öL‰ïH‰D$è¯þÿH…ÀH‰ÃˆÔH‹D$L�$ØL9àsAH‹(H…ít9H‰Ãë �H‹+H…ít+H‹EH…ÀtH‹H…ÀtI‹wH‹x躪þÿ…ÀtNHƒÃI9ÜwÍH‹|$HƒÄ[]A\A]A^A_é…¤þÿD1ÿº¾ÝDèߦþÿL‰îH‰Ç1ÀèRSéFÿÿÿDI‹_º¾ÙùD1ÿ賦þÿH‹MI‰ÀI‰ÙL‰òL‰î¿LãD1ÀèSAÇë�fD1ÿº¾ÝDèw¦þÿL‰îH‰Ç1ÀèêRé ÿÿÿDAWA‰÷AVM‰ÎAUM‰ÅATI‰ÌUH‰ÕSH‰ûHƒì(‹=š¸-dH‹%(H‰D$1À…ÿu6‹5|¸-…öuTH‹D$dH3%(…ˆHƒÄ([]A\A]A^A_Ãf„1ÿº¾(ÝDèߥþÿH‰îH‰Ç1ÀèRR‹5(¸-…öt¬H‹{P¾&èJ¦þÿH…À„ÑI‹D$¶@„À…€E…ÿH‰æH‰à„…H¹__CTOR_LÇ@IST_H‰¹_f‰H H‹{(A¸¹ºèK¨þÿH…ÀH‰Ã„¯€{uÆCL‰c(M‰ðL‰éH‰ê¾&H‰ßèÛìÿÿé ÿÿÿfDE…ÿˆ$H‰æH�D$…{ÿÿÿH¹__DTOR_Lº_Ç@IST_H‰f‰P évÿÿÿf.„¶ƒà<t¾&L‰çèY¥þÿH…À…ÿÿÿ1ÿº¾XÝD诤þÿH‰Ç1Àè%Qéïþÿÿ1ÿº¾˜ËDè�¤þÿH‰Ç1ÀèQé1ÿÿÿ軤þÿ�f.„AVAUI‰ÍATM‰ÄU‰ÕSH‰óHƒì‹³¶-…ÒuO‹¥¶-…ÀuHƒÄ[]A\A]A^Ä1ÒM‰ÈL‰á‰îH‰ßèÎëÿÿ€{uÓÆCL‰k(HƒÄ[]A\A]A^ÃL‹vº¾(ÝD1ÿL‰L$èæ£þÿL‰öH‰Ç1ÀèYPL‹L$ëƒf�‹.¶-…À„¤AUATUH‰ÕSHƒì¶~L‹fƒÿ„|�Wý1Ûƒú†~�Aýƒø†Ùƒù„Ѓú‡Øƒùt¾¿ ãDèÔP1ÿº¾ÈÝDèS£þÿL‰âH‰ÇH‰î1ÀèÃOH…Û„º¾‡ãDé¹H‹V(�AýL‹n0ƒøH‹RH‹šðvkƒùtfƒù…?ƒÿ…6M9躂ø†’1ÿ¾hÞDèÖ¢þÿL‰âH‰ÇH‰î1ÀèFOH…Û„•º¾ ÞDë?¾¿ ãDèP1ÿº¾�ÝDè‘¢þÿL‰âH‰ÇH‰î1ÀèOH…ÛtTº¾jãD1ÿèk¢þÿHƒÄH‰ÞH‰Ç[]A\A]1ÀéÔN@1ÿ¾ÈÞDèD¢þÿL‰âH‰ÇH‰î1Àè´NH…Ûu/€HƒÄ[]A\A]óÃ@H‹F(H‹˜ðérþÿÿ„º¾ðÞDéÿÿÿ�1ÿ¾ÞDèä¡þÿL‰âH‰ÇH‰î1ÀèTNH…Ût§º¾@ÞDéNÿÿÿ¾¿ ãDL‰D$èOL‹D$é¬þÿÿf�ƒÿ„þÿÿE1íé‡þÿÿDf.„SH‰ûH‹=}²-H…ÿt@¹ºH‰Þ螥þÿH…Àt [À1ÿº¾˜àDè?¡þÿ[H‰Ç1Àé´M@@·(èè¢þÿ¹=º¾°>@H‰ÇH‰²-è¤þÿ…ÀtH‹=²-ë�D1ÿº¾pàDèç þÿH‰Ç1Àè]MëÕ�f.„UH‰õSH‰ûHƒìH‹HH…ÿtK¹ºH‰îèé¤þÿH…Àt HƒÄ[]ÃD1ÿº¾˜àD臠þÿHƒÄH‰Ç1À[]é÷L€@·(è(¢þÿ¹=H‰CHº¾°>@H‰Çè]£þÿ…Àt H‹{Hëˆ1ÿº¾pàDè/ þÿH‰Ç1Àè¥LëÚAWI‰ÿAVM‰ÆAUI‰ÕATE‰ÌUH‰ÍSH‰óHƒìH‹HH…ÿt'1É1Òè.¤þÿH…ÀtHƒÄ[]A\A]A^A_Ãf.„‹2²-…À…âL‹= §-M…ÿ„*L‰þH‰ßèG£þÿ…Àt{L‰ÿÇâ¦-è!�þÿH‰ß艡þÿH‰Ò¦-‹Ȧ-H…í„£ƒøw^E…亾ÀàDu¾èàD1ÿèSŸþÿHƒÄI‰ØH‰ê[]A\L‰îL‰ñH‰ÇA]A^A_1Àé¯K€‹n¦-ƒÀ‰e¦-뛀ƒø„—E…ä„ÿÿÿHƒÄ¿ÒùD1À[]A\A]A^A_édK@H‰ÞL‰ÿèþÿÿéÿÿÿƒøv{ƒøu¿E…亾ØáDu¾âDf�1ÿ詞þÿHƒÄH‰ÚL‰î[]A\A]A^A_H‰Ç1Àé KÇÊ¥-éèþÿÿf„E…亾áD…ÿÿÿ¾HáDéùþÿÿE…亾€áDu‘¾¨áDëŠf.„SH‰ûH‹=5¯-H…ÿt@¹ºH‰ÞèN¢þÿH…Àt [À1ÿº¾˜àDèï�þÿ[H‰Ç1ÀédJ@@·(蘟þÿ¹=º¾°>@H‰ÇH‰Ï®-èÊ þÿ…ÀtH‹=¿®-ë�D1ÿº¾pàDè—�þÿH‰Ç1Àè JëÕ�f.„AV¶H®-AUATƒà<USH‰û„›¾“‚DH‰ßè&¤þÿH…ÀH‰Å„¢¿(èŸþÿº¾°>@H‰ÇH‰,®-èg¥þÿ…À„7¿dA¾dèÏžþÿH‰ïI‰ÅèD¢þÿ‰Ãƒûÿt)¶Ãö„À8o@tTH‰ïè(¢þÿ¶Ð‰Ãö„À8o@uéƒøÿu8öž­-…¿L‰ïèOšþÿ[H‰ï¶…­-]A\A]A^ƒàçƒÈˆr­-élœþÿE1äë#€H‰ïèÈ¡þÿ‰Ã¶Àö„À8o@u&ƒûÿt!Cˆ\%IƒÄM9ôrÖMöL‰ïL‰öèX�þÿI‰ÅëÃCÆD%H‹=F­-¹ºL‰îèt þÿH…À…)ÿÿÿ1ÿº¾pâDèœþÿH‰Ç1Àè�Hé ÿÿÿ1ÿº¾ âDè÷›þÿH‰Ç1ÀèmHé!ÿÿÿ1ÿº¾pàDè×›þÿH‰Ç1ÀèMHé©þÿÿ1ÿº¾@âDè·›þÿH‰Ç1Àè-HéEþÿÿ¿1Àèl�þÿH‰Þ¿{åD1À[]A\A]A^éHDAUATUSH‰ûHƒìdH‹%(H‰D$1À‹Gƒø„'†Yƒø „¨ƒø DuvH‹o H‹S¬-H9…ðt¾¿ãåDè‹H‹E öÄu %=u?H‹= ¬-H‰îèh£þÿÇ@H‹SH‰PH‹SH‰PH‹S(H�JH‰H(H‹‰P €H‹D$dH3%(…tHƒÄ[]A\A]Ãf„H‹o@H‹µ«-H9…ðt¾Å¿ãåDèíG‹E öÄu %=u¡H‹=‚«-H‰îèÊ¢þÿH…ÀH‰Å„ºH‹CHH‹{H‰Eè�šþÿ‰À¿H‰Eèí›þÿH‰E ‹SH‹K8‰H‹S(H‰HH…Ò„/ÇEH‰Pé7ÿÿÿ€ƒø…'ÿÿÿH‹_·C$f%€f=„ÿÿÿöC!€…ÿÿÿH‹khH‹äª-H9…ðt¾ø¿ãåDèG‹E öÄu%=…ÌþÿÿH‹=­ª-H‰îèõ¡þÿI‰Ä‹C %"=„/I‰\$ H9khAÇD$t¾¿ãåDè¼FH‹C8I‰D$H‹C`I‰D$émþÿÿDH‹o(H‹Eª-H9…ðt¾3¿ãåDè}F‹E öÄu%=…-þÿÿH‹=ª-H‰îèV¡þÿH…ÀI‰Ä„fAÇD$H‹C0¿I‰D$è~šþÿI‰D$(H‹Ò©-L‹k H‹Rƒz vt‹šª-ƒøtiƒøt0…Àu`H‹)�-H…Òu ëRf�H‹R0H…ÒtGH‹J H…ÉtîH‹Aƒx u4‹C-ƒø‡ÿÿ$ŰæDL‰ïH‰æè�þÿH‰çèYŸþÿI‰ÅfDH‹I©-H9…ðt¾‹¿ãåDè�E‹S�êƒú‡Wÿ$ÕØæD„H‹ ©-I‹t$(L‰ïH‹@ÿP`IÇD$¸A‰D$ éúüÿÿf�H‹Ù¨-I‹t$(L‰ïH‹@ÿPHIÇD$¸ëÎf.„H‹©¨-I‹t$(L‰ïH‹@ÿP0IÇD$¸ëžf.„I‹D$(Dˆ(IÇD$¸éyÿÿÿDAÇD$IÇD$(›öDAÇD$ éÔýÿÿL‰ïH‰æèežþÿH‰çè œþÿI‰ÅéÕþÿÿL‰ïH‰æèJ�þÿH‰çè’—þÿI‰Åéºþÿÿf.„H‹S H‹5õ§-ÇEH9²ð„¹üÿÿH‹rhH‰pHJ`H‰Héäûÿÿ@ºçD¾¶¿ãåDè$F1ÿº¾0æD胖þÿH‰Ç1ÀèùBé&üÿÿ1ÿº¾0æDèc–þÿH‰Ç1ÀèÙBézýÿÿºçD¾†¿ãåDèÐEè{–þÿ�f.„AW1ÿAVAUATUSHƒìXdH‹%(H‰D$H1ÀèÛ—þÿèf‚ÿÿ¿p£Aè\Xÿÿƒ=¥¨-ÿH‹§-„�‹˜ H‰D$(H‹€�…Û‰\$.„û1íƒú„�H‹{ H‰5U�-è üÿÿ‹5j�-‹4�-…ö„LƒøtHƒ=/�-„ÒH…í„r Hƒ=0�-„8 L‹k1ɺ¿`FoL‰îèŽþÿH…ÀI‰Ä„Ú A¶D$ ¨u¶M�Qý€úwƒÈAˆD$ A¶T$ ¶Ž-IÇD$=oƒÊƒàÁàƒâû ƒ=•œ-H‹¶œ-AˆT$ „H‹”œ-€eýÆEH‰E(H‰U0ƒ{„jH‹S ‹Bƒø„Bƒø„’ HÇNœ-éiûÿÿf„H�=mœ-=oH‹C„cÇAœ-H‰"œ-HÇ'œ-H‹C H‰œ-HƒÄ[]A\A]Ãf„ƒø†Ÿƒøu‰H‹sH‹=¯™-1É1ÒA¸蘋þÿH…À„fÿÿÿ€x…\ÿÿÿÆ@éSÿÿÿ@¾Ì¿AêDèé5éDüÿÿ@=@�W=+„J=:„§=„_¾|HƒÄ¿AêD[]A\A]é›5ƒú-„Y ƒú~„D ƒú!„龞ëÇfD�ù„� �þ�ù„Á f��¥ �ù„; �ù…41ÀL;-áš-HÇæš-”ÀH‰Ìš-éßùÿÿ€=O„µ=�…>ÿÿÿH‹k¿jêD¹ H‰î󦄾 ¿vêD¹H‰îó¦…H‹š-ǃš-H‰dš-éwùÿÿƒø‡õýÿÿfDƒ{…åýÿÿ‹K(…É„Úýÿÿéýÿÿ‹ š-…É„@ùÿÿH‹{1Ò1öè£[ÿÿH…À„H‹@8H…À„4�;@„ö‹Hp¸HÓàÇü™-H‰Ý™-HÇÚ™-é%úÿÿDHƒ=À™-…ÒøÿÿH‹s ¿7êDHƒÄ1À[]A\A]éø2„H‹{ èWøÿÿÇ�™-é˜øÿÿ„€~…ûûÿÿƒút¾˜çD1ÿºè0†þÿH‰ÞH‰Ç1Àè£2‹=-™-…ÿ„åùÿÿH‹{ Ç™-èò÷ÿÿƒ= ™-Ç™-‹+™-„ …À…Qƒ=æ˜-„øÿÿº¾ÐçD1ÿè¿…þÿH‰ÞH‰Çé+ÿÿÿ@H‹=¡–-1É0ÒA¸芈þÿH…ÀH‰Å„Î÷ÿÿ€xv ö@„¾÷ÿÿH‹sé5ûÿÿDH‹C H‹™-H…ÛH‹hué—÷ÿÿ€H‹H…Û„„÷ÿÿH‹{H‰îèØˆþÿ…ÀuäD‹cE…ä…•D‹p—-E…Û„…H‹K1ÒH‰ÈH÷5Ï—-H‰ÖH‰ÊH…ö…H„H‹A˜-ÇCÇð—-ǘ-HÇó—-H+P(H‰ð—-H‰Ù—-éìöÿÿ@‹2—-…Ò…�ûÿÿÇЗ-Hǽ—-=oH‰¦—-éŠûÿÿf„‹‚—-…Ò„ïúÿÿH==o…ãúÿÿèárÿÿI‰D$H‹}—-éÍúÿÿƒù^„9 �Cƒù<„äƒù>D…Œ 1ÀL;-9—-HÇ>—-—ÀH‰$—-é7öÿÿ€�ù%„� ��ù„r �ù$…8 D‹Ï–-ÇM—-E…Ò„EýÿÿH�=ù–-=o…4ýÿÿIƒýH‹ ¸–-H‹5Ñ–-†Ý I�D5ÿ1ÒI÷õI¯Å‹Ï–-H‰�–-ƒú„ ƒú„ßI�}ÿH!÷HøƒúH‰j–-„|õÿÿ…Ò…ÍüÿÿÇŠ–-H‰‹–-H‰ ¤–-L‰-¥–-HÇ‚–-éEõÿÿDH�rH‰ïèÄóÿÿé¶ùÿÿ€ÇCéŠùÿÿ@‹â•-…Ò„ õÿÿH‹{1öèoFÿÿH…À„= H‹@(éçûÿÿDD‹%±•-E…䄨ôÿÿH‹SH‹=­“-E1À1ÉA¹¾ÀOoè�þÿH…À„³ ¶P1Àƒê€ú‡—ûÿÿH‹s1É1Ò¿`Fo苆þÿH…À„� ¶P ¸öÂ…jûÿÿ‹š†-Àêƒâƒà9”À¶ÀéNûÿÿ@‹•-…À„Bôÿÿ1ÒƒøtH‹=“-¾ÀOoH‹Gÿ�˜HcÐÇ•-H‰ù”-HÇö”-HÇó”-éöóÿÿfD‹º”-…À„âóÿÿH‹{1öèGEÿÿH…À„ H‹@ H‹Û”-Ç‘”-ǯ”-H+B(HÇ�”-H‰‘”-H‰z”-é�óÿÿDD‹Q”-E…À„xóÿÿH‹{1Ò1öèÛUÿÿH…À„Çö€�„UóÿÿH‹@8ÇG”-HÇ$”-HÇ!”-H‰"”-é%óÿÿH‹=þ“-H…ÿtH‹kH‰îèm„þÿ…À„�‹-Ï“-…í„÷òÿÿH‹S€:.u €z„iH‹=½‘-E1ÀA¹¹¾ÀOoèþÿH…À„( ¶P�Jý€ù†°‹ v“-ƒù„ïƒùtD‹e“-E…Ò…Ú„Ò…€òÿÿHƒx Æ@HÇ@(…iòÿÿH‹=‘-H;G0„XòÿÿAY[]A\A]H‰Æéè‚þÿ„�ú&…ç÷ÿÿD‹-ý’-E…í„}ùÿÿH�=1“-=o…lùÿÿ‹-“-�Pÿƒú†� ƒèƒø†õñÿÿéIùÿÿ¾PçD1ÿºèŸþÿH‰îH‰Ç1Àè,H‹Sé™úÿÿ‹“’-…À„ùÿÿH‹¬’-H‹ •’-H…Àt H‹H(H …’-HƒùHdž’-=oÇ\’-H‹…’-†ô÷ÿÿH�Dÿ1ÒH÷ñH¯Áéá÷ÿÿ1ÀHƒ=B’-”ÀH‰8’-éKñÿÿ‹’-…À„–øÿÿH‹ ’-H‹7’-Hƒù†[ýÿÿH�Dÿ1ÒH÷ñH¯ÁéHýÿÿH÷ó‘-éñÿÿH÷ç‘-éúðÿÿH‹ ’-H‰ä‘-éµôÿÿH‹zèŽðÿÿD‹-ב-E…í„UõÿÿHƒ=®‘-t,H‹C H‹@ ƒx…9õÿÿH�pH‰ïè6ïÿÿHƒ=†‘-…õÿÿH‹C H‹@(ƒx… õÿÿH�pH‰ïè ïÿÿéüôÿÿ�ù„É�ù…�H‹ >‘-IÓíL;%D‘-L‰--‘-…?ðÿÿézñÿÿƒù+„1ƒù-…ZL+- ‘-L;%‘-L‰-û�-… ðÿÿéHñÿÿ�ùD„C�ùE…"L;-Ñ�-ƒãïÿÿL‰-Ä�-é×ïÿÿHƒx…õH‹Õ�-º¾èDH…À„¬÷ÿÿƒ={�-vH�=¶�-=o…˜ïÿÿH‹‰�-H‹-r�-H…Ò„ZHj(L‹%~�-L9åƒbH�=z�-=o„Qº¾HèD1ÿè }þÿHƒÄH‰ÞH‰é[]L‰âH‰Ç1ÀA\A]én)ƒù|„>�ù …KM…í¸u 1ÀHƒ=í�-•ÀH‰ã�-HÇè�-éëîÿÿH‹l�-ÇÚ�-H‰»�-éÎîÿÿH‹sH‹={�-1ÉA¸ºèaþÿH…ÀH‰Å…eòÿÿL‹c1ÿº¾ˆèDèP|þÿL‰æH‰Ç1ÀèÃ(é>òÿÿfDH‹=Q�-E1À1ÉA¹H‰ê¾ÀOoè©zþÿH…Àt¶H�Qý€ú†žHÇ�-é/ûÿÿ1ÿº¾¨èDèã{þÿL‰îH‰Ç1ÀèV(éòÿÿH‹"�-H�ú=o„Øõÿÿ…À„†Hƒ=ÕŽ-…ÐH‹C ‹pƒþ„þÿÿ‹8H�PèŠþÿ…À„�‹¾Ž-é”õÿÿL;-šŽ-‡Éýÿÿé§íÿÿH‹ ˆŽ-IÓåL;%ŽŽ-L‰-wŽ-…‰íÿÿéÄîÿÿ1ÀL;-cŽ-HÇhŽ-’ÀH‰NŽ-éaíÿÿ1ÀL;-@Ž-HÇEŽ-“ÀH‰+Ž-é>íÿÿL1-Ž-L;%(Ž-…*íÿÿéeîÿÿH‹ Ž-H…É„­L‰èH™H÷ùH‰î�-L;%÷�-…ùìÿÿé4îÿÿL¯-Ô�-L;%Ý�-L‰-Æ�-…Øìÿÿéîÿÿ1ÀL;-²�-HÇ·�-•ÀH‰��-é°ìÿÿ1ÀM…í„£ýÿÿé‘ýÿÿH‹ ��-L‰èHƒù‡ûÿÿéóÿÿD‹ P�-H‹a�-ÇÇ�-E…ÉH‰•�-„¸óÿÿH�=l�-=o…§óÿÿ‹h�-‰Áƒáûƒé„øƒø„fƒø…�óÿÿL‰- �-ƒè…ìÿÿÇ.�-é ìÿÿf„L-áŒ-L9%êŒ-…ìëÿÿé'íÿÿL -ÈŒ-L;%ÑŒ-…Óëÿÿéíÿÿ¾„éEñÿÿH‹ ¥Œ-H…É„€L‰èH™H÷ùH‰�Œ-éšþÿÿ1ÀL;-Œ-HÇ„Œ-–ÀH‰jŒ-é}ëÿÿº¾ÐéD1ÿè,yþÿHƒÄH‰ÞH‰ê[]A\A]H‰Ç1Àé’%L‰%CŒ-E1äé&ìÿÿH‹C ƒxu ƒ8+„lƒx‹„¿H‹5Œ-‹Œ-�J éæòÿÿH‰- Œ-H‰(éüêÿÿH‹P(H‹JhH…É„H�ù=o„óH‹R`HP0HÇ»‹-ÇÁ‹-H‰ ²‹-H‰›‹-é®êÿÿH‹kº¾ éDé(ÿÿÿƒ=d‹-…ŽêÿÿH‹kº¾XéDéÿÿÿH‹|‹-é¥öÿÿ1ÀéQÿÿÿƒ=1‹-„UýÿÿH‹[ º¾ZêD1ÿèxþÿH‰ÞH‰Ç1Àèy$é.ýÿÿƒ=ýŠ-„!ýÿÿH‹[ º¾IêDëʃ=àŠ-u%H‹kº¾XéD1ÿè¹wþÿH‰êH‰ÇH‰Þ1Àè)$Çߊ-HǼŠ-HǹŠ-HǶŠ-é¹éÿÿH‹kº¾�éDé3þÿÿH�x(=o…TûÿÿH‹s1É1Ò¿`Foè†{þÿH…À„9ûÿÿ¶@ Àè‰Â‹ž{-ƒâƒà9Â…ûÿÿéVöÿÿH‹@8HÇDŠ-=oHÇ1Š-H‹@0Ç3Š-H‰Š-é'éÿÿH‹8Š-éšùÿÿH‹X8H‹=ð‡-èÛzþÿ1Ò‰ÁH‰ØH÷ñéöïÿÿ1Àéïïÿÿ¸éåïÿÿH�=ø‰-=o„†H‹R`HP0é«ôÿÿƒ=–‰-…âH‹@0HÇ¡‰-ǧ‰-H‰˜‰-H‰�‰-é”èÿÿ1ÿº¾˜ËDèCvþÿA[[]A\A]H‰Ç1Àé±"H‹R‰-Ç€‰-H‰™‰-éTèÿÿƒ=�ˆ-„iýÿÿéhÿÿÿƒø@”Æt ƒø…üÿÿI�L@„öH‰ Y‰-„óûÿÿH‹5\‰-H�~ÿH…Ï„ßûÿÿH�LÿH÷ÞH!ñH‰ -‰-H)ÑH‰ Óˆ-éÅûÿÿH‰ðé)òÿÿH‹kº¾àèDéXüÿÿ¾ë”H‹Pƒz‹ …„üÿÿ�ù…xüÿÿH‹R€:.…küÿÿ€z…aüÿÿH‹@ ‹pƒþ„º‹8H�PèÃþÿ…À…ªùÿÿH‹C é5üÿÿ�ú…5üÿÿH‹Pƒz…'üÿÿH‹Bƒx…üÿÿ�8… üÿÿH‹Hƒy‹1…ýûÿÿ�þ…ñûÿÿH‹I€9.…äûÿÿ€y…ÚûÿÿH‹@ ƒx…ÌûÿÿHƒx…ÁûÿÿH‹B(ƒx…³ûÿÿHƒx…¨ûÿÿéùÿÿHƒx…;ÿÿÿéóøÿÿI9͆®æÿÿH�T1ÿI)ÍI!ÕLèH‰�‡-锿ÿÿH‹µ‡-H‰n‡-é�æÿÿ�UH‰ý¿(SHƒìèm0ÿÿH‰ÃÇè?×þÿH‰C‹u[-H‰kHÇC ÇC‰CHƒÄH‰Ø[]ÃDATI‰ôUH‰ý¿(Sè0ÿÿH‰ÃÇèîÖþÿH‰C‹$[-H‰kL‰c ÇC‰CH‰Ø[]A\Ãf.„ATI‰ôUH‰ý¿(SèÌ/ÿÿH‰ÃÇmèžÖþÿH‰C‹ÔZ-ÇC H‰kL‰c ‰CH‰Ø[]A\Ãf.„H‹Ç[†-H‰Œ†-H‰5�†-H‰v†-éåÿÿf„Ç.†-HÇS†-HÇP†-HÇM†-=oéàäÿÿHƒìHdH‹%(H‰D$81ÀH‹F‰<$H‰çH‰t$H‰T$ ÇD$H‰D$‹FÇÆ…-HÇë…-HÇè…-HÇå…-=o‰D$ètäÿÿ‹¾…-…ÀuJ¿(è°.ÿÿH‹$H‰H‹T$H‰PH‹T$H‰PH‹T$H‰PH‹T$ H‰P H‹L$8dH3 %(uHƒÄHÃH‹=Q…-èäýÿÿëÝè]rþÿf.„HƒìHdH‹%(H‰D$81ÀH‹F‰<$H‰çH‰T$ H‰t$H‰L$(ÇD$H‰D$‹FÇá„-HÇ…-HÇ…-HÇ…-=o‰D$è�ãÿÿ‹Ù„-…ÀuU¿0èË-ÿÿH‹$H‰H‹T$H‰PH‹T$H‰PH‹T$H‰PH‹T$ H‰P H‹T$(H‰P(H‹L$8dH3 %(uHƒÄHÃf�H‹=a„-èôüÿÿëÛèmqþÿf.„HƒìHdH‹%(H‰D$81ÀH‹F‰<$H‰çH‰t$ÇD$H‰D$‹FÇûƒ-HÇ „-HÇ„-HÇ„-=o‰D$è©âÿÿ‹óƒ-…ÀuG¿ èå,ÿÿH‹$H‰H‹T$H‰PH‹T$H‰PH‹T$H‰PH‹L$8dH3 %(uHƒÄHÃfDH‹=‰ƒ-èüÿÿë×è•pþÿDSH‰óHƒì@dH‹%(H‰D$81À‰<$èPÓþÿH‰D$‹…W-H‰çH‰\$ÇD$Ç#ƒ-HÇHƒ-‰D$HÇAƒ-HÇ>ƒ-=oèÑáÿÿ‹ƒ-…ÀuG¿ è ,ÿÿH‹$H‰H‹T$H‰PH‹T$H‰PH‹T$H‰PH‹L$8dH3 %(uHƒÄ@[ÃDH‹=±‚-èDûÿÿë×è½oþÿf.„ATA‰ÔUH‰ý¿0SH‰óè™+ÿÿH‹SÇ=H‰P‹SÇ@H‰X H‰hÇ@(‰PD‰`,[]A\ÃfDUH‰ý¿0SH‰óHƒìèJ+ÿÿH‹SÇ=H‰P‹SÇ@H‰X H‰hÇ@(‰PÇ@,HƒÄ[]Ãf�ATA‰ÔUH‰ý¿0SH‰óèù*ÿÿH‹SÇ=H‰P‹SÇ@H‰X H‰hÇ@(‰PD‰`,[]A\ÃfDUH‰õSH‰û¿(Hƒìèª*ÿÿH‹SÇ!H‰P‹SÇ@H‰XH‰h ‰PHƒÄ[]ÃSH‰ûHƒ=Ü€-„nH…Û„ƒ{ ‡[‹Cÿ$ÅpëD�H‹ ±€-º¾¿²êDèõuþÿH‹{è¬ÿÿÿH‹K º»êD[H‹=ƒ€-¾1Àéßuþÿ€H‹CH‹°ðH…öt1À¿�êDè\H‹CH‹S H‹0¿”êD[1ÀéD@‹;��éþÿÿƒù.‡Ï¸Hº``HÓàH…Ð…ì©„©1öèrÞÿÿH‹ ó-º¾¿ªêDè7uþÿH‹{ èîþÿÿH‹ Ï-º¾¿®êDéíH‹{èÇþÿÿH‹5¨-¿?èoþÿH‹{ è­þÿÿH‹5Ž-¿:èünþÿHƒ=|-H‹[(…œþÿÿf.„H‹1n-H‰Z-éþÿÿD‹;�ÿ„Š1öè³ÝÿÿH‹KH…É„ºÁêDé™þÿÿ@H‹{H‹5-è¨mþÿ‹;¾è|ÝÿÿH‹[ éþÿÿ‹;1öègÝÿÿHƒ{„¼H‹ Ý~-º¾¿¸êDè!tþÿH‹{èØýÿÿ[H‹5¸~-¿)é&nþÿfDH‹=¡~-H‹KºœêD¾1ÀèôsþÿH‹{ ëÁfDH‹s¿÷ÇD1À[éw€[¾Þ¿AêDé H‹5Q~-¿(è¿mþÿH‹{èVýÿÿ‹;¾èªÜÿÿH‹{ édÿÿÿ�[ÃfD1öè‘ÜÿÿH‹5~-¿ è€mþÿH‹5~-¿(èomþÿH‹{èýÿÿH‹ ç}-º¾¿¯êDè+sþÿëŸf„[¿…êD1ÀéÃH‹{H‹5­}-[é?lþÿDf.„ATH…ÿUH‰õSH‰ûtlI‰ÔÇì}-HÇ~-HÇ~-HÇ ~-=oèžÜÿÿ‹è}-…Àu„GÿÿÿH‰Ö1ÿëÂf�ATH…ÿU‰õSH‰û„•I‰ÔÇé{-HÇ|-HÇ |-HÇ|-=oè›Úÿÿ‹å{-…Àt)H‹Ò{-H…ÀtUH‹@(H²{-[]A\H‰§{-ÃfDM…ät*ƒ=|{-t!º¾êD1ÿèYhþÿL‰âH‰ÇH‰Þ1ÀèÉHcÅ[]A\Ã�H‹a{-ëñ€Hƒì¹ º(¾P¯A¿`Foè#kþÿ…ÀtHƒÄÃf.„1ÿº¾ØÏDèïgþÿHƒÄH‰Ç1Àéa�1Ò¾ð®A¿`Foé¿fþÿDf.„¿`FoéÖhþÿfDH‹Ao-H‹@ÿàH‹1o-H‹@ÿàH‹!o-H‹@ÿàH‹o-H‹ÿà@H‹o-H‹@ ÿàH‹ñn-H‹@(ÿàH‹án-H‹@@ÿàH‹Ñn-H‹@0ÿàH‹Án-H‹@`ÿàH‹±n-H‹€€H…ÀtÿàóÃfDH‹‘n-H‹@hH…ÀtÿàfDóÃfDH‹qn-H‹@HÿàH‹an-H‹@pH…ÀtÿàfD1ÀÃDH‹An-H‹@xH…ÀtÿàfD1ÀÃDH‹!n-H‹€�H…ÀtÿàóÃfDH‹n-H‹€˜H…Àtÿà1ÀÃDH‹ám-H‹€ˆH…Àtÿà1ÀÃDH‹Ám-H‹€ H…Àtÿà1ÀÃDH‹¡m-H‹€°H…Àtÿà1ÀÃDH‹�m-H‹@8ÿàHƒì¿ðîDèòbþÿH…Àt HƒÄÄH‹Qm-H‹@XHƒÄÃHƒìH‹==j-dH‹%(H‰D$1ÀH…ÿt+¶Yv-ƒà<v2‹˜u-…Òt1ÒH‰æècþÿH‹$€8u-H‹D$dH3%(uHƒÄËfu-…ÀuÎ1öèßPÿÿëØèxeþÿ‹5Nu-H‹=Ãi-ëåf„óÃ@f.„1ÿéékÿÿf„¶Éu-ƒà<t é]hÿÿDóÃfD¶©u-ƒà<tH‹=ëu-¾ÀOoéamþÿ�óÃ@f.„HƒìH‹=Åu-H‹^x-‹5Px-H‹Gÿ�ˆH‹5Ow-H‹=èt-èëkþÿH‹5Dw-H‹=Õt-HƒÄéÔgþÿ@Hƒì¾úîD1ÿºèKdþÿ1öH‰ÇHƒÄ1Àéë�f.„Hƒì¾ ïD1ÿºèdþÿ1öH‰ÇHƒÄ1Àé»�f.„UH‰ýS»`'oHƒìHƒ=ZL-uë,fDH‰î¿ èóeþÿH‹H‰îHƒÃH‹xPèeþÿHƒ;uÚHƒÄ[]ÃATI‰üUS€?g„ H‹ L-H…Ût<½`'oëDHƒÅH‹]H…Ût#H‹sPL‰çègþÿ…ÀuãH‰üj-[]A\Àº¾@ïD1ÿèGcþÿL‰æH‰Ç1À躺¾ïD1ÿè)cþÿH‰Ç1ÀèŸH‹=�d-èÿÿÿ[]A\¿$ÊD1À郀l…Vÿÿÿ€dH�GLDàéEÿÿÿDAT1ÀI‰üU½`'oSH‹;K-H…ÛtVfDHƒ»¨t&H‹KPº4ïD¾L‰ç1Àè®jþÿL‰çÿ“¨¸HƒÅH‹]H…ÛuÃ…Àt[]A\Ãf.„º¾hïD1ÿè_bþÿ[]L‰çH‰Â¾A\1ÀéYjþÿf„H‹Ñi-H‹€¸H…Àtÿà1ÀÃDH‹±i-H‹’ÀH…ÒtÿâH‰øÃ@H‹‘i-H‹€ÈH…ÀtÿàóÃfDSº‰û¾ŠïD1ÿèÌaþÿH‹=5[-H‰Â¹¸ïD1À¾èÁiþÿöÃulƒãu[ÃD1ÿº¾•ïDè�aþÿ¿H‰Æ1Àè°gþÿH‹éI-H…ÀtÍ»`'o€H‹PPHƒÃ1À¾®ïD¿ègþÿH‹H…Àuß[ÃDº1ÿ¾èïDè/aþÿ¿H‰Æ1ÀèPgþÿ1ÿº¾ ðDèaþÿ¿H‰Æ1Àè0gþÿéOÿÿÿf.„�H�ìØ„ÀH‰T$0H‰L$8L‰D$@L‰L$Ht7)D$P)L$`)T$p)œ$€)¤$�)¬$ )´$°)¼$ÀdH‹%(H‰D$1ÀH�„$à1ÉH‰âH‰D$H�D$ Ç$ÇD$0H‰D$è*H‹D$dH3%(uH�ÄØÃè}`þÿf.„AWAVAUATUH‰ÕSH‰ûH‰÷H�ìèdH‹%(H‰„$Ø1À¶‰L$ÇD$„ÀtO<%„ŽI‰üë <%tM‰üA¶D$M�|$„ÀuêL9ÿtL‰úH‰Ù¾H)úè²gþÿA¶D$<%tQ„ÀL‰ÿu±‹L$…Ét ‹ r-…ÒuR‹D$…À… H‹„$ØdH3%(…õ H�Äè[]A\A]A^A_ÃI‰ÿA¶WM�g�BÛñDH‰ß1Àè÷ÿÿE…ö„üøÿÿH‹=¢_-HÇŸ_-H…ÿtèuUþÿHÇ‚_-H‹=s_-H…ÿ„ÅøÿÿèUUþÿHÇZ_-é°øÿÿH‹EH‰ÂHƒÀH‰EL‹*H‰ÂHƒÀH‰EH‹ H‰L$H�PH‰UéEúÿÿH‹EH�PH‰UéþÿÿH‹EH�PH‰UéÿÿÿH‹EH�PH‰Ué�ùÿÿH‹EH�PH‰UéçøÿÿH‹EH�PH‰Ué�ùÿÿH‹EH�PH‰Ué=øÿÿH‹EH�PH‰Ué€üÿÿH‹EH�PH‰Ué¼üÿÿH‹EH�PH‰UéÄûÿÿ‹5˜g-…ötM-H‰D$H�D$ Ç$ÇD$0H‰D$è{óÿÿH‹D$dH3%(uH�ÄØÃèÎSþÿ@f.„SH�ìЄÀH‰t$(H‰T$0H‰L$8L‰D$@L‰L$Ht7)D$P)L$`)T$p)œ$€)¤$�)¬$ )´$°)¼$ÀH‰ûdH‹%(H‰D$1ÀH‹=zL-è5XþÿH�„$àH‹=nT-¹H‰âH‰ÞÇ$H‰D$H�D$ ÇD$0H‰D$è˜òÿÿH‹=9T-èìWþÿH‹D$dH3%(u H�ÄÐ[ÃèÞRþÿ@f.„Uº‰õ¾XñDSH‰û1ÿHƒìètRþÿHƒÄH‰Þ‰ê[]H‰Ç1ÀéßþÿÿDf.„H�ìØ„ÀH‰t$(H‰T$0H‰L$8L‰D$@L‰L$Ht7)D$P)L$`)T$p)œ$€)¤$�)¬$ )´$°)¼$ÀdH‹%(H‰D$1ÀHƒ=…d-t?H�„$à€?%Ç$ÇD$0H‰D$H�D$ H‰D$t0H‰þH‹=Nd-1ÉH‰âèlñÿÿH‹D$dH3%(…¾H�ÄØÃ€!uÊ€uÄ¿ è*Sþÿ‹ $Hǃù0s[H‹T$�q‰Ï‰4$ƒþ/H‹<:H‰x‡‰÷�q‰4$H‹<:ƒþ/H‰xwcƒÁHò‰ $H‹H‰PH‹1a-H‰H‰'a-éfÿÿÿf�H‹T$H‰ÑHƒÂH‰T$H‹ H‰HH‰ÑHƒÂH‰T$H‹ H‰HH�JH‰L$ë«èQþÿH‹T$ëéH‹T$ëÏ€H‹5Qc-¿ é¿RþÿDf.„H‹51c-¿ éŸRþÿDf.„ATA‰ôUH‰ýSH‰ÓºH…ÛtD¾˜ñD1ÿèMPþÿH‰ÙH‰ÇD‰âH‰î1Àèºüÿÿº¾tñD1ÿè)PþÿH‰Ç1ÀèŸüÿÿ¿èõVþÿ1ÿ¾ÈñDè PþÿD‰âH‰ÇH‰î1Àèyüÿÿë½€U1Ò¾€ôD1íSH�ì¨dH‹%(H‰„$˜1ÀèQþÿH‰âH‰Æ¿H‰ÃèsTþÿ…Àu‹D$1í%ð=@@”ÅH‰ßè#MþÿH‹Œ$˜dH3 %(‰èu H�Ĩ[]Ãè¯OþÿDf.„AVAUI‰õ¾“‚DATUH‰ýSèVþÿH…ÀH‰Ã„™1ÀHƒ="b-t,H‰ïE1öèÕNþÿH‰ÇI‰ÄèJOþÿHcË_-9Â|GL‰çè—LþÿD‰ðA‰E‹âa-º¾§ôD…Àt1ÿèåNþÿH‰îH‰Ç1ÀèˆúÿÿH‰Ø[]A\A]A^Ã@Lâ€:/u±ÆH‹=¦a-L‰æE1öèëMþÿ…ÀA”Æë”ƒ=„a-tº¾‹ôDë¢@f.„AT…öI‰üU‰õSu ‹ù`-…Àu;¿èPþÿH‰ÃHljhH‹7-H‰ü6-H‰A€<$=tL‰çè2PþÿH‰C[]A\Ãf„H‹=É_-I�t$1Ò1Àè[OþÿH‰C[]A\Ãf�AVAUI‰ýATUS‰óHƒìdH‹%(H‰D$1À…ö„H‹�U-H‹�6-H…Ò„…ÛH‰H‹tU-HDta-L�t$H…Ûué¤DH‹H…Û„ŒH‹{1ÉL‰ê¾ÉD1ÀèÇNþÿL‰öH‰ÅH‰Çè þÿÿH‰ïI‰ÄèîJþÿM…ätÁH‹ 6-HÇ‹T$L‰îL‰ç茬þÿÇ’4-L‰%kT-H‹D$dH3%(…RHƒÄ[]A\A]A^Ãf.„H‹±5-HÇ¿1Àè¶Nþÿ1ÿº¾xõDèÕLþÿL‰îH‰Ç1ÀèHùÿÿë›fDL�t$L‰öèSýÿÿH…ÀI‰Ä…\ÿÿÿéËþÿÿH‹={_-º¾ôD¾ÇôDè SþÿH…ÀH‰ÅtFH‰ÇèŒüÿÿ…ÀH‰ït2H‹-&5-¾HÇ5-°FoèÙýÿÿH‹T-H‰-5-H‰èéƒþÿÿèÎIþÿH‹=_-º¾ôD¾ÇôDè¨RþÿH…ÀH‰ÅtH‰Çè(üÿÿ…ÀH‰ïuœèœIþÿH‹=å^-ºõ©FH‰ÖèxRþÿH…ÀH‰ÅtH‰Çèøûÿÿ…ÀH‰ï…hÿÿÿèhIþÿH‹‰4-H‹ŠS-éþÿÿèLþÿAWI‰÷AVAUATUSH‰ûHƒìH‹v@èCKþÿ‹ …^-I‰G …Ét,H…Àº¾ÐôDt¾ëôD1ÿèzKþÿH‰ÞH‰Ç1Àè÷ÿÿI‹G H…À„à¶PH�HD‰ÖƒÎ@ˆpHA€IyƒÊHˆPHA¶WHƒâ$€ú tR¾H‰ÇèESþÿ…À……I‹o H…ít4¾H‰ïè'Sþÿ…ÀtsA¶GH¨ uI‹W öBE…,¨…¤@öª[-t ‹AS-…Àt»HƒÄ‰Ø[]A\A]A^A_ÀI‹ ¾èÂRþÿ…ÀtÑL‰ÿè–.ëÇ@I9o uªAöGHt£èLþÿƒø u™L‰ÿèAäÿÿ…Àu�1öH‰ßE1öè`üÿÿÇR-ÇDZ-è­þÿ¸në0=�Û=uH‹=ÿY-H…ÿtè­Gþÿè�þÿ…À„Ç=~É=,…Žèé�þÿƒø(uÜ@èÛ�þÿ=uÌL‹%­Y-èÈ�þÿƒø,„ûE1í1íƒø)„¬L‰çèIGþÿH…ítH‰ïèõDºÃôDH‰îèþÿÿ…ÀtË€eHû[]A\Ãf.„H‹H‰îè„ùÿÿ…À…zÿÿÿH‹uH‹}èoDþÿ…À„”L‹eH‹]º¾ õD1ÿèEþÿL‰âH‰ÇH‰Þ1Àè~ñÿÿë?@¶EH¨tHL‹%™V-M…ätþÿH‹t$H‰Ç1ÀèOëÿÿH‰ïè‡@þÿI‹L$H‹|$H‰ÂL‰îH‰D$èMFþÿH…ÀH‰ÅˆaH‹D$L�èL9ЃH‹D$L‹8M…ÿ„H‰\$(L‰t$0H‰Å‹\$ M‰ÖL‰l$ L‹l$L‰d$ëCf„A÷D$tH‹D$H‹@I9D$ tNDHƒÅI9L‹}M…ÿ„¦I‹H…ÀtÞL‹ M…ätÖ…Ût²I‹D$ H=ø;otö@!uAöD$‚t·M…턎I‹|$L‰îèqAþÿ…À”À„Àt˜M‹L$1ÿº¾èöDM‹L‰L$8è©=þÿH‹L$0L‹L$8H‰ÇL‹D$(H‹T$ 1ÀH‹t$H‰ $L‰ùèÿéÿÿéJÿÿÿf.„H‹|$HƒÄH[]A\A]A^A_éè:þÿ„A‹D$Áèƒàétÿÿÿ1ÿº¾ÝDè/=þÿH‹t$H‰Ç1Àè éÿÿézþÿÿ�f.„‹¾M-H‹…ÒuH‹pH‹H‹xé“@þÿH‹pH‹H‹xé€@þÿAUI‰ÕATUH‰õSH‰ûHƒì‹ßD-…À„¯1ɺH‰Þ¿ Goèë@þÿH…ÀI‰Ä„âI‹\$ H…Ûu ë;H‹H…Ût0H9kuòI�ýø;o„ŒAöE!uN€KHƒÄ[]A\A]À¾¿ GoèÉ?þÿH…ÀH‰Ã„ I‹D$ H‰I‰\$ H‰k€cøë¤fD€KHƒÄ[]A\A]Ã�º(¾€ûA¿ GoèþÿH…ÀH‰jB-„ H‹UB-H‹ ^B-H‹5�B-H‰ÚH‰Ïè„>þÿ‹5šB-‹�B-H‰ÁH‹nB-HÙH‰ËHB-‰5+B-H‹54B-…ÒH‰#B-‰B-H‰5ÞA-„‡1í‰êL‹$ÐM…ätW‹BB-H‰ÏL‰æè>þÿH‰Á‹.B-HÁI‹D$ H…Àt$�H‹HƒÃH‰SèH‹PH‰SðH‹PH‰SøH‹H…ÀuÝM‹$$M…äu¬ƒÅ9-ãA-†H‹¾A-éƒÿÿÿH‹5zA-H…ö„‹wA-H‹TA-1íH‹=kA-‰¥A-‹WA-L�$H‰=|A-L‰ãH"A-‰ˆA-èg=þÿH‹A-H‰9A-‹kA-…ÀttH‹HA-‰êL‹ÐM…ÀtWD‹RA-L‰æL‰Çè'=þÿI‰À‹>A-IÄI‹@ H…Àt$f�H‹HƒÃH‰H‹KðH‰HH‹KøH…ÒH‰HH‰ÐuÞM‹M…Àu®ƒÅ9-õ@-wŒH‹5”@-H‹=Ý@-èX>þÿH‹=‰@-è6þÿHÇy@-¸[]A\Ãþ„åþÿÿƒþtÑ[]1ÀA\ÿ Goèx9þÿÇf@-¸ëË€AWº¾ƒöDAVAUATUH‰ý1ÿSHƒìdH‹%(H‰D$1Àè8þÿ¾H‰ÂH‰ï1Àè @þÿº1ÿ¾œöDèë7þÿH‰îH‰ÃH‰Çè9þÿH‰ßè8þÿƒø1‰ÃfDH‰î¿ ƒÃè˜8þÿƒû2uë1ÿº¾£öDè¢7þÿ¾H‰ÂH‰ï1Àè ?þÿ‹¢?-…Ò„�H‹‹?-H�<Åè.9þÿ¾ðûAH‰â¿ GoI‰ÅH‰$èE6þÿH‹4$L)îHÁþH;5S?-t¾ˆ¿]öDè¢äÿÿH‹5;?-¹àBºL‰ïèé5þÿH‹"?-M�tÅM9õƒ€@M‹}H‹=íG-1É1ÒA¸I‹wèÒ9þÿH…À„€x„—‹}G-…À„`I‹Oº ÈD¾H‰ï1Àè¹>þÿI‹èÐ6þÿ�XM‹g M…ä„ìAöD$t3ƒû1H‰î¿ ƒÃèP7þÿƒû2uëI‹T$¾8ÇDH‰ï1À1ÛèeÕÿÿM‹$$M…äu¼M‹g M…ä„›€AöD$t3ƒû1H‰î¿ ƒÃèø6þÿƒû2uëI‹T$¾8ÇDH‰ï1À1Ûè ÕÿÿM‹$$M…äu¼M‹g M…ätGAöD$u3ƒû1H‰î¿ ƒÃè¨6þÿƒû2uëI‹T$¾8ÇDH‰ï1À1Ûè½ÔÿÿM‹$$M…äu¼…Ût¾è¿]öDèãÿÿIƒÅM9þÿÿH‹D$dH3%(…ÆHƒÄ[]A\A]A^A_ÃI‹Oº ÈD¾H‰ï1ÀèY=þÿI‹èp5þÿ�Xé›þÿÿH‹@(HƒxhtœH‹€ðH…À„Nþÿÿö@E„DþÿÿI‹G H…ÀuétÿÿÿDH‹H…À„cÿÿÿH‹PöBEuêéþÿÿ1ÿº¾©öDèÔ4þÿ¾H‰ÂH‰ï1ÀèÒ<þÿé9ÿÿÿI‹w¿¸öDè/áÿÿéÛýÿÿèå4þÿD‹²<-…ÀuóÃ@Hƒì¿ Go1Ò¾PþAèk3þÿ¿ýAHƒÄéí%ÿÿf.„AUATUH‰õSH‰ûH‰÷Hƒìèx4þÿL�`H‰ßL‰æèI4þÿH…ÀH‰Ãt!L‰âH‰îH‰ßèS8þÿHƒÄH‰Ø[]A\A]ÃDè«5þÿ1ÿA‰Åº¾€÷Dè÷3þÿD‰îH‰Ç1Àèjàÿÿë·„AVI‰þAUI‰ÕATUH‰ÍSH‰óHƒìH…öD‹d$@„Á€~H‰ð„H…ítöEF urI�ø(>o„ÍA÷Ä …ÀA÷ÄuOI�øø;o„Aö@!t€H¶P�Jý€ù†€úu"H‹P(H‹RH‹’ðH…ÒtöBF tÆ@H‰P(‹:<-…Àu-I‹~8L‰L$L‰$H…ÿtdH‹s1É1ÒèG7þÿH…ÀL‹$L‹L$tIH‹ú;-D‰d$@H‰ÞH‰éL‰êL‰÷H‹@PHƒÄ[]A\A]A^ÿà€€xu:A€}u‹A€Më„@HƒÄ¸[]A\A]A^ÃfDH‹F(éâþÿÿ€€HA€M‹‰;-…À…xÿÿÿéFÿÿÿ¶H�Qÿ€úv)€Hé'ÿÿÿ€H‹P(H‹’ðH…Ò…þþÿÿéÿÿÿH‹P(H…ÒtöBF tÈH‰h(ëÂf�Hƒ=8;-SH‰ût"‹{(ƒÿÿt èõ3þÿÇC(ÿÿÿÿ1À[Ãf.„¾W¿¯ùDèQßÿÿëÍDf.„UH‰ýSH‰óHƒìHƒ=Ü:-t*H‹E H‰H‹E0H‰CH‹E8H‰k H‰CHƒÄ1À[]ÃfD¾ö¿¯ùDèñÞÿÿëÅDf.„H‹‰:-SH‰ûH…ÀtH‰X81À[ľп¯ùDè±ÞÿÿH‹Z:-H‰X81À[Ãf�H‹I:-SH‰ûH…ÀtH‰X01À[ľǿ¯ùDèqÞÿÿH‹:-H‰X01À[Ãf�H‹ :-SH‰ûH…ÀtH‰X(1À[ľ¾¿¯ùDè1ÞÿÿH‹Ú9-H‰X(1À[Ãf�Hƒ=È9-SH‰ûtH‰ßèš2þÿ1öH‰Çèâÿÿ1À[Ã@¾9¿¯ùDèéÝÿÿëÕ€Hƒ=ˆ9-SH‰ût2H‰ßèZ2þÿ1Ò1öH‰Çè^óþÿH‰Â¸H…Òt€JI€0À[Ãf„¾+¿¯ùDè‘Ýÿÿë½Df.„Hƒ=(9-SH‰ût2H‰ßèú1þÿ1Ò¾H‰ÇèûòþÿH‰Â¸H…Òt€JI€0À[ÃfD¾¿¯ùDè1Ýÿÿë½Df.„AWAVI‰öAUATUSH‰ûHƒìHƒ=´8-L‹g8H‹o0„†H‹CH…ÀtL9ctgH‰èD‹C(L‰cH™H‰k1ÿH÷=Õ7-¹H)ÕIÔI‰ÕI‰éºL‰æè¯/þÿHƒøÿ„…ÇC,IÅL‰k1ÀM‰.HƒÄ[]A\A]A^A_ÃH9ku“I‰1Àëá¾ ¿¯ùDèaÜÿÿL‹{8M9ü„^ÿÿÿL‹k 1ÿº¾¸÷DèÏ.þÿL‰úH‰ÇL‰î1Àè?Ûÿÿé4ÿÿÿf.„‹{(1ÒÇC,H‰îèÌ/þÿH…Ày¸ékÿÿÿDH‹;L‰æè�.þÿH…ÀI‰ÅtÞH‰ÅëHÅI)ÄM…ä„6ÿÿÿ‹{(L‰âH‰îè³0þÿHƒø„ÿÿÿ×€è;,þÿƒ8tÌë�@AWAVAUATUSH‰ÓHƒì(Hƒ=77-H‹/‰t$„D‹t$IcþHÁçè¹/þÿE…öH‰ÆH‰D$ŽèI‰ÄD‰ðI‰ßƒèH�DÆH‰$H‹EH‰ïÿ�I‰$I‹WH‰ÃH‰(H…Ò„äI‹?1ɾ¸ùD1Àèë.þÿAƒH‰CHÇC‡äA‹Gÿ$Å`úDf„I‹w A½‚H…ö„˜1Ò¿ºùD1ÀèŸ.þÿH‰ïH‰ÆH‰D$è/þÿH…ÀI‰ÆL‹L$„nL‰Ïè¶*þÿH‹E‹@ƒøD‰kL‰s trIƒÄIƒÇ0L;$$…0ÿÿÿ‹T$H‹t$H‰ïè0þÿHƒÄ(1À[]A\A]A^A_ÃfDI‹w A½H…ö…hÿÿÿ¾ý~DH‰ïèø.þÿI‰ÆH‹E‹@D‰kL‰s ƒøu��H‹H‹Pƒz„?H‹[1ÿº¾ øDèz,þÿH‰ÞH‰Ç1ÀèíØÿÿA‹O1Ûƒù„)ŽÐƒùºtƒùº…¶CIƒàü ЈCIéÿÿÿ€I‹GH‰CH‹Eƒx„êÇCHÇC à:oéìþÿÿfDH‹EA¾ø;oA½€‹@éÁþÿÿH‹EA¾ø;oE1í‹@é¬þÿÿI‹é%þÿÿº�"L‰ÎH‰ïèà*þÿH…ÀI‰Æ…ïþÿÿ@HƒÄ(¸[]A\A]A^A_Ã@1Ò…É„>ÿÿÿº¾ð÷D1ÿ‰L$èi+þÿ‹L$H‰Ç1À‰ÎèÙ×ÿÿ1Òéÿÿÿf�Hƒ¸ø„³þÿÿA‹Oƒù…×þÿÿºéëþÿÿÇCLòÿÿÿHÇC0ÇCHÇC à:oéeþÿÿ¾Þ¿¯ùDèfØÿÿéçüÿÿ�SH�ìЄÀH‰T$0H‰L$8L‰D$@L‰L$Ht7)D$P)L$`)T$p)œ$€)¤$�)¬$ )´$°)¼$ÀdH‹%(H‰D$1ÀH�„$à…ÿH‰D$H�D$ Ç$ÇD$0H‰D$„˃ÿ„‚ƒÿºÐùD¸ËùDHE¹šöDE1ÀH‰òH‰Ç¾ãùD1Àèw+þÿH‹=�#-H‰ÃèH/þÿH‹=‰+-¹H‰âH‰ÞèÑÉÿÿH‹=r+-è%/þÿH‰ßè}'þÿ1ÀH‹\$dH3%(urH�ÄÐ[Ãf�1ɺšöD¿ÕùD1Àè +þÿH‹=&#-H‰Ã¹H‰âH‰ÆèsÉÿÿH‰ßè+'þÿë¬f„H‹=ù"-1ÉH‰âèOÉÿÿH‹5è"-¿ èN*þÿé|ÿÿÿè¤)þÿ@AWAVAUATU‰õSHƒìHƒ=h2-L‹/‰L$ „1…펂�EÿH‰ÓH�@HÁàL�d0ëmfDH;1:-„SI9Å„jH…À„A‹@DA¿Áè%ÿÿ©uƒà@ƒøEÿAƒÇ@‹š<-D‰{(…À…ÆHƒÃ0L9㄃{„H‹3H‹=•9-1É1ÒA¸è~+þÿH‰ÅH…í„ ¶UA¿�Bÿ<v¡�Bý<‡&€ú„AH‹U(‹CƒèƒøH‹‚ð†+ÿÿÿH;\9-„ŽI9Å„•H…À„|‹@DÁè%ƒø‹à;-EÿAƒÇ…ÀD‰{(„?ÿÿÿDD‹CD‹s1ÿH‹+º¾€øDHƒÃ0D‰$èÔ'þÿD‹$H‰ÇE‰ù1ÀD‰ñH‰êL‰îè:ÔÿÿL9ã…ÿÿÿHƒÄ1À[]A\A]A^A_ÃH‹H‹=¶8-E1À1ÉA¹¾ÀOoè&þÿH‰ÅH…í…óþÿÿ‹Kƒù‡{¸HÓà¨H‰Á…Žƒá „_A¿érþÿÿf�H‹Y0-¿HøDH‹p1Àè©Óÿÿ¶U€ú…¿þÿÿH‹E(H‹Pé¶þÿÿ€H‹uH‹=¥8-è˜+þÿ…Àu,H‹ 8-H‹@ƒx„¹1Àƒ{–À…À…žfDA¿éíýÿÿDA¿éÝýÿÿDA¿éÍýÿÿDöEA¿…¸ýÿÿ¶Q7-‰Áƒá€ùtG¨…gÿÿÿ€ùA¾€Co„XÿÿÿI‹~H…ÿt H‹uèî)þÿ…ÀtM‹6M…öuâA¿égýÿÿ€D‹|$ éVýÿÿ¶Uaƒâƒú”À…Ò” Ð¶Àé4ÿÿÿ¾–¿¯ùDH‰$ègÓÿÿH‹$é³üÿÿºXûD¾¬¿¯ùDèjÕÿÿf.„¹ éfüÿÿfD¹éVüÿÿfDH‹Á.-H…ÀtóÃf�º¾íùD1ÿé�%þÿDf.„AWAVAUATUSH‰ûHƒìXdH‹%(H‰D$H1ÀöGF …ͶWHƒâ0t4€úuH‹GPH‹@H‹L$HdH3 %(…€HƒÄX[]A\A]A^A_Ã@H‹‡ÐH…Àt ö@H„òL‹#E1ö1ö1ÀL‰çè°+þÿ…À‰Åˆ^H‹{L‹;Ç%%-èà+þÿ…ÀA‰ÅH‰ØHEà5-L‰ÿ1Ò¾ùùDH‰D$1Àèú%þÿH‹t$H‰Çè]'þÿH…ÀI‰Ç„Î�HD"H‰Çè’"þÿ…À„·E…í„qº� ¾ý~DL‰ÿè�#þÿH…À„“¾@L‰ÿèY$þÿH…ÀI‰Å„@E…ö„´H‹“ÈH‹CXL‹rH‹3L‰t$8L‰ÿL‰l$@H‰D$0L‰d$ ‰l$(IÇEM‰}IÇEIÇEA‰m(AÇE,I‰E0M‰u8èrïÿÿL‹%--I‰E ÇD$M…äuëQ„‹L$…ÉuAI‹D$(H…Àt.L‰%·,-H�t$H�|$ ÿÐ…ÀHÇž,-t I‹D$H‰ˆ,-M‹$$M…äu·Hƒ=w,-…1Aƒ}(ÿtH‹{èY*þÿ…À„¡‹T$…Ò„å¶CHL‰{PL‰ÿƒàσȈCHè|!þÿI‹GéÔýÿÿL‹ A¾éþÿÿf�H‰ßè8&þÿL‰ÿH‰Æèí+þÿH‰ßèõ$þÿL‰ÿ‰ÆèË(þÿI‹GL‰þH‰ßÿ�8…À…Rþÿÿº¾ÈøD1ÿè²"þÿH‰Ç1ÀE1ÿè%ÏÿÿéJþÿÿ‰ïè‰$þÿAÇE(ÿÿÿÿéKÿÿÿ@1ÀéBýÿÿ�º1ö‰ïè¢#þÿL‰æL‰ÿI‰ÆèîÿÿI‰Ä1Àé5þÿÿf.„A‹E,…Àux¶CHL‰ÿƒàÏƒÈ ˆCHè£&þÿ1Àéíüÿÿ@èsüÿÿ1ÿI‰Äº¾(ùDè"þÿL‰æH‰Ç1Àè‚Îÿÿé¤þÿÿè˜#þÿ1ÿº¾ðøD‰D$èã!þÿ‹t$H‰Ç1ÀèUÎÿÿé“ýÿÿI‹EI‹}H™H÷=7*-H‰ÖIuH)×è°'þÿécÿÿÿèæ!þÿfDATUH‰ý¿HSèO#þÿ¨H‰ÃH‰ÇA¸H…»@öÇ…É@öÇ…×D‰Á1ÀÁéAöÀóH«t ÇHƒÇAöÀt 1ÀHƒÇf‰GþAƒàtÆH‰k¾H‰ïè&þÿH…ÀH‰Ct)H‹Ú -H‰;*-H‰Ì -H‰HƒÃH‰*-[]A\Ã�è *þÿ1ÿI‰Äº¾XùDè× þÿL‰âH‰ÇH‰î1ÀèGÍÿÿë¬DH�xÆA°G@öÇ„;ÿÿÿ@1ÒHƒÇAƒèf‰Wþ@öÇ„)ÿÿÿÇAƒèHƒÇéÿÿÿf.„Hƒ=˜)-Str€?-H‰ût=¿è"þÿH‹t)-H‰XHÇH‰b)-H‰H‹`)-Hƒ@ 1À[À€-H�GH�w¹ ¿úDHDðó¦—À’Â)оÀ…Àu˜[ú¾íùD1ÿèâþÿ[H‰ò(-¸ÿÿÿÿÃ@H‹)-H…À„&1ÒfDH‹H H‹‰ÖH9ñGÑH…ÀuìAW�zAVHƒÇHÁçAUATUS1ÛHƒìèD!þÿH‰ÅI‰ÄfD‹�€ûDƒúA‰$‡Ëÿ$ÕˆúDIÇD$ B@HƒÃIƒÄHƒûuÊH‹s(-L�¥H…Û„~H‹{¾úDèÚ'þÿH…ÀI‰Å„¸H‹KL‰âH…Étf�H‹qH‹ HƒÂÇBðH‰røH…ÉuåÇÇBH‰ïH‰î'-AÿÕ…ÀA‰ÅHÇÛ'-…5H‹H…Ûu…¶v/-¿pB‰ÐƒÊ€Àè¶À‰ '-H‹y/-H‹H‰‡'-H‰ '-H‹HH‰ '-H‹HH‰ '-H‹HH‰ ÿ&-H‹H H‰ ü&-H‹H(H‰ ù&-H‹H0H‰ ö&-H‹H8H‰ ó&-H‹H@H‰ ð&-H‹HHH‰ í&-H‹HPH‰ ê&-H‹HXH‰ ç&-H‹H`H‰ ä&-H‹HhH‰ á&-H‹@pH‰Þ&-ˆ¨.-HÇ­&- B€ —.-HÇ«.-€Goèvþÿè�%þÿH˜H‰ &-HƒÄ[]A\A]A^A_óÃIÇD$@Bé:þÿÿAÇD$ãé,þÿÿIÇD$@BéþÿÿH‹·-I‰D$é þÿÿIÇD$€BéÿýÿÿIÇD$Ð BéñýÿÿIÇD$ BéãýÿÿIÇD$BéÕýÿÿIÇD$àBéÇýÿÿIÇD$0Bé¹ýÿÿIÇD$ÀBé«ýÿÿIÇD$€ Bé�ýÿÿIÇD$À Bé�ýÿÿIÇD$Bé�ýÿÿ¶š--1Òƒà<t„À²t 1Ò<”ƒÂA‰T$éWýÿÿAÇD$éIýÿÿ¾¯¿¯ùDèúÉÿÿé5ýÿÿDL‹s1ÿº¾%úDèkþÿD‰êH‰ÇL‰ö1ÀèÛÈÿÿé¡ýÿÿH‹{¾úDè%þÿH…ÀI‰Å….ýÿÿèW%þÿL‹sI‰Ç1ÿº¾XùDèþÿL‰úH‰ÇL‰ö1Àè�Èÿÿéüüÿÿf.„USH‰ûHƒìH‹ ènöÿÿH…ÀtH‹{ Hƒ¿ÐH‹oPt€KI H‰k HƒÄ[]Äè»"þÿëâf„SH‹à$-Ç$-H…Ût=f„H‹C0H…Àt#H‰ $-ÿÐ…ÀHÇ‘$-t H‹CH‰|$-H‹H…ÛuÌ1ÀHƒ=j$-[•À÷ØÃ�f.„ATUSH‹m$-H…ÛuëPfDH‹H…ÛtBH‹C8H…Àtï‹S@…ÒuèÇC@H‰"$-ÿÐ…À‰ÅHÇ$-uH‹{è¶ þÿH‹H…Ûu¾[]A\Ãf„L‹c1ÿº¾€ùDè»þÿ‰êH‰ÇL‰æ1Àè\Æÿÿë»f.„@¶Ç·„À8o¨u¨€u ¨t�G©Ã@�GÉÃ@�GÐÃPè[þÿ�f.„€?mH‰úu €du€5u€u¸óÀ¹H‰Ö¿ÄûDó¦¸@—Æ’Á@8Ît׿ÉûD¹H‰Öó¦tÆ¿äÇD¹H‰Öó¦”À¶ÀÃ�€?mH‰út(¹H‰Ö¿ÉûDó¦¸@—Æ’Á@8Îu(óÃfD€duÒ€5uÌ€uƸĹH‰Ö¿ÄûDó¦°@—Æ’Á@8Ît»¹H‰Ö¿äÇDó¦@—Æ’Á0À@8ÎužHƒÂë¶rö„6Á8otHƒÀHƒÂ€:t%¶ ¶ñö„6Á8ouÕ€ù:uHƒÂëàf.„óÀù-té1ÀÃfDAWAVAUI‰ýATI‰ÌUH‰ÕSH‰óH�ìÈdH‹%(H‰„$¸1À€>mu €~d„ñ¿ÄûD¹H‰Þó¦„$¿ÉûD¹H‰Þó¦„G¿äÇD¹H‰Þó¦…ˆHƒÃ1íëf.„<:…fHƒÃ€;tW¶¶Ð¾øö„Á8otܶSö„Á8otÎè©ýÿÿM�4,A‰ÅL�{AÁåHƒÅEˆ.¾{L‰ûè‡ýÿÿD èAˆ€;u­@¸H‹Œ$¸dH3 %(…÷H�ÄÈ[]A\A]A^A_Ãf.„€~5…ÿÿÿ€~…ûþÿÿH�|$è²1H�T$¾0bCL‰ïÿÕ…ÀtœH�|$L‰æèB:¸ëˆH�|$è>=H�T$¾ÀzCL‰ïÿÕ…À„dÿÿÿH�|$L‰æèZR¸éMÿÿÿ1ö1À¿ÎûDD‰D$ è þÿ…À‰Ãx.D‹D$ L‰æ‰ÇIcÐè•þÿ‰ßH‰ÅèþÿD‹D$ 1ÀA9èžÀéÿÿÿ1Àéÿþÿÿ<-„’þÿÿèõþÿDè;þÿf.„�Ƕ³'-ƒâ€ú„ç‹5Q)-¸°&E…ö„Ì‹ )-¸ÈIE…É„¹H‹ z'-H¾H¸H!ÎH9Æ„ºH¿H¸H!ÏH9Ç„²€ú„ÉH¸H9Æ„žH¸H9Ç„«€út6H¸H!ÁH9Á„ öí&-ºx}F¸[FHDÂÃf.„¸FóÃfD‹=F(-º`E¸àûD…ÿHDÂÃf„öI'-¸xmE„4ÿÿÿëÄ@¸È�EÃf�ö)'-¸èÕE„PÿÿÿóÃ@¸@²EÃf�¸`öEÃf.„öù&-¸Ð8F„Nÿÿÿéqÿÿÿf„ATUS¶WHH‰û¾ÂÁè‰ÅƒÍöÂ@Eèƒât L‹g AöD$Eu3…ít H‹{ öGEu []1ÀA\ÃfD‰îè‘þÿ[]1ÀA\Ãf.„1ÿº¾(¡FèïþÿL‰æH‰Ç1ÀèbÁÿÿë­SºH‰û¾`¡F1ÿèËþÿH‰ßH‰Â¾1ÀèÉþÿº¾°¡F1ÿè¨þÿH‰ßH‰Â¾1Àè¦þÿº¾¢F1ÿè…þÿH‰ßH‰Â¾1Àèƒþÿº¾H¢F1ÿèbþÿH‰ßH‰Â¾1Àè`þÿº¾�¢F1ÿè?þÿH‰ßH‰Â¾[1Àé<þÿf�f.„AWAVI‰þAUATUH‰õSHƒìL‹?M…ÿ„ÌL‰ÿè(þÿH‰ïH‰D$èþÿD¶-{&-H‰ÃE¾åëf.„HƒÀI‰Çt0H‰ÚL‰þH‰ïèÙþÿ…ÀuA¶„ÀtdD8èt_D‰æL‰ÿèLþÿH…ÀuÇH‹D$H�|èHþÿD¾ &-M‹H‰ÇH‰Ã¹Ÿ~DHÇÂÿÿÿÿ¾H‰,$1Àè«þÿI‹>èãþÿI‰ë fDM…ÿt¬HƒÄ[]A\A]A^A_ÃH‰÷è,þÿI‰ëä€USHƒìdH‹%(H‰D$1À�ÿ’„Fލ�ÿ•„ Ž&�ÿ—„úŒ”�ÿ˜…€H‹‘-¾ì‚DH‰ßè”þÿ…À„L¾„§FH‰ßèþÿ…Àt4¾‰§FH‰ßènþÿ…À„¾’§FH‰ßèYþÿ…Àº¾à¢F…²Ç9#-¸ëFfD�ÿ-„tŽ®�ÿ�tF�˜�ÿ.…Ü€ ñ"-@¸„H‹\$dH3%(…¨HƒÄ[]ÃD€%½"-߸ëÒf�H‹5© -¿`Hoè¯ýÿÿ¸ë¸„�ÿ“„4�ÿ”…`H‹=q -èløþÿ¸é‚ÿÿÿf�ƒÿP„ƒÿz…6H‹G -¿©§F¹H‰Þ󦄿¦§F¹H‰Þ󦄱¿®§F¹H‰Þó¦„C¿½§F¹H‰Þó¦„ʿϧF¹ H‰Þó¦„ú¿Ý§F¹ H‰Þó¦„!¿Û§F¹ H‰Þó¦„)¿ç§F¹ H‰Þó¦„f¿X‹C¹H‰Þó¦„k¿ó§F¹ H‰Þó¦„h¾ý§FH‰ßè8þÿ…À„e¾¨FH‰ßè#þÿ…À„b¾¨FH‰ßèþÿ…À„k¾¨FH‰ßèùþÿ…À„G¾&¨FH‰ßèäþÿ…À„¾/¨FH‰ßèÏþÿ…À„X€;nu€{ou€{wu €{„#¾6¨FH‰ßèŸþÿ…À„ ¾;¨FH‰ßèŠþÿ…À„Ú¾D¨FH‰ßèuþÿ…À„·¾B¨FH‰ßè`þÿ…À„”¾N¨FH‰ßèKþÿ…À„q¾\¨FH‰ßè6þÿ…À„N¾Z¨FH‰ßè!þÿ…À„+¾g…DH‰ßè þÿ…À„ø¾b¨FH‰ßè÷þÿ…À„þt}DH‰ßèâþÿ…À„ ¾k¨FH‰ßèÍþÿ…À„z¾r¨FH‰ßè¸þÿ…À„e¾z¨FH‰ßè£þÿ…À„?¾’¨FH‰ßèŽþÿ…À„ ¾«¨FH‰ßèyþÿ…À„çº ¾¼¨FH‰ßèß þÿ…À…®H�k ¾Æ¨FH‰ïèFþÿ…À„€¾Ò¨FH‰ïè1þÿ…À„V¾Ý¨FH‰ïèþÿ…À„,º¾è¨FH‰ïè‚ þÿ…À„»º¾ð¨FH‰ïèh þÿ…À…’H�{1ÒH‰æèrþÿˆ-H‹$€8t)H‹ì -¾à£F1ÿºH�XèþÿH‰ÞH‰Ç1Àèzºÿÿ€ É- ¸éÙûÿÿf„¶¬-¶¦-¿œ§FH‹– -¹ƒàƒâþH‰Þˆ…-ˆ€-ó¦„t€;g…ƒ€{n…y€{u…o€{…eƒÊˆH-馀H‹51 -¿XHoè7ùÿÿ¸é=ûÿÿD1Àé1ûÿÿ�H‹=™-H…ÿtè¿ þÿHÇ„-H‹í-H…Ò„‰¹H‰Ö¿ì‚Dó¦¸@—Æ’Á@8΄àúÿÿH‰×èèþÿH‰A-¸éÇúÿÿ€€%�-¿¸é¯úÿÿ€Hƒ 8-€ {-x¸é�úÿÿ€€ e- ¸éwúÿÿ€¶L-ƒàçƒÈˆ@-¸éSúÿÿÇ2-°é?úÿÿ€€ -¸é'úÿÿ€ƒÈ€ˆú-¸é úÿÿD¿¡§F¹H‰Þó¦…žƒÈ€ˆÍ-éxþÿÿH�{1ÒH‰æè'þÿH‹$H‰¤-€:u H�PÿH…„ÿÿÿH‹“-º¾8£FH�X1ÿè® þÿH‰ÞH‰Ç1Àè!¸ÿÿéÓþÿÿ€ j-¸é{ùÿÿHÇP-ÄûDºÄûDé†þÿÿÇH-°éUùÿÿº¾£Fë¤H�{1ÒH‰æè‹þÿH‹$H‰-€:u H�PÿH…„eþÿÿH‹÷-º¾`£FH�Xé_ÿÿÿH�{ 1ÒH‰æèFþÿH‹$H‰Û-€:uXH…ÀxSH…À…þÿÿHǽ-ÿÿÿÿéþÿÿ¶¦-ƒÈƒà-¸髸ÿÿ¶‰-ƒÈƒà÷ˆ}-¸éŽøÿÿH‹g-º¾ˆ£F1ÿH�X è‚ þÿH‰ÞH‰Ç1Àèõ¶ÿÿH‹N-éxÿÿÿH� æ-¸éDøÿÿè� þÿHƒ Ï-¸é-øÿÿHƒ ½- ¸éøÿÿH� ¨-°é øÿÿHƒ ™-°éú÷ÿÿHƒ Š-°éë÷ÿÿH� x-°éÙ÷ÿÿHƒ a-Hƒ a-¸é¿÷ÿÿH� L-°é­÷ÿÿHƒ =-@°éž÷ÿÿº¾¤FéêýÿÿH�{1ÒH‰æèÑþÿˆb-H‹$€8t)H‹K-¾¨£F1ÿºH�Xèf þÿH‰ÞH‰Ç1ÀèÙµÿÿ€%(-߸é8÷ÿÿ€ - Æ-�°é#÷ÿÿ€%-߯ü-�°é÷ÿÿ€%í-߯ç-g°éùöÿÿ¾ø¨FH‰ßèœ þÿ…Àu-€ Ç-°éÚöÿÿ€ ¹-°éÌöÿÿÇ>-°é»öÿÿº¾ÿ¨FéýÿÿÇ-°é›öÿÿ€%w-¿¸éŠöÿÿ€ f-@°é|öÿÿ‹V-%ÿþÿ ‰F-¸é\öÿÿ‹6-%ÿþÿ€Ì€‰(-¸é>öÿÿ€%-û°é0öÿÿ€ -°é"öÿÿ€ û-°éöÿÿ€%ñ-÷°éöÿÿ€ ã-°éøõÿÿHƒ €-H� }-€°éÞõÿÿHƒ%f-÷Hƒ%f-þ°éÇõÿÿ€AUI‰õATI‰ÌUHcïH�uSHcÚHƒÃ HƒìI‹}HÁãè¥þÿI‰EÇ(z:P:H‰ÞÆD(I‹<$è‰þÿH�¼`þÿÿI‰$¾ «F¸ @öÇuM@öÇug@öÇ…}‰Á1ÒÁé¨óH¥t ‹‰º¨t · f‰ HƒÂ¨t¶ˆHƒÄ[]A\A]öÉsHƒÇ¾¡«FˆGÿ@öǸŸt›f�·HƒÇHƒÆƒèf‰Wþ@öÇt‹„‹HƒÇHƒÆƒè‰Wüénÿÿÿ�f.„AW1ÀAVAUATUSH‰ÓHƒì¶jH@öÅ„ßL‹bI‰ýH‹~I‰öè¼þÿL‰çI‰Çè±þÿIǃå…ÅL‰ïè�þÿI�|è#þÿM‹FH‰ÇH‰ÅM‰á¹"©FHÇÂÿÿÿÿ¾1ÀL‰,$èŠþÿH‰ÞH‰ïèoºÿÿ…À„¸H‹{ H‰k¾è5þÿ‰Â¸…ÒtJH‹S öBEt@¶CH‰Âƒâ€út¾¿0©FèS³ÿÿ¶CH¨„‡H‹{ L‰æèK þÿ¸fDHƒÄ[]A\A]A^A_Ã�I�ègþÿM‹FH‰ÇH‰ÅM‰á¹©FHÇÂÿÿÿÿ¾1ÀèÒþÿH‰ÞH‰ïè·¹ÿÿ…À…HÿÿÿH‰ïè÷þÿHƒÄ1À[]A\A]A^A_ÃfDH‹{ègþÿI‰ÄéhÿÿÿDf.„AWAVAUE1íATUSHƒìxdH‹%(H‰D$h1ÀH‹-ƒx@„ÆL‹=-M…ÿ„°H‹-H…Ûué�DH‹›ðH…Û„ˆH‹CƒxuæH‹ƒøH‹¸H…ÿtÓ€?tÎè¡þÿI‰Äë@E…öt»HƒÅI‰ìt²¾5-L‰çè+þÿH…ÀH‰Åt+ÆA¾M…ätÍA€<$tÆL‰æ¿XHoè1ðÿÿë·€E1öëÙH�D$(L‹ œ -L‹� -H‹ N-H‹5/-L‰úH‰D$H‹@-H‹=)-HÇD$ÀOoH‰$èw þÿ…À„‡H‹=ð-H…ÿtH‹\$(H…ÛtH‰»°èýþÿHƒÀH‰C8H‹^-H…ÛuéÄ@H‹[0H…Û„³öCHuíH‹{ ¾W©FèÏþÿH…ÀH‰Åt×L‹x8I�è:þÿH‹{ 1ÉM‰øH‰ÂH‰îI‰Äèƒþÿ…À„ÛCÆ<H‹?-E1ÉE1À1ÒH‹K L‰æ¿ÀOoÿP(L‰çèÀþÿH‹EhH…ÀtH‹H@H‹U8H9ÑrH)ÑH‰H@H‹[0�M € HÇE8H…Û…Tÿÿÿ€èë�ÿÿH‹=-¾ÀOoè: þÿ…À„‚M…ít$¶D$AˆEH‹D$PI‰E H‹D$XI‰E(H‹D$`I‰E0H‹D$hdH3%(…iHƒÄx[]A\A]A^A_ÃfDH‹s ¿p¤Fèò®ÿÿéÿÿÿD¿@¤F1ÀèÜ®ÿÿéhþÿÿ€¿@¤F1ÀèÄ®ÿÿémÿÿÿ€H‹=Q-¾ÀOoè·þÿ¶ð-ƒà<„ÅH‹=-1É1ÒA¸¾>©FèêþÿH…ÀI‰Å„ž¶@<t<‡ŽºL‰î¿ÀOoèü þÿA¶Ea‰Âƒâ€út ƒàüƒÈAˆEaI‹EH‰D$0I‹EH‰D$8I‹EH‰D$@I‹EH‰D$HI‹E H‰D$PI‹E(IÇE(=oH‰D$XI‹E0IÇE0H‰D$`A¶EAÆEˆD$ë@E1í¿ >Bè£Ãþÿé@üÿÿ¿K©FèTþýÿI‰Çé>üÿÿègþÿ€SH‰û@ƒ{wz‹Cÿ$Å`«F„H‹S¹€:.t=D‹C,H‹=-¾ÀOoè ÿýÿ…ÀurH‹s¿¨¤FèK­ÿÿëbf„H‹S1É€:.uÀztHë»DH‹[ƒ{vŒfD[ÃfDH‹{ègÿÿÿH‹{ è^ÿÿÿH‹[(é]ÿÿÿDH‹{èGÿÿÿH‹[ éFÿÿÿ@f.„ƒt óÄH‹éÿÿÿ€U¾ÀOoS» HƒìH‹=9-è¤þÿ…À‰Çˆúf.„èÛÿÿH‹=-H‹Gƒx…ζ¯-ƒà<„¼H‹‡øHƒ=%-H‹€˜ H‹h8tX¾ÀOoèþÿ…Àt:H‹Ã-H‹€øH‹�˜ H‹B8H9Åttƒû~_ƒët2¿éxÿÿÿ„¿ø¤Fèæ«ÿÿëº@HÇ럀1ÿº¾d©Fè?ÿýÿHƒÄH‰Ç1À[]鯫ÿÿ€H9ÅrœH‰j8€HƒÄ[]Ã�HƒÄ¿Ø¤F1À[]é~«ÿÿ@f.„AWAVAUATUSH‰ûHƒìH‹‡øH‹WH‹€˜ L‹ªPL‹`0H‹H(I‹D$hH‰L$H==o„øL‹¸àI‹oHH…í„´Il$`I‹D$8H‰î¿L�pðÿ’�H‹CH�uL‰÷ÿ��H‹CH�u¿ÿ��ÇE GNUI‹…àH�MH‹t$E‰ðH‰ßH‹P èåÿÿI‹wIt$`1ÒH‰ßM‹l$8èvþÿ1Ò…ÀtHƒÄ‰Ð[]A\A]A^A_ÀH‰ÚL‰îH‰ïè þÿ1ÒI9Å”ÂëÐI‹¬$°H…í…@ÿÿÿI‹|$8è…ÿýÿH‹SI‰„$°H‰Åé"ÿÿÿ�º¾(¥F1ÿèŸýýÿH‰Ç1Àèªÿÿºé{ÿÿÿ�f.„AUATUH‰ýS1ÛHƒìèœýýÿ¶5ý-I‰ÄH‰êëD@8ñ”ÁHƒÂ¶É˶ „ÉuêH‹=ë-ƒÃècýýÿ¯ØB�|#1ÛHcÿèáþýÿL‹%Ê-H‰ÇI‰ÅL‰æèüüýÿëf.„ˆHƒÀHƒÃ¶T„Òt:-uåH�xˆL‰æèÇüýÿëÛDÆHƒÄL‰è[]A\A]ÃDf.„AWAVAUI‰ýH‰÷ATUSH�ìˆH‰t$¾“‚DdH‹%(H‰D$x1ÀèJþÿI‰Ä1ÀM…ä„F¿½èþýÿH‰Ãf.„I‰ßë2L�}ÿH‰ÇèlüýÿMþL9ðu>€|+þ t7HíH‰ßH‰îèýýÿH‰ÃIÇI‰ÞL‰âL‰ÿM)þA�4.è´þýÿH…Àu·L9û„»¾ H‰ßè™üýÿH…Àtƾ#H‰ßè„üýÿH…ÀtÆH‰Øë €HƒÀ¶€ú tô€ú tï�Jõ€ùvç„ÒI‰Æ„Q¿‚©F¹H‰Æó¦…‚¶H€ù t€ù utL�HDA¶< t]< tY„À„L‰Êë€A€ÿ tE„ÿtHƒÂD¶:A€ÿ uçH�BÆH‰$A¶„À… E„ÿ„ÌL‹ $A¶< u£IƒÁë•öÂß„O€ú=uéEf�€ú=t€ú tƒê €úv HƒÀ¶öÂßuâI9Æué„HƒèI9Æ„©€xÿ/tíL)ðI‰ÇI‹}H…ÿ„¢I‹EI‹MH�PI�4H9΃¯I‰U¶ -ˆI‹UI‹EH�<L‰öL‰úèŒþýÿM}I‹EM‰}BÆ8L‰çèþýÿ…À„ëýÿÿH‰ßèÃ÷ýÿL‰çèûùýÿ¸H‹L$xdH3 %(…oH�Ĉ[]A\A]A^A_Ãè�÷ýÿL9åH‰ÃH‰ÇtL‰òL‰æèÛùýÿJ�|3BÆ3/L‰îèÙóýÿ‹t$ H�|$H‰\$èöüÿÿ…ÀujH‰ßè óýÿ€}t4L�e¾5-L‰çèöýÿH…ÀH‰Åu‰L‰çè�õýÿI�,éxÿÿÿ„1ÀH‹L$(dH3 %(u'HƒÄ8[]A\A]A^A_À¸ëÓ�‰ÖèyüÿÿëÉèBõýÿf�ATUSH�ì dH‹%(H‰„$˜1ÀHƒ=bþ,t(H‹„$˜dH3%(…H�Ä []A\ÃDH‰ûH‹ H…ÿtÌè�õýÿ¨uÃH‹{ H‰æèßóýÿ…À…§H‹þ,H9$„«H‹�þ,¾/H‹hH‰ïèõýÿH…Àu�¾À©FH‰ïè\ýýÿH…À„kÿÿÿH‹{ L�`èöôýÿH…ÀH‰Å„‹H‹Cþ,L‰âH‰ïH‹pH)òèqõýÿ…À…1ÿÿÿH‹"þ,H‰é¿¨¥FH‹PH‹p1Àèk ÿÿéÿÿÿfDH‹s ¿”©F1ÀèP ÿÿéóþÿÿH‹D$H;Wý,…CÿÿÿH…À„:ÿÿÿH‰1ý,éÌþÿÿèßóýÿH‹{è¶öýÿH‰Åédÿÿÿ@f.„¶I-ƒà<u H� ï-é²�ÿÿf�Hƒì¾ ¿Å©Fè]¯ÿÿ€ –- Ç”-ÇÆ-Æ-g€ ú-€ ð-HƒÄÄAWAVI‰öAUATU‰ÕSH‰ûHƒì(H‹‡ðH‹@ƒx”ÀE1ÿD¶àˆD$E…ät H‹‡àD‹x¶–-ÇD$ƒà<t ö„-……í„¢‹5øû,…öuNA½À'of�I‹}H…ÿt&1Ò1öè.ÇþÿH…ÀI‰Et‹ˆˆ…Éu A‹U‰�ˆIƒÅ0I�ýp)orÄǦû,¶-ƒà<†‹K <‰L$„ÙH‹»ðI‰Ýë DI‹½ðL‰îèY÷ýÿH…ÀI‰Å„­Iƒ}huÞA‹E öÄ€uÕ3D$I‹½ð¨uÍöGEuÇH‹‡H…Àt»ö@HuµH‹“ðH‰ÙL‰îè¤úýÿ…Àt˜A‹E ƒt$ƒð D$ƒt$ë�f„öC „ÜþÿÿE…ä„•Aƒÿ„?1ÀAƒÿ ”À‰D$¸Û©FLDðé®þÿÿ„÷D$ …ÊA¸@)oI‹HH…É„™HÇ$E1ɉêL‰öH‰ßègÿÿHƒÄ([]A\A]A^A_Ä1Ò1öL‰÷è¤ÅþÿH…ÀI‰Å„Fþÿÿ1íë@1öL‰ïè¦ÉþÿH…ÀI‰Å„bI‹u8H…ötA‹F …À„&3C ¨uÏH‹“ðH‹=Á-H‰Ùè‰ùýÿ…À…Iƒ}8uªf.„L‰íë›öD$„Í‹D$ƒàtDAƒÿu€|$A¸à(o…ÿÿÿE…äu(¹¿÷©FL‰öó¦A¸à(o—Á’Â8Ñ„éþÿÿD÷D$A¸€(o„Ðþÿÿ÷D$@A¸)o…¼þÿÿ÷D$A¸ (o…¨þÿÿöD$A¸P(o„—þÿÿE…ä…Ï¿ä©F¹L‰öó¦u…ÀA¸°(o…oþÿÿöD$A¸ð'o¸À'oLEÀéVþÿÿf�I�}L‰éH‰Þ1ÒèŸÐþÿHƒÄ(L‰è[]A\A]A^A_ÃDH…í„™H�}H‰éH‰Þ1ÒènÐþÿHƒÄ(H‰è[]A\A]A^A_Ã@H‹3¿é©F¹ ó¦u/H‹Ø,H…Àt#H�xH‰Á1ÒH‰ÞH‰D$è%ÐþÿH‹D$éäýÿÿ‹C ‰D$éÃüÿÿ@¿ä©F¹L‰öó¦D‰d$—Â’À8Â…üÿÿA€~aÇD$„’A¾Û©Féþûÿÿ„E1À1ÉégýÿÿI‹8H…ÿtx1Ò1öL‰D$è0ÃþÿL‹D$H‰ÁI‰@H…É…<ýÿÿ‹t$I�P¹àG@H‰ßL‰D$è�ÇþÿH…ÀH‰ÁL‹D$…ýÿÿH‹ ©þ,éýÿÿÇD$A¾Ñ©FéwûÿÿA¾Ñ©FélûÿÿH‹€xaH‹xþ,”ÁH…À„@D‹\$H‰\$E1ÉE1íE1äE1ÒE1ÿL‰D$‰Ëë€zaA”ÀE…Û…¿A¶È¾ý©FH�| ¹ó¦„¤D8ÔÂM…ÿt„ÒtI‰ÇM…Òt„Òt[H‹P8H…Òt ‹R ‰ÑƒáLEÐfD…Ét ƒâI‰ÅLEàH‹P H…ÒtèãÜýÿI‰ë fDM…ÿt¬HƒÄ[]A\A]A^A_ÃH‰÷è,áýÿI‰ëä€USHƒìdH‹%(H‰D$1À�ÿ’„Fލ�ÿ•„ Ž&�ÿ—„úŒ”�ÿ˜…€H‹‘Ú,¾ì‚DH‰ßè”Üýÿ…À„L¾„§FH‰ßèÜýÿ…Àt4¾‰§FH‰ßènÜýÿ…À„¾’§FH‰ßèYÜýÿ…Àº¾à¢F…²Ç9ï,¸ëFfD�ÿ-„tŽ®�ÿ�tF�˜�ÿ.…Ü€ ñî,@¸„H‹\$dH3%(…¨HƒÄ[]ÃD€%½î,߸ëÒf�H‹5©Ù,¿@Ioè¯ýÿÿ¸ë¸„�ÿ“„4�ÿ”…`H‹=qÙ,èlÄþÿ¸é‚ÿÿÿf�ƒÿP„ƒÿz…6H‹GÙ,¿©§F¹H‰Þ󦄿¦§F¹H‰Þ󦄱¿®§F¹H‰Þó¦„C¿½§F¹H‰Þó¦„ʿϧF¹ H‰Þó¦„ú¿Ý§F¹ H‰Þó¦„!¿Û§F¹ H‰Þó¦„)¿ç§F¹ H‰Þó¦„f¿X‹C¹H‰Þó¦„k¿ó§F¹ H‰Þó¦„h¾ý§FH‰ßè8àýÿ…À„e¾¨FH‰ßè#àýÿ…À„b¾¨FH‰ßèàýÿ…À„k¾¨FH‰ßèùßýÿ…À„G¾&¨FH‰ßèäßýÿ…À„¾/¨FH‰ßèÏßýÿ…À„X€;nu€{ou€{wu €{„#¾6¨FH‰ßèŸßýÿ…À„ê¾;¨FH‰ßèŠßýÿ…À„»¾D¨FH‰ßèußýÿ…À„˜¾B¨FH‰ßè`ßýÿ…À„u¾N¨FH‰ßèKßýÿ…À„R¾\¨FH‰ßè6ßýÿ…À„/¾Z¨FH‰ßè!ßýÿ…À„ ¾g…DH‰ßè ßýÿ…À„Ù¾b¨FH‰ßè÷Þýÿ…À„¤¾t}DH‰ßèâÞýÿ…À„�¾k¨FH‰ßèÍÞýÿ…À„[¾r¨FH‰ßè¸Þýÿ…À„F¾z¨FH‰ßè£Þýÿ…À„ ¾’¨FH‰ßèŽÞýÿ…À„ú¾«¨FH‰ßèyÞýÿ…À„׺ ¾¼¨FH‰ßèߨýÿ…À…®H�k ¾Æ¨FH‰ïèFÞýÿ…À„€¾Ò¨FH‰ïè1Þýÿ…À„V¾Ý¨FH‰ïèÞýÿ…À„,º¾è¨FH‰ïè‚Øýÿ…À„»º¾ð¨FH‰ïèhØýÿ…À…’H�{1ÒH‰æèráýÿˆë,H‹$€8t)H‹ìÕ,¾à£F1ÿºH�XèÚýÿH‰ÞH‰Ç1Àèz†ÿÿ€ Éê, ¸éÙûÿÿf„¶¬ê,¶¦ê,¿œ§FH‹–Õ,¹ƒàƒâþH‰Þˆ…ê,ˆ€ê,ó¦„t€;g…ƒ€{n…y€{u…o€{…eƒÊˆHê,馀H‹51Õ,¿8Ioè7ùÿÿ¸é=ûÿÿD1Àé1ûÿÿ�H‹=yã,H…ÿtè¿ÖýÿHÇdã,H‹íÔ,H…Ò„‰¹H‰Ö¿ì‚Dó¦¸@—Æ’Á@8΄àúÿÿH‰×èèÚýÿH‰!ã,¸éÇúÿÿ€€%�é,¿¸é¯úÿÿ€Hƒ 8ê,€ {é,x¸é�úÿÿ€€ eé, ¸éwúÿÿ€¶Lé,ƒàçƒÈˆ@é,¸éSúÿÿÇ2é,°é?úÿÿ€€ é,¸é'úÿÿ€ƒÈ€ˆúè,¸é úÿÿD¿¡§F¹H‰Þó¦…žƒÈ€ˆÍè,éxþÿÿH�{1ÒH‰æè'ßýÿH‹$H‰¤ê,€:u H�PÿH…„ÿÿÿH‹“Ó,º¾8£FH�X1ÿè®×ýÿH‰ÞH‰Ç1Àè!„ÿÿéÓþÿÿ€ jè,¸é{ùÿÿHÇPÓ,ÄûDºÄûDé†þÿÿÇHè,°éUùÿÿº¾£Fë¤H�{1ÒH‰æè‹ÞýÿH‹$H‰ê,€:u H�PÿH…„eþÿÿH‹÷Ò,º¾`£FH�Xé_ÿÿÿH�{ 1ÒH‰æèFÞýÿH‹$H‰Ûç,€:uXH…ÀxSH…À…þÿÿHǽç,ÿÿÿÿéþÿÿ¶¦ç,ƒÈƒàç,¸髸ÿÿ¶‰ç,ƒÈƒà÷ˆ}ç,¸éŽøÿÿH‹gÒ,º¾ˆ£F1ÿH�X è‚ÖýÿH‰ÞH‰Ç1Àèõ‚ÿÿH‹Nç,éxÿÿÿH� æç,¸éDøÿÿè�ÖýÿHƒ Ïç,¸é-øÿÿHƒ ½ç, ¸éøÿÿH� ¨ç,°é øÿÿHƒ ™ç,°éú÷ÿÿHƒ Šç,°éë÷ÿÿH� xç,°éÙ÷ÿÿHƒ aç,Hƒ aç,¸é¿÷ÿÿH� Lç,°é­÷ÿÿHƒ =ç,@°éž÷ÿÿº¾¤FéêýÿÿH�{1ÒH‰æèÑÜýÿˆbæ,H‹$€8t)H‹KÑ,¾¨£F1ÿºH�XèfÕýÿH‰ÞH‰Ç1ÀèÙ�ÿÿ€%(æ,߸é8÷ÿÿ€ æ, Ææ,�°é#÷ÿÿ€%æ,߯üå,�°é÷ÿÿ€%íå,߯çå,g°éùöÿÿº¾ÿ¨FéEýÿÿ€ Éå,°éÜöÿÿÇNæ,°éËöÿÿÇ9æ,°éºöÿÿ€%–å,¿¸é©öÿÿ€ …å,@°é›öÿÿ‹uå,%ÿþÿ ‰eå,¸é{öÿÿ‹Uå,%ÿþÿ€Ì€‰Gå,¸é]öÿÿ€%9å,û°éOöÿÿ€ +å,°éAöÿÿ€ å,°é3öÿÿ€%å,÷°é%öÿÿ€ å,°éöÿÿHƒ Ÿå,H� œå,€°éýõÿÿHƒ%…å,÷Hƒ%…å,þ°éæõÿÿfDAUI‰õATI‰ÌUHcïH�uSHcÚHƒÃ HƒìI‹}HÁãèÅÔýÿI‰EÇ(z:P:H‰ÞÆD(I‹<$è©ÔýÿH�¼`þÿÿI‰$¾ÀOH¸ @öÇuM@öÇug@öÇ…}‰Á1ÒÁé¨óH¥t ‹‰º¨t · f‰ HƒÂ¨t¶ˆHƒÄ[]A\A]ö äHƒÇ¾ÁOHˆGÿ@öǸŸt›f�·HƒÇHƒÆƒèf‰Wþ@öÇt‹„‹HƒÇHƒÆƒè‰Wüénÿÿÿ�f.„AW1ÀAVAUATUSH‰ÓHƒì¶jH@öÅ„ßL‹bI‰ýH‹~I‰öèÜÒýÿL‰çI‰ÇèÑÒýÿIǃå…ÅL‰ïè½ÒýÿI�|èCÔýÿM‹FH‰ÇH‰ÅM‰á¹"©FHÇÂÿÿÿÿ¾1ÀL‰,$èªÛýÿH‰ÞH‰ïè�†ÿÿ…À„¸H‹{ H‰k¾èUÚýÿ‰Â¸…ÒtJH‹S öBEt@¶CH‰Âƒâ€út¾¿1OHèsÿÿ¶CH¨„‡H‹{ L‰æèkÙýÿ¸fDHƒÄ[]A\A]A^A_Ã�I�è‡ÓýÿM‹FH‰ÇH‰ÅM‰á¹©FHÇÂÿÿÿÿ¾1ÀèòÚýÿH‰ÞH‰ïè×…ÿÿ…À…HÿÿÿH‰ïèÏýÿHƒÄ1À[]A\A]A^A_ÃfDH‹{è‡ÔýÿI‰ÄéhÿÿÿDf.„AWAVAUE1íATUSHƒìxdH‹%(H‰D$h1ÀH‹ â,ƒx@„ÆL‹=/ã,M…ÿ„°H‹/â,H…Ûué�DH‹›ðH…Û„ˆH‹CƒxuæH‹ƒøH‹¸H…ÿtÓ€?tÎèÁÒýÿI‰Äë@E…öt»HƒÅI‰ìt²¾5;ã,L‰çèKÑýÿH…ÀH‰Åt+ÆA¾M…ätÍA€<$tÆL‰æ¿8IoèQðÿÿë·€E1öëÙH�D$(L‹ œÚ,L‹�Ú,H‹ nâ,H‹5Oâ,L‰úH‰D$H‹`â,H‹=Iá,HÇD$ÀOoH‰$è—Õýÿ…À„‡H‹=â,H…ÿtH‹\$(H…ÛtH‰»°èÐýÿHƒÀH‰C8H‹~Ô,H…ÛuéÄ@H‹[0H…Û„³öCHuíH‹{ ¾W©FèïÑýÿH…ÀH‰Åt×L‹x8I�èZÑýÿH‹{ 1ÉM‰øH‰ÂH‰îI‰Äè£Ïýÿ…À„ÛCÆ<H‹_à,E1ÉE1À1ÒH‹K L‰æ¿ÀOoÿP(L‰çèàÌýÿH‹EhH…ÀtH‹H@H‹U8H9ÑrH)ÑH‰H@H‹[0�M € HÇE8H…Û…Tÿÿÿ€è jÿÿH‹=$à,¾ÀOoèZÖýÿ…À„‚M…ít$¶D$AˆEH‹D$PI‰E H‹D$XI‰E(H‹D$`I‰E0H‹D$hdH3%(…iHƒÄx[]A\A]A^A_ÃfDH‹s ¿p¤Fè{ÿÿéÿÿÿD¿@¤F1Àèüzÿÿéhþÿÿ€¿@¤F1Àèäzÿÿémÿÿÿ€H‹=qß,¾ÀOoè×Íýÿ¶ß,ƒà<„ÅH‹=&ß,1É1ÒA¸¾>©Fè ÑýÿH…ÀI‰Å„ž¶@<t<‡ŽºL‰î¿ÀOoè×ýÿA¶Ea‰Âƒâ€út ƒàüƒÈAˆEaI‹EH‰D$0I‹EH‰D$8I‹EH‰D$@I‹EH‰D$HI‹E H‰D$PI‹E(IÇE(=oH‰D$XI‹E0IÇE0H‰D$`A¶EAÆEˆD$ë@E1í¿€rBèÃ�þÿé@üÿÿ¿K©FètÊýÿI‰Çé>üÿÿè‡Íýÿ€SH‰û@ƒ{wz‹Cÿ$Å€OH„H‹S¹€:.t=D‹C,H‹='Þ,¾ÀOoè-Ëýÿ…ÀurH‹s¿¨¤Fèkyÿÿëbf„H‹S1É€:.uÀztHë»DH‹[ƒ{vŒfD[ÃfDH‹{ègÿÿÿH‹{ è^ÿÿÿH‹[(é]ÿÿÿDH‹{èGÿÿÿH‹[ éFÿÿÿ@f.„ƒt óÄH‹éÿÿÿ€U¾ÀOoS» HƒìH‹=YÝ,èÄÎýÿ…À‰Çˆúf.„èûÒþÿH‹=4Ý,H‹Gƒx…ζÏÜ,ƒà<„¼H‹‡øHƒ=EÜ,H‹€˜ H‹h8tX¾ÀOoè.Ìýÿ…Àt:H‹ãÜ,H‹€øH‹�˜ H‹B8H9Åttƒû~_ƒët2¿éxÿÿÿ„¿ø¤Fèxÿÿëº@HÇ럀1ÿº¾d©Fè_ËýÿHƒÄH‰Ç1À[]éÏwÿÿ€H9ÅrœH‰j8€HƒÄ[]Ã�HƒÄ¿Ø¤F1À[]éžwÿÿ@f.„AWAVAUATUSH‰ûHƒìH‹‡øH‹WH‹€˜ L‹ªPL‹`0H‹H(I‹D$hH‰L$H==o„øL‹¸àI‹oHH…í„´Il$`I‹D$8H‰î¿L�pðÿ’�H‹CH�uL‰÷ÿ��H‹CH�u¿ÿ��ÇE GNUI‹…àH�MH‹t$E‰ðH‰ßH‹P è>±ÿÿI‹wIt$`1ÒH‰ßM‹l$8è–Óýÿ1Ò…ÀtHƒÄ‰Ð[]A\A]A^A_ÀH‰ÚL‰îH‰ïè*Îýÿ1ÒI9Å”ÂëÐI‹¬$°H…í…@ÿÿÿI‹|$8è¥ËýÿH‹SI‰„$°H‰Åé"ÿÿÿ�º¾(¥F1ÿè¿ÉýÿH‰Ç1Àè5vÿÿºé{ÿÿÿ�f.„AUATUH‰ýS1ÛHƒìè¼Éýÿ¶5Ü,I‰ÄH‰êëD@8ñ”ÁHƒÂ¶É˶ „ÉuêH‹= Û,ƒÃèƒÉýÿ¯ØB�|#1ÛHcÿèËýÿL‹%êÚ,H‰ÇI‰ÅL‰æèÉýÿëf.„ˆHƒÀHƒÃ¶T„Òt:ŸÛ,uåH�xˆL‰æèçÈýÿëÛDÆHƒÄL‰è[]A\A]ÃDf.„AWAVAUI‰ýH‰÷ATUSH�ìˆH‰t$¾“‚DdH‹%(H‰D$x1ÀèjÏýÿI‰Ä1ÀM…ä„F¿½è=ÊýÿH‰Ãf.„I‰ßë2L�}ÿH‰ÇèŒÈýÿMþL9ðu>€|+þ t7HíH‰ßH‰îè?ÉýÿH‰ÃIÇI‰ÞL‰âL‰ÿM)þA�4.èÔÊýÿH…Àu·L9û„»¾ H‰ßè¹ÈýÿH…Àtƾ#H‰ßè¤ÈýÿH…ÀtÆH‰Øë €HƒÀ¶€ú tô€ú tï�Jõ€ùvç„ÒI‰Æ„Q¿‚©F¹H‰Æó¦…‚¶H€ù t€ù utL�HDA¶< t]< tY„À„L‰Êë€A€ÿ tE„ÿtHƒÂD¶:A€ÿ uçH�BÆH‰$A¶„À… E„ÿ„ÌL‹ $A¶< u£IƒÁë•öÂß„O€ú=uéEf�€ú=t€ú tƒê €úv HƒÀ¶öÂßuâI9Æué„HƒèI9Æ„©€xÿ/tíL)ðI‰ÇI‹}H…ÿ„¢I‹EI‹MH�PI�4H9΃¯I‰U¶.Ù,ˆI‹UI‹EH�<L‰öL‰úè¬ÊýÿM}I‹EM‰}BÆ8L‰çè3Êýÿ…À„ëýÿÿH‰ßèãÃýÿL‰çèÆýÿ¸H‹L$xdH3 %(…oH�Ĉ[]A\A]A^A_Ãè¡ÃýÿL9åH‰ÃH‰ÇtL‰òL‰æèûÅýÿJ�|3BÆ3/L‰îèù¿ýÿ‹t$ H�|$H‰\$èöüÿÿ…ÀujH‰ßè*¿ýÿ€}t4L�e¾5!Ô,L‰çè1ÂýÿH…ÀH‰Åu‰L‰çè¡ÁýÿI�,éxÿÿÿ„1ÀH‹L$(dH3 %(u'HƒÄ8[]A\A]A^A_À¸ëÓ�‰ÖèyüÿÿëÉèbÁýÿf�ATUSH�ì dH‹%(H‰„$˜1ÀHƒ=bË,t(H‹„$˜dH3%(…H�Ä []A\ÃDH‰ûH‹ H…ÿtÌè¯Áýÿ¨uÃH‹{ H‰æèÿ¿ýÿ…À…§H‹Ë,H9$„«H‹�Ë,¾/H‹hH‰ïè.ÁýÿH…Àu�¾À©FH‰ïè|ÉýÿH…À„kÿÿÿH‹{ L�`èÁýÿH…ÀH‰Å„‹H‹CË,L‰âH‰ïH‹pH)òè‘Áýÿ…À…1ÿÿÿH‹"Ë,H‰é¿¨¥FH‹PH‹p1Àè‹lÿÿéÿÿÿfDH‹s ¿”©F1ÀèplÿÿéóþÿÿH‹D$H;WÊ,…CÿÿÿH…À„:ÿÿÿH‰1Ê,éÌþÿÿèÿ¿ýÿH‹{èÖÂýÿH‰Åédÿÿÿ@f.„¶iÐ,ƒà<u H� Ñ,éÒYÿÿf�Hƒì¾ ¿AOHè}{ÿÿ€ ¶Ï, Ç´Ñ,ÇæÑ,Æ"Ð,g€ Ð,€ Ð,HƒÄÄAWAVI‰öAUATU‰ÕSH‰ûHƒì(H‹‡ðH‹@ƒx”ÀE1ÿD¶àˆD$E…ät H‹‡àD‹x¶¶Ï,ÇD$ƒà<t ö¤Ï,……í„¢‹5øÈ,…öuNA½`*of�I‹}H…ÿt&1Ò1öèN“þÿH…ÀI‰Et‹ˆˆ…Éu A‹U‰�ˆIƒÅ0I�ý,orÄǦÈ,¶3Ï,ƒà<†‹K <‰L$„ÙH‹»ðI‰Ýë DI‹½ðL‰îèyÃýÿH…ÀI‰Å„­Iƒ}huÞA‹E öÄ€uÕ3D$I‹½ð¨uÍöGEuÇH‹‡H…Àt»ö@HuµH‹“ðH‰ÙL‰îèÄÆýÿ…Àt˜A‹E ƒt$ƒð D$ƒt$ë�f„öC „ÜþÿÿE…ä„•Aƒÿ„?1ÀAƒÿ ”À‰D$¸Û©FLDðé®þÿÿ„÷D$ …ÊA¸à+oI‹HH…É„™HÇ$E1ɉêL‰öH‰ßè‡ÍþÿHƒÄ([]A\A]A^A_Ä1Ò1öL‰÷èÄ‘þÿH…ÀI‰Å„Fþÿÿ1íë@1öL‰ïèÆ•þÿH…ÀI‰Å„bI‹u8H…ötA‹F …À„&3C ¨uÏH‹“ðH‹=áÍ,H‰Ùè©Åýÿ…À…Iƒ}8uªf.„L‰íë›öD$„Í‹D$ƒàtDAƒÿu€|$A¸€+o…ÿÿÿE…äu(¹¿÷©FL‰öó¦A¸€+o—Á’Â8Ñ„éþÿÿD÷D$A¸ +o„Ðþÿÿ÷D$@A¸°+o…¼þÿÿ÷D$A¸À*o…¨þÿÿöD$A¸ð*o„—þÿÿE…ä…Ï¿ä©F¹L‰öó¦u…ÀA¸P+o…oþÿÿöD$A¸�*o¸`*oLEÀéVþÿÿf�I�}L‰éH‰Þ1Ò远þÿHƒÄ(L‰è[]A\A]A^A_ÃDH…í„™H�}H‰éH‰Þ1Ò莜þÿHƒÄ(H‰è[]A\A]A^A_Ã@H‹3¿é©F¹ ó¦u/H‹À¦,H…Àt#H�xH‰Á1ÒH‰ÞH‰D$èEœþÿH‹D$éäýÿÿ‹C ‰D$éÃüÿÿ@¿ä©F¹L‰öó¦D‰d$—Â’À8Â…üÿÿA€~aÇD$„’A¾Û©Féþûÿÿ„E1À1ÉégýÿÿI‹8H…ÿtx1Ò1öL‰D$èP�þÿL‹D$H‰ÁI‰@H…É…<ýÿÿ‹t$I�P¹àG@H‰ßL‰D$è¡“þÿH…ÀH‰ÁL‹D$…ýÿÿH‹ ÉÊ,éýÿÿÇD$A¾Ñ©FéwûÿÿA¾Ñ©FélûÿÿH‹€xaH‹˜Ê,”ÁH…À„@D‹\$H‰\$E1ÉE1íE1äE1ÒE1ÿL‰D$‰Ëë€zaA”ÀE…Û…¿A¶È¾ý©FH�| ¹ó¦„¤D8ÔÂM…ÿt„ÒtI‰ÇM…Òt„Òt[H‹P8H…Òt ‹R ‰ÑƒáLEÐfD…Ét ƒâI‰ÅLEàH‹P H…Òtè3©ýÿI‰ë fDM…ÿt¬HƒÄ[]A\A]A^A_ÃH‰÷è|­ýÿI‰ëä€USHƒìdH‹%(H‰D$1À�ÿ’„6ލ�ÿ•„ôŽ&�ÿ—„úŒ„�ÿ˜…hH‹á¦,¾ì‚DH‰ßèä¨ýÿ…À„<¾„§FH‰ßèϨýÿ…Àt4¾‰§FH‰ß辨ýÿ…À„¾’§FH‰ß詨ýÿ…Àº¾à¢F…¢Ç‰»,¸ëFfD�ÿ-„dŽ®�ÿ�tF�ˆ�ÿ.…Ä€ A»,@¸„H‹\$dH3%(…˜HƒÄ[]ÃD€% »,߸ëÒf�H‹5ù¥,¿ Joè¯ýÿÿ¸ë¸„�ÿ“„$�ÿ”…HH‹=Á¥,è¼�þÿ¸é‚ÿÿÿf�ƒÿP„ƒÿz…H‹—¥,¿©§F¹H‰Þó¦„ ¿¦§F¹H‰Þ󦄡¿®§F¹H‰Þó¦„3¿½§F¹H‰Þ󦄺¿Ï§F¹ H‰Þó¦„ê¿Ý§F¹ H‰Þ󦄿ۧF¹ H‰Þ󦄿ç§F¹ H‰Þó¦„V¿X‹C¹H‰Þó¦„[¿ó§F¹ H‰Þó¦„X¾ý§FH‰ß般ýÿ…À„U¾¨FH‰ßès¬ýÿ…À„R¾¨FH‰ßè^¬ýÿ…À„[¾¨FH‰ßèI¬ýÿ…À„7¾&¨FH‰ßè4¬ýÿ…À„U¾/¨FH‰ßè¬ýÿ…À„.€;nu€{ou€{wu €{„4¾6¨FH‰ßèï«ýÿ…À„̾;¨FH‰ßèÚ«ýÿ…À„�¾D¨FH‰ßèÅ«ýÿ…À„z¾B¨FH‰ßè°«ýÿ…À„W¾N¨FH‰ß蛫ýÿ…À„4¾\¨FH‰ß膫ýÿ…À„¾Z¨FH‰ßèq«ýÿ…À„î¾g…DH‰ßè\«ýÿ…À„»¾b¨FH‰ßèG«ýÿ…À„†¾t}DH‰ßè2«ýÿ…À„c¾k¨FH‰ßè«ýÿ…À„=¾r¨FH‰ßè«ýÿ…À„(¾z¨FH‰ßèóªýÿ…À„¾’¨FH‰ßèÞªýÿ…À„ܺ ¾¼¨FH‰ßèD¥ýÿ…À…³H�k ¾Æ¨FH‰ï諪ýÿ…À„…¾Ò¨FH‰ïè–ªýÿ…À„[¾Ý¨FH‰ïè�ªýÿ…À„1º¾è¨FH‰ïèç¤ýÿ…À„Àº¾ð¨FH‰ïèͤýÿ…À…—H�{1ÒH‰æè×­ýÿˆh·,H‹$€8t)H‹Q¢,¾à£F1ÿºH�Xèl¦ýÿH‰ÞH‰Ç1ÀèßRÿÿ€ .·, ¸éîûÿÿfD¶·,¶·,¿œ§FH‹þ¡,¹ƒàƒâþH‰Þˆí¶,ˆè¶,ó¦„|€;g…‹€{n…�€{u…w€{…mƒÊˆ°¶,鮀H‹5™¡,¿JoèOùÿÿ¸éUûÿÿD1ÀéIûÿÿf„H‹=¹°,H…ÿtè£ýÿHǤ°,H‹M¡,H…Ò„‰¹H‰Ö¿ì‚Dó¦¸@—Æ’Á@8΄ðúÿÿH‰×èH§ýÿH‰a°,¸é×úÿÿ€€%ýµ,¿¸é¿úÿÿ€Hƒ ˜¶,€ Ûµ,x¸éŸúÿÿ€€ ŵ, ¸é‡úÿÿ€¶¬µ,ƒàçƒÈˆ µ,¸écúÿÿÇ’µ,°éOúÿÿ€€ sµ,¸é7úÿÿ€ƒÈ€ˆZµ,¸éúÿÿD¿¡§F¹H‰Þó¦…žƒÈ€ˆ-µ,épþÿÿH�{1ÒH‰æè‡«ýÿH‹$H‰·,€:u H�PÿH…„ÿÿÿH‹óŸ,º¾8£FH�X1ÿè¤ýÿH‰ÞH‰Ç1Àè�PÿÿéÓþÿÿ€ Ê´,¸é‹ùÿÿHǰŸ,ÄûDºÄûDé†þÿÿǨ´,°éeùÿÿº¾£Fë¤H�{1ÒH‰æèëªýÿH‹$H‰p¶,€:u H�PÿH…„eþÿÿH‹WŸ,º¾`£FH�Xé_ÿÿÿH�{ 1ÒH‰æè¦ªýÿH‹$H‰;´,€:uXH…ÀxSH…À…þÿÿHÇ´,ÿÿÿÿéþÿÿ¶´,ƒÈƒàïˆú³,¸黸ÿÿ¶é³,ƒÈƒà÷ˆݳ,¸éžøÿÿH‹Çž,º¾ˆ£F1ÿH�X èâ¢ýÿH‰ÞH‰Ç1ÀèUOÿÿH‹®³,éxÿÿÿH� F´,¸éTøÿÿèï¢ýÿHƒ /´,¸é=øÿÿHƒ ´, ¸é+øÿÿH� ´,°éøÿÿHƒ ù³,°é øÿÿHƒ ê³,°éû÷ÿÿH� س,°éé÷ÿÿH� Ƴ,°é×÷ÿÿHƒ ·³,@°éÈ÷ÿÿHƒ  ³,Hƒ  ³,¸é®÷ÿÿº¾¤FéêýÿÿH�{1ÒH‰æè1©ýÿˆ²,H‹$€8t)H‹«�,¾¨£F1ÿºH�XèÆ¡ýÿH‰ÞH‰Ç1Àè9Nÿÿ€%ˆ²,߸éH÷ÿÿ€ w², Æq²,�°é3÷ÿÿ€%b²,߯\²,�°é÷ÿÿ€%M²,߯G²,g°é ÷ÿÿº¾ÿ¨FéEýÿÿǼ²,°ééöÿÿǧ²,°éØöÿÿ€%²,¿¸éÇöÿÿ€ ó±,@°é¹öÿÿ‹ã±,%ÿþÿ ‰Ó±,¸é™öÿÿ‹ñ,%ÿþÿ€Ì€‰µ±,¸é{öÿÿ€%§±,û°émöÿÿ€ ™±,°é_öÿÿ€ ˆ±,°éQöÿÿ€%~±,÷°éCöÿÿ€ p±,°é5öÿÿHƒ ²,H� ²,€°éöÿÿHƒ%ó±,÷Hƒ%ó±,þ°éöÿÿ@AUI‰õATI‰ÌUHcïH�uSHcÚHƒÃ HƒìI‹}HÁãè5¡ýÿI‰EÇ(z:P:H‰ÞÆD(I‹<$è¡ýÿH�¼`þÿÿI‰$¾ ÛI¸ @öÇuM@öÇug@öÇ…}‰Á1ÒÁé¨óH¥t ‹‰º¨t · f‰ HƒÂ¨t¶ˆHƒÄ[]A\A]öÙ;HƒÇ¾!ÛIˆGÿ@öǸŸt›f�·HƒÇHƒÆƒèf‰Wþ@öÇt‹„‹HƒÇHƒÆƒè‰Wüénÿÿÿ�f.„AW1ÀAVAUATUSH‰ÓHƒì¶jH@öÅ„ßL‹bI‰ýH‹~I‰öèLŸýÿL‰çI‰ÇèAŸýÿIǃå…ÅL‰ïè-ŸýÿI�|è³ ýÿM‹FH‰ÇH‰ÅM‰á¹"©FHÇÂÿÿÿÿ¾1ÀL‰,$è¨ýÿH‰ÞH‰ïèÿRÿÿ…À„¸H‹{ H‰k¾èŦýÿ‰Â¸…ÒtJH‹S öBEt@¶CH‰Âƒâ€út¾¿ºÚIèãKÿÿ¶CH¨„‡H‹{ L‰æèÛ¥ýÿ¸fDHƒÄ[]A\A]A^A_Ã�I�è÷ŸýÿM‹FH‰ÇH‰ÅM‰á¹©FHÇÂÿÿÿÿ¾1Àèb§ýÿH‰ÞH‰ïèGRÿÿ…À…HÿÿÿH‰ï臛ýÿHƒÄ1À[]A\A]A^A_ÃfDH‹{è÷ ýÿI‰ÄéhÿÿÿDf.„AWAVAUE1íATUSHƒìxdH‹%(H‰D$h1ÀH‹�®,ƒx@„ÆL‹=Ÿ¯,M…ÿ„°H‹Ÿ®,H…Ûué�DH‹›ðH…Û„ˆH‹CƒxuæH‹ƒøH‹¸H…ÿtÓ€?tÎè1ŸýÿI‰Äë@E…öt»HƒÅI‰ìt²¾5«¯,L‰çè»�ýÿH…ÀH‰Åt+ÆA¾M…ätÍA€<$tÆL‰æ¿Joèqðÿÿë·€E1öëÙH�D$(L‹ ì§,L‹í§,H‹ Þ®,H‹5¿®,L‰úH‰D$H‹Ю,H‹=¹­,HÇD$ÀOoH‰$è¢ýÿ…À„‡H‹=€®,H…ÿtH‹\$(H…ÛtH‰»°è�œýÿHƒÀH‰C8H‹î ,H…ÛuéÄ@H‹[0H…Û„³öCHuíH‹{ ¾W©Fè_žýÿH…ÀH‰Åt×L‹x8I�èÊ�ýÿH‹{ 1ÉM‰øH‰ÂH‰îI‰Äèœýÿ…À„ÛCÆ<H‹Ϭ,E1ÉE1À1ÒH‹K L‰æ¿ÀOoÿP(L‰çèP™ýÿH‹EhH…ÀtH‹H@H‹U8H9ÑrH)ÑH‰H@H‹[0�M € HÇE8H…Û…Tÿÿÿ€è{6ÿÿH‹=”¬,¾ÀOoèÊ¢ýÿ…À„‚M…ít$¶D$AˆEH‹D$PI‰E H‹D$XI‰E(H‹D$`I‰E0H‹D$hdH3%(…iHƒÄx[]A\A]A^A_ÃfDH‹s ¿p¤Fè‚GÿÿéÿÿÿD¿@¤F1ÀèlGÿÿéhþÿÿ€¿@¤F1ÀèTGÿÿémÿÿÿ€H‹=á«,¾ÀOoèGšýÿ¶€«,ƒà<„ÅH‹=–«,1É1ÒA¸¾>©Fèz�ýÿH…ÀI‰Å„ž¶@<t<‡ŽºL‰î¿ÀOo茣ýÿA¶Ea‰Âƒâ€út ƒàüƒÈAˆEaI‹EH‰D$0I‹EH‰D$8I‹EH‰D$@I‹EH‰D$HI‹E H‰D$PI‹E(IÇE(=oH‰D$XI‹E0IÇE0H‰D$`A¶EAÆEˆD$ë@E1í¿¦Bè3\þÿé@üÿÿ¿K©Fèä–ýÿI‰Çé>üÿÿè÷™ýÿ€SH‰û@ƒ{wz‹Cÿ$ÅàÚI„H‹S¹€:.t=D‹C,H‹=—ª,¾ÀOoè�—ýÿ…ÀurH‹s¿¨¤FèÛEÿÿëbf„H‹S1É€:.uÀztHë»DH‹[ƒ{vŒfD[ÃfDH‹{ègÿÿÿH‹{ è^ÿÿÿH‹[(é]ÿÿÿDH‹{èGÿÿÿH‹[ éFÿÿÿ@f.„ƒt óÄH‹éÿÿÿ€U¾ÀOoS» HƒìH‹=É©,è4›ýÿ…À‰Çˆúf.„èkŸþÿH‹=¤©,H‹Gƒx…ζ?©,ƒà<„¼H‹‡øHƒ=µ¨,H‹€˜ H‹h8tX¾ÀOo螘ýÿ…Àt:H‹S©,H‹€øH‹�˜ H‹B8H9Åttƒû~_ƒët2¿éxÿÿÿ„¿ø¤FèvDÿÿëº@HÇ럀1ÿº¾d©FèÏ—ýÿHƒÄH‰Ç1À[]é?Dÿÿ€H9ÅrœH‰j8€HƒÄ[]Ã�HƒÄ¿Ø¤F1À[]éDÿÿ@f.„AWAVAUATUSH‰ûHƒìH‹‡øH‹WH‹€˜ L‹ªPL‹`0H‹H(I‹D$hH‰L$H==o„øL‹¸àI‹oHH…í„´Il$`I‹D$8H‰î¿L�pðÿ’�H‹CH�uL‰÷ÿ��H‹CH�u¿ÿ��ÇE GNUI‹…àH�MH‹t$E‰ðH‰ßH‹P è®}ÿÿI‹wIt$`1ÒH‰ßM‹l$8è ýÿ1Ò…ÀtHƒÄ‰Ð[]A\A]A^A_ÀH‰ÚL‰îH‰ïèššýÿ1ÒI9Å”ÂëÐI‹¬$°H…í…@ÿÿÿI‹|$8è˜ýÿH‹SI‰„$°H‰Åé"ÿÿÿ�º¾(¥F1ÿè/–ýÿH‰Ç1Àè¥Bÿÿºé{ÿÿÿ�f.„AUATUH‰ýS1ÛHƒìè,–ýÿ¶5�¨,I‰ÄH‰êëD@8ñ”ÁHƒÂ¶É˶ „ÉuêH‹={§,ƒÃèó•ýÿ¯ØB�|#1ÛHcÿèq—ýÿL‹%Z§,H‰ÇI‰ÅL‰æèŒ•ýÿëf.„ˆHƒÀHƒÃ¶T„Òt:¨,uåH�xˆL‰æèW•ýÿëÛDÆHƒÄL‰è[]A\A]ÃDf.„AWAVAUI‰ýH‰÷ATUSH�ìˆH‰t$¾“‚DdH‹%(H‰D$x1ÀèÚ›ýÿI‰Ä1ÀM…ä„F¿½è­–ýÿH‰Ãf.„I‰ßë2L�}ÿH‰Çèü”ýÿMþL9ðu>€|+þ t7HíH‰ßH‰î试ýÿH‰ÃIÇI‰ÞL‰âL‰ÿM)þA�4.èD—ýÿH…Àu·L9û„»¾ H‰ßè)•ýÿH…Àtƾ#H‰ßè•ýÿH…ÀtÆH‰Øë €HƒÀ¶€ú tô€ú tï�Jõ€ùvç„ÒI‰Æ„Q¿‚©F¹H‰Æó¦…‚¶H€ù t€ù utL�HDA¶< t]< tY„À„L‰Êë€A€ÿ tE„ÿtHƒÂD¶:A€ÿ uçH�BÆH‰$A¶„À… E„ÿ„ÌL‹ $A¶< u£IƒÁë•öÂß„O€ú=uéEf�€ú=t€ú tƒê €úv HƒÀ¶öÂßuâI9Æué„HƒèI9Æ„©€xÿ/tíL)ðI‰ÇI‹}H…ÿ„¢I‹EI‹MH�PI�4H9΃¯I‰U¶ž¥,ˆI‹UI‹EH�<L‰öL‰úè—ýÿM}I‹EM‰}BÆ8L‰ç裖ýÿ…À„ëýÿÿH‰ßèS�ýÿL‰çè‹’ýÿ¸H‹L$xdH3 %(…oH�Ĉ[]A\A]A^A_Õýÿ…Àu8E1öHƒ|$0t#€H‹D$8L‰ïJ‹4ðIƒÆèƒüÿÿL;t$0räH�|$0è�ýÿH‹|$H…ÿ„ôýÿÿè/�ýÿéêýÿÿI‹}1ÀE1ÿH…ÿ…^þÿÿH�¸I‰}è8“ýÿIÇEI‰EH‰Â1ÀégþÿÿJ�´9I‰uèQ’ýÿH‰ÇI‰EI‹EH�Pé,þÿÿE1ÿ1Àéüýÿÿèn‘ýÿ@f.„AVA‰öAUI‰ýATU1íSHƒìL‹gdH‹%(H‰D$1ÀH‹¢,L‰çH‹@H‹0è‚�ýÿH…ÀH‰Ãt7�HD¾H‰Çèæ˜ýÿ…ÀtöCEtH‹Õ¡,H‹@H9Ct+H‰ß裗ýÿH‹L$dH3 %(‰è…¬HƒÄ[]A\A]A^ÃE…ö…‡H‰æH‰ßèÌ”ýÿ…À„H‹$H…Àtk¿ÀÂBH‰�›,Ç}›,è��þÿ‹r›,…Ò…ÒH‹$H…À„ÅA¹Š©FA¸ë€H‹H…À„¤H‹pL‰ÏL‰Áó¦uæfD¾@JoH‰ßè3�ýÿ…Àu?H‹;è÷’ýÿH‰Å‹¶¢,…ÀuB¿`±BHÇ›,è�þÿHƒ=õš,tm½éþþÿÿ�H‰Þ¿’©F1Àè<ÿÿë°€1ÿº¾°©Fèw�ýÿL‰âH‰ÇH‰î1Àè;ÿÿë›DH‰ß1íèV–ýÿé®þÿÿ�H‰Þ¿p¥FèÃ;ÿÿéÚþÿÿH‰ßH‰îè³–ýÿI‹}H…ÿtBè�ýÿ¨t9¾H‰ß蔓ýÿH‹C¾ÀOoH‰ßÿ�¸…À…OÿÿÿH‰Þ¿ÐÑDèm;ÿÿé=ÿÿÿ¾ëÅ�è�ýÿ�f.„AWAVAUATI‰üH‰÷USHƒì8L‹ndH‹%(H‰D$(1À‰T$ A€}/„ùM…ä„ÀA€<$„µH‹L‰ïL‰l$H‰D$è ŽýÿL�xëjf.„I‰îM)æK�<>è�ýÿL9åH‰ÃH‰ÇtL‰òL‰æèk’ýÿJ�|3BÆ3/L‰îèiŒýÿ‹t$ H�|$H‰\$èöüÿÿ…ÀujH‰ßèš‹ýÿ€}t4L�e¾5‘ ,L‰ç衎ýÿH…ÀH‰Åu‰L‰çèŽýÿI�,éxÿÿÿ„1ÀH‹L$(dH3 %(u'HƒÄ8[]A\A]A^A_À¸ëÓ�‰ÖèyüÿÿëÉèÒ�ýÿf�ATUSH�ì dH‹%(H‰„$˜1ÀHƒ=²˜,t(H‹„$˜dH3%(…H�Ä []A\ÃDH‰ûH‹ H…ÿtÌèŽýÿ¨uÃH‹{ H‰æèoŒýÿ…À…§H‹`˜,H9$„«H‹ߘ,¾/H‹hH‰ïèž�ýÿH…Àu�¾À©FH‰ïèì•ýÿH…À„kÿÿÿH‹{ L�`è†�ýÿH…ÀH‰Å„‹H‹“˜,L‰âH‰ïH‹pH)òèŽýÿ…À…1ÿÿÿH‹r˜,H‰é¿¨¥FH‹PH‹p1Àèû8ÿÿéÿÿÿfDH‹s ¿”©F1Àèà8ÿÿéóþÿÿH‹D$H;§—,…CÿÿÿH…À„:ÿÿÿH‰�—,éÌþÿÿèoŒýÿH‹{èF�ýÿH‰Åédÿÿÿ@f.„¶Ùœ,ƒà<u H� �,éB&ÿÿf�Hƒì¾ ¿ÕÚIèíGÿÿ€ &œ, Ç$ž,ÇVž,Æ’œ,g€ Šœ,€ €œ,HƒÄÄAWAVI‰öAUATU‰ÕSH‰ûHƒì(H‹‡ðH‹@ƒx”ÀE1ÿD¶àˆD$E…ät H‹‡àD‹x¶&œ,ÇD$ƒà<t öœ,……í„¢‹5H–,…öuNA½-of�I‹}H…ÿt&1Ò1öè¾_þÿH…ÀI‰Et‹ˆˆ…Éu A‹U‰�ˆIƒÅ0I�ý°.orÄÇö•,¶£›,ƒà<†‹K <‰L$„ÙH‹»ðI‰Ýë DI‹½ðL‰îèé�ýÿH…ÀI‰Å„­Iƒ}huÞA‹E öÄ€uÕ3D$I‹½ð¨uÍöGEuÇH‹‡H…Àt»ö@HuµH‹“ðH‰ÙL‰îè4“ýÿ…Àt˜A‹E ƒt$ƒð D$ƒt$ë�f„öC „ÜþÿÿE…ä„•Aƒÿ„?1ÀAƒÿ ”À‰D$¸Û©FLDðé®þÿÿ„÷D$ …ÊA¸€.oI‹HH…É„™HÇ$E1ɉêL‰öH‰ßè÷™þÿHƒÄ([]A\A]A^A_Ä1Ò1öL‰÷è4^þÿH…ÀI‰Å„Fþÿÿ1íë@1öL‰ïè6bþÿH…ÀI‰Å„bI‹u8H…ötA‹F …À„&3C ¨uÏH‹“ðH‹=Qš,H‰Ùè’ýÿ…À…Iƒ}8uªf.„L‰íë›öD$„Í‹D$ƒàtDAƒÿu€|$A¸ .o…ÿÿÿE…äu(¹¿÷©FL‰öó¦A¸ .o—Á’Â8Ñ„éþÿÿD÷D$A¸À-o„Ðþÿÿ÷D$@A¸P.o…¼þÿÿ÷D$A¸`-o…¨þÿÿöD$A¸�-o„—þÿÿE…ä…Ï¿ä©F¹L‰öó¦u…ÀA¸ð-o…oþÿÿöD$A¸0-o¸-oLEÀéVþÿÿf�I�}L‰éH‰Þ1Òè/iþÿHƒÄ(L‰è[]A\A]A^A_ÃDH…í„™H�}H‰éH‰Þ1ÒèþhþÿHƒÄ(H‰è[]A\A]A^A_Ã@H‹3¿é©F¹ ó¦u/H‹Ðu,H…Àt#H�xH‰Á1ÒH‰ÞH‰D$èµhþÿH‹D$éäýÿÿ‹C ‰D$éÃüÿÿ@¿ä©F¹L‰öó¦D‰d$—Â’À8Â…üÿÿA€~aÇD$„’A¾Û©Féþûÿÿ„E1À1ÉégýÿÿI‹8H…ÿtx1Ò1öL‰D$èÀ[þÿL‹D$H‰ÁI‰@H…É…<ýÿÿ‹t$I�P¹àG@H‰ßL‰D$è`þÿH…ÀH‰ÁL‹D$…ýÿÿH‹ 9—,éýÿÿÇD$A¾Ñ©FéwûÿÿA¾Ñ©FélûÿÿH‹€xaH‹—,”ÁH…À„@D‹\$H‰\$E1ÉE1íE1äE1ÒE1ÿL‰D$‰Ëë€zaA”ÀE…Û…¿A¶È¾ý©FH�| ¹ó¦„¤D8ÔÂM…ÿt„ÒtI‰ÇM…Òt„Òt[H‹P8H…Òt ‹R ‰ÑƒáLEÐfD…Ét ƒâI‰ÅLEàH‹P H…Òt•,ƒ{@t(H‹D$HdH3%(…ïHƒÄX[]A\A]A^A_ÃDH‹=1�,H…ÿ„·H‹-)•,H…íué€H‹­ðH…í„H‹Eƒxu拵 …ötÜè×iÿÿH…À„ÎHƒÀI‰Ä„Áº+@¾ªFH‰ïèï�ýÿH…À„ H‹¯”,Ç@pH‹ ¡Ž,H‹’øH‹’˜ HÇB p§BH‰J(H‰B0H‹�àÇBL‰`8¶”,ƒà<„„ö ”,„ªH‹=K”,¾ÀOoèq…ýÿH…ÀI‰ÄH‰Å„f�H‹}H…ÿt(èòƒýÿ¨…úH‹}H…ÿt¶¼“,ƒà`< „7I9ìL‰ãt6€H‹{H…ÿt 貃ýÿ¨uH‹uH‹{èQ†ýÿ…À„©H‹H9ëuÑ¿°¹BH‰-uŽ,HÇÒ�,èÕsþÿH‹Æ�,H…ÀtH‹x è`ƒýÿ¨„h„‹ B•,H‹]L‹m…ÉH‰\$H‰\$ L‰l$…ŒH‹|�,H…Àt H‹@H�|$ ¾H‰D$(è÷ðÿÿ…À…ÇD$ ‹\$ H‹=”,H�t$‰Úè óÿÿ…À…èH‹=ù“,H�t$‰Úèóÿÿ…À…ÍHƒ=å“,„T¿^ªFèÕ~ýÿ‹T$ H�t$H‰ÇèÔòÿÿ…À…œH‹=µ’,¾ÀOoèK€ýÿH…ÀH‰ÃuEéëfDE1ÿH‹EH9CA¾„£L9ktL‰ïèã~ýÿE„öH‹„«H…Û„¢L‹kA€}/u»L‰ïèëÿÿI‰Å뮃D$ ƒ|$ …ÿÿÿH‹UH‹u¿8§F1Àè‚-ÿÿf�H‹mH…í…ãýÿÿ¶¿‘,ƒà<…¡üÿÿ1ÿ¾ÀOoè5†ýÿ…À…�üÿÿ1ÿº¾§Fè¼€ýÿH‰Ç1Àè2-ÿÿémüÿÿDè“�ýÿ¨�„»ýÿÿH‹mH…í…}ýÿÿë˜L‹©‘,M…Û„FýÿÿE1íE1ö1íA¹Aº A¼fDI‹ƒ�H…À„ñE1ÀDH�xh=oH‹t+¿%ªFH‰ÖL‰É󦄰¿5ªFH‰ÖL‰Ñó¦u Hƒx8 ECÄH‹@H…Àu¿E…À„Ÿé‡�¿à¥F1Àèd,ÿÿH‹=ýŠ,èh}ýÿ¶¡�,HÇæŠ,ƒà<…|üÿÿ¶‰�,‰Ð‰ÑÀèÀéƒðƒáƒà9Á…YûÿÿƒâH‹=·�,¾ªF€úÒƒâðƒÂèÊ}ýÿé5ûÿÿDA¸E…ít}E9Å…ÃH…ítwAƒýtQM‹›ðM…Û…éþÿÿH…í„‚H‹E¾?ªFH‰ïH‹€P‹P(ƒÊèj}ýÿH…Àt_Ç@pH‰ƒ(éÐûÿÿf�¶Ì�,ƒàçƒÈˆÀ�,ëšH…íE‰Åu‰Aƒøt ö¦�,„vÿÿÿI‹CA¾ƒxIDëé_ÿÿÿE…ö„{ûÿÿ¿¸¦F1Àè!+ÿÿéjûÿÿE…ÿ…“ýÿÿ‹¥‰,H‹=–‰,…Ò„NH…ÿt(H‹E‹T$ H�t$0H‰D$0H‹EH‰D$8è‰ïÿÿ…À…QýÿÿH‹}èx~ýÿH‹ ’,H…Û„ýÿÿL�xëf�H‹H…Û„þüÿÿ‹C…ÀuíH‹{èD~ýÿI�<èËýÿL‹ML‹CH‰ÇI‰Å¹©FHÇÂÿÿÿÿ¾1Àè5‡ýÿ‹t$ H�|$ L‰l$(è²ìÿÿ…À…ÊüÿÿL‰ïèR{ýÿf�뎋T$ H�t$L‰ïèÝîÿÿ…À•ÀD¶øƒðA‰Æé8üÿÿAƒøº¾h¦FLEÝ1ÿM‰Üè}}ýÿL‰æH‰Ç1Àèð)ÿÿé*þÿÿHƒ={�,…žûÿÿ¿K©Fèszýÿ‹T$ H�t$H‰Çèrîÿÿ…À„{ûÿÿé5üÿÿDH‹=ÙŽ,1Ò¾nªF1ÀHÇD$0HÇD$@HÇD$8èP~ýÿH�|$0H‰ÆH‰Ãè°çÿÿ…Àt}H‰ßètzýÿH‹|$0H…ÿtbèÅæÿÿH‹|$0H‰ÃèXzýÿH‰ч,H‰ßÇ̇,é1þÿÿ1ÿº¾MªFèž|ýÿH‰ÚH‰ÇL‰î1Àè>(ÿÿéNúÿÿ¿¦F1Àèý(ÿÿé”üÿÿH‹=�‡,ë±H‰ßè÷yýÿH‹=Ž,1Ò¾rªF1Àè¢}ýÿH�|$0H‰ÆH‰ÃèçÿÿéQÿÿÿèx|ýÿ„‹b‡,…ÀuATUSH‰ûH‹ H…ÿtöGEu[]A\óÃf.„è»|ýÿH…ÀI‰ÄtxH‹,‡,H…ÛuëÕDH‹H…ÛtÈH‹sL‰çè {ýÿ…ÀtèH‹k¾/H‰ïèg|ýÿH…ÀuÒ¾À©FH‰ï资ýÿH…ÀtÀH�PH‰îL‰çH)êèî|ýÿ…ÀuªÇ¸†,ékÿÿÿH‹C H‹8è�~ýÿI‰Äétÿÿÿ€Ç¶#Œ,ƒâ€ú„ç‹5Á�,¸J…ö„Ì‹ ~�,¸˜$J…É„¹H‹ ê‹,H¾H¸H!ÎH9Æ„ºH¿H¸H!ÏH9Ç„²€ú„ÉH¸H9Æ„žH¸H9Ç„«€út6H¸H!ÁH9Á„ ö]‹,ºx;K¸KHDÂÃf.„¸�ÞJóÃfD‹=¶Œ,ºøðI¸ÀÜI…ÿHDÂÃf„ö¹‹,¸¸DJ„4ÿÿÿëÄ@¸dJÃf�ö™‹,¸ˆ£J„PÿÿÿóÃ@¸pƒJÃf�¸øÀJÃf.„öi‹,¸ÐüJ„Nÿÿÿéqÿÿÿf„ATUS¶WHH‰û¾ÂÁè‰ÅƒÍöÂ@Eèƒât L‹g AöD$Eu3…ít H‹{ öGEu []1ÀA\ÃfD‰îè~ýÿ[]1ÀA\Ãf.„1ÿº¾(¡Fè_yýÿL‰æH‰Ç1ÀèÒ%ÿÿë­SºH‰û¾`¡F1ÿè;yýÿH‰ßH‰Â¾1Àè9�ýÿº¾°¡F1ÿèyýÿH‰ßH‰Â¾1Àè�ýÿº¾H¢F1ÿèõxýÿH‰ßH‰Â¾[1Àéò€ýÿf�AWAVI‰þAUATUH‰õSHƒìL‹?M…ÿ„ÌL‰ÿèèxýÿH‰ïH‰D$èÛxýÿD¶-;‹,H‰ÃE¾åëf.„HƒÀI‰Çt0H‰ÚL‰þH‰ïè™výÿ…ÀuA¶„ÀtdD8èt_D‰æL‰ÿè yýÿH…ÀuÇH‹D$H�|èzýÿD¾ ØŠ,M‹H‰ÇH‰Ã¹Ÿ~DHÇÂÿÿÿÿ¾H‰,$1Àèk�ýÿI‹>è£uýÿI‰ë fDM…ÿt¬HƒÄ[]A\A]A^A_ÃH‰÷èìyýÿI‰ëä€USHƒìdH‹%(H‰D$1À�ÿ’„6ލ�ÿ•„ôŽ&�ÿ—„úŒ„�ÿ˜…hH‹Qs,¾ì‚DH‰ßèTuýÿ…À„<¾„§FH‰ßè?uýÿ…Àt4¾‰§FH‰ßè.uýÿ…À„¾’§FH‰ßèuýÿ…Àº¾à¢F…¢Çù‡,¸ëFfD�ÿ-„dŽ®�ÿ�tF�ˆ�ÿ.…Ä€ ±‡,@¸„H‹\$dH3%(…˜HƒÄ[]ÃD€%}‡,߸ëÒf�H‹5ir,¿øJoè¯ýÿÿ¸ë¸„�ÿ“„$�ÿ”…HH‹=1r,è,]þÿ¸é‚ÿÿÿf�ƒÿP„ƒÿz…H‹r,¿©§F¹H‰Þó¦„ ¿¦§F¹H‰Þ󦄡¿®§F¹H‰Þó¦„3¿½§F¹H‰Þ󦄺¿Ï§F¹ H‰Þó¦„ê¿Ý§F¹ H‰Þ󦄿ۧF¹ H‰Þ󦄿ç§F¹ H‰Þó¦„V¿X‹C¹H‰Þó¦„[¿ó§F¹ H‰Þó¦„X¾ý§FH‰ßèøxýÿ…À„U¾¨FH‰ßèãxýÿ…À„R¾¨FH‰ßèÎxýÿ…À„[¾¨FH‰ßè¹xýÿ…À„7¾&¨FH‰ßè¤xýÿ…À„U¾/¨FH‰ßè�xýÿ…À„.€;nu€{ou€{wu €{„4¾6¨FH‰ßè_xýÿ…À„̾;¨FH‰ßèJxýÿ…À„�¾D¨FH‰ßè5xýÿ…À„z¾B¨FH‰ßè xýÿ…À„W¾N¨FH‰ßè xýÿ…À„4¾\¨FH‰ßèöwýÿ…À„¾Z¨FH‰ßèáwýÿ…À„î¾g…DH‰ßèÌwýÿ…À„»¾b¨FH‰ßè·wýÿ…À„†¾t}DH‰ßè¢wýÿ…À„c¾k¨FH‰ßè�wýÿ…À„=¾r¨FH‰ßèxwýÿ…À„(¾z¨FH‰ßècwýÿ…À„¾’¨FH‰ßèNwýÿ…À„ܺ ¾¼¨FH‰ßè´qýÿ…À…³H�k ¾Æ¨FH‰ïèwýÿ…À„…¾Ò¨FH‰ïèwýÿ…À„[¾Ý¨FH‰ïèñvýÿ…À„1º¾è¨FH‰ïèWqýÿ…À„Àº¾ð¨FH‰ïè=qýÿ…À…—H�{1ÒH‰æèGzýÿˆ؃,H‹$€8t)H‹Án,¾à£F1ÿºH�XèÜrýÿH‰ÞH‰Ç1ÀèOÿÿ€ žƒ, ¸éîûÿÿfD¶„ƒ,¶~ƒ,¿œ§FH‹nn,¹ƒàƒâþH‰Þˆ]ƒ,ˆXƒ,ó¦„|€;g…‹€{n…�€{u…w€{…mƒÊˆ ƒ,鮀H‹5 n,¿ðJoèOùÿÿ¸éUûÿÿD1ÀéIûÿÿf„H‹=~,H…ÿtè�oýÿHÇì},H‹½m,H…Ò„‰¹H‰Ö¿ì‚Dó¦¸@—Æ’Á@8΄ðúÿÿH‰×è¸sýÿH‰©},¸é×úÿÿ€€%m‚,¿¸é¿úÿÿ€Hƒ ƒ,€ K‚,x¸éŸúÿÿ€€ 5‚, ¸é‡úÿÿ€¶‚,ƒàçƒÈˆ‚,¸écúÿÿÇ‚,°éOúÿÿ€€ ã�,¸é7úÿÿ€ƒÈ€ˆÊ�,¸éúÿÿD¿¡§F¹H‰Þó¦…žƒÈ€ˆ��,épþÿÿH�{1ÒH‰æè÷wýÿH‹$H‰tƒ,€:u H�PÿH…„ÿÿÿH‹cl,º¾8£FH�X1ÿè~pýÿH‰ÞH‰Ç1ÀèñÿÿéÓþÿÿ€ :�,¸é‹ùÿÿHÇ l,ÄûDºÄûDé†þÿÿÇ�,°éeùÿÿº¾£Fë¤H�{1ÒH‰æè[wýÿH‹$H‰à‚,€:u H�PÿH…„eþÿÿH‹Çk,º¾`£FH�Xé_ÿÿÿH�{ 1ÒH‰æèwýÿH‹$H‰«€,€:uXH…ÀxSH…À…þÿÿHÇ�€,ÿÿÿÿéþÿÿ¶v€,ƒÈƒàïˆj€,¸黸ÿÿ¶Y€,ƒÈƒà÷ˆM€,¸éžøÿÿH‹7k,º¾ˆ£F1ÿH�X èRoýÿH‰ÞH‰Ç1ÀèÅÿÿH‹€,éxÿÿÿH� ¶€,¸éTøÿÿè_oýÿHƒ Ÿ€,¸é=øÿÿHƒ �€, ¸é+øÿÿH� x€,°éøÿÿHƒ i€,°é øÿÿHƒ Z€,°éû÷ÿÿH� H€,°éé÷ÿÿH� 6€,°é×÷ÿÿHƒ '€,@°éÈ÷ÿÿHƒ €,Hƒ €,¸é®÷ÿÿº¾¤FéêýÿÿH�{1ÒH‰æè¡uýÿˆ2,H‹$€8t)H‹j,¾¨£F1ÿºH�Xè6nýÿH‰ÞH‰Ç1Àè©ÿÿ€%ø~,߸éH÷ÿÿ€ ç~, Æá~,�°é3÷ÿÿ€%Ò~,߯Ì~,�°é÷ÿÿ€%½~,߯·~,g°é ÷ÿÿº¾ÿ¨FéEýÿÿÇ,,°ééöÿÿÇ,°éØöÿÿ€%t~,¿¸éÇöÿÿ€ c~,@°é¹öÿÿ‹S~,%ÿþÿ ‰C~,¸é™öÿÿ‹3~,%ÿþÿ€Ì€‰%~,¸é{öÿÿ€%~,û°émöÿÿ€ ~,°é_öÿÿ€ ø},°éQöÿÿ€%î},÷°éCöÿÿ€ à},°é5öÿÿHƒ }~,H� z~,€°éöÿÿHƒ%c~,÷Hƒ%c~,þ°éöÿÿ@AUI‰õATI‰ÌUHcïH�uSHcÚHƒÃ HƒìI‹}HÁãè¥mýÿI‰EÇ(z:P:H‰ÞÆD(I‹<$è‰mýÿH�¼`þÿÿI‰$¾\K¸ @öÇuM@öÇug@öÇ…}‰Á1ÒÁé¨óH¥t ‹‰º¨t · f‰ HƒÂ¨t¶ˆHƒÄ[]A\A]ö)‰HƒÇ¾\KˆGÿ@öǸŸt›f�·HƒÇHƒÆƒèf‰Wþ@öÇt‹„‹HƒÇHƒÆƒè‰Wüénÿÿÿ�f.„AW1ÀAVAUATUSH‰ÓHƒì¶jH@öÅ„ßL‹bI‰ýH‹~I‰öè¼kýÿL‰çI‰Çè±kýÿIǃå…ÅL‰ïè�kýÿI�|è#mýÿM‹FH‰ÇH‰ÅM‰á¹"©FHÇÂÿÿÿÿ¾1ÀL‰,$èŠtýÿH‰ÞH‰ïèoÿÿ…À„¸H‹{ H‰k¾è5sýÿ‰Â¸…ÒtJH‹S öBEt@¶CH‰Âƒâ€út¾ð¿”[KèSÿÿ¶CH¨„‡H‹{ L‰æèKrýÿ¸fDHƒÄ[]A\A]A^A_Ã�I�èglýÿM‹FH‰ÇH‰ÅM‰á¹©FHÇÂÿÿÿÿ¾1ÀèÒsýÿH‰ÞH‰ïè·ÿÿ…À…HÿÿÿH‰ïè÷gýÿHƒÄ1À[]A\A]A^A_ÃfDH‹{ègmýÿI‰ÄéhÿÿÿDf.„AWAVAUE1íATUSHƒìxdH‹%(H‰D$h1ÀH‹{,ƒx@„ÆL‹=|,M…ÿ„°H‹{,H…Ûué�DH‹›ðH…Û„ˆH‹CƒxuæH‹ƒøH‹¸H…ÿtÓ€?tÎè¡kýÿI‰Äë@E…öt»HƒÅI‰ìt²¾5|,L‰çè+jýÿH…ÀH‰Åt+ÆA¾M…ätÍA€<$tÆL‰æ¿ðJoèqðÿÿë·€E1öëÙH�D$(L‹ 4u,L‹5u,H‹ N{,H‹5/{,L‰úH‰D$H‹@{,H‹=)z,HÇD$ÀOoH‰$èwnýÿ…À„‡H‹=ðz,H…ÿtH‹\$(H…ÛtH‰»°èýhýÿHƒÀH‰C8H‹^m,H…ÛuéÄ@H‹[0H…Û„³öCHuíH‹{ ¾W©FèÏjýÿH…ÀH‰Åt×L‹x8I�è:jýÿH‹{ 1ÉM‰øH‰ÂH‰îI‰Äèƒhýÿ…À„ÛCÆ<H‹?y,E1ÉE1À1ÒH‹K L‰æ¿ÀOoÿP(L‰çèÀeýÿH‹EhH…ÀtH‹H@H‹U8H9ÑrH)ÑH‰H@H‹[0�M € HÇE8H…Û…Tÿÿÿ€èëÿÿH‹=y,¾ÀOoè:oýÿ…À„‚M…ít$¶D$AˆEH‹D$PI‰E H‹D$XI‰E(H‹D$`I‰E0H‹D$hdH3%(…iHƒÄx[]A\A]A^A_ÃfDH‹s ¿p¤FèòÿÿéÿÿÿD¿@¤F1ÀèÜÿÿéhþÿÿ€¿@¤F1ÀèÄÿÿémÿÿÿ€H‹=Qx,¾ÀOoè·fýÿ¶ðw,ƒà<„ÅH‹=x,1É1ÒA¸¾>©FèêiýÿH…ÀI‰Å„ž¶@<t<‡ŽºL‰î¿ÀOoèüoýÿA¶Ea‰Âƒâ€út ƒàüƒÈAˆEaI‹EH‰D$0I‹EH‰D$8I‹EH‰D$@I‹EH‰D$HI‹E H‰D$PI‹E(IÇE(=oH‰D$XI‹E0IÇE0H‰D$`A¶EAÆEˆD$ë@E1í¿ ÙBè£(þÿé@üÿÿ¿K©FèTcýÿI‰Çé>üÿÿègfýÿ€SH‰û@ƒ{wz‹Cÿ$ÅÀ[K„H‹S¹€:.t=D‹C,H‹=w,¾ÀOoè dýÿ…ÀurH‹s¿¨¤FèKÿÿëbf„H‹S1É€:.uÀztHë»DH‹[ƒ{vŒfD[ÃfDH‹{ègÿÿÿH‹{ è^ÿÿÿH‹[(é]ÿÿÿDH‹{èGÿÿÿH‹[ éFÿÿÿ@f.„ƒt óÄH‹éÿÿÿ€U¾ÀOoS» HƒìH‹=9v,è¤gýÿ…À‰Çˆúf.„èÛkþÿH‹=v,H‹Gƒx…ζ¯u,ƒà<„¼H‹‡øHƒ=%u,H‹€˜ H‹h8tX¾ÀOoèeýÿ…Àt:H‹Ãu,H‹€øH‹�˜ H‹B8H9Åttƒû~_ƒët2¿éxÿÿÿ„¿ø¤Fèæÿÿëº@HÇ럀1ÿº¾d©Fè?dýÿHƒÄH‰Ç1À[]é¯ÿÿ€H9ÅrœH‰j8€HƒÄ[]Ã�HƒÄ¿Ø¤F1À[]é~ÿÿ@f.„AWAVAUATUSH‰ûHƒìH‹‡øH‹WH‹€˜ L‹ªPL‹`0H‹H(I‹D$hH‰L$H==o„øL‹¸àI‹oHH…í„´Il$`I‹D$8H‰î¿L�pðÿ’�H‹CH�uL‰÷ÿ��H‹CH�u¿ÿ��ÇE GNUI‹…àH�MH‹t$E‰ðH‰ßH‹P èJÿÿI‹wIt$`1ÒH‰ßM‹l$8èvlýÿ1Ò…ÀtHƒÄ‰Ð[]A\A]A^A_ÀH‰ÚL‰îH‰ïè gýÿ1ÒI9Å”ÂëÐI‹¬$°H…í…@ÿÿÿI‹|$8è…dýÿH‹SI‰„$°H‰Åé"ÿÿÿ�º¾(¥F1ÿèŸbýÿH‰Ç1Àèÿÿºé{ÿÿÿ�f.„AVA‰öAUI‰ýATU1íSHƒìL‹gdH‹%(H‰D$1ÀH‹qs,L‰çH‹@H‹0èâaýÿH…ÀH‰Ãt7�HD¾H‰ÇèFjýÿ…ÀtöCEtH‹5s,H‹@H9Ct+H‰ßèiýÿH‹L$dH3 %(‰è…¬HƒÄ[]A\A]A^ÃE…ö…‡H‰æH‰ßè,fýÿ…À„H‹$H…Àtk¿àîBH‰Çm,ǵm,èðRþÿ‹ªm,…Ò…ÒH‹$H…À„ÅA¹Š©FA¸ë€H‹H…À„¤H‹pL‰ÏL‰Áó¦uæfD¾ KoH‰ßè“`ýÿ…Àu?H‹;èWdýÿH‰Å‹t,…ÀuB¿ÀåBHÇ:m,èeRþÿHƒ=-m,tm½éþþÿÿ�H‰Þ¿’©F1Àèq ÿÿë°€1ÿº¾°©Fè×`ýÿL‰âH‰ÇH‰î1Àèw ÿÿë›DH‰ß1íè¶gýÿé®þÿÿ�H‰Þ¿p¥Fè# ÿÿéÚþÿÿH‰ßH‰îèhýÿI‹}H…ÿtBèuaýÿ¨t9¾H‰ßèôdýÿH‹C¾ÀOoH‰ßÿ�¸…À…OÿÿÿH‰Þ¿ÐÑDèÍ ÿÿé=ÿÿÿ¾ëÅ�è{`ýÿ�f.„AWAVAUATUSHƒìhdH‹%(H‰D$X1ÀèíúþÿH‹þp,ƒ{@t(H‹D$XdH3%(…¶HƒÄh[]A\A]A^A_ÃDH‹=Ék,H…ÿ„·H‹-ép,H…íué*€H‹­ðH…í„H‹Eƒxuæ‹� …ÉtÜè—EÿÿH…À„ÞHƒÀI‰Ä„Ѻ+@¾ªFH‰ïè¯]ýÿH…À„H‹op,Ç@pH‹ 9k,H‹’øH‹’˜ HÇB ÛBH‰J(H‰B0H‹�àÇBL‰`8¶Úo,ƒà<„”öÌo,„ºH‹= p,¾ÀOoè1aýÿH…ÀH‰ÅH‰Ã„.f�H‹{H…ÿt(è²_ýÿ¨… H‹{H…ÿt¶|o,ƒà`< „GH9ÝI‰ìt9€I‹|$H…ÿt èq_ýÿ¨uH‹sI‹|$èbýÿ…À„·M‹$$I9ÜuοîBH‰k,HÇgj,è’OþÿH‹[j,H…ÀtH‹x è_ýÿ¨„uD‹q,L‹cL‹k…ÒL‰d$ L‰d$0L‰l$(…ŽH‹j,H…Àt H‹@H�|$0¾H‰D$8èWûÿÿ…À…ÇD$ H‹D$(L‹-Ûo,€8/H‰D$„aM…í„nA€}„cH‹D$ H‰D$@H‹D$H‰ÇH‰D$Hè­]ýÿHƒÀH‰D$ëof�H‹D$M‰æM)îI�<è_ýÿM9åI‰ÇH‰ÇtL‰òL‰îèvaýÿK�|7CÆ7/H‹t$èr[ýÿ‹t$ H�|$@L‰|$HèŸúÿÿ…ÀukL‰ÿè£ZýÿA€<$„ÒM�l$¾5”o,L‰ïè¤]ýÿH…ÀI‰Ä…xÿÿÿL‰ïè]ýÿM�défÿÿÿƒD$ ƒ|$ …ÿþÿÿH‹SH‹s¿8§F1Àè2 ÿÿf�H‹H…Û…Ôýÿÿ¶pm,ƒà<…’üÿÿ1ÿ¾ÀOoèæaýÿ…À…~üÿÿ1ÿº¾§Fèm\ýÿH‰Ç1Àèãÿÿé^üÿÿfDèC]ýÿ¨�„«ýÿÿH‹H…Û…nýÿÿë˜@L‹Ym,M…Û„6ýÿÿE1öE1ä1íA¹Aº A½fDI‹ƒ�H…À„ñE1ÀDH�xh=oH‹t+¿%ªFH‰ÖL‰É󦄰¿5ªFH‰ÖL‰Ñó¦u Hƒx8 ECÅH‹@H…Àu¿E…À„Ÿé‡�¿à¥F1ÀèÿÿH‹=…g,èYýÿ¶Ql,HÇng,ƒà<…lüÿÿ¶9l,‰Ð‰ÑÀèÀéƒðƒáƒà9Á…IûÿÿƒâH‹=gl,¾ªF€úÒƒâðƒÂèzYýÿé%ûÿÿDA¸E…öt}E9Æ…qH…ítwAƒþtQM‹›ðM…Û…éþÿÿH…í„‚H‹E¾?ªFH‰ïH‹€P‹P(ƒÊèYýÿH…Àt_Ç@pH‰ƒ(éÀûÿÿf�¶|k,ƒàçƒÈˆpk,ëšH…íE‰Æu‰Aƒøt öVk,„vÿÿÿI‹CA¼ƒxIDëé_ÿÿÿE…ä„kûÿÿ¿¸¦F1ÀèÑÿÿéZûÿÿ‹t$ H�|$ è¾÷ÿÿ…À…†ýÿÿH‹{è]ZýÿL‹%îm,M…ä„GýÿÿL�xë€M‹$$M…ä„-ýÿÿA‹D$…ÀuêI‹|$è ZýÿI�<è§[ýÿL‹KM‹D$H‰ÇI‰Å¹©FHÇÂÿÿÿÿ¾1Àècýÿ‹t$ H�|$0L‰l$8è-÷ÿÿ…À…õüÿÿL‰ïè-Wýÿë‹Aƒøº¾h¦FLEÝ1ÿM‰ÝèYýÿL‰îH‰Ç1Àèòÿÿé|þÿÿ1ÿº¾MªFè\YýÿL‰âH‰ÇL‰î1ÀèüÿÿéLûÿÿ¿¦F1Àè»ÿÿé¢ýÿÿèqYýÿ�ATUSH�ì dH‹%(H‰„$˜1ÀHƒ=*e,t(H‹„$˜dH3%(…H�Ä []A\ÃDH‰ûH‹ H…ÿtÌè¿Yýÿ¨uÃH‹{ H‰æèXýÿ…À…§H‹àd,H9$„«H‹_e,¾/H‹hH‰ïè>YýÿH…Àu�¾À©FH‰ïèŒaýÿH…À„kÿÿÿH‹{ L�`è&YýÿH…ÀH‰Å„‹H‹e,L‰âH‰ïH‹pH)òè¡Yýÿ…À…1ÿÿÿH‹òd,H‰é¿¨¥FH‹PH‹p1Àè›ÿÿéÿÿÿfDH‹s ¿”©F1Àè€ÿÿéóþÿÿH‹D$H;'d,…CÿÿÿH…À„:ÿÿÿH‰ùc,éÌþÿÿèXýÿH‹{èæZýÿH‰Åédÿÿÿ@f.„¶yh,ƒà<u H� i,éâñþÿf�Hƒì¾ ¿±[Kè�ÿÿ€ Æg, ÇÄi,Çöi,Æ2h,g€ *h,€ h,HƒÄÄAWAVI‰öAUATU‰ÕSH‰ûHƒì(H‹‡ðH‹@ƒx”ÀE1ÿD¶àˆD$E…ät H‹‡àD‹x¶Æg,ÇD$ƒà<t ö´g,……í„¢‹5¼b,…öuNA½ /of�I‹}H…ÿt&1Ò1öè^+þÿH…ÀI‰Et‹ˆˆ…Éu A‹U‰�ˆIƒÅ0I�ýP1orÄÇjb,¶Cg,ƒà<†‹K <‰L$„ÙH‹»ðI‰Ýë DI‹½ðL‰îè‰[ýÿH…ÀI‰Å„­Iƒ}huÞA‹E öÄ€uÕ3D$I‹½ð¨uÍöGEuÇH‹‡H…Àt»ö@HuµH‹“ðH‰ÙL‰îèÔ^ýÿ…Àt˜A‹E ƒt$ƒð D$ƒt$ë�f„öC „ÜþÿÿE…ä„•Aƒÿ„?1ÀAƒÿ ”À‰D$¸Û©FLDðé®þÿÿ„÷D$ …ÊA¸ 1oI‹HH…É„™HÇ$E1ɉêL‰öH‰ßè—eþÿHƒÄ([]A\A]A^A_Ä1Ò1öL‰÷èÔ)þÿH…ÀI‰Å„Fþÿÿ1íë@1öL‰ïèÖ-þÿH…ÀI‰Å„bI‹u8H…ötA‹F …À„&3C ¨uÏH‹“ðH‹=ñe,H‰Ùè¹]ýÿ…À…Iƒ}8uªf.„L‰íë›öD$„Í‹D$ƒàtDAƒÿu€|$A¸À0o…ÿÿÿE…äu(¹¿÷©FL‰öó¦A¸À0o—Á’Â8Ñ„éþÿÿD÷D$A¸`0o„Ðþÿÿ÷D$@A¸ð0o…¼þÿÿ÷D$A¸0o…¨þÿÿöD$A¸00o„—þÿÿE…ä…Ï¿ä©F¹L‰öó¦u…ÀA¸�0o…oþÿÿöD$A¸Ð/o¸ /oLEÀéVþÿÿf�I�}L‰éH‰Þ1ÒèÏ4þÿHƒÄ(L‰è[]A\A]A^A_ÃDH…í„™H�}H‰éH‰Þ1Òèž4þÿHƒÄ(H‰è[]A\A]A^A_Ã@H‹3¿é©F¹ ó¦u/H‹D,H…Àt#H�xH‰Á1ÒH‰ÞH‰D$èU4þÿH‹D$éäýÿÿ‹C ‰D$éÃüÿÿ@¿ä©F¹L‰öó¦D‰d$—Â’À8Â…üÿÿA€~aÇD$„’A¾Û©Féþûÿÿ„E1À1ÉégýÿÿI‹8H…ÿtx1Ò1öL‰D$è`'þÿL‹D$H‰ÁI‰@H…É…<ýÿÿ‹t$I�P¹àG@H‰ßL‰D$è±+þÿH…ÀH‰ÁL‹D$…ýÿÿH‹ Ùb,éýÿÿÇD$A¾Ñ©FéwûÿÿA¾Ñ©FélûÿÿH‹€xaH‹¨b,”ÁH…À„@D‹\$H‰\$E1ÉE1íE1äE1ÒE1ÿL‰D$‰Ëë€zaA”ÀE…Û…¿A¶È¾ý©FH�| ¹ó¦„¤D8ÔÂM…ÿt„ÒtI‰ÇM…Òt„Òt[H‹P8H…Òt ‹R ‰ÑƒáLEÐfD…Ét ƒâI‰ÅLEàH‹P H…ÒtèsGýÿI‰ë fDM…ÿt¬HƒÄ[]A\A]A^A_ÃH‰÷è¼KýÿI‰ëä€USHƒìdH‹%(H‰D$1À�ÿ’„6ލ�ÿ•„ôŽ&�ÿ—„úŒ„�ÿ˜…hH‹!E,¾ì‚DH‰ßè$Gýÿ…À„<¾„§FH‰ßèGýÿ…Àt4¾‰§FH‰ßèþFýÿ…À„¾’§FH‰ßèéFýÿ…Àº¾à¢F…¢ÇÉY,¸ëFfD�ÿ-„dŽ®�ÿ�tF�ˆ�ÿ.…Ä€ �Y,@¸„H‹\$dH3%(…˜HƒÄ[]ÃD€%MY,߸ëÒf�H‹59D,¿àKoè¯ýÿÿ¸ë¸„�ÿ“„$�ÿ”…HH‹=D,èü.þÿ¸é‚ÿÿÿf�ƒÿP„ƒÿz…H‹×C,¿©§F¹H‰Þó¦„ ¿¦§F¹H‰Þ󦄡¿®§F¹H‰Þó¦„3¿½§F¹H‰Þ󦄺¿Ï§F¹ H‰Þó¦„ê¿Ý§F¹ H‰Þ󦄿ۧF¹ H‰Þ󦄿ç§F¹ H‰Þó¦„V¿X‹C¹H‰Þó¦„[¿ó§F¹ H‰Þó¦„X¾ý§FH‰ßèÈJýÿ…À„U¾¨FH‰ßè³Jýÿ…À„R¾¨FH‰ßèžJýÿ…À„[¾¨FH‰ßè‰Jýÿ…À„7¾&¨FH‰ßètJýÿ…À„U¾/¨FH‰ßè_Jýÿ…À„.€;nu€{ou€{wu €{„4¾6¨FH‰ßè/Jýÿ…À„̾;¨FH‰ßèJýÿ…À„�¾D¨FH‰ßèJýÿ…À„z¾B¨FH‰ßèðIýÿ…À„W¾N¨FH‰ßèÛIýÿ…À„4¾\¨FH‰ßèÆIýÿ…À„¾Z¨FH‰ßè±Iýÿ…À„î¾g…DH‰ßèœIýÿ…À„»¾b¨FH‰ßè‡Iýÿ…À„†¾t}DH‰ßèrIýÿ…À„c¾k¨FH‰ßè]Iýÿ…À„=¾r¨FH‰ßèHIýÿ…À„(¾z¨FH‰ßè3Iýÿ…À„¾’¨FH‰ßèIýÿ…À„ܺ ¾¼¨FH‰ßè„Cýÿ…À…³H�k ¾Æ¨FH‰ïèëHýÿ…À„…¾Ò¨FH‰ïèÖHýÿ…À„[¾Ý¨FH‰ïèÁHýÿ…À„1º¾è¨FH‰ïè'Cýÿ…À„Àº¾ð¨FH‰ïè Cýÿ…À…—H�{1ÒH‰æèLýÿˆ¨U,H‹$€8t)H‹‘@,¾à£F1ÿºH�Xè¬DýÿH‰ÞH‰Ç1Àèñþÿ€ nU, ¸éîûÿÿfD¶TU,¶NU,¿œ§FH‹>@,¹ƒàƒâþH‰Þˆ-U,ˆ(U,ó¦„|€;g…‹€{n…�€{u…w€{…mƒÊˆðT,鮀H‹5Ù?,¿ØKoèOùÿÿ¸éUûÿÿD1ÀéIûÿÿf„H‹=¹P,H…ÿtè_AýÿHǤP,H‹�?,H…Ò„‰¹H‰Ö¿ì‚Dó¦¸@—Æ’Á@8΄ðúÿÿH‰×èˆEýÿH‰aP,¸é×úÿÿ€€%=T,¿¸é¿úÿÿ€Hƒ ØT,€ T,x¸éŸúÿÿ€€ T, ¸é‡úÿÿ€¶ìS,ƒàçƒÈˆàS,¸écúÿÿÇÒS,°éOúÿÿ€€ ³S,¸é7úÿÿ€ƒÈ€ˆšS,¸éúÿÿD¿¡§F¹H‰Þó¦…žƒÈ€ˆmS,épþÿÿH�{1ÒH‰æèÇIýÿH‹$H‰DU,€:u H�PÿH…„ÿÿÿH‹3>,º¾8£FH�X1ÿèNBýÿH‰ÞH‰Ç1ÀèÁîþÿéÓþÿÿ€ S,¸é‹ùÿÿHÇð=,ÄûDºÄûDé†þÿÿÇèR,°éeùÿÿº¾£Fë¤H�{1ÒH‰æè+IýÿH‹$H‰°T,€:u H�PÿH…„eþÿÿH‹—=,º¾`£FH�Xé_ÿÿÿH�{ 1ÒH‰æèæHýÿH‹$H‰{R,€:uXH…ÀxSH…À…þÿÿHÇ]R,ÿÿÿÿéþÿÿ¶FR,ƒÈƒàïˆ:R,¸黸ÿÿ¶)R,ƒÈƒà÷ˆR,¸éžøÿÿH‹=,º¾ˆ£F1ÿH�X è"AýÿH‰ÞH‰Ç1Àè•íþÿH‹îQ,éxÿÿÿH� †R,¸éTøÿÿè/AýÿHƒ oR,¸é=øÿÿHƒ ]R, ¸é+øÿÿH� HR,°éøÿÿHƒ 9R,°é øÿÿHƒ *R,°éû÷ÿÿH� R,°éé÷ÿÿH� R,°é×÷ÿÿHƒ ÷Q,@°éÈ÷ÿÿHƒ àQ,Hƒ àQ,¸é®÷ÿÿº¾¤FéêýÿÿH�{1ÒH‰æèqGýÿˆQ,H‹$€8t)H‹ë;,¾¨£F1ÿºH�Xè@ýÿH‰ÞH‰Ç1Àèyìþÿ€%ÈP,߸éH÷ÿÿ€ ·P, ƱP,�°é3÷ÿÿ€%¢P,߯œP,�°é÷ÿÿ€%�P,߯‡P,g°é ÷ÿÿº¾ÿ¨FéEýÿÿÇüP,°ééöÿÿÇçP,°éØöÿÿ€%DP,¿¸éÇöÿÿ€ 3P,@°é¹öÿÿ‹#P,%ÿþÿ ‰P,¸é™öÿÿ‹P,%ÿþÿ€Ì€‰õO,¸é{öÿÿ€%çO,û°émöÿÿ€ ÙO,°é_öÿÿ€ ÈO,°éQöÿÿ€%¾O,÷°éCöÿÿ€ °O,°é5öÿÿHƒ MP,H� JP,€°éöÿÿHƒ%3P,÷Hƒ%3P,þ°éöÿÿ@AUI‰õATI‰ÌUHcïH�uSHcÚHƒÃ HƒìI‹}HÁãèu?ýÿI‰EÇ(z:P:H‰ÞÆD(I‹<$èY?ýÿH�¼`þÿÿI‰$¾€ûL¸ @öÇuM@öÇug@öÇ…}‰Á1ÒÁé¨óH¥t ‹‰º¨t · f‰ HƒÂ¨t¶ˆHƒÄ[]A\A]öyú HƒÇ¾�ûLˆGÿ@öǸŸt›f�·HƒÇHƒÆƒèf‰Wþ@öÇt‹„‹HƒÇHƒÆƒè‰Wüénÿÿÿ�f.„AW1ÀAVAUATUSH‰ÓHƒì¶jH@öÅ„ßL‹bI‰ýH‹~I‰öèŒ=ýÿL‰çI‰Çè�=ýÿIǃå…ÅL‰ïèm=ýÿI�|èó>ýÿM‹FH‰ÇH‰ÅM‰á¹"©FHÇÂÿÿÿÿ¾1ÀL‰,$èZFýÿH‰ÞH‰ïè?ñþÿ…À„¸H‹{ H‰k¾èEýÿ‰Â¸…ÒtJH‹S öBEt@¶CH‰Âƒâ€út¾¿ ûLè#êþÿ¶CH¨„‡H‹{ L‰æèDýÿ¸fDHƒÄ[]A\A]A^A_Ã�I�è7>ýÿM‹FH‰ÇH‰ÅM‰á¹©FHÇÂÿÿÿÿ¾1Àè¢EýÿH‰ÞH‰ïè‡ðþÿ…À…HÿÿÿH‰ïèÇ9ýÿHƒÄ1À[]A\A]A^A_ÃfDH‹{è7?ýÿI‰ÄéhÿÿÿDf.„AWAVAUE1íATUSHƒìxdH‹%(H‰D$h1ÀH‹ÐL,ƒx@„ÆL‹=ßM,M…ÿ„°H‹ßL,H…Ûué�DH‹›ðH…Û„ˆH‹CƒxuæH‹ƒøH‹¸H…ÿtÓ€?tÎèq=ýÿI‰Äë@E…öt»HƒÅI‰ìt²¾5ëM,L‰çèû;ýÿH…ÀH‰Åt+ÆA¾M…ätÍA€<$tÆL‰æ¿ØKoèqðÿÿë·€E1öëÙH�D$(L‹ ìG,L‹íG,H‹ M,H‹5ÿL,L‰úH‰D$H‹M,H‹=ùK,HÇD$ÀOoH‰$èG@ýÿ…À„‡H‹=ÀL,H…ÿtH‹\$(H…ÛtH‰»°èÍ:ýÿHƒÀH‰C8H‹.?,H…ÛuéÄ@H‹[0H…Û„³öCHuíH‹{ ¾W©FèŸ<ýÿH…ÀH‰Åt×L‹x8I�è <ýÿH‹{ 1ÉM‰øH‰ÂH‰îI‰ÄèS:ýÿ…À„ÛCÆ<H‹K,E1ÉE1À1ÒH‹K L‰æ¿ÀOoÿP(L‰çè�7ýÿH‹EhH…ÀtH‹H@H‹U8H9ÑrH)ÑH‰H@H‹[0�M € HÇE8H…Û…Tÿÿÿ€è»ÔþÿH‹=ÔJ,¾ÀOoè Aýÿ…À„‚M…ít$¶D$AˆEH‹D$PI‰E H‹D$XI‰E(H‹D$`I‰E0H‹D$hdH3%(…iHƒÄx[]A\A]A^A_ÃfDH‹s ¿p¤FèÂåþÿéÿÿÿD¿@¤F1Àè¬åþÿéhþÿÿ€¿@¤F1Àè”åþÿémÿÿÿ€H‹=!J,¾ÀOoè‡8ýÿ¶ÀI,ƒà<„ÅH‹=ÖI,1É1ÒA¸¾>©Fèº;ýÿH…ÀI‰Å„ž¶@<t<‡ŽºL‰î¿ÀOoèÌAýÿA¶Ea‰Âƒâ€út ƒàüƒÈAˆEaI‹EH‰D$0I‹EH‰D$8I‹EH‰D$@I‹EH‰D$HI‹E H‰D$PI‹E(IÇE(=oH‰D$XI‹E0IÇE0H‰D$`A¶EAÆEˆD$ë@E1í¿ÐCèsúýÿé@üÿÿ¿K©Fè$5ýÿI‰Çé>üÿÿè78ýÿ€SH‰û@ƒ{wz‹Cÿ$Å@ûL„H‹S¹€:.t=D‹C,H‹=×H,¾ÀOoèÝ5ýÿ…ÀurH‹s¿¨¤Fèäþÿëbf„H‹S1É€:.uÀztHë»DH‹[ƒ{vŒfD[ÃfDH‹{ègÿÿÿH‹{ è^ÿÿÿH‹[(é]ÿÿÿDH‹{èGÿÿÿH‹[ éFÿÿÿ@f.„ƒt óÄH‹éÿÿÿ€U¾ÀOoS» HƒìH‹= H,èt9ýÿ…À‰Çˆúf.„è«=þÿH‹=äG,H‹Gƒx…ζG,ƒà<„¼H‹‡øHƒ=õF,H‹€˜ H‹h8tX¾ÀOoèÞ6ýÿ…Àt:H‹“G,H‹€øH‹�˜ H‹B8H9Åttƒû~_ƒët2¿éxÿÿÿ„¿ø¤Fè¶âþÿëº@HÇ럀1ÿº¾d©Fè6ýÿHƒÄH‰Ç1À[]éâþÿ€H9ÅrœH‰j8€HƒÄ[]Ã�HƒÄ¿Ø¤F1À[]éNâþÿ@f.„AWAVAUATUSH‰ûHƒìH‹‡øH‹WH‹€˜ L‹ªPL‹`0H‹H(I‹D$hH‰L$H==o„øL‹¸àI‹oHH…í„´Il$`I‹D$8H‰î¿L�pðÿ’�H‹CH�uL‰÷ÿ��H‹CH�u¿ÿ��ÇE GNUI‹…àH�MH‹t$E‰ðH‰ßH‹P èîÿÿI‹wIt$`1ÒH‰ßM‹l$8èF>ýÿ1Ò…ÀtHƒÄ‰Ð[]A\A]A^A_ÀH‰ÚL‰îH‰ïèÚ8ýÿ1ÒI9Å”ÂëÐI‹¬$°H…í…@ÿÿÿI‹|$8èU6ýÿH‹SI‰„$°H‰Åé"ÿÿÿ�º¾(¥F1ÿèo4ýÿH‰Ç1Àèåàþÿºé{ÿÿÿ�f.„AUATUH‰ýS1ÛHƒìèl4ýÿ¶5ÍF,I‰ÄH‰êëD@8ñ”ÁHƒÂ¶É˶ „ÉuêH‹=»E,ƒÃè34ýÿ¯ØB�|#1ÛHcÿè±5ýÿL‹%šE,H‰ÇI‰ÅL‰æèÌ3ýÿëf.„ˆHƒÀHƒÃ¶T„Òt:OF,uåH�xˆL‰æè—3ýÿëÛDÆHƒÄL‰è[]A\A]ÃDf.„AWAVAUI‰ýH‰÷ATUSH�ìˆH‰t$¾“‚DdH‹%(H‰D$x1Àè:ýÿI‰Ä1ÀM…ä„F¿½èí4ýÿH‰Ãf.„I‰ßë2L�}ÿH‰Çè<3ýÿMþL9ðu>€|+þ t7HíH‰ßH‰îèï3ýÿH‰ÃIÇI‰ÞL‰âL‰ÿM)þA�4.è„5ýÿH…Àu·L9û„»¾ H‰ßèi3ýÿH…Àtƾ#H‰ßèT3ýÿH…ÀtÆH‰Øë €HƒÀ¶€ú tô€ú tï�Jõ€ùvç„ÒI‰Æ„Q¿‚©F¹H‰Æó¦…‚¶H€ù t€ù utL�HDA¶< t]< tY„À„L‰Êë€A€ÿ tE„ÿtHƒÂD¶:A€ÿ uçH�BÆH‰$A¶„À… E„ÿ„ÌL‹ $A¶< u£IƒÁë•öÂß„O€ú=uéEf�€ú=t€ú tƒê €úv HƒÀ¶öÂßuâI9Æué„HƒèI9Æ„©€xÿ/tíL)ðI‰ÇI‹}H…ÿ„¢I‹EI‹MH�PI�4H9΃¯I‰U¶ÞC,ˆI‹UI‹EH�<L‰öL‰úè\5ýÿM}I‹EM‰}BÆ8L‰çèã4ýÿ…À„ëýÿÿH‰ßè“.ýÿL‰çèË0ýÿ¸H‹L$xdH3 %(…oH�Ĉ[]A\A]A^A_ÃèQ.ýÿL9åH‰ÃH‰ÇtL‰òL‰æè«0ýÿJ�|3BÆ3/L‰îè©*ýÿ‹t$ H�|$H‰\$èöüÿÿ…ÀujH‰ßèÚ)ýÿ€}t4L�e¾5Ñ>,L‰çèá,ýÿH…ÀH‰Åu‰L‰çèQ,ýÿI�,éxÿÿÿ„1ÀH‹L$(dH3 %(u'HƒÄ8[]A\A]A^A_À¸ëÓ�‰ÖèyüÿÿëÉè,ýÿf�ATUSH�ì dH‹%(H‰„$˜1ÀHƒ=²8,t(H‹„$˜dH3%(…H�Ä []A\ÃDH‰ûH‹ H…ÿtÌè_,ýÿ¨uÃH‹{ H‰æè¯*ýÿ…À…§H‹`8,H9$„«H‹ß8,¾/H‹hH‰ïèÞ+ýÿH…Àu�¾À©FH‰ïè,4ýÿH…À„kÿÿÿH‹{ L�`èÆ+ýÿH…ÀH‰Å„‹H‹“8,L‰âH‰ïH‹pH)òèA,ýÿ…À…1ÿÿÿH‹r8,H‰é¿¨¥FH‹PH‹p1Àè;×þÿéÿÿÿfDH‹s ¿”©F1Àè ×þÿéóþÿÿH‹D$H;§7,…CÿÿÿH…À„:ÿÿÿH‰�7,éÌþÿÿè¯*ýÿH‹{è†-ýÿH‰Åédÿÿÿ@f.„¶;,ƒà<u H� ¿;,é‚Äþÿf�Hƒì¾ ¿$ûLè-æþÿ€ f:, Çd<,Ç–<,ÆÒ:,g€ Ê:,€ À:,HƒÄÄAWAVI‰öAUATU‰ÕSH‰ûHƒì(H‹‡ðH‹@ƒx”ÀE1ÿD¶àˆD$E…ät H‹‡àD‹x¶f:,ÇD$ƒà<t öT:,……í„¢‹5H6,…öuNA½ 3of�I‹}H…ÿt&1Ò1öèþýýÿH…ÀI‰Et‹ˆˆ…Éu A‹U‰�ˆIƒÅ0I�ýÐ4orÄÇö5,¶ã9,ƒà<†‹K <‰L$„ÙH‹»ðI‰Ýë DI‹½ðL‰îè).ýÿH…ÀI‰Å„­Iƒ}huÞA‹E öÄ€uÕ3D$I‹½ð¨uÍöGEuÇH‹‡H…Àt»ö@HuµH‹“ðH‰ÙL‰îèt1ýÿ…Àt˜A‹E ƒt$ƒð D$ƒt$ë�f„öC „ÜþÿÿE…ä„•Aƒÿ„?1ÀAƒÿ ”À‰D$¸Û©FLDðé®þÿÿ„÷D$ …ÊA¸ 4oI‹HH…É„™HÇ$E1ɉêL‰öH‰ßè78þÿHƒÄ([]A\A]A^A_Ä1Ò1öL‰÷ètüýÿH…ÀI‰Å„Fþÿÿ1íë@1öL‰ïèvþÿH…ÀI‰Å„bI‹u8H…ötA‹F …À„&3C ¨uÏH‹“ðH‹=‘8,H‰ÙèY0ýÿ…À…Iƒ}8uªf.„L‰íë›öD$„Í‹D$ƒàtDAƒÿu€|$A¸@4o…ÿÿÿE…äu(¹¿÷©FL‰öó¦A¸@4o—Á’Â8Ñ„éþÿÿD÷D$A¸à3o„Ðþÿÿ÷D$@A¸p4o…¼þÿÿ÷D$A¸€3o…¨þÿÿöD$A¸°3o„—þÿÿE…ä…Ï¿ä©F¹L‰öó¦u…ÀA¸4o…oþÿÿöD$A¸P3o¸ 3oLEÀéVþÿÿf�I�}L‰éH‰Þ1ÒèoþÿHƒÄ(L‰è[]A\A]A^A_ÃDH…í„™H�}H‰éH‰Þ1Òè>þÿHƒÄ(H‰è[]A\A]A^A_Ã@H‹3¿é©F¹ ó¦u/H‹0,H…Àt#H�xH‰Á1ÒH‰ÞH‰D$èõþÿH‹D$éäýÿÿ‹C ‰D$éÃüÿÿ@¿ä©F¹L‰öó¦D‰d$—Â’À8Â…üÿÿA€~aÇD$„’A¾Û©Féþûÿÿ„E1À1ÉégýÿÿI‹8H…ÿtx1Ò1öL‰D$èúýÿL‹D$H‰ÁI‰@H…É…<ýÿÿ‹t$I�P¹àG@H‰ßL‰D$èQþýÿH…ÀH‰ÁL‹D$…ýÿÿH‹ y5,éýÿÿÇD$A¾Ñ©FéwûÿÿA¾Ñ©FélûÿÿH‹€xaH‹H5,”ÁH…À„@D‹\$H‰\$E1ÉE1íE1äE1ÒE1ÿL‰D$‰Ëë€zaA”ÀE…Û…¿A¶È¾ý©FH�| ¹ó¦„¤D8ÔÂM…ÿt„ÒtI‰ÇM…Òt„Òt[H‹P8H…Òt ‹R ‰ÑƒáLEÐfD…Ét ƒâI‰ÅLEàH‹P H…ÒtèãýÿI‰ë fDM…ÿt¬HƒÄ[]A\A]A^A_ÃH‰÷è,ýÿI‰ëä€USHƒìdH‹%(H‰D$1À�ÿ’„6ލ�ÿ•„ôŽ&�ÿ—„úŒ„�ÿ˜…hH‹‘,¾ì‚DH‰ßè”ýÿ…À„<¾„§FH‰ßèýÿ…Àt4¾‰§FH‰ßènýÿ…À„¾’§FH‰ßèYýÿ…Àº¾à¢F…¢Ç9&,¸ëFfD�ÿ-„dŽ®�ÿ�tF�ˆ�ÿ.…Ä€ ñ%,@¸„H‹\$dH3%(…˜HƒÄ[]ÃD€%½%,߸ëÒf�H‹5©,¿ÀLoè¯ýÿÿ¸ë¸„�ÿ“„$�ÿ”…HH‹=q,èlûýÿ¸é‚ÿÿÿf�ƒÿP„ƒÿz…H‹G,¿©§F¹H‰Þó¦„ ¿¦§F¹H‰Þ󦄡¿®§F¹H‰Þó¦„3¿½§F¹H‰Þ󦄺¿Ï§F¹ H‰Þó¦„ê¿Ý§F¹ H‰Þ󦄿ۧF¹ H‰Þ󦄿ç§F¹ H‰Þó¦„V¿X‹C¹H‰Þó¦„[¿ó§F¹ H‰Þó¦„X¾ý§FH‰ßè8ýÿ…À„U¾¨FH‰ßè#ýÿ…À„R¾¨FH‰ßèýÿ…À„[¾¨FH‰ßèùýÿ…À„7¾&¨FH‰ßèäýÿ…À„U¾/¨FH‰ßèÏýÿ…À„.€;nu€{ou€{wu €{„4¾6¨FH‰ßèŸýÿ…À„̾;¨FH‰ßèŠýÿ…À„�¾D¨FH‰ßèuýÿ…À„z¾B¨FH‰ßè`ýÿ…À„W¾N¨FH‰ßèKýÿ…À„4¾\¨FH‰ßè6ýÿ…À„¾Z¨FH‰ßè!ýÿ…À„î¾g…DH‰ßè ýÿ…À„»¾b¨FH‰ßè÷ýÿ…À„†¾t}DH‰ßèâýÿ…À„c¾k¨FH‰ßèÍýÿ…À„=¾r¨FH‰ßè¸ýÿ…À„(¾z¨FH‰ßè£ýÿ…À„¾’¨FH‰ßèŽýÿ…À„ܺ ¾¼¨FH‰ßèôýÿ…À…³H�k ¾Æ¨FH‰ïè[ýÿ…À„…¾Ò¨FH‰ïèFýÿ…À„[¾Ý¨FH‰ïè1ýÿ…À„1º¾è¨FH‰ïè—ýÿ…À„Àº¾ð¨FH‰ïè}ýÿ…À…—H�{1ÒH‰æè‡ýÿˆ",H‹$€8t)H‹ ,¾à£F1ÿºH�XèýÿH‰ÞH‰Ç1Àè�½þÿ€ Þ!, ¸éîûÿÿfD¶Ä!,¶¾!,¿œ§FH‹® ,¹ƒàƒâþH‰Þˆ�!,ˆ˜!,ó¦„|€;g…‹€{n…�€{u…w€{…mƒÊˆ`!,鮀H‹5I ,¿¸LoèOùÿÿ¸éUûÿÿD1ÀéIûÿÿf„H‹= ,H…ÿtèÏ ýÿHÇô,H‹ý ,H…Ò„‰¹H‰Ö¿ì‚Dó¦¸@—Æ’Á@8΄ðúÿÿH‰×èøýÿH‰±,¸é×úÿÿ€€%­ ,¿¸é¿úÿÿ€Hƒ H!,€ ‹ ,x¸éŸúÿÿ€€ u , ¸é‡úÿÿ€¶\ ,ƒàçƒÈˆP ,¸écúÿÿÇB ,°éOúÿÿ€€ # ,¸é7úÿÿ€ƒÈ€ˆ ,¸éúÿÿD¿¡§F¹H‰Þó¦…žƒÈ€ˆÝ,épþÿÿH�{1ÒH‰æè7ýÿH‹$H‰´!,€:u H�PÿH…„ÿÿÿH‹£ ,º¾8£FH�X1ÿè¾ýÿH‰ÞH‰Ç1Àè1»þÿéÓþÿÿ€ z,¸é‹ùÿÿHÇ` ,ÄûDºÄûDé†þÿÿÇX,°éeùÿÿº¾£Fë¤H�{1ÒH‰æè›ýÿH‹$H‰ !,€:u H�PÿH…„eþÿÿH‹ ,º¾`£FH�Xé_ÿÿÿH�{ 1ÒH‰æèVýÿH‹$H‰ë,€:uXH…ÀxSH…À…þÿÿHÇÍ,ÿÿÿÿéþÿÿ¶¶,ƒÈƒà,¸黸ÿÿ¶™,ƒÈƒà÷ˆ�,¸éžøÿÿH‹w ,º¾ˆ£F1ÿH�X è’ ýÿH‰ÞH‰Ç1ÀèºþÿH‹^,éxÿÿÿH� ö,¸éTøÿÿèŸ ýÿHƒ ß,¸é=øÿÿHƒ Í, ¸é+øÿÿH� ¸,°éøÿÿHƒ ©,°é øÿÿHƒ š,°éû÷ÿÿH� ˆ,°éé÷ÿÿH� v,°é×÷ÿÿHƒ g,@°éÈ÷ÿÿHƒ P,Hƒ P,¸é®÷ÿÿº¾¤FéêýÿÿH�{1ÒH‰æèáýÿˆr,H‹$€8t)H‹[,¾¨£F1ÿºH�Xèv ýÿH‰ÞH‰Ç1Àèé¸þÿ€%8,߸éH÷ÿÿ€ ', Æ!,�°é3÷ÿÿ€%,߯ ,�°é÷ÿÿ€%ý,߯÷,g°é ÷ÿÿº¾ÿ¨FéEýÿÿÇl,°ééöÿÿÇW,°éØöÿÿ€%´,¿¸éÇöÿÿ€ £,@°é¹öÿÿ‹“,%ÿþÿ ‰ƒ,¸é™öÿÿ‹s,%ÿþÿ€Ì€‰e,¸é{öÿÿ€%W,û°émöÿÿ€ I,°é_öÿÿ€ 8,°éQöÿÿ€%.,÷°éCöÿÿ€ ,°é5öÿÿHƒ ½,H� º,€°éöÿÿHƒ%£,÷Hƒ%£,þ°éöÿÿ@AUI‰õATI‰ÌUHcïH�uSHcÚHƒÃ HƒìI‹}HÁãèå ýÿI‰EÇ(z:P:H‰ÞÆD(I‹<$èÉ ýÿH�¼`þÿÿI‰$¾@šN¸ @öÇuM@öÇug@öÇ…}‰Á1ÒÁé¨óH¥t ‹‰º¨t · f‰ HƒÂ¨t¶ˆHƒÄ[]A\A]ö©e HƒÇ¾AšNˆGÿ@öǸŸt›f�·HƒÇHƒÆƒèf‰Wþ@öÇt‹„‹HƒÇHƒÆƒè‰Wüénÿÿÿ�f.„AW1ÀAVAUATUSH‰ÓHƒì¶jH@öÅ„ßL‹bI‰ýH‹~I‰öèü ýÿL‰çI‰Çèñ ýÿIǃå…ÅL‰ïèÝ ýÿI�|èc ýÿM‹FH‰ÇH‰ÅM‰á¹"©FHÇÂÿÿÿÿ¾1ÀL‰,$èÊýÿH‰ÞH‰ï诽þÿ…À„¸H‹{ H‰k¾èuýÿ‰Â¸…ÒtJH‹S öBEt@¶CH‰Âƒâ€út¾¿Ù™Nè“¶þÿ¶CH¨„‡H‹{ L‰æè‹ýÿ¸fDHƒÄ[]A\A]A^A_Ã�I�è§ ýÿM‹FH‰ÇH‰ÅM‰á¹©FHÇÂÿÿÿÿ¾1ÀèýÿH‰ÞH‰ïè÷¼þÿ…À…HÿÿÿH‰ïè7ýÿHƒÄ1À[]A\A]A^A_ÃfDH‹{è§ ýÿI‰ÄéhÿÿÿDf.„AWAVAUE1íATUSHƒìxdH‹%(H‰D$h1ÀH‹@,ƒx@„ÆL‹=O,M…ÿ„°H‹O,H…Ûué�DH‹›ðH…Û„ˆH‹CƒxuæH‹ƒøH‹¸H…ÿtÓ€?tÎèá ýÿI‰Äë@E…öt»HƒÅI‰ìt²¾5[,L‰çèkýÿH…ÀH‰Åt+ÆA¾M…ätÍA€<$tÆL‰æ¿¸Loèqðÿÿë·€E1öëÙH�D$(L‹ <,L‹=,H‹ Ž,H‹5o,L‰úH‰D$H‹€,H‹=i,HÇD$ÀOoH‰$è· ýÿ…À„‡H‹=0,H…ÿtH‹\$(H…ÛtH‰»°è=ýÿHƒÀH‰C8H‹ž ,H…ÛuéÄ@H‹[0H…Û„³öCHuíH‹{ ¾W©Fè ýÿH…ÀH‰Åt×L‹x8I�èzýÿH‹{ 1ÉM‰øH‰ÂH‰îI‰ÄèÃýÿ…À„ÛCÆ<H‹,E1ÉE1À1ÒH‹K L‰æ¿ÀOoÿP(L‰çèýÿH‹EhH…ÀtH‹H@H‹U8H9ÑrH)ÑH‰H@H‹[0�M € HÇE8H…Û…Tÿÿÿ€è+¡þÿH‹=D,¾ÀOoèz ýÿ…À„‚M…ít$¶D$AˆEH‹D$PI‰E H‹D$XI‰E(H‹D$`I‰E0H‹D$hdH3%(…iHƒÄx[]A\A]A^A_ÃfDH‹s ¿p¤Fè2²þÿéÿÿÿD¿@¤F1Àè²þÿéhþÿÿ€¿@¤F1Àè²þÿémÿÿÿ€H‹=‘,¾ÀOoè÷ýÿ¶0,ƒà<„ÅH‹=F,1É1ÒA¸¾>©Fè*ýÿH…ÀI‰Å„ž¶@<t<‡ŽºL‰î¿ÀOoè<ýÿA¶Ea‰Âƒâ€út ƒàüƒÈAˆEaI‹EH‰D$0I‹EH‰D$8I‹EH‰D$@I‹EH‰D$HI‹E H‰D$PI‹E(IÇE(=oH‰D$XI‹E0IÇE0H‰D$`A¶EAÆEˆD$ë@E1í¿`;CèãÆýÿé@üÿÿ¿K©Fè”ýÿI‰Çé>üÿÿè§ýÿ€SH‰û@ƒ{wz‹Cÿ$ÅšN„H‹S¹€:.t=D‹C,H‹=G,¾ÀOoèMýÿ…ÀurH‹s¿¨¤Fè‹°þÿëbf„H‹S1É€:.uÀztHë»DH‹[ƒ{vŒfD[ÃfDH‹{ègÿÿÿH‹{ è^ÿÿÿH‹[(é]ÿÿÿDH‹{èGÿÿÿH‹[ éFÿÿÿ@f.„ƒt óÄH‹éÿÿÿ€U¾ÀOoS» HƒìH‹=y,èäýÿ…À‰Çˆúf.„è þÿH‹=T,H‹Gƒx…ζï,ƒà<„¼H‹‡øHƒ=e,H‹€˜ H‹h8tX¾ÀOoèNýÿ…Àt:H‹,H‹€øH‹�˜ H‹B8H9Åttƒû~_ƒët2¿éxÿÿÿ„¿ø¤Fè&¯þÿëº@HÇ럀1ÿº¾d©FèýÿHƒÄH‰Ç1À[]éï®þÿ€H9ÅrœH‰j8€HƒÄ[]Ã�HƒÄ¿Ø¤F1À[]é¾®þÿ@f.„AWAVAUATUSH‰ûHƒìH‹‡øH‹WH‹€˜ L‹ªPL‹`0H‹H(I‹D$hH‰L$H==o„øL‹¸àI‹oHH…í„´Il$`I‹D$8H‰î¿L�pðÿ’�H‹CH�uL‰÷ÿ��H‹CH�u¿ÿ��ÇE GNUI‹…àH�MH‹t$E‰ðH‰ßH‹P è^èþÿI‹wIt$`1ÒH‰ßM‹l$8è¶ ýÿ1Ò…ÀtHƒÄ‰Ð[]A\A]A^A_ÀH‰ÚL‰îH‰ïèJýÿ1ÒI9Å”ÂëÐI‹¬$°H…í…@ÿÿÿI‹|$8èÅýÿH‹SI‰„$°H‰Åé"ÿÿÿ�º¾(¥F1ÿèßýÿH‰Ç1ÀèU­þÿºé{ÿÿÿ�f.„AUATUH‰ýS1ÛHƒìèÜýÿ¶5=,I‰ÄH‰êëD@8ñ”ÁHƒÂ¶É˶ „ÉuêH‹=+,ƒÃè£ýÿ¯ØB�|#1ÛHcÿè!ýÿL‹% ,H‰ÇI‰ÅL‰æè<ýÿëf.„ˆHƒÀHƒÃ¶T„Òt:¿,uåH�xˆL‰æèýÿëÛDÆHƒÄL‰è[]A\A]ÃDf.„AWAVAUI‰ýH‰÷ATUSH�ìˆH‰t$¾“‚DdH‹%(H‰D$x1ÀèŠýÿI‰Ä1ÀM…ä„F¿½è]ýÿH‰Ãf.„I‰ßë2L�}ÿH‰Çè¬ÿüÿMþL9ðu>€|+þ t7HíH‰ßH‰îè_ýÿH‰ÃIÇI‰ÞL‰âL‰ÿM)þA�4.èôýÿH…Àu·L9û„»¾ H‰ßèÙÿüÿH…Àtƾ#H‰ßèÄÿüÿH…ÀtÆH‰Øë €HƒÀ¶€ú tô€ú tï�Jõ€ùvç„ÒI‰Æ„Q¿‚©F¹H‰Æó¦…‚¶H€ù t€ù utL�HDA¶< t]< tY„À„L‰Êë€A€ÿ tE„ÿtHƒÂD¶:A€ÿ uçH�BÆH‰$A¶„À… E„ÿ„ÌL‹ $A¶< u£IƒÁë•öÂß„O€ú=uéEf�€ú=t€ú tƒê €úv HƒÀ¶öÂßuâI9Æué„HƒèI9Æ„©€xÿ/tíL)ðI‰ÇI‹}H…ÿ„¢I‹EI‹MH�PI�4H9΃¯I‰U¶N,ˆI‹UI‹EH�<L‰öL‰úèÌýÿM}I‹EM‰}BÆ8L‰çèSýÿ…À„ëýÿÿH‰ßèûüÿL‰çè;ýüÿ¸H‹L$xdH3 %(…oH�Ĉ[]A\A]A^A_ÃèÁúüÿL9åH‰ÃH‰ÇtL‰òL‰æèýüÿJ�|3BÆ3/L‰îè÷üÿ‹t$ H�|$H‰\$èöüÿÿ…ÀujH‰ßèJöüÿ€}t4L�e¾5A ,L‰çèQùüÿH…ÀH‰Åu‰L‰çèÁøüÿI�,éxÿÿÿ„1ÀH‹L$(dH3 %(u'HƒÄ8[]A\A]A^A_À¸ëÓ�‰ÖèyüÿÿëÉè‚øüÿf�ATUSH�ì dH‹%(H‰„$˜1ÀHƒ=,t(H‹„$˜dH3%(…H�Ä []A\ÃDH‰ûH‹ H…ÿtÌèÏøüÿ¨uÃH‹{ H‰æè÷üÿ…À…§H‹°,H9$„«H‹/,¾/H‹hH‰ïèNøüÿH…Àu�¾À©FH‰ïèœýÿH…À„kÿÿÿH‹{ L�`è6øüÿH…ÀH‰Å„‹H‹ã,L‰âH‰ïH‹pH)òè±øüÿ…À…1ÿÿÿH‹Â,H‰é¿¨¥FH‹PH‹p1Àè«£þÿéÿÿÿfDH‹s ¿”©F1Àè�£þÿéóþÿÿH‹D$H;÷,…CÿÿÿH…À„:ÿÿÿH‰Ñ,éÌþÿÿè÷üÿH‹{èöùüÿH‰Åédÿÿÿ@f.„¶‰,ƒà<u H� /,éò�þÿf�Hƒì¾ ¿ô™Nè�²þÿ€ Ö, ÇÔ,Ç ,ÆB,g€ :,€ 0,HƒÄÄAWAVI‰öAUATU‰ÕSH‰ûHƒì(H‹‡ðH‹@ƒx”ÀE1ÿD¶àˆD$E…ät H‹‡àD‹x¶Ö,ÇD$ƒà<t öÄ,……í„¢‹5˜,…öuNA½À5of�I‹}H…ÿt&1Ò1öènÊýÿH…ÀI‰Et‹ˆˆ…Éu A‹U‰�ˆIƒÅ0I�ýp7orÄÇF,¶S,ƒà<†‹K <‰L$„ÙH‹»ðI‰Ýë DI‹½ðL‰îè™úüÿH…ÀI‰Å„­Iƒ}huÞA‹E öÄ€uÕ3D$I‹½ð¨uÍöGEuÇH‹‡H…Àt»ö@HuµH‹“ðH‰ÙL‰îèäýüÿ…Àt˜A‹E ƒt$ƒð D$ƒt$ë�f„öC „ÜþÿÿE…ä„•Aƒÿ„?1ÀAƒÿ ”À‰D$¸Û©FLDðé®þÿÿ„÷D$ …ÊA¸@7oI‹HH…É„™HÇ$E1ɉêL‰öH‰ßè§þÿHƒÄ([]A\A]A^A_Ä1Ò1öL‰÷èäÈýÿH…ÀI‰Å„Fþÿÿ1íë@1öL‰ïèæÌýÿH…ÀI‰Å„bI‹u8H…ötA‹F …À„&3C ¨uÏH‹“ðH‹=,H‰ÙèÉüüÿ…À…Iƒ}8uªf.„L‰íë›öD$„Í‹D$ƒàtDAƒÿu€|$A¸à6o…ÿÿÿE…äu(¹¿÷©FL‰öó¦A¸à6o—Á’Â8Ñ„éþÿÿD÷D$A¸€6o„Ðþÿÿ÷D$@A¸7o…¼þÿÿ÷D$A¸ 6o…¨þÿÿöD$A¸P6o„—þÿÿE…ä…Ï¿ä©F¹L‰öó¦u…ÀA¸°6o…oþÿÿöD$A¸ð5o¸À5oLEÀéVþÿÿf�I�}L‰éH‰Þ1ÒèßÓýÿHƒÄ(L‰è[]A\A]A^A_ÃDH…í„™H�}H‰éH‰Þ1Òè®ÓýÿHƒÄ(H‰è[]A\A]A^A_Ã@H‹3¿é©F¹ ó¦u/H‹@é+H…Àt#H�xH‰Á1ÒH‰ÞH‰D$èeÓýÿH‹D$éäýÿÿ‹C ‰D$éÃüÿÿ@¿ä©F¹L‰öó¦D‰d$—Â’À8Â…üÿÿA€~aÇD$„’A¾Û©Féþûÿÿ„E1À1ÉégýÿÿI‹8H…ÿtx1Ò1öL‰D$èpÆýÿL‹D$H‰ÁI‰@H…É…<ýÿÿ‹t$I�P¹àG@H‰ßL‰D$èÁÊýÿH…ÀH‰ÁL‹D$…ýÿÿH‹ é,éýÿÿÇD$A¾Ñ©FéwûÿÿA¾Ñ©FélûÿÿH‹€xaH‹¸,”ÁH…À„@D‹\$H‰\$E1ÉE1íE1äE1ÒE1ÿL‰D$‰Ëë€zaA”ÀE…Û…¿A¶È¾ý©FH�| ¹ó¦„¤D8ÔÂM…ÿt„ÒtI‰ÇM…Òt„Òt[H‹P8H…Òt ‹R ‰ÑƒáLEÐfD…Ét ƒâI‰ÅLEàH‹P H…Òt±[ÿÿD‰îD‹m,!Ö‰|$À‹}01ÎDÆD‰l$ÜF�¬)¾×\‰ÁΉÑD‹D$ÔÖ1ÁHƒÅ@!ñ1ÁAÍ�Œ8"�k‰ðAÁÍ 1ÐAõD!è1ÐÈ‹MôÁÈDèD�Œ “q˜ýD‰ê1ò!Â1òDÊD‹MøÁÊÂF�¤ŽCy¦‰ÆD1î!ÖD1îAô‹uüAÁÌAÔE�´5!´IA‰ÕA1ÅE!åA1ÅEõD‹t$ÄAÁÍ EåE�´b%öD‰èD1à!ÐD1àDðE�´@³@ÀD‹D$ÜÁÈDè‰ÂD1êD!âD1êDòG�´ QZ^&D‹D$ìÁÊÂA‰ÔA1ÄE!ìA1ÄEôG�´+ªÇ¶éAÁÌAÔE‰åA1ÕA!ÅA1ÕEõE�´]/ÖAÁÍ EåD‰èD1à!ÐD1àDðD‹t$ÀÁÈDèE�´SD‰ÂD1êD!âD1êDòF�´&�æ¡ØÁÊÂA‰ÔA1ÄE!ìA1ÄEôD‹t$ÐAÁÌAÔG�´.ÈûÓçE‰åA1ÕA!ÅA1ÕEõE�´æÍá!AÁÍ EåD‰èD1à!ÐD1àDðE�´Ö7ÃÁÈDè‰ÂD1êD!âD1êDòD‹t$ÌÁÊÂG�´&‡ ÕôA‰ÔA1ÄE!ìA1ÄEôD‹t$ØAÁÌAÔG�´.íZEE‰åA1ÕA!ÅA1ÕEõD�´éã©AÁÍ EåD‰èD1à!ÐD1àDðD‹t$ÈÁÈDèE�´ø£ïü‰ÂD1êD!âD1êDòG�´"ÙogÁÊÂA‰ÔA1ÄE!ìF�¬/ŠL*�A1ÄEôD‰l$ìAÁÌAÔE‰æA1ÖE‰õA!ÅA�„B9úÿA1ÕDl$ìAÁÍ EåE1îAÆ‹D$ØAÁÎEî�”�öq‡D‰èD1àD1ð‹D$ÜÁÊDòF�¤ "a�mD‰ðD1èG�¬) 8åý1ÐDàA‰ÔÁÈE1ôÐA1ÄEìD‹l$ÄAÁÌ AÄG�´5D꾤A‰ÅA1ÕE1åEõD‹t$ÐAÁÍEåE�´©ÏÞKD‰â1ÂD1êDòE�´`K»öD‰èÁÊD1àDê1ÐAÆ‹D$ÀAÁÎAÖF�¤ p¼¿¾‰ÐD1èF�¬)Æ~›(D1ðAÄD‰ðAÁÌ Eô1ÐD1àDèE�¬ú'¡êD‰âÁÈD1òDà1ÂAÕ‹T$ÌAÁÍAÅF�´2…0ïÔ‰ÂD1âD1êAÖ‹T$ÔAÁÎEîF�¤"ˆD‰ê1ÂD1òDâE�¤9ÐÔÙD‰ðÁÊ D1èF�¬/å™ÛæDò1ÐAĉÐAÁÌD1ðF�´6ø|¢AÔD1àAÅD‰àAÁÍ1ÐEåD1èDðD‹t$ÈÁÈDèE�´eV¬ÄD‰êE�Œ§#”«D1âG�¤#D")ôE‰ë1ÂA÷ÓDòD‹t$ÈÁÊ ÂA ÓA1ÃEãG�¤*—ÿ*CA‰ÂAÁËA÷ÒD‹l$ÄAÓE ÚA1ÒEâA‰ÔAÁÊA÷ÔEÚD‰àE‰ÜD ÐA÷ÔD1ØDÈE�Œ9 “üD‰âÁÈE‰ÔDÐA÷Ô ÂE‰àD1ÒDÊF�ŒÃY[eD‹\$ÌÁÊ ‹|$ÀÂA ÐG�”’Ì �A‰ÓA1ÀA÷Ó�¼}ôïÿEÈA‰ÁD‰ØAÁÈA÷ÑAÐE ÁE‰ÃA1ÑA÷ÓEÑAÁÉEÁD ÈD1ÀøA�¼Ñ]„…D‰ÚÁÈDÈ ÂD1Êú‹|$ØÁÊ ÂF�„O~¨oD‰Ï�Œ¡N÷× ×1ÇDÇF�„àæ,þ‰ÆÁÏ÷Ö× þ1ÖDÆD‹D$ÔÁÎþE�„C£‰Ð‰ú÷Ð÷Ò ð1øDÀD‹D$ÜÁÈð Â1òÑ‹T$ÐÁÉ Á�¼:‚~S÷‰ò÷Ò Ê1ÂúA�¼05ò:½‰ÆÁÊ÷ÖÊT$à Ö1ÎþA�¼»Ò×*‰ÈÁÎ÷ÐA�Œ‘Ó†ëÖt$è ð1ÐøÁÈ�<0‰Ð|$ä÷Ð ø1ðÈÁÈ øÃH9l$ð‡RøÿÿH‹D$ø‹|$à‰X‹\$ä‰8‰X‹\$è‰X []A\A]A^A_Ã�f.„AUATI‰ôUSH‰ûHƒì‹G‹WÂ9ЉWvƒGƒø7whA½8A)ʼnÅH�5: L‰êH�|+èIáüÿ‹CI�T-H�{H�rÁà‰D‹C‹KÁèÁá ȉD H‰Úè8÷ÿÿHƒÄH‰ßL‰æ[]A\A]é÷ÿÿA½xA)Åë–DAWAVAUATI‰üUH‰ÕSH‰óHƒìD‹jE…íuPHƒû@w*H…ÛtH�}H‰ÚL‰æè¶àüÿ‰]HƒÄ[]A\A]A^A_Ã@I‰ÝL‰çH‰êIƒåÀƒã?L‰îMìè¥öÿÿë¹E‰ïA¾€M)þJ�|:I9öLGöL‰æL‰òM÷èZàüÿDuIƒÿ@wMôL)óéuÿÿÿDH�EL‰ùH‰êHƒáÀEõH‰ÎH‰ÇH‰L$H‰$Aƒå?è7öÿÿH‹L$H‹$L‰úƒâ?H�t H‰ÇèûßüÿD‰më¥DAUI‰õATI‰üUH‰ÕSH�ì¸H‰çdH‹%(H‰„$¨1ÀèõÿÿH‰âL‰îL‰çèÁþÿÿH‰îH‰çèþÿÿH‹Œ$¨dH3 %(uH�ĸ[]A\A]Ãè�ÛüÿAWI‰÷AVAUA½ATI‰üUSH�ìøH�¬$ H‰çI‰ædH‹%(H‰„$è1ÀèýôÿÿD1Ûë @H…Àt$H�|L‰êL‰áH)Ú¾èÚüÿHÃH�ûÿv×H…ÀtL‰ò¾H‰ïèõÿÿë¸L‰çè8Ùüÿ…ÀA‰Äu8H…Ûu;L‰þL‰÷èAýÿÿH‹Œ$èdH3 %(D‰àu*H�Äø[]A\A]A^A_ÃA¼ëÐL‰òH‰ÞH‰ïè£ýÿÿëµèœÚüÿf.„f�Ç#EgÇG‰«ÍïÇGþܺ˜ÇG vT2ÇGðáÒÃÇGÇGÇGÄ‹H‰ðʉ‹WʉV‹WʉV‹W ʉV ‹WʉVÃfDAWH‰ùAVAUATUSH‰ÓH�ì¸H‰T$X‹dH‹%(H‰„$¨1ÀH‰ð‰T$<‹SHƒàüHøH‰ÇH‰D$P‰ð‰T$@‹SC‰T$D‹S ‰C‰T$H‹S‰T$LH‰òHÁê SH9ð’À¶ÀÐH9ù‰CƒH�T$`H‰È@1ÉfD‹4Ή4 HƒÁHƒù@uîD‹t$™y‚ZD‰Î1ÎD!ÆAÁÈ1ÎDÖA‰úAÁÊDÖD‹T$xF�”™y‚ZD‰ÁD1É!ùÁÏD1ÉDÑA‰òAÁÊDÑD‹T$|G�”™y‚ZA‰ùE1ÁA!ñÁÎE1ÁEÑA‰ÊAÁÊEÑD‹”$€G�”™y‚ZA‰ðA1øA!ÈÁÉA1øEÐE‰ÊAÁÊEÐD‹”$„F�”™y‚Z‰Ï1÷D!Ï1÷AÁÉD×E‰ÂAÁÊD×D‹”$ˆF�”™y‚ZD‰Î1ÎD!ÆAÁÈ1ÎDÖA‰úAÁÊDÖD‹”$ŒF�”™y‚ZD‰ÁD1É!ùÁÏD1ÉDÑA‰òAÁÊDÑD‹”$�G�”™y‚ZA‰ùE1ÁA!ñÁÎE1ÁEÑA‰ÊAÁÊEÑD‹”$”G�”™y‚ZA‰ðA1øA!ÈÁÉA1øEÐE‰ÊAÁÊEÐD‹”$˜F�”™y‚Z‰Ï1÷A1ëD3œ$€D!ÏAÁÉD3œ$”1÷D1ëD×E‰ÂAÁÊD×D‹”$œAÁËF�”™y‚ZD‰Î1ÎD!ÆAÁÈ1ÎDÖA‰úAÁÊDÖF�”™y‚ZD‰ÁD1É!ùÁÏD1ÉDÑA‰òAÁÊDÑD‹”$„A1ÚD3”$˜‰ËAÁÊG�¤™y‚ZA‰ùE1ÁA!ñE1ÁEÌA‰éÁËE1ñD3Œ$ˆÁÎD3Œ$œAÜAÁÉC�œ™y‚ZA‰ðA1øA!ÈÁÉA1øAØD‰ãÁËDÃE‰èE1øD3„$Œ‰ÝÁÍE1ØAÁÈF�¬™y‚Z‰Ï1÷D!çAÁÌ1÷Aý‹|$xAíD1÷3¼$�D1×ÁÏ�¬>¡ëÙnD‰æ1Î1ÞîD‰íÁÍõ‹t$|ÁËD1þ3´$”A‰ïAÁÏD1ÎÁÎD�´1¡ëÙn‰ÙD1áD1éAÁÍDñE‰þA΋Œ$€3L$x3Œ$˜D1ÁÁÉE�¼ ¡ëÙnE‰ìA1ÜA1ìÁÍEüE‰÷AÁÏEüD‹¼$„D3|$|D‰|$D‹¼$œD1|$1|$ÁL$D‹|$F�¼;¡ëÙn‰ëD1ëD1óAÁÎDûE‰çAÁÏDûD‹¼$ˆD3¼$€D‰|$ D1\$ 1t$ ÁL$ D‹|$ G�¼=¡ëÙnE‰õA1íE1åAÁÌEýA‰ßAÁÏEýD‹¼$ŒD3¼$„D‰|$D1T$1L$ÁL$D‹|$F�¼=¡ëÙnD‰åD1õ1ÝÁËDýE‰ïAÁÏDýD‹¼$�D3¼$ˆD‰|$D‹|$D1L$D1|$ÁL$D‹|$G�¼>¡ëÙnA‰ÞE1æE1îAÁÍEþA‰ïAÁÏEþD‹¼$”D3¼$ŒD‰|$D1D$D‹|$ D1|$ÁL$D‹|$G�¼<¡ëÙnE‰ìA1ÜA1ìÁÍEüE‰÷AÁÏEüD‹¼$˜D3¼$�D‰|$1|$D‹|$D1|$ÁL$D‹|$F�¼;¡ëÙn‰ëD1ëD1óAÁÎDûE‰çAÁÏDûD‹¼$œD3¼$”D‰|$ 1t$ D‹|$D1|$ ÁL$ D‹|$ G�¼=¡ëÙnE‰õA1íE1åAÁÌEýA‰ßAÁÏEýD‹¼$˜E1ßD‰|$$1L$$D‹|$D1|$$ÁL$$D‹|$$F�¼=¡ëÙnD‰åD1õ1ÝDýE‰ïAÁÏÁËE1ËDýD‹¼$œE1×E1ÂD‰|$(D‹|$D1|$(D‹|$D1|$(ÁL$(D‹|$(G�¼>¡ëÙnA‰ÞE1æE1îAÁÍEþA‰ïAÁÏEþD‹|$ E1ßD3|$ E‰ëA1ÛA1ëÁÍAÁÏG�¤<¡ëÙnEãE‰ôAÁÌEãD‹d$E1ÔD3d$$A‰êE1êE1òAÁÎAÁÌB�œ#¡ëÙnAÚD‰ÛÁËAÚA1ù‹\$D‰L$,1\$,A1ðD‹L$(D1L$,E‰ñÁL$,‹\$,A1éE1ÙAÁË3t$A�œ¡ëÙnE‰ÕAÁÍAÙEéD‹l$E1ÅE‰ØE1ýE1ðAÁÍE1ÐAÁÊB�œ-¡ëÙnD‰ÍÁÍAØAè‰ýD‰×1Í3l$D1ßD1ÏAÁÉD1åÁÍA�œ.¡ëÙnßD‰ÃÁËß‹\$ A‰þ1ó3\$,D‰ÎÁËD1Ö3L$ E�œ¡ëÙnD1ÆAÁÎAÁÈDÞD‹\$D3\$DöD‹t$$A1ÎD‰ÁD‰\$0E1îD1ÉD‹\$ AÁÎ1ùD3\$G�”2¡ëÙnÁÏDÑA‰òAÁÊD‰\$ D1|$ DÑD‹T$(D1T$01l$0A‰ËÁL$0D‹T$01\$ ÁL$ G�”¡ëÙnA‰ùE1ÁA1ñÁÎEÑA‰ÊAÁÊEÑD‹T$ G�”ܼ�E‰ÈAÁÈEÂA‰ÈA ðA!óÁÉA!øE ØD‹\$D3\$EÐD‰\$D1d$D1t$ÁL$D‹\$F�”ܼ�D‰ÏE‰Ë ÏA!ËAÁÉ!÷D ßD‹\$D3\$D×E‰ÂAÁÊD×D‹T$,D‰\$D1T$E‰ÃD‹T$0D1T$E!ËÁL$D‹T$F�”ܼ�‰þÁÎAòD‰ÆAÁÈD Î!ÎD ÞD‹\$D3\$ DÖD‰\$D1l$D‹\$ D1\$A‰ûÁL$E!ÃD‹T$F�”ܼ�‰ùÁÏD ÁD!ÉD ÙA‰óDÑAÁËDÙD‹\$D3\$$D‰\$D‹\$1l$D1\$ÁL$D‹\$G�”ܼ�A‰ÉA‰óAÁÉA!ûEÊA‰ñÁÎA ùE!ÁE ÙD‹\$ D3\$(EÑD‰\$ 1\$ D‹\$D1\$ ÁL$ D‹\$ G�”ܼ�A‰ÈA‰ËA ðA!óÁÉA!øE ØE‰ËEÐAÁËEØD‹\$$E1ûD‰\$D1t$D‹\$D1\$E‰ËÁL$A!ËD‹T$F�”ܼ�D‰ÇÁÏAúD‰ÏAÁÉ Ï!÷D ßD‹\$0D×D‹T$(E1âD‰T$$D1\$$E‰ÃD‹T$D1T$$E!ËÁL$$D‹T$$D3|$,F�”ܼ�D‰ÆAÁÈD3|$ D ÎD3|$ !ÎD ÞA‰ûDÖAÁËDÞA‰ûAÁÏE!ÃF�”9ܼ�‰ñÁÉAʉùD ÁD!ÉD ÙE1ìD3d$D3d$DÑÁÏA‰óA1ÝD3l$A!ûAÁÌG�”!ܼ�A‰ñÁÎA ùE1ýE!ÁAÁÍE ÙA‰ËEÑD‹T$,AÁËEÙA‰ËA!óA1êD‰T$(D‹T$D1T$(D‹T$$D1T$(ÁL$(D‹T$(G�”ܼ�E‰ÈAÁÈEÂA‰ÈÁÉA ðA!øE ØE‰ËEÐF�”/ܼ�D‰Ï Ï!÷A!ËD1õD ߉l$4E‰ÃD×D‹T$D1T$4D1d$4AÁËAÁÉÁL$4DßD‹\$(‹l$4D�”.ܼ�‰þD‰ÅÁÎD!ÍAòD‰ÆAÁÈD Î!Î î‹l$0DÖ1ë‰\$0‹\$ 1\$0D1\$0A‰ûE!ÃÁL$0‹\$0D�”ܼ�‹\$ ‰ùD ÁÁÏD!ÉA1ÞD3t$D ÙA‰óDÑAÁËDÙA‰óE1îAÁÎA!ûG�”1ܼ�A‰ÉAÁÉEÊA‰ñÁÎA ùE!ÁE ÙA‰ë‹l$EÑA1ëD‰\$ D‹\$$D1\$ D‹\$4D1\$ ÁL$ D‹\$ G�”ܼ�A‰ÈA‰ËA ðA!óÁÉA!øE ØE‰ËEÐAÁËD‹T$0EØA‰Û‹\$A1ÛD‰\$D1|$D1T$ÁL$D‹\$F�”ܼ�D‰ÇE‰ËÁÏA!ËAúD‰ÏAÁÉ Ï!÷D ßA‰ë‹l$D×A1ëD‰\$D1d$D1t$ÁL$D‹\$F�”ܼ�D‰ÆE‰ÃD ÎE!ËAÁÈ!ÎD ÞA‰ûDÖA‰Ú‹\$AÁËDÞD‹\$(A1ÚD‰T$D1\$A‰ûD‹T$ D1T$E!ÃÁL$D‹T$F�”ܼ�‰ñÁÉAʉùÁÏD ÁD!ÉD ÙA‰ë‹l$ DÑA1ëD‰\$D1l$D‹\$D1\$A‰óÁL$A!ûD‹T$G�”ܼ�A‰ñA ùE!ÁE ÙA‰ËEÑD‹T$AÁËÁÎEÙA1Ú‹\$4D‰T$ 1\$ ‹\$1\$ ÁL$ ‹\$ E�œÖÁbÊA‰ð‰ëA1ø‹l$$A1ÈÁÉEÃE‰È1ëAÁȉ\$$EÃD‹D$0D1D$$D‹D$D1D$$D‹T$ÁL$$‹\$(D‹D$$E1úF�„ÖÁbʉÏD‰T$1÷D1t$A‰êD1ÏAÁÉ‹l$$DÇE‰ØAÁÈAø‹|$1|$ÁL$‹|$�¼>ÖÁbÊD‰Î1ÎD1ÞAÁËþD‰ÇÁÏ÷E1â‹t$ D‰T$8D‹T$ D1T$81t$8ÁL$8‹t$8�´1ÖÁbÊD‰ÙD1ÉD1ÁAÁÈñ‰þÁÎÎD‰ùE‰Ç1ÙE1߉L$(‹L$1L$(1l$(ÁL$(‹L$(E�Œ ÖÁbʉL$`D‰ù1ùD‹|$ÁÏDÉA‰ñAÁÉDÉE‰áD‹d$0E1éD‰L$,D‹L$D1L$,A‰ùD1|$,E1ÁÁL$,A1ñÁÎD‹|$,C�¬;ÖÁbÊD‰|$dA‰ËD‹|$4AÁËDÍA‰ÙDÝA‰óE1ùD3L$D3L$8AÁÉA1ûE1åC�œÖÁbÊE‰ØA‰ëA1ÈÁÉAÁËDÃD‹D$D‰L$hDÛE1èD3D$(A‰ÍA1õAÁÈF�œÖÁbÊD‰ïA‰Ý1ïAÁÍÁÍAûD‰ÿD‰D$lD1÷3|$ Eë3|$,E‰ÝAÁÍÁÏD�”>ÖÁbʉî‰|$p1Î1ÞÁËDÖE‰êA‰ÝAò‹t$ A1íD1æ3t$$E‰ÔD1ÎÁÎD�¼1ÖÁbÊD‰éD‹l$D1Ù‰t$tAÏ‹L$AÁËE1õAÁÌEçD1éE‰ÝE‰üD1ÁA1ÝAÁÌÁÉD�´ ÖÁbÊD‰í‰L$xD1ÕAÁÊAî‹l$ 3l$G�,&D‹t$8A1îD‰íA1þÁÍAÁÎF�¤3ÖÁbÊD‰ÓD‰t$|D1ÛD1ûAÁÏAÜ‹\$3\$3\$(Aì1óÁËA�¬ÖÁbÊE‰û‰œ$€E1ÓE1ëAÁÍAëD‰åD‰l$ ÁÍDÝD‹\$D3\$D3\$,A1ËAÁËG�¬ÖÁbÊD‹T$ D‰œ$„E1úE1âAÁÌEêA‰íAÁÍEÕD‹T$D3T$ E1ÊD‹L$ E1òAÁÊG�¼ÖÁbÊE1áD‰”$ˆA1éÁÍEùE‰ïAÁÏEÏD‹L$D3L$$E1ÁA‰èA1Ù‹\$ E1àAÁÉE1èAÁÍD‰Œ$ŒB�œ ÖÁbÊAØD‰ûÁËDÃD‹D$ D3D$A1øE1ØAÁÈG�œÖÁbÊE‰ìD‰„$�A1ìD‰çD‹d$8D1ÿAÁÏDßA‰ÛAÁËAû‹|$$D1ç1÷D‰þD1×D1îE‰ÚÁÏ1ÞÁˉ¼$”�¼=ÖÁbÊAÁÊþ‹|$(3|$DÖ1ωÙD1ÏD1ùA‰ñÁÏD1ÙAÁˉ¼$˜A�¼=ÖÁbÊAÁÉù‹|$,DÉD1çD1÷D‹t$ÖÁbÊAÿD‰ß1ß1÷‰ÎDÿÁÎþH‹|$X‰t$<‰7L$@‹t$@DD$DD\$H\$L‰w‹t$DH9D$P‹\$L‰w‹t$H‰_‰w ‡úëÿÿH‹„$¨dH3%(uH�ĸ[]A\A]A^A_ÃèXÅüÿ„AUATI‰ôUSH‰ûHƒì‹W‹wƒú8HíHƒåÀHƒí€ƒú8HÉHƒáðHƒÁƒú8HÀÖHƒàð‰w‹HƒÀ9òvƒÇ‰{A‰ðÁçL�k AÁèD Çω|ƒ �<õÁæ‰øÁè ð‰þÁï�æÿÁæ ð‰þI�|�æÿ ðH�5 ! ‰D‹ H‰èH)ÐH�Pøè�ÈüÿH‰îL‰ïH‰ÚèoêÿÿHƒÄH‰ßL‰æ[]A\A]é*êÿÿf.„AWAVAUATI‰üUH‰ÕSH‰óHƒì‹B…À…~Hƒû?wXH…ÛuHƒÄ[]A\A]A^A_Ã@D‹mL�u H‰ÚL‰æK�<.LëèÈüÿHƒû?‡|‰]HƒÄ[]A\A]A^A_Ãf.„I‰ÝL‰çH‰êIƒåÀƒã?L‰îMìèµéÿÿë‹A‰ÆA½€L�z M)õI9õK�<7LGîL‰æL‰êèšÇüÿ‹uDîƒþ@‰uw $$ =syntax errorError: discardingError: poppingmemory exhaustedCleanup: discarding lookaheadCleanup: poppingPT_GNU_EH_FRAMEPT_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_ALIGNMENTSORT_NONESORT_BY_INIT_PRIORITY'{''}'SIZEOF_HEADERSOUTPUT_FORMATFORCE_COMMON_ALLOCATIONOUTPUT_ARCHINHIBIT_COMMON_ALLOCATIONSEGMENT_STARTINCLUDEMEMORYREGION_ALIASLD_FEATURENOLOADDSECTCOPYINFOOVERLAYDEFINEDTARGET_KSEARCH_DIRMAPENTRYNEXTSIZEOFALIGNOFLOADADDRMAX_KMIN_KSTARTUPHLLSYSLIBNOFLOATNOCROSSREFSNOCROSSREFS_TOORIGINFILLLENGTHCREATE_OBJECT_SYMBOLSGROUPOUTPUTCONSTRUCTORSALIGNMODSUBALIGNPROVIDEPROVIDE_HIDDENAS_NEEDEDCHIPABSOLUTENEWLINEENDWORDORDERNAMEWORDASSERT_KLOG2CEILPUBLICDEFSYMENDBASETRUNCATERELINPUT_SCRIPTINPUT_MRI_SCRIPTINPUT_DEFSYMCASEEXTERNVERS_TAGVERS_IDENTIFIERGLOBALLOCALVERSIONKINPUT_VERSION_SCRIPTKEEPONLY_IF_ROONLY_IF_RWSPECIALINPUT_SECTION_FLAGSALIGN_WITH_INPUTEXCLUDE_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@8input_list1@9@10@11sec_or_group_p1statement_anywhere@12wildcard_namewildcard_specsect_flag_listsect_flagsexclude_name_listfile_NAME_listinput_section_spec_no_keepinput_section_spec@13statement@14@15statement_liststatement_list_optlengthfill_expfill_optassign_opassignmentopt_commamemory_spec_list_optmemory_spec_listmemory_spec@16@17origin_speclength_specattributes_optattributes_listattributes_stringstartuphigh_level_libraryhigh_level_library_NAME_listlow_level_librarylow_level_library_NAME_listfloating_point_supportnocrossref_listmustbe_exp@18memspec_at_optopt_atopt_alignopt_align_with_inputopt_subalignsect_constraint@19@20@21@22@23@24@25@26@27@28@29@30@31atypeopt_exp_with_typeopt_exp_without_typeopt_nocrossrefsmemspec_optphdr_optoverlay_section@32@33@34phdrsphdr_listphdr@35@36phdr_typephdr_qualifiersphdr_valdynamic_list_file@37dynamic_list_nodesdynamic_list_nodedynamic_list_tagversion_script_file@38@39vers_nodesvers_nodeverdepvers_tagvers_defns@40@41opt_semicolon%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' úx@Üx@ôq@Þq@@_@@_@@_@@_@¸q@¨q@@_@@_@—q@†q@uq@cq@Rq@jy@Yy@Hy@7y@&y@y@@_@@_@y@t@õs@æs@Ús@@_@@_@Ås@µs@¥s@@_@•s@‡s@@_@zs@ms@`s@Ss@Es@@_@@_@5s@%s@s@s@õr@år@Ùr@@_@@_@@_@@_@@_@@_@@_@@_@@_@@_@@_@@_@Ër@»r@¨r@‘r@sr@cr@Tr@Er@@_@5r@$r@r@¶i@¬i@ži@�i@@_@�i@oi@]i@jg@\g@Rg@>g@*g@g@g@ôf@ãf@Áf@£f@�f@cf@Af@#f@@_@@_@@_@@_@f@@_@6h@h@ h@üg@îg@Çg@ g@xg@½h@•h@mh@Eh@ i@åh@5i@ëe@²e@ye@Ÿv@}v@[v@!v@çu@®u@uu@_u@#u@ u@ët@@_@Üt@Ít@@_@¾t@@_@¯t@–t@@_@…t@ut@dt@Et@1t@'t@@_@@_@@_@@_@t@ø~@E|@8|@+|@|@|@÷{@ê{@Ý{@ë~@Þ~@Ñ~@Ä~@·~@ª~@@_@@_@�~@U~@6~@~@û}@@_@@_@@_@@_@@_@@_@@_@â}@@_@Í}@Ã}@¨}@•}@@_@@_@@_@@_@^}@E}@5}@@_@%}@}@}@@_@õ|@@_@ã|@×|@É|@§|@…|@{|@i|@R|@Dq@.q@q@ q@óp@Øp@½p@¢p@‡p@lp@Qp@6p@p@p@åo@Êo@¯o@”o@yo@^o@Co@$o@ o@în@Ön@Àn@ªn@’n@zn@bn@Jn@2n@n@n@æm@Êm@®m@–m@mm@Um@>m@"m@m@ïl@×l@¿l@§l@šl@Œl@~l@pl@bl@Tl@Gl@:l@,l@l@l@l@÷k@êk@Úk@Çk@Šk@wk@Yk@@_@*k@k@ÿj@ðj@Åj@@_@³j@’j@@_@xj@nj@_j@Pj@Aj@2j@#j@@_@j@j@÷i@éi@Ûi@Êi@Îx@Àx@²x@¤x@—x@‰x@{x@Rx@@_@:x@+x@x@@_@@_@@_@@_@x@ûw@Øw@tw@Tw@¿^@,w@w@w@îv@Ýv@@_@@_@@_@Ïv@¶z@¥z@—z@�z@@_@@_@{z@gz@Nz@:z@$z@z@üy@çy@Òy@¸y@›y@{y@¾{@œ{@€{@M{@1{@{@ùz@Øz@@$@:k@t}@ò‹Cú‹CŒC ŒCŒCŒC(ŒC0ŒC€�Š“œ¬­ ¡žŸ ®¢:…:./0=>?@BCDELMNOWXYZ[\]bcdijkvƒ•¯¸ºÏÑÜÝßá&Bfmnopqstuxy{|}‚ƒ„£ƒ†‡ˆ:‡ˆ Í::12%%�:%%%%%%%%%%%%°%%%%»%”•Ή�%&'345<AKPQRSTUV^`pvw’™šå§¦¥å¨©ªrå;•;•ãäã¹±BÒÓÔ���–�Þàââ²³%�%©:”¤”ååå%%%%%%%%%%%%%%%%%%%%åå !"””å””””å””«:•ƒ†‡ˆ;•å;BJcºì;”––®Õ�;”Д–––––––ЖД▖–l´²–å–åå¢åå–åååååååååååååååååååååååååååååååååå唕•…•í�ò÷$%ÙÖÔ��â%l”–ããã”;$”––””–”––––––””–––”––ˆ:…•%(åûüùåýüå ”™ÚÛÒ–µ%l–––ååååååå•FGHIJ–ú%%ûgç¹\þøg –Û^×$´·%––––––––;–å%&è$ç:% % –Ж´¶•–å%�éhê¹å å•ã`Ø–´;'û–åê%ó;–––%–îå: ãåŒ�Žë–ô–:ûï; )*+,-6789B_aev‹�‘•—¼½¿ÂÃÅÈÉÊÏõ%%%%�%Æ%%%6½Á%—½Å;%Î:ÿ67e‘¼67¼¼¼ÇËã%ľ¼À%˜ÐÁÁ%ðãÉgæ%%–%–%%–––É–å––¼½–˜Áÿ–;¼¼À¼¼$”–¼–æÌ–––––Ëö––¼–––ÌÌЖÎñÐÐLJlÞ‰Vuíð§]éêÿ:;:  H ‚ƒ…†…„…Œ:67896789•›œ •12¸1º$”–%nÀ;¤FB³´¶ëÍ;;…¾S:P Û… :gÀl ”l–:lÒ%lÍ678967lÜl67–™™ ”–�€‘””–‘”—–õ”—øù–ûü”––ÊË”:–”  ””–”% !"#$%&'()*+”b%˜12‘””•‘˜%ƒ%†‡ˆƒ†‡ˆFFGHIJmno !" %%&'Œ�Ž_ƒa‰†‡ˆ%345  67%%<'%%�A” –FGHIJK”%–%PQRSTUV%Q%;¸%º^%`B%–%$eJ.Oprƒvw†‡ˆØ´Û¶·¸cBrijkJO;’‘v–;Ï™šÒÓ•Õ !"cÜÝ•ijkä%&'­€�v345Š%<“%A K:%%PQRSTUV%””””%^`% !"$L&p%%%%%vw A%%G%I%B%%%o’%”U%:%™š%•;•;–”%&'––j–––f–q345–mnopq<stuAxy{|}–K‚ƒ„PQRSTUV–”––%&^`¾ !"pvw•%%•%”–:”–%&'(–––––Ð’–”345–™š;––<––BA•%gJ\KO^$PQRSTUV–%–;–^`c%:&%ijk%–”%•p�v;vwh%&'•`%%%::%345%;%%%%<%’%%A:%™š%%K%%%gPQRSTUV%–%–%^%` !"p–––vw;%&'$–ú–––345Ú‘åð––<Ñ’––A¤––™š –úVK––ùPQRSTUV½–$W·^Ü`÷e=ÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿp)*+,-vwÿÿÿÿÿÿÿÿÿÿÿÿ6789ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿBÿÿÿÿÿÿÿÿÿÿÿÿÿÿ’ÿÿÿÿÿÿÿÿÿÿÿÿ™šÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ_ÿÿaÿÿÿÿeÿÿÿÿÿÿijkÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿvÿÿ !"‹./0�ÿÿ‘ÿÿÿÿÿÿ•ÿÿ—ÿÿÿÿÿÿ=>?@ÿÿBCDEÿÿÿÿÿÿÿÿÿÿLMNOÿÿÿÿÿÿÿÿÿÿÿÿÿÿWXYZ[\]ÿÿÿÿÿÿÿÿbcdÿÿ$ÿÿÿÿijkÿÿÿÿÿÿÿÿ./0ÿÿÿÿÿÿvÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ=>?@ƒBCDEÿÿ‰ÿÿÿÿÿÿÿÿLMNOÿÿÿÿÿÿ•ÿÿÿÿÿÿWXYZ[\]–ÿÿÿÿÿÿbcdÿÿÿÿÿÿÿÿijkÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿvÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿƒ !"• !"ÿÿ !"ÿÿ !"ÿÿ !"ÿÿ !"ÿÿ !" !"”– !"– !"– !"– !"– !"– !" !"– !"– !"– !"– !"– !"– !"ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ– !"– !"– !"– !"– !"– !"ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ–ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ” !"” !"” !"ÿÿ”ª«¬­ÿÿÿÿÿÿÿÿ³ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ”ÿÿ !"ÿÿ&%ÕÖÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿâãÿÿåÿÿçèÿÿÿÿÿÿÿÿÿÿÿÿBÿÿ”ÿÿóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ”ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿfÿÿÿÿÿÿÿÿÿÿ”mnopqrstuÿÿÿÿxyÿÿ{|}ÿÿÿÿÿÿÿÿ‚ƒ„ !" !"ÿÿ !" !"µ—Ñf>øøVjí¿Ó|!ø¿È_aïûÄŹ&ÄÅ´gh‰Äʼn0͉ÛKÄÅ/Šñ뫊´…\Šãä æè±‰§éñ µ‘’“µ‘’“²ýþŠêxyÙOÚDÿN´Ozw´ÞL§]´Z‰Ü‰,c솉Dÿ^3fecŠ^øŠv'§ÆŠ´UÆ^wiC{$Ƨ‰µ‘’“ÃÄSÆÈÉ+<|ùùŠù皃›Uü`›Ç�NpǺstóvwÇòbyz{|}9:€Ç~p0…†b¬‰Š‹U�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢U<€צ§›U’“Æ÷�™š_´‚`ab_¨©`gh‰µÉÊË&'(›œ !ŠDƒ�žŸz{|À=Á•>?@„ ¡¢ÃÄ…£e†‡¶¤U»öD¥Uˆ‰¦§¨©ª«¬Š>ŒE¶�¶­Ž®F�‘D–ŘG¶·M¹+¼¯½¾fÀ=°±>?çõÁí¶òíõHFÂÇÆÉ678G™šÊ*+̲ÆË9ϳ´  Í $%&'(H  ›œÐ678�žŸæÖ×9ØÙàá ¡¢âåëðò£óôõ¤lmnopqrst¥÷H¦§¨©ª«¬-.4?5­6®Œÿ !"#$%&'(Î_I¯°±lmnopqrstT™š 1 [ ] J <=x²+h8³´;›œABTPW�žŸXmYunZ[\K]y ¡¢dLMNOP£QRSo¤TU~VWXe�¥YZ["¦§¨©ª«¬f®lq'(‚­ƒ®Ý„‡D™š"#$%&'(ˆŒ¯£¤¥ª°°±®¹»¿Ã寛œÕÈè÷Ö랟ìØÙüÚÛÞî²ß2 ¡¢ã³´lþ£F¤G#)¥*+-/¦§¨©ª«¬™š32:;>­@®HAFñBG678IKLUUQ¯V›œ9d°±X�žŸ^`joqr‡v�ª ¡¢«½¬­¯±£²²³¸¤À¾Á³´ÐÒÖߥŒÿÛâধ¨©ª«¬™šãäåæç­è® !"#$%&'(¯é›œêë°±û�žŸü íuúwÿ ¡¢Qök£ð²¤¼³´,¾¥ˆ ¦§¨©ª«¬‰ý#Ekiô­ù®rÎRН‹Œ�Ž�°±�‘’“”²³´•–—678˜ !"#$%&'(™š›œ� !"#$%&'()*+,-./012345º6789 !"#:$%&'©þ()*+;,-./012x3456789: !"#$%&'(; !"#$%&'( !"#$%&'( !"#$%&'( !"#$%&'( !"#$%&'( !"#$%&'( !"#$%&'(ÏÐ !"#$%&'(Ñ !"#$%&'(Ô !"#$%&'(× !"#$%&'(à !"#$%&'(â !"#$%&'( !"#$%&'(4 !"#$%&'(5 !"#$%&'(6 !"#$%&'(7 !"#$%&'(8 !"#$%&'(9 !"#$%&'(S !"#$%&'(g !"#$%&'(m !"#$%&'(n !"#$%&'(s !"#$%&'(~ !"#$%&'(€) !"#$%&'(Ì !"#$%&'(Ò !"#$%&'(ÓÇÊËÌHÔÜ !"#$%&'(IôÇþÿÔJÝôáKLMNOPÕÿQRSTUVWXYZ[ä !"#$%&'(" !"#$%&'( !"#$%&'( !"#$%&'(hýhý·ÿhýhýhýhý2hýhýhýhýhýhý£hýhýhýhýYhýhýhýFhý%þhýhýhýhýþòÿhý7ŽþhýhýP�ýihýhý›hýhýhýŸýhý8öýhýiý½ý)ÿhý˜hýñhýhýhýhýhýhýLhýhýhýhýhýhý€ÿ–ÿhý´ÿS3hýhýhýhýhýhýhýhýhýhýhýhýhýhýhýhýhýhý þ£hýhý€þhýhýhýhýhýhýhýhýhýhýïýhýhýhýhý>hýhýhýhýhýgìÿhýúïÿhýhý# hýhýhýhýhý hýhýhýhýhý;hýôÿhý hý£ä\m:ôÿhýs hýæAJ"7hýbhý•ƒ¤¾ÈÍêøhýhýhý"%(hý*hýhýhýhýUhýhýhýhýhýhýhý�hýM•OýhýQRThýhýVXYý[dkhýmþýhýnhýioAómhýhýhýGÿhýhýhýhýhýhýhýhýhýhýhýhýhý™šŸ hýhý$¡¢§••¨•hý©©hý‰•«­®�hýhýhýhý† hýhýhýýýý�ž¦¬ÀhýÁÂÃÄÓÕ×ÙÛÞßâåçêýýthý8hý9+hýhýó‚:hýhý<hýÏhýhý‚Ñss{”Ø”hýýhý %hýhýÅÿ€hýhý•Ú4hýƒ…‡Š‹ŒŽhýhýíÿ.“¥´hý¶-ý·ôÿýýhýýýhýhý­ýýýýý38ý9LNQýýR]ýýý^hýhýýýýýýýýýýýýýýýýýýýýýýý‚`ahýbýý‚ôchý/hýÖÜhýhýdhýhýhý¹ÿhý‚æhý•hýhýhýhýhýhýhýhhýhýåHhýhýhý$jhýhýhýhýhýhýhý•hý•©hýhýhýhýhýhýJàhýhýhýhý$hýëÿ‚‚½‚‚hýj~8L’áã¦èéëì`”íðº¨ÎõZ“VöbÛ¾¾>>>>llææhýhýhý‚‚‚hýhýhý‚‚hýhýhýhýlsÝ”=hýhý½ÿUhý©Uýähýp$hýùhýhýhýhýhýhýM&hýúüý�hýhýýhýhýýýhýýhýhýhýhýhýhýýýhýhýhý“hýhýýhý‰hýhýhýëuæ‹5hýhýnBhý‚›hý�hýE€hýhýhýhýŠhýhýhýð,@T‚”vsshýhýhýhýhýhýý¸¤hý’”,hýhý5~–šhý*hýhýhý».hýhýhýhýhýhýhýhýhýhýhý/hývhýýž6hýehýýý<hýhýrhý”�Šýhýe®hýSžhý²hýhýÎhýhý(hý°ÆhýÆhýýŸhýhýhýhýýhýhý‡Úhýhýhýühýhýhý hýhý²hý2ÈEhýhýhý°hýhýhýhýhýhýhý¶º¼½•¾hýhýhý¿ÁÃhýVhýÄhýhýhýE¥ÇU±Ôí_||hýhýËhýí|hýÍhýLVÐVÑhýhýhýhýEï‘ÒÝmßoáㄇˆE•hýýhýhýZhýV™TVÔ—æhý hý||hý|hý||hýhýhýhý¼˜™#hý|hýhýhýhý£‘hýhý$5¡¢1¦§hý%hýhýhýhýhýhýhýhý&hýª«|¯´µ55hýhý.hýhýÀhýhýUhýhýhýhýhý..hýhýÿÿ} \ú»º¸ÃÄÅ7<‹ÚîïjÿP1=ÔI�žŸÓ Õ·¡¢Ñ£°Í¤¥¦Îu”?Ø@ÝÞßR½.a¼úûABéCêDìÏÒÿá CWY}J´t„Ü%¶k©·%ðîïó$Âý‚¨ &EÕM¸Jö(Hi FG³cd­; UO> < `VYPQOPÔÕRrH=@F?BCDEAG.36fqemo`ZmoRÙ±°¯®­¬«ªÙoDU½ÓÖÖ^6³²q(õö1/ !$%4&'* aT´µZ[>Àº¿ÎкºÖ^ ßÛÞà-87k[hrgnpSÚl%nmFCELNWÆÂ»¹]IJTpÌÍÑÖ×WXQ`c_KÙÙÙY+Üóòðïîéèìíëêçæäåáâã20,#"59bc^\0(0V½¾ÏÒØfbeSX)ýôÝø÷ùú ü û:spi_]0o78&IJÊÈ\jad¶·¸ñt*+,-.1369MGËÇɺÃhsþÿls/2)oJMÙgd0 KHÄÁkj 'NJÙi4!LÅ>0 ?"5‰vu¢£¤¥¦“•š”w�—Ÿ¡;œÙ�tˆºŠžÙ’   §‚†‹ºº;:<–yz{�™t„…‡�Œº ˜@©�‘ƒxŽ<< Ù#©©¨=º}|~A$€›ººB   ›œœœœœ�Ÿž¡ ¢¢££££££££££££££££££££££££££¤£££¥¥¥¦¦§§¨¨¨ª©«««­¬®®¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯°¯¯±¯¯¯¯¯¯¯¯³²´´´´´´µ´¶´·´¸¹¹¹ºº»º¼¼¼½½½½½½½½½½½¾¾¿ÀÀÁÁÂÂÂÂÂÂÃÄÃÅÅÅÅÅÅÅÅÆÅÇÅÈÈÉÉÊÊÊÊÊËÌÌÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏÐÐÑÒÒÓÓÕÔÖÔרÙÙÚÚÛÛÜÝÝÞÞßààááâââäãååååååååååååååååååååååååååååååååååååååååååååååååææççèèééêêëëëëíîïðñìòóôõöì÷øìùìúúúúúûûûüüüüýýþþÿÿ        7ŒC{‹C<ŒCGŒC�€DKŒCQŒCUŒCZŒC`ŒCiŒCrŒCxŒCŒC‡ŒCŽŒC’ŒC–ŒC›ŒC¢ŒC¦ŒCªŒCl�C]ŒC®ŒC²ŒC¶ŒCóãD¹ŒCÀŒCÇŒCËŒCÏŒCÓŒC׌CÛŒC¥�CáŒCåŒCíŒCóŒCùŒCøŒCþŒC�C �C�CC‹C�C �C&�C-�C@�CW�Ch�Cu�C‡�C‘�C§�C«�C¯�C¾�CÌ�Cä�Cð�C ŽCŽC ŽC'ŽC4ŽC?ŽCFŽCLŽCQŽCVŽC^ŽCfŽCoŽCzŽC~ŽC„ŽC‰ŽC�ŽCœŽC˜ŽC¡ŽC§ŽC­ŽCµŽC¹ŽCÂŽCÀŽCÈŽCÔŽCãŽCêŽCïŽCöŽCx�C �C�C�C&�CÉ�C/�CH�C8�C@�CO�CY�C¢�CGŽC^�CAŽCg�Co�Cw�C}�C†�C��CÅ�C˜�CŸ�C©�C.ŽC®�C·�C»�CÈ�CÙ�Cæ�Cë�CŽCò�Cû�C �C�C�C!�C6�C;�CF�CQ�CY�Cm�C~�C‹�C”�C§�C«�C¯�C³�C·�C»�C¿�CÃ�CX…DË�CÔ�Cà�Cã�Có�Cö�C‘C‘C‘C+‘C>‘CP‘C\‘Cm‘Cp‘Cç�C†‘C‰‘C”‘C�‘C ‘C£‘C®‘C±‘C½‘CÀ‘CÄ‘Cì„DÈ‘CØ‘Cë‘Cï‘Cý‘C ’C’C%’C7’CF’Ca’Ct’Cx’C‚’C†’CŠ’C™’C¬’C³’C¼’CÅ’C8ŒCÏ’CÚ’C¼…Dä’Cù’C “C“C“C“C*“C6“CE“CU“Cg“Co“C‚“CŸ“C±“CÍ“Cä“Cô“Cÿ“Cû“C”C”C”C#”C8”CE”Cs‰DU”CY”C]”Ca”Ce”Ci”Cm”Cq”Cu”Cy”C}”C�”C…”CŠÊD‰”C�”C¡”C¶”CÆ”CÒ”CÛ”Cë”Cï”Có”C÷”Cý”C•C •C•C•C•C.•C7•CI•CM•C`•Cr•Cƒ•C—•CF†D›•CŸ•Cª•C´•C»•CÄ•CÏ•CÓ•CוC¦¦§¨©ª®²²¼¼ÉÊÎÏÐÓÖרÚÜÞàâäæèêìîïðòôöøúûýü   %')..45:;<=>?@ABCDFHJMOQSUWVZ]\`dhikmotty|‚…ˆŒ‹‘�–•�¡¢£§©ªª²¶ºÁÈÏÖÝäëòù"7DMXalu~‚‹�—™˜Ÿ ¤¥ª¯°µ¹¹½¼ÃÄÇÉÍÏÑÓÕÚáãçéëíïñóõúúÿ ""%&+*0/6>FGKLPRW\]bdjlnrtz}†‘‘—™›�Ÿ¡¤¦¨ª¬®°²´¶¸º¼¾ÀÂÄÆÈÊÌÎÑÓÕ×ÙÛÝßáãåçðòôöøúüþ   #(+13#:<>CE9OQOWV]^_`aefgklqrwx}~ƒ…Š�šž£¥œ­°²¶·¶Àíðý !%..<<FGKOSZ^fimqu|€„ˆ�Œš™£§«¯³·½¿œÿÿ¬ÿÿ€ ÿÿŠÿÿ“ ÿÿ�žÿÿÿÿÿÿŸåÿÿÿÿ¡¢ÿÿ¢£rÿÿÿÿmåÿÿmå”åÿÿÿÿnÿÿt¥ÿÿsÿÿyåÿÿy”åÿÿyåÿÿxÿÿo”åÿÿoåÿÿoåÿÿ&åÿÿ&”åÿÿfåÿÿf”åÿÿp§ÿÿq¦ÿÿuÿÿ|”ÿÿ|”ÿÿ{åÿÿ}ÿÿ‚¨ÿÿƒ©ÿÿÿÿB�¤¢$ÿÿ„ÿÿÿÿ¥”ÿÿ¥ÿÿÿÿÿÿ¦”ÿÿÿÿ§”ÿÿÿÿÿÿ¨”ÿÿÿÿª«ÿÿÿÿ«ÿÿ«”ÿÿÿÿ­®ÿÿ®¯ÿÿÿÿÑÿÿ¸ÿÿÿÿÜÿÿÝÿÿßÿÿáÿÿºÿÿÿÿ•ÿÿL%–ÿÿM%�–ÿÿd%�–ÿÿ=%–ÿÿ=%””–ÿÿ?%–ÿÿ>ÿÿ@ÿÿb%²–ÿÿÿÿc°%²–ÿÿN%�–ÿÿÿÿB�±®$ÿÿ\%â–ÿÿ]%â–ÿÿƒ%©–ÿÿ01ÿÿ02ÿÿD%”–ÿÿE%–ÿÿÿÿ³´ÿÿÿÿ´”ÿÿ´ÿÿÿÿ´”ÿÿ´ÿÿÿÿl%µ´–ÿÿÿÿ´”l%¶´–ÿÿÿÿ´l%·´–ÿÿ.:¹;ÿÿ¹ìÿÿ¹ºÿÿÿÿO%–ÿÿÏÎÿÿÿÿv»%å”–ÿÿÿÿ ÿÿÿÿ¼ÿÿ‘%À–¼ÿÿ6%¼–ÿÿ7%¼–ÿÿ8%¼–ÿÿ6%7%¼––ÿÿ6%6%¼––ÿÿ7%6%¼––ÿÿ7%7%¼––ÿÿ6%‘%À–¼–ÿÿ9%¼–ÿÿÿÿ¾ÿÿ�%¾–ÿÿÀ¼ÿÿ¼ÿÿÁнÿÿ½ÿÿÿÿ¿ÿÿ—Á˜ÿÿ¿—Á˜ÿÿ½%Á–ÿÿ¿½%Á–ÿÿÂÿÿÿÿ‹%Ä–ÿÿÏÎÿÿaÿÿ•ÿÿeÿÿ6%e–ÿÿÃÿÿÊ%ã–ÿÿ_%Ë–ÿÿÿÿvÆ%å”–ÎÿÿÿÿB�ÇÉ$ÿÿÈÅÿÿÅÿÿÿÿÈÿÿ)ÿÿ*ÿÿ+ÿÿ,ÿÿ-ÿÿãÿÿËÿÿÿÿÿÿ ÿÿ ÿÿ ÿÿ ÿÿ ÿÿÿÿÿÿ•ÿÿ”ÿÿãÿÿÍãÿÿi%ã–ÿÿj%ã–ÿÿk%ã–ÿÿ”ÿÿÿÿC:Ò;ÿÿÓÿÿÿÿÓÐÔÿÿÔÿÿÿÿÕÙ×ÐØÿÿÿÿB�ÖÒ$ÿÿ^ãÿÿ`ãÿÿÿÿ%Ú–ÿÿÛÿÿÚÛÿÿÿÿ™ÿÿW%�–ÿÿX%Þ–ÿÿX%–ÿÿÞÐ�ÿÿ�ÿÿY%à–ÿÿàÐ�ÿÿÿÿZÿÿ[ÿÿÿÿâÿÿ”âÿÿÿÿäåÿÿåÿÿ%å–ÿÿP%å–ÿÿ™åÿÿåÿÿšåÿÿå åÿÿå!åÿÿå"åÿÿååÿÿååÿÿååÿÿååÿÿååÿÿååÿÿååÿÿååÿÿååÿÿååÿÿååÿÿååÿÿååÿÿåååÿÿååÿÿååÿÿK%–ÿÿÿÿ<ÿÿR%–ÿÿQ%–ÿÿS%–ÿÿT%–ÿÿ’%–ÿÿp%å–ÿÿ&%å–ÿÿ&%å”å–ÿÿ3%å”å–ÿÿ4%å”å–ÿÿ5%å–ÿÿA%”å–ÿÿ'%å–ÿÿÿÿU%å”å–ÿÿV%å”å–ÿÿv%å”–ÿÿ^%–ÿÿ`%–ÿÿw%å–ÿÿgÿÿÿÿg%å–ÿÿÿÿ&%å–ÿÿÿÿ�ÿÿÿÿh%å–ÿÿÿÿŒÿÿ�ÿÿŽÿÿÿÿÿÿÿÿÿÿÿÿÿÿíüçèéêîë:ïÉ;ðÿæÌñÐÿÿÿÿÿÿÿÿÿÿÿÿJòýþçêó:ô;õÿæÌöÐÿÿÿÿÿÿc÷üø:¹;ÿÿÿÿB�ù¹$ÿÿFÿÿGÿÿHÿÿIÿÿJÿÿ%ú–ÿÿÿÿ%–ÿÿåûÿÿûÿÿ(%å–ûÿÿ(%å–'%å–ûÿÿåÿÿÿÿÿÿ\ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ:É;ÌÐÿÿ/:;ÿÿÿÿÿÿÿÿÿÿ   •ÿÿåÿÿÿÿ  ÿÿg%å– ÿÿÿÿ%å–ÿÿÿÿÿÿÿÿÿÿ:;•ÿÿ•ÿÿÿÿÿÿÿÿ‰:;ÿÿÿÿÿÿ:;•ÿÿ…:;•ÿÿ…:;•ÿÿ…ÿÿ…ÿÿÿÿ•ÿÿ‡•ÿÿˆ•ÿÿ‡•ˆ•ÿÿ†ÿÿÿÿ•†ÿÿ•ÿÿÿÿ•ƒ:;ÿÿÿÿƒ:;ÿÿ‡ÿÿ•‡ÿÿˆÿÿ•ˆÿÿƒÿÿ•ƒÿÿÿÿ•ÿÿ "#&+-/249>BEJNSX]bgjmpuz}€ƒ†‡��‘•˜™›Ÿ¡¥¦¨¬­°²µ¹º½ÀÁÃÅÇÉËÍÏÑÓÕÚßäéò÷ùû  "&*167:<@CEILMST\]dilopuxy�ƒ…‡‰�”™ž¦®¶¾ÇÌÎÒ×ÚÜàâäçëðõûýþ   ()/24579;=?ACFGIKMOQSUWY[_cjqxz{€‚ƒ‡‰Š’“™�¡¢¦¨«­°µº¾ÂÄÉÍÎÐÒÓÖÚÛÞáåêíðó÷ûÿ #'+/39=AFHJOTY^chmt{‚‡Ž“•œ£ª¯´¹½¾ÃÄÉÊÌÍÒÓÕ×ÙÚÛÜÝÞßôõö÷øù  !#%'+,/36=HKMNPSTUYZ[\]inorst{}~‚ˆ‰�Ž‘“–›žŸ¢£©«®³¹ÀÂÅÆÉÎÓÜÞàäèéóôüþ ™"%– ”!•—˜:;š #$&'()*+,-./0123456789<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“%F%s: file not recognized: %E %P:%S: ignoring invalid character `%s'%s out of dynamic memory in yyensure_buffer_stack()out of dynamic memory in yy_create_buffer()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()/work/sources/rhel/binutils/rhel-7.4/binutils-2.27/ld/ldlex.lfatal flex scanner internal error--no action foundout of dynamic memory in yy_scan_buffer()out of dynamic memory in yy_scan_bytes()%F:includes nested too deeply \%03o%F%P: EOF in comment in script in expressionbad buffer in yy_scan_bytes()%F: macros nested too deeply ð†@®†@¢†@Æ@¼†@µ†@‡ˆ@}ˆ@ˆ@¦Š@‰Š@ºŠ@VŠ@²‰@Q‰@=‰@)‰@,Œ@Œ@Œ@ð‹@Ü‹@È‹@´‹@ ‹@Œ‹@x‹@d‹@P‹@<‹@(‹@‹@‹@–@–@ò•@Þ•@Ê•@¶•@¢•@Ž•@z•@f•@R•@Ð�@¼�@¨�@”�@€�@l�@X�@D�@0�@�@�@ôŒ@àŒ@ÌŒ@¸Œ@¤Œ@�Œ@|Œ@hŒ@TŒ@@Œ@zš@fš@Rš@>•@*•@•@•@î”@Ú”@Æ”@²”@>š@*š@š@š@î™@Ú™@Æ™@²™@ž™@Š™@v™@b™@N™@:™@&™@™@þ˜@ê˜@Ö˜@˜@®˜@š˜@†˜@r˜@^˜@J˜@6˜@"˜@˜@ú—@æ—@Ò—@¾—@ª—@–—@‚—@n—@Z—@F—@2—@—@ —@ö–@â–@Ζ@º–@¦–@’–@~–@j–@V–@B–@.–@ˆ@ô‡@à‡@̇@¸‡@¤‡@�‡@|‡@h‡@T‡@@‡@4‡@‰�@„…@„…@�@�@ì�@Ø�@Ä�@°�@œ�@ˆ�@t�@`�@L�@8�@$�@�@üŽ@èŽ@ÔŽ@ÀŽ@¬Ž@˜Ž@„Ž@pŽ@\Ž@HŽ@4Ž@ Ž@ Ž@ø�@ä�@ô“@à“@Ì“@¸“@¤“@�“@s“@V“@9“@“@û’@Ä’@0ˆ@[‘@4‡@„…@£”@�”@{”@g”@J”@ ‰@óˆ@Ј@Áˆ@4”@”@4‡@„…@„…@«ˆ@s…@7‘@¤�@(�@(�@(�@(�@(�@(�@(�@(�@(�@(�@yylexd&++^:&--:/!//zd^/1z21//23Ò64064J0430"2Ò0h;99<=yf<#;<<9h=yJ@f�@@�$@@@kk@@mm{@‘|Δ&|”Î{|‘ „ˆ (((‰ÁpŠp'~Á‰p~qpq¶Š(~(ppq~ q ’qq’ˆ˜’——˜™ZÞ˜¶„ßZ—(™( àÕ rr�rrs�s®üÅrß(tstÞrr�üsstÅ s ›tt�š�¾�šà›šš�Õ¾)®�� ^^�Ž�¼¼ŽÊŽ�*½½¼,Ê��½K޽¿ž�Kžž¿Ê¿À-žžž.?žž¿ÀÖžÀ0?'''ÉÍËèèPPÉÍËiÖi''��'°ÉËèWè W ËÉ1 iÍi'W''2×°ÌÌ‹‹‹}qF3FGwGw!5!Fq7G‹}‹FF×GGˆ–¯–Ì‹ˆ–�Ì�ˆ!8!�9:;‹<‹‹=¯>?ŒŒŒAŸBCHDHŸððð@@@HEŒFŒGHHHIMJMðKð@L@MMNOPMM@QRŒSŒWðXð@\@Q@QR]RgRg_Q`aRbcgQQgRRhgg\\\kkklmo\\\\\\„p#„#„gkqksr#„tw„x###yv|}\\\\\\ggg~�{kvkgggggg‚gr,g,g{g„,s†,q‡ˆg‰Š,,‹Œ�ggggggŽg�g�g‘g’“”•—gooo˜™š›�Ÿoooooo¡ož¢£o¤¥o¦§¨oož©«oª¬®¯°²´ooooooµo¶ª·¸¹oº»¼½¾o‡‡‡¿ÀÁÂÃ懇‡‡‡ÅÆÈÉÊÌÍÎÏÒÓÕרÙÚÛÜÈÝÞßÌàᇇ‡‡‡‡¦¦¦âãäåæç¦¦¦¦¦¦éêëìíïðñóôõö÷øùúüýðþ¦¦¦¦¦¦®®®  ®®®®®® "#$&(*+-/01234®®®®®®»»»56789»»»»»»:»;>»?@»ABCDFGHI»JLMOPQS»»»»»»U»VWXYZ»[\]^_»999bcdefg999999iklm9o9qrtuwyz{|}~€�‚ƒ„…999999ˆ‰Š9‹9¦¦¦Œ�‘’–—¦¦¦¦¦¦˜™›œ¦�¦žŸ ¢£¥¦§¨©«¬®¯°±¬²¦¦¦¦¦¦³´µ¦¸¦ªªªº»¼½¿ÀªªªªªªÁÂÄÆªÇªÈÉÊÌÍÎÐÑÒÓÕÖרÙÛÜÞªªªªªªßàáªâª®®®ãåèéêë®®®®®®æ®ìíîæïò®ôõö÷øùúû®ýþ®®®®®®®   ®  ®YYYYYYYYYYYYYYYY"#$%&)+-./01234789:;<=?@ABEYLNOPAQRSTAUVWXYZ[\]^W_YYYii`iiiaiiiiicieghijkliiiiimknopqrstuvwxyz{|}~€�z‚ƒ„†‡ˆi‰Š‹Œ�Ž�“”•–˜™š›œ�žŸ ¡¢iii¥¦§¨©ª«¬­®¯°²µ¶·¸º»¼½¾¿ÀÁÂÃÄÅÆÇÈÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäæç  è   é     ê ëìíîïñò     ôõö÷øùûüýþ      !"$&'()*,-.0   +123+456748:<=>?@+ABCD4EFGKLNOPQRWXYZ[\]^bcefghijklmnopqrstuvwxyz{|}€‚ƒ„…†‡‰‹ŒŽ�‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§©ª¬­®¯°²³´¶·¸¹º»¼½¾ÀÁÃÄÅÆÈÉÊËÌÍÎÏÐÑÒÓÕÖ×ÙÛÜÝàáäåçéêëïïïïïïïïïïïðððððððððððñññññññññññòòòòòòòòòòòóóóóóóóóóóóôôôôôôôôôôôõõõõõõõõõööööööööööö÷÷÷÷÷÷÷÷ø øøøùùùùùùùúúúúúûûûûûûûûûûûüüüüüüüýýýýýýýýýýþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿ                                   ÿ         þýüûúù÷öôóòðïîíìëêéèçæåäãâáàßÝÜÛÚÙØ×ÖÕÓÑÐÏÍÌËÉÈÇÆÅÃÂÁÀ¿¾½»¹·¶µ´³±­¬«ª©¨§¦¥¤¢¡ ž�œ›š™˜—–•”’‘�Ž‹ˆ‡†…„ƒ‚�€~}|{zyxwvutsrqpomjihgfedcba`^]\[ZYXWVUTSRQPONMLKJIHFEDCBA@?>=<;:76543210/.-+*)('&%$"     ÿþüûúùø÷öõôóñðïîíìëêéèçæåäãâáàßÞÝÜÛÚÔÓÐÏÎÍÌËÊÉÈÇÆÅÄÃÂÁÀ¿¾½¼»º¹¸·¶µ´³²¯§¤£¢¡ Ÿž�œ›š™˜—•”“’‘��ŽŒ‹Š‡†…ƒ‚�€~|{zyxvutsponmhfedcba`_]\[YXVUTSONJ61.-,+*)('&%$#"!     ÿþûúùø÷óæãÝ×ÕÓÑÐÏÆÄù´²°¯­¬¤£¢¡ Ÿ�œ–•“‚}xwvulba[ZYWUTOMHGFEBA?>875,$"!îîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîî !"#$%&'(()*+,-./01234567%89:;<=>?@A%B%%%%C%D%%E%%%%%%%%%F%%G%%H%%%%IJKLMNO<QRSTéUVWîóôêÕNÕNÖéÖïö÷øÐù×ú×[=êû\üýÎ  þ /ÿ ÑÏMNOQRSTBUVWØØY4ÒBZ0 >w!"xÓ#$%óô&'ö÷](|_É‚Ô`ƒÊ^a}XYZ[X\]^_`abcdefghhijklmnopqrstuvwexyz{|}ee~eeeeeeee€Xe�ttttteeeeeeeeee‚eeeeƒ„…†XYZ[X‡]^_`abcˆ‰Š‹ŒŒijklmn�Ž��‘’“”•‰–—˜™š›œ�žŸ‰ ‰‰‰‰‰€X‰¡‰‰‰‰‰‰‰‰‰¢‰‰£‰‰¤‰‰‰‰ƒ„…¥XXXXX¦XXXXX§X¨/<‹ŒŒXXXªXXðððk¹M4MÕcºlNdMOMBjñeñ888fXPXX~883‰€†‡ŠŒ6Ô‹B0Ô7ˆñ�ñXXXXXXXX¦XXXXX§X¨ÔÔ‹ŒŒXXXªXXQMyMRMzMÔÞ¾8ÖÖM8MÕS8{ß888¿XTXX’88mŽn°o�ד�‘p®ä©å×qqrXXX«¬­® ¯°±²³´µ¶¶·¸+¹-º»¼½¾¿À³³³³³Á³ÂÃij³ÅƳ³³³³³Ç³È³ÉÊ˾Ìͳ³³³Î³ÏÐѳÒÓ³³³IJKÔÕNÖ;Ú<×ÚÚMsM³°t°ëuû8Ø´°©Ù©88µ%vü©ì°–g&—˜©Ã¶°Ú™š›ÛBœ�·©Ôž¸ÛÜÕNÖÜÚB×ÚÚððð°°°ñóñ)ô*õ©©©G¯Gñöñ÷RSòÔÁÄñ1ñ 2 ÅÂÝ GÈGñ3ñÛÜÕNòÖÞÔÚs°×ÚÚ©kkkXLMßMMQMRCàC8á8CYC88°"8h{Ô|Æli}ÞpßÇqjàCâCrãäåCæCáâÕNlÖçrÚèé×ÚÚkkkêbëìMí#cððð@@@8îCïCðñ88òMóMñôñîõîÞ8ßö÷øàù88BúûCüCýáâèèèñþñîîèèèèèèMBMMMM,M8888+88 88èèèèèè999kkk  999999`MaMbECÔCÔÔ8cdñ88999999???CC@A@A@@BMCMCB ú!8"#D$%88&'(@A@A@@)B*C+C,B-./01DFFF234569FGFHFF:I7;<J=>I?@AKL8BEICFGHIJKFMFMFFLIMDNOPIQRSTUIiiiVWXYZ[iiiiii\]^`abdefghijklmno_pqrcstiiiiii¦¦¦uvwxyz¦¦¦¦¦¦{|}~€�ƒ„…†‡ˆ‰Š‹Œ�‚Ž��‘’“¦¦¦¦¦¦ªªª”•–ÔÔ™ªªªªªªÔš›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±ªªªªªª®®®²³´µ˜¶®¯®°®®·±¸—¹²º»±¼½¾¿ÀÁÂñÄÅÆÇÈÉÊ®°®°®®Ë±ÌÍÎÏбÑÒÓÔÕ±999ÖרÙÚÛ999999ÜÝÞßàáâãäåæçèéêëìíîïðñò999999óôõö¦¦¦÷øùúûÔ¦¦¦¦¦¦ÔüýþŒÿŒ     ¦¦¦¦¦¦ŒŒªªªªªªªªª� �!"#$%&'()*+,-./012ªªªªªª345�6�®®®78;<=>®°®°®®9±?@A:BC±DEFGHIJK±LMNOPQR®°®°®®S±TUVWX±YZ[\]±ÿÿ^ÿÿÿ_ÿÿÿÿÿbÿ`cdefagÿÿÿÿÿhijklmnopqrstuvwxyz{|}~€�‚…†ÿ‡ˆ‰Šƒ‹Œ�Ž„��‘“”•–—˜™’šÿÿÿ  ›   œ     � žŸ ¡¢£¥     ¦¤§¨©ª«¬­®¯°±²³µ¶·¸¹º»´¼½¾¿ÀÁ ÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×   ÿÿØÿÿÿÙÿÿÿÿÿÚÿÛÜÝÞßàáÿÿÿÿÿâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿÿ     ÿÿÿ                 !"#$%&'()*+,-./0123456789:; <=>?@AEFBGHICJKLMNRSTU   DOVWXPY\]^Z_`abcdeQfghi[jklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíPPPPPPPPPPP©©©©©©©©©©©ÙÙÙÙÙÙÙÙÙÙÙÝÝÝÝÝÝÝÝÝÝÝäääääääääæææææææææææ222222225ÏÎÍ55Ì588Ë88888¥ÊÉÈ¥¥¥¥§§§§§§§§§§§©©Ç©©©©©«Æ«««««««««­Å­­­­­­­­­ÑÄÑÑÑÑÑÑÑÑÑÒÃÒÒÓÓÂÁÓÓÀÓÓ  ¿     !!«¾«««««««««­½­­­­­­­­­Ñ¼ÑÑÑÑÑÑÑÑÑÒ»ÒÒÓÓº¹ÓÓ¸ÓÓ· ¶         ÿµÿÿÿÿÿÿÿÿÿ ´         ³²±°¯®­¬«ª©¨§¦¥¤£¢¡ Ÿž�œ›š™˜—–•”“’‘��Ž�Œ‹Š‰ˆ‡†…„ƒ‚�€~}|{zyxwvutponmlkjihgfeda`_^]\[ZYXWVUTQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      ÿþýüûùø÷öõôóòðïîíìëêéèçæåäãâáàßÞÝÜÛÚÙØ×ÖÕÔÓÒÑÐÏÎÍÌËÊÉÈÇÆÅÄÃÂÁÀ¿¾½¼»º¹¸·¶µ´³²±ÓÔ­¬«ª©¨§¦¥¤£¢¡ Ÿž�œ›š™˜—–•”“’‘��ލ‹Š‰ˆ‡†…„ƒ‚�€~zyxwvutsonmgfe_^]\[ZWVUTSPONMKJIHFDCBA@?>=:98540/.-('$1  ÿþýúùøòñðïîíêéèçæãâáàÝÜÛÚÙØçãÔ41ÐÍÌËÀ½¼»E><;¬¨7¤£¢¡ Ÿ•”…„�hbXWVUE;:ç7ã643ç1.-,+*) õíìëçåãîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîïïîððîî ññî òòóóôôîîîîîõöõîîîîõõõõõõõõõîîõîõõõõõõõõõõõõõõõõõõõõõõõõõõõîîîõîîö÷îîîî÷ø÷îîîöùîîîîîîîîùùîgîîîîîîùoooooùùùùùùùùùùîîoùîîîù÷î÷÷îî÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷úîîúîîîûüýîîîüüggîþîîü»»»»»üüüüüüîî»»»»»üüüüüüüîÿîîîîîîîîõõöîîîõõõõõõõîîõîîõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõîîî÷î÷îùùîîîîgg@îîîoooùùùùoùùùooùùùùùùùùùùùùùùùùùùùùoù‡÷î÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷úúûîüüü®®üü®®üüüüüüüüüüüü®ü®®üüüüüüüüüüüü  î   îîõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõ÷ùùoùùùùùùùùoùùùùùùùùùùùùùùùùùùùùùùùùùù÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷úüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü   õõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõ÷ùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùù÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷üüüüüüüü üüüüüüüüüüüüüüü üüüüüüü   õõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõ÷ùùùùùùùùùùùùùùùùùùùùùùùùùùùùù÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷üüüüü  üüüüüüüüü üüüü   õõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõ÷ùùùùùùùùùùùùùùùùùùùùùùùùùùù÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷üüüüüüüüüüüü  õõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõ÷ùùùùùùùùùùùùùùùùùùùùùù÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷üüüüüüõõõõõõõõõõõõõõõõõõõõõõõõõõõõ÷ùùùùùùùùùùùùùùùùù÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷üüüüüüõõõõõõõõõõõõõõõõõõõõõõõõ÷ùùùùùùùùùùù÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷õõõõõõõõõõõõõõõõõõõõõõõùùùùùùùùùùù÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷õõõõõõõõõõõõõõõõõõõùùùùùùùùù÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷õõõõõõõõõõõõõõõõõõùùùùùùùùù÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷õõõõõõõõõõõõõõùùùùùùùù÷÷÷÷÷÷÷÷÷÷÷÷÷÷õõõõõõõõõõõõõõùùùùùùùùù÷÷÷÷÷÷÷÷÷÷÷÷÷÷õõõõõõõõõõùùùùù÷÷÷÷÷÷÷÷÷÷õõõõõõõõõõùùùùù÷÷÷÷÷÷÷÷÷÷õõõõõõõõùùù÷÷÷÷÷÷÷÷õõõõõõõùùù÷÷÷÷÷÷÷õõõõõõùù÷÷÷÷÷÷õõõõõù÷÷÷÷÷õõõõõù÷÷÷÷÷õõõù÷÷÷õõ÷÷õ÷õ÷îîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîR£ôF˜é:prŒÞ0‚( ) ) % )  Ã) Y) ) bç¡) X cbwbrjrô q÷ ÿ ¤^¡œ£î ý ³ û Þ Ú Î Ô ) �)  )  ) ) ) Ï  ä )  ÷ ñ) n) ) õ ô ) A»�) ) Èó Ë) [œ¥éíöÞ æ à è §iÆÀÚ �) ) ‹à ) �) —‘­9Š ‰«ë¿®Ø ÇÛ ã º»¼þÒ á ¦ä ß Â ¾ ² ¸ Å) ) ) ) á õ óß Þ ) Ý Ü ’) Û ) !�˜ ¤±”× Å Á ïà ) ) à‘â$á§´ ¤   U¢ è Ý ) ) ) ) Ó ÈÌä) ) å á ) Ú) ) •Í ) ) Ì ¶ Ä ³ ½ à¿ ¶ ´ ® ¼ ¬ ¹ ¹ © ‘° ¬ ¨ ª ´ « ã± – ¦ •£ ¥ ™ ò¤ ¦ š ¨ ¨ œ © ¢ ™ � ”   � ¢   Ž Ž � n q v g ) ) ² ) z ) ]) ) ) ) ¡˜) ) ) 47‡� Ž›‰ ‡ ÚÈË� ‘ „ Ž Œ ‚ Áw € u v€ ‚ … z � m � ƒ ÎP äôp ~ m w "y p n h ,v f s s c 1j f b d n e õk P ` KŒ` ^ S R^ ` T b b V c \ LS G N Z I \ Z H H G ( + 0 ! ‘k ) Åù@ I > = F J 9 : 8 I < D E C D /              8 7 åÃ') ) "  * ' (   & & #  $ #               ú û ü ñ  ø õ ô ï ú ð í ó í ù é ù ú è ø ì ð ã È Ð å 2ã øê ë á ê ê Ù Ò é 'æ Ü Ò â Ù Õ Î Ò Ú Ü å Ê Ë Í Â Ó Ç Â Ê Ñ Ò Ó ¦ ®  ¾ Ê Ç È ½ Ç Ç Ä µ ® Å Ä » À ° µ » ³ ½ º § · ® ª ¯ ¢ ± ¥ ® ¬ ® · ©   š ›   œ ‘ ¢ ˜ • ” �   š � � “ � ™ ‰ ™ š ˆ ˜ Œ � ƒ h p „ ö� Œ € Š � y ˆ † … } t u x X f` _ T ] U N [ Y X Q I J L ÷Sk d g b n ` f \ [ O _ X R U W T b V ` O a N O [ K ] K M L Y : O B J B K D O H K ; ? . C G 6 = ? B =   > 6 3 . : 3 )  - & $ ( )   ù  öÿÖáÓͼ¯´¬ƒu‹~pkjj]ZN^Qkš­½œçƒš ¦Æ÷4,3M^AXNcdov„…€‡y�˜Š•›¤¡�€¥Ÿ¦¤¾F°Å¿Ò¬¨­®À—ÀÈÀ×ñÿó ý$1-%;5:,4HGD@;OMHOIKTbZM\dTZ9Gh\e^pudsul}d}‚‚v†‚~ŒŽ…Ž”�eyŠ‘��¢Ÿ’¡£šŠœ§£Žš®©®®œ£¿½¹µ°ÄÈ¿ÆÀÂËÐÒ¿ÌÔÃɧµÆÏÏËèÝà°¸¸½9ÍÐÿö÷ßõåùðêáüþþòôô÷÷îõ ñòþ#ý--1(2456)95,:.D6,@F1=L<JD;VXXa`RTUgcZZiQXmTUgbX_jnkuuSfs}y]b_–�”‘–‰œ‘šƒ”… ‘•–Š©Œ«©›‘¯™«­œš½¾»À¸Æ¯Ê¿Ç¶·¸Ð˶´×ÔÊÜÑÚÃÔÅæ×ÛãâÖÿ×öôæãûåøùåãêììþ   !*249*;4AED8C9H*;<OEMGRSESGHLTQUL[`]?]W]ca^]Yjjboakldcwnrƒj„ˆ…{Š‚‰„™{”ޔ𗔓�ŸŸ—¤– ¡™˜¬£¢°’”¢±©¬ª­²©µ±»¿À¾º»¸£¨º½Á¸ÍÔ׺¿ÍÛÓÖÔÜáØäàêîïíéêçÒíäõåõíïîßþüîðþýñäöýî ý í    û''+ $,.)*:,/4$7'94D69?:01BD?@PBFK;,L>_]QBSURYW8YqK\^ZCdVvwk[mokrpQmqyx‚}k…‡{yƒ‚ŒŒ~�‰ˆ’Œz”–Љ…–œ•–¢˜—�“Ÿ¥žŸ˜”¥«¤¥±§¦¬©°¦ª®º¨®·­¿´»±µ¹Å³¹Ç¼¼ÉÁǽÂÂËÑÆÆÓËÑÇ˼ÛÎËÖÁÎÓÄãÖÓÞÜäÖèØèâêÜîÞàæìõÞêæìòûäúðìýþôð÷ýùÿúûýþ) &1<GR]fqy�‰‘œ¤¯ºÅÉÒÚâêì÷   % 0 ; F        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR³³ÈÇŶµ ų&,+"#$³%-.'(!³³³³³³³³³³³³³³³³³³³³ ³xv³*)ÄÂÇ®,+ǮǮƶ Ʊ&,+"#$±%-.'(!±±±±±±±±±±±±±±±± ±±*)®$®%®®®®®®®®®®®®®®®®®®®®®xv®‡ †­"#$­%-.(!­­­­­­­­­­­­ ­­­­­­­­­­­ÄÃŽ¼·¾¿»»»»ÀÁ¶³´³³³³³³}³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³ Ä®¯®±±±±}±±±±±±±±±±±±±±±±±±±±±±±±®®®®®}®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®††­ˆ‰­­­­­­­­­­­­­­­­­­­­­­­­­Ã¼»»»» ³³³³³³³³³³³³³³³³³³³³³³³³]³³³³³³³³³³H³³³³³³³³³³³³³³³³³³³³³³³³³³³yw³°¯®²±±±±±±±±±±±±±±±±±±±±±>?±±±±±±±±±±±±±®®®®®®®®®®®®®®®®®®®®®®®]®®®®®®®®®®®H>®?®®®®®®®®®®®®®®®®®®®®®®®®®®yw®­­­­­Š­­­­­­­­­­­­­­­›­­­­­­­­­­»»»³;³³³³³5³d³p³³³³³³³Y³³³³³q³³³ƒ³³³b³D³³³³³³³³³`³³³³³³k³³³³³³³³³®±;±±±5±±p±±±±±±±q±ƒ±±±D±±±±±±±±±±±±®;®®®®5®d®p®®®®®®®Y®®®®®q®®®ƒ®®®®b®D®®®®®®®®®`®®®®®®k®®®®®®®®®­­­Ž–�­­˜‘”­­™­­­­­Ÿ§ž­­ª¢¥­­«­­»»»³W7³³³4³³³³oB³³_³N³³³M³³³³³³³³³³³³|³³³³³c³³³a³³³³³³³®±7±±4±±±o±N±±±±±±±±±±±±±±±±±±®W7®®4®®®®oB®®_®N®®®M®®®®®®®®®®®®®|®®®®®c®®®a®®®®®®®­�Œ­­˜˜“­—­­ �­­ªª¤­©­»»¹³³³A³X³³³³³³C³€³³³V³6³/³³n³2L³³³³³³I³³³³³^J³³³®±±±A±±±±±€±±6±±±n±2±±±I±±±±®®®AX®®®®®®C®€®®®V®6®®/®®n®2L®®®®®®I®®®®®^J®®®­­C•’­­­¨¦£­º¸³=³³³³³³P³³{³³³³³e³³h�³³³³³³³uZ³3³³®±=±±±±P±{±±±±±r�±±u±±±®=®®®®®P®®{®®®®®®e®®h�®®®®®®®uZ®3®®­­­­­­š³³…³³³³³³³³<³³³³³³³U³³³³¬³®š±±…±±±<@±±±±±¬±š®…®®®®®®®®<@®®®®®®®U®®®®¬®š‹�¬œ¡³O³³³³³³³³³³³³³³³³³³³³m³O±O±±±±±±±±±®®®®®®®®®®®®®®®®®®®®®m®³³³³³³³³1³st³³³³K³³³³³³±±±±±st±±±±®®®®®®®®1®st®®®®K®®®®®®³³³³³³³³f\³³³³³³³³³±±±±f±±±±®®®®®®®®f\®®®®®®®®®³R³³„³³³³³³0³³³³i³±±„±±±±±±®R®®„®®®®®®0®®®®i®³³³³³³³[³G³³³³±±±±±G±±®®®®®®®[®G®®®®³³³³³³³³g‚F³³E±±±±±g‚FE®®®®®®®®g‚F®®E³³³³³³³³³³±±±±±®®®®®®®®®®~³³:³³³³³³~±:±±~®®:®®®®®®³³³³³³j³±±±®®®®®®j®³8³³³³³8±±®8®®®®®³³³³z³±z®®®®z®³³³³³±®®®®®Q³³³l±Q®®®l9³³99®®S³S®³®TT%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: --ld-generated-unwind-info Generate exception handling info for PLT --no-ld-generated-unwind-info Don't generate exception handling info for PLT --build-id[=STYLE] Generate build ID note --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi] Compress DWARF debug sections using zlib Default: none -z common-page-size=SIZE Set common page size to SIZE -z max-page-size=SIZE Set maximum page size to SIZE -z defs Report unresolved symbols in object files. -z muldefs Allow multiple definitions -z execstack Mark executable as requiring executable stack -z noexecstack Mark executable as not requiring executable stack -z globalaudit Mark executable requiring global auditing --audit=AUDITLIB Specify a library to use for auditing -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 --exclude-libs=LIBS Make all symbols in LIBS hidden --hash-style=STYLE Set hash style to sysv, gnu or both -P AUDITLIB, --depaudit=AUDITLIB Specify a library to use for auditing dependencies -z combreloc Merge dynamic relocs into one section and sort -z nocombreloc Don't merge dynamic relocs into one section -z global Make symbols in DSO available for subsequently loaded objects -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 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 now Mark object non-lazy runtime binding -z origin Mark object requiring immediate $ORIGIN processing at runtime -z relro Create RELRO program header (default) -z norelro Don't create RELRO program header -z common Generate common symbols with STT_COMMON type -z nocommon Generate common symbols with STT_OBJECT type -z stacksize=SIZE Set size of stack segment -z text Treat DT_TEXTREL in shared object as error -z notext Don't treat DT_TEXTREL in shared object as error -z textoff Don't treat DT_TEXTREL in shared object as error %P%F: bad --unresolved-symbols option: %s %P%F: unrecognised option: %s %P%F: -r and %s may not be used together %P%F: -r and -shared may not be used together %P%F: -r and -pie may not be used together %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: group ended before it began (--help for usage) %P%X: --hash-size needs a numeric argument %P%F: no state pushed before popping %P%F: invalid argument to option "--orphan-handling" %P: SONAME must not be empty string; ignored %P%F: -F may not be used without -shared %P%F: -f may not be used without -shared 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 useProduce an executable with no program interpreter headerAdd 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 readonlySend arg to last-loaded pluginIgnored for GCC LTO option compatibilityIgnored for GCC linker option compatibilityIgnored for gold option compatibilityIgnored 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 SYMBOLRequire SYMBOL be defined in the final outputDon'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 Use less memory and more disk I/ODo not allow unresolved references in object filesAllow unresolved references in shared librariesDo 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 longerReduce code size by using target specific optimizationsDo not use relaxation techniques to reduce code sizeKeep 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. 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 SYMBOLUnresolved SYMBOL will not cause an error or warningPush state of flags governing input file handlingPop state of flags governing input file handlingControl how orphan sections are handled.-pie--shared--library=%s%P: %s: missing argument defaultnodefinitionsnosymbolicpure-text--defsym%P%F: invalid number `%s' Usage: %s [options] file... Options: %s @FILERead options from FILE %s: supported targets:%s: supported emulations: ELF emulations: Report bugs to %s ignore-allreport-allignore-in-object-filesignore-in-shared-libs%P%F: bad -plugin-opt option %s%c%s%P%F: -shared not supported %P%F: -pie not supported descendingascending.bss.data.text.text-segment.rodata-segment.ldata-segmentP,placewarndiscard%P: unrecognized option '%s' %s-%c%s-%s%sKEYWORDSet architecturemri-scriptRead MRI format linker scriptdcdpSet start addressExport all dynamic symbolsno-export-dynamicEBLink big-endian objectsLink little-endian objectsauxiliaryfilterIgnoredgpsizesonameFILENAMEPROGRAMno-dynamic-linkerSearch for library LIBNAMElibrary-pathDIRECTORYsysroot=Set emulationprint-mapnmagicDo not page align datano-omagicSet output file nameOptimize output filePLUGINLoad named pluginplugin-optARGfltoflto-partition=fuse-ld=no-map-whole-filesQyemit-relocsrelocatableGenerate relocatable outputjust-symbolsstrip-allStrip all symbolsstrip-debugStrip debugging symbolsno-strip-discardedtraceTrace file opensRead linker scriptdefault-scriptRead default linker scriptdTrequire-definedunique[=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 tableSYMBOL=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=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 fileprint-output-formatPrint default output formatprint-sysrootPrint current sysrootqmagicreduce-memory-overheadsno-relaxretain-symbols-filerpathrpath-linkCreate a shared libraryBshareablepic-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 segmentTrodata-segmentSet address of rodata segmentTldata-segmentSet address of ldata segmentunresolved-symbols=[=NUMBER]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-symbolswrapignore-unresolved-symbolpush-statepop-stateprint-memory-usageReport target memory usageorphan-handling=MODEϦ@ê¦@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@à²@±²@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@h¦@Ϧ@ϲ@Ϧ@Ϧ@Ϧ@³@ó¯@°@Ϧ@W°@Ϧ@Ϧ@q°@‡°@—°@4²@Ϧ@Ϧ@d²@Ô®@ì®@Ϧ@%¯@Ϧ@>¯@V¯@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@–¯@¾¯@`±@;±@J±@·°@X¥@€±@­±@Ϧ@Ϧ@ϯ@X¥@Nª@dª@Ϧ@wª@­±@ƒª@�ª@žª@´ª@Ϧ@ʪ@Öª@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@Ϧ@çª@h«@t«@Š«@Ы@W°@(¬@X¥@_¬@0®@n¬@³@}¬@‰¬@X¥@®@?®@N®@Z®@i®@x®@‡®@“®@Ÿ®@¶®@Å®@Ý»@ƒ§@»@»@€±@͸@¹@A¹@ú»@:¸@§@I¸@_¸@u¸@‹¸@¡¸@·¸@î»@ §@Ó¹@]º@·@?·@R·@ª·@]¶@‘¶@·¶@ƶ@Õ¶@ä¶@ó¶@·@*³@9³@]³@‚³@޳@š³@¦³@²³@¾³@ϳ@Þ³@ê³@ö³@´@´@3´@?´@K´@n´@�´@”´@šµ@‡µ@´µ@̵@ëµ@÷µ@¶@¶@¶@3¶@N¶@Ĺ@Ÿ¼@“¼@¸¼@ ¼@¼@'¼@_¼@P¹@�¹@éº@õº@lº@‘º@¢º@Öº@Þ·@í·@¸@¸@ï²@ä¯@*±@4¬@arDˆjD~DAAë�CzD\‡DbbóîD¸jD‹DccË}D–D´DddèjD·Dd/ªFee‰DºDêD¡EÌDçD¢kDùDžüD¸�CŸ€D/€Dff"ŒC8kD9€DFF"ŒChkDg@€DH€DGG€êD�kDO€D´hV€DÀkDj€D›I_€DèkDg€DœlDä‡DllŒ€Dy€D”€DLL¡€DXlD«€D�€lDmäD¿€DÍ€DMM¨lD×€DnnÞ€Dø€DNNÐlDõ€DòmD²�DooË}Dÿ€DO�D;�Dþ)�D0�DB�DÿM�D0mDQ�D¤PmDV�D¤PmDf�D¤€mDr�D¤°mDo�D¤°mD‚�D¤ØmD…�DqqømD‘�Drr��Di¹�DRRË}D nDÆ�DssÐ�Dâ�DSSî�D ‚DóXnD‚Dô€nD‚Dtt‚DQ‹CTTË}D0‚DC‚DË}DR‚Dm‚D=ŒCuuƒD°nDp‚DƒDànD€‚D懂DoD’‚DÂ@oDF†DÄv•‚DVpoD¯‚Dxx»‚DÕ‚DXX˜oDä‚DîÈoDñ‚DyyƒDþ‚DYR©FèoDƒD((#ƒD1ƒD));ƒDJƒDõpDGƒDöXpDgƒDÕdƒDÖuƒD×�pDrƒDØÈpDƒD–rD8qD†ƒD—�ƒDƒ‘C—­ƒD—¹ƒD«XqDÁƒD«ăD«ºƒD«σD¸€qDÙƒD¹ qDðƒDàÈqDíƒDáøqD„DÕ(rDÿƒDÖ`rD„D˜„D{}D™;„DM„DŽ…Dš]„D rDf„D v„D«„DÍ�„D¨„DÎÈrDÐÆDäƒDº„DÕ„DÚørDé„DÛ(sDæ„DÜXsDø„DÝ€sDõ„DÞ¨sD …DßÐsD*…D£…DÊÆDãƒD/…DH…D¥Ë}DL…D]…Dðn…D‹…D¦—…D´…D§tDÃ…Dâ(tDÓ…Dè`tDÐ…Dé�tDé…Dê†D†Dë3†DN†Dì]†D{†DíÈtD“†D¨uD¤†D©(uD¼†D¬Í†Dæ†DªXuDõ†Dª‡DñˆuD ‡D­óîD‡D3‡DG‡Dc‡Dq‡D‡‡D¤èuDއDývD©‡D®@vD¦‡D¯xvD¯‡D°Ë}D°vDÇD±R©FØvDɇD²R©FwD }D³Ô‡Dì‡D³}D÷0wD÷‡D÷ˆDµˆD`wD*ˆDµ6ˆD¶CˆD˜wDRˆDïeˆDÈwDkˆDÓyˆDøwD�ˆDÒ�ˆD xD™ˆD·ŸˆD½ˆDçPxDɈDºƒDÓˆDéˆDÁpxDüˆDå ‰D‰D7‰D»‰D<‰DX‰D¼‰D^‰D{‰D½‰D�‰Dž‰D¾‰D¬‰DȉD¿‰D؉Dö‰DÀ‰DŠD"ŠDø˜xDLŠDÃ>ŠDPyDHŠDÃTŠDÅË}DxyDcŠDƃD˜yD{ŠDÊzD�ŠDÈ(zD¢ŠDɼŠDÚŠDÇË}DçŠDùŠDËXzD‹DÌ€zD‹DϸzD(‹DÐàzD2‹DÑ{DE‹Dû@{DY‹Düh{Dk‹Dù {Dƒ‹DúÈ{D؆DÔð{Dœ‹DÙƒD |D¡‹DƒDH|Dº‹D€|DÅ‹D¸|DÏ‹Dâ‹Dý‹D ŒDð|DpË@XË@8Ë@8Ë@˜Ë@˜Ë@˜Ë@˜Ë@˜Ë@˜Ë@8Ë@8Ë@˜Ë@8Ë@8Ë@˜Ë@�Ð@ðÑ@0Ñ@0Ñ@€Ñ@PÑ@0Ñ@PÓ@ðÒ@˜Ò@0Ñ@0Ñ@pÒ@°Ñ@0Ñ@ÀÑ@ÀÓ@ÀÓ@�Ó@ÐÓ@àÓ@@â@0ã@ä@@ä@€ä@°å@Èå@àå@Xæ@ æ@Hç@�è@pç@0è@¸á@èá@ ê@ê@ôé@œé@ê@pù@ù@Qù@0ù@`ù@pù@àø@ðÿ@(A@AXA˜ÿ@Øÿ@ðAßAßAßAAßAßAßAßAßAßAßAßAùAßAÐA@AXA,A,AA0AAA¸AhA,A,A( A€ A,AP A A A A@ A0 A A0AAPA)A)AAAAð/A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0Aà/A0A0A0A0A0A0A0AÐ/A0A0AÐ/A0A0A0A0A0AÀ/A0A0A0A0A¸/A˜/A0A0A0A0A0A0A0A0Aà/A0A0A0A0A0A0A0AÐ/A0A0AÐ/A0A0A0A0A0AÀ/A0A0A0A0A¸/A˜/A°:A�:A`;A;A:A˜9A`;A`;AÀ9A`;A°9A˜9A`;A:A˜9A€9AÐ=A°=A`>A =Aè=A =A =A =A =A =A˜=A =A =A`=A =A=Acompare_sectionlang_do_assignments_1lang_size_sections_1load_symbolsprint_data_statementpop_stat_ptrpush_stat_ptrldlang.c.init.fini%F%P: invalid data statement %10lu GB%10lu MB%10lu KB %10lu B0x%V %T 0x%V %W %B %W (size before relaxing) 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][!provide]*undef* TARGET(%s) OUTPUT(%sLOAD %s START GROUP END GROUP INSERT %s %s elf32-bigelf64-bigelf32-littleelf64-little Allocating common symbols %lx%016lx/DISCARD/.init_array..fini_array..ctors..dtors.-lload base*ABS* Memory Configuration AttributesLengthOriginName%-16s %-18s %-18s %s Discarded input sections %-16s 0x%s !%P%F: target %s not found %B: file not recognized: %E %B: matching formats:%F %I COMMONsubsection alignment%P%F: multiple STARTUP files __stop_%s__start_%sprogram header type__load_start_%s__load_stop_%sC++Java%B (%T) .exportsphdr flagsphdr load address.startof.%s.sizeof.%stypeinfo name for*typeinfo for*operator new*operator delete*SANE_EXPR%X%P: unknown feature `%s' %16s: %6.2f%% %F%P: invalid reloc statement %P%F: bfd_link_hash_lookup failed: %E %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' %P%F: Could not define common symbol `%T': %E Common symbol size file %P:%S: warning: redeclaration of memory region `%s' %P:%S: warning: memory region `%s' not declared %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 %X%P:%S: section has both a load address and a load region %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%F: failed creating section `%s': %E %P%F: can not create hash table: %E %P%F: Illegal use of `%s' section %P%F: output format %s cannot represent section called %s: %E Linker script and memory map %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: invalid character %c (%d) in flags %F%B: file not recognized: %E %F%B: member %B in archive is not an object %F%B: error adding symbols: %E %P: warning: %s contains output sections; did you forget -T? %F%P:%S: error: align with input and explicit align specified %X%P:%S: PHDRS and FILEHDR are not supported when prior PT_LOAD headers lack them %X%P: unknown language `%s' in version information %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 %P%F: Failed to create hash table %P%F: %s: plugin reported error after all symbols read As-needed library included to satisfy reference by file (symbol) %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: invalid origin for memory region %s %F%P: invalid length for memory region %s %X%P: error: unplaced orphan section `%A' from `%B'. %P: warning: orphan section `%A' from `%B' being placed in section `%s'. %F%P: bfd_record_phdr failed: %E %X%P: section `%s' assigned to non-existent phdr `%s' %X%P: section %s LMA [%V,%V] overlaps section %s LMA [%V,%V] %X%P: section %s VMA [%V,%V] overlaps section %s VMA [%V,%V] %X%P: region `%s' overflowed by %ld bytes %P%X: required symbol `%s' not defined %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 %F%P: %s not found for insert %F%P: no sections assigned to phdrs %X%P: unable to find version dependency `%s' Memory region Used Size Region Size %%age Used Y@mri.csrecIEEEieeeCOFFcoff-m68k%P%F: unknown format type %s mri_aliasGLOBAL_ Set Symbol %G %P%X: Different relocs used in set %s %P%X: Different object file formats composing set %s %P%X: %s does not support reloc %s for set %s %P%X: Unsupported size %d for set %s %X%H: reloc refers to symbol `%T' which is not being output %X%H: dangerous relocation: %s %B%F: could not read symbols: %E %I: no new IR symbols to claimi Archive member included to satisfy reference by file (symbol) 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'%X%C: multiple definition of `%T' %P: Disabling relaxation: it will not work with multiple definitions %B%F: could not read relocs: %E %P: warning: global constructor %s used %P%F: BFD backend error: BFD_RELOC_CTOR unsupported %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 %X%P: can't set BFD default target to `%s': %E ================================================== %P%F: cannot open map file %s: %E %P: link errors found, deleting executable `%s' %P%F: unable to open for source of copy `%s' %P%F: unable to open for destination of copy `%s' %s: total time in link: %ld.%06ld %P%F: bfd_hash_table_init failed: %E %P%F: 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 %X%P: error: duplicate retain-symbols-file %P%F: bfd_hash_lookup for insertion failed: %E %P: `-retain-symbols-file' overrides `-s' and `-S' %B: reference to %s %B: definition of %s %s(%s)%X%H:./ldmain.c+%v%D: first defined here using multiple gp values%C: %s%s %P: %s%s %B: %s%s %B: warning: common is here %B: warning: defined here elf_x86_64/usr/share/locale--sysroot=x86_64-redhat-linux-gnuCOLLECT_NO_DEMANGLE_init_finiLDEMULATION-m%P%F: missing argument to -m -mips1-mips2-mips3-mips4-mips5-mips32-mips32r2-mips32r6-mips64-mips64r2-mips64r6-m486built in linker scriptusing 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 %X%P: %s: %E a.out°‘Aˆ‘Aˆ‘A ‘A ‘Að�Amultiple_definitionreloc_overflowldwrite.c.stab$GDB_STRINGS$$GDB_SYMBOLS$%F%P: final link failed: %E %P%F: bfd_new_link_order failed %F%P: cannot create split section name for %s %F%P: clone section failed: %E ë§Aë§A¤¦AЧAÀ¦A`§A`§A0§A§A�§Abuild_link_order%P%F: bfd_hash_allocate failed creating symbol %s %P: warning: address of `%s' isn't multiple of maximum page size %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 SECTIONS %F%S cannot move location counter backwards (from %V to %V) %P%F:%s: hash creation failed %P%F: bfd_hash_lookup failed creating symbol %s %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 %X%P: %s ldexp.c%F%S %% by zero %F%S / by zero MAXPAGESIZECOMMONPAGESIZENULL TREE %B:%s+0x%vPROVIDE (%s, ("", ASSERT (, %s) (%s)+=-=*=/=<<=>>=&=|=||&&==!=<<>>MAXMINASSERTˆ±A€²A³A°³A˜´A˜´A˜´AеA±A@±A`ÑAàÑA ÒAHÒAxÒAðÒAðÒAÓAàÐA(ÑAQ”C�€D ÇêD ÊêD ÍêD ÐêDÓêD×êDÛêDÞêD áêDäêDçêDêêDÔêDØêDíêDðêDf��C2�CíŒCùŒCøŒCþŒC�C �C�C+¯�C2 ŽC:^ŽC;óîD<oŽC=zŽC>~ŽC?„ŽCA�ŽC@‰ŽCBœŽCC˜ŽC�‹�C_^�CDóêDE÷êDeûêDm‘�D$-�C%@�C&W�CMãŽCOïŽC0 ŽCGNUTARGET%S SYSLIB ignored %S HLL ignored Supported emulations: %s: %P: unrecognised emulation mode: %s no emulation specific options. GNU ld %s Supported emulations: %s version 2.27-44.base.el7_9.1.tuxcare.els7Copyright (C) 2016 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%s:%u%s+0x%v (type %s)%B: In function `%T': %s:%T%u%s(%A+0x%v)%p%ld%lu%%%c%F%P: internal error %s %d %P%F: please report this bug %P: internal error: aborting at %s:%d in %s %P: internal error: aborting at %s:%d fàAÔßAÔßAÔßAÔßAÔßAÔßAÔßAÔßAÔßAÔßAÔßAÔßAÔßAÔßAÔßAÔßAÔßAÔßAÔßAÔßAÔßAÔßAÔßAÔßAÔßAÔßAÔßA€àAáAjáAjáAxãA�ãAjáAjáA²ãAÔßAÔßAÔßAÔßAÔßAÔßA0äAÔßALäA™äAêäAÔßAEåA�åA9æAÔßAÔßAÔßAÔßAÔßAÔßAÔßAÔßAÔßAÔßAÔßA‘æAÔßAÔßAÔßAÔßAÔßAÔßAÔßA¿ßAÔßAÔßAÔßAæAÔßAÔßAPæAÔßAmæAøßA/ldscriptscannot find script file %s opened script file %s /usr/lib/usr/binattempt to open %s failed attempt to open %s succeeded %P: cannot find %s (%s): %E %P: cannot find %s: %E .a%P: cannot find %s inside %s %P: cannot find %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' %P%F: cannot represent machine `%s' ldcref.c%X%P: cref alloc failed: %E Cross Reference Table SymbolFile No symbols %P: symbol `%T' missing from main hash table %X%C: prohibited cross reference from %s to `%T' in %s %X%P: bfd_hash_table_init of cref table failed: %E %X%P: cref_hash_lookup failed: %E %P%F: plugin_strdup failed to allocate memory: %s %P%F: unsupported input file size: %s (%ld bytes) %P%F: unknown ELF symbol visibility: %d! %P%F: %s: non-ELF symbol in ELF BFD! %P%F: %s: plugin symbol table corrupt (sym type %d) %P: %B: symbol `%s' definition: %d, visibility: %d, resolution: %d could not create dummy IR bfd: %F%E %P%F: plugin failed to allocate memory for input: %s %P%F: %s: plugin reported error claiming file %P%F: %s: error loading plugin: %s %P: %s: error in plugin cleanup: %d (ignored) plugin.c@.gnu.linkonce.t.%P%F%P%X%P: warning: : error: (symbol from plugin)pass-through=_onload%P%F: %s: plugin error: %d B€BBøBÈBW"BI"BW"B"BW"B"B"Bõ!Bç!BÙ!BË!B½!B¯!B¡!B“!B‚!Bt!Bf!BX!BW"BW"BW"BW"BW"BW"B“Bget_symbols    sha1uuid/dev/urandom/* Script for ld -Ur: link w/out relocation, do create constructors */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ 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.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 (*(SORT_NONE(.init))) } .plt 0 : { *(.plt) *(.iplt) } .plt.got 0 : { *(.plt.got) } .plt.bnd 0 : { *(.plt.bnd) } .text 0 : { *(.text .stub) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini 0 : { KEEP (*(SORT_NONE(.fini))) } .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.*) } .gnu_extab 0 : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges 0 : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* 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)) } .gnu_extab 0 : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges 0 : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* Thread Local Storage sections */ .tdata 0 : { *(.tdata) } .tbss 0 : { *(.tbss) } .preinit_array 0 : { KEEP (*(.preinit_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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } } /* Script for ld -r: link without relocation */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ 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.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 (*(SORT_NONE(.init))) } .plt 0 : { *(.plt) *(.iplt) } .plt.got 0 : { *(.plt.got) } .plt.bnd 0 : { *(.plt.bnd) } .text 0 : { *(.text .stub) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini 0 : { KEEP (*(SORT_NONE(.fini))) } .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.*) } .gnu_extab 0 : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges 0 : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* 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)) } .gnu_extab 0 : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges 0 : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* Thread Local Storage sections */ .tdata 0 : { *(.tdata) } .tbss 0 : { *(.tbss) } .preinit_array 0 : { KEEP (*(.preinit_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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } } /* Script for -N: mix text and data on same page; don't align data */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") OUTPUT_ARCH(i386:x86-64) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib64"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib64"); SEARCH_DIR("=/lib64"); SEARCH_DIR("=/usr/x86_64-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.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.ifunc : { *(.rela.ifunc) } .rela.plt : { *(.rela.plt) PROVIDE_HIDDEN (__rela_iplt_start = .); *(.rela.iplt) PROVIDE_HIDDEN (__rela_iplt_end = .); } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .plt.bnd : { *(.plt.bnd) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* 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)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for -n: mix text and data on same page */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") OUTPUT_ARCH(i386:x86-64) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib64"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib64"); SEARCH_DIR("=/lib64"); SEARCH_DIR("=/usr/x86_64-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.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.ifunc : { *(.rela.ifunc) } .rela.plt : { *(.rela.plt) PROVIDE_HIDDEN (__rela_iplt_start = .); *(.rela.iplt) PROVIDE_HIDDEN (__rela_iplt_end = .); } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .plt.bnd : { *(.plt.bnd) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .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 */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") OUTPUT_ARCH(i386:x86-64) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib64"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib64"); SEARCH_DIR("=/lib64"); SEARCH_DIR("=/usr/x86_64-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", 0)); . = 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.*) *(.rela.ifunc) } .rela.plt : { *(.rela.plt) PROVIDE_HIDDEN (__rela_iplt_start = .); *(.rela.iplt) PROVIDE_HIDDEN (__rela_iplt_end = .); } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .plt.bnd : { *(.plt.bnd) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .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 */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") OUTPUT_ARCH(i386:x86-64) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib64"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib64"); SEARCH_DIR("=/lib64"); SEARCH_DIR("=/usr/x86_64-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", 0)); . = 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.*) *(.rela.ifunc) } .rela.plt : { *(.rela.plt) PROVIDE_HIDDEN (__rela_iplt_start = .); *(.rela.iplt) PROVIDE_HIDDEN (__rela_iplt_end = .); } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .plt.bnd : { *(.plt.bnd) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for ld -pie: link position independent executable */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") OUTPUT_ARCH(i386:x86-64) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib64"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib64"); SEARCH_DIR("=/lib64"); SEARCH_DIR("=/usr/x86_64-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", 0)); . = 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.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.ifunc : { *(.rela.ifunc) } .rela.plt : { *(.rela.plt) PROVIDE_HIDDEN (__rela_iplt_start = .); *(.rela.iplt) PROVIDE_HIDDEN (__rela_iplt_end = .); } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .plt.bnd : { *(.plt.bnd) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .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 */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") OUTPUT_ARCH(i386:x86-64) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib64"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib64"); SEARCH_DIR("=/lib64"); SEARCH_DIR("=/usr/x86_64-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.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .plt.bnd : { *(.plt.bnd) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) } .fini_array : { KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) } .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 .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for --shared -z combreloc: shared library, combine & sort relocs */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") OUTPUT_ARCH(i386:x86-64) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib64"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib64"); SEARCH_DIR("=/lib64"); SEARCH_DIR("=/usr/x86_64-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.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .plt.bnd : { *(.plt.bnd) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) } .fini_array : { KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) } .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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for ld --shared: link shared library */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") OUTPUT_ARCH(i386:x86-64) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib64"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib64"); SEARCH_DIR("=/lib64"); SEARCH_DIR("=/usr/x86_64-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.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.ifunc : { *(.rela.ifunc) } .rela.plt : { *(.rela.plt) *(.rela.iplt) } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .plt.bnd : { *(.plt.bnd) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) } .fini_array : { KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) } .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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .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 */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") OUTPUT_ARCH(i386:x86-64) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib64"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib64"); SEARCH_DIR("=/lib64"); SEARCH_DIR("=/usr/x86_64-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.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .plt.bnd : { *(.plt.bnd) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for -z combreloc: combine and sort reloc sections */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") OUTPUT_ARCH(i386:x86-64) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib64"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib64"); SEARCH_DIR("=/lib64"); SEARCH_DIR("=/usr/x86_64-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.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .plt.bnd : { *(.plt.bnd) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Default linker script, for normal executables */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") OUTPUT_ARCH(i386:x86-64) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib64"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib64"); SEARCH_DIR("=/lib64"); SEARCH_DIR("=/usr/x86_64-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.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.ifunc : { *(.rela.ifunc) } .rela.plt : { *(.rela.plt) PROVIDE_HIDDEN (__rela_iplt_start = .); *(.rela.iplt) PROVIDE_HIDDEN (__rela_iplt_end = .); } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .plt.bnd : { *(.plt.bnd) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .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 -z noextern-protected-data Do not treat protected data symbol as external -z nodynamic-undefined-weak Do not treat undefined weak symbol as dynamic -z noreloc-overflow Disable relocation overflow check -z call-nop=PADDING Use PADDING as 1-byte NOP for branch -z bndplt Always generate BND prefix in PLT entries %P%F: invalid --compress-debug-sections option: `%s' %P%F: invalid hash style `%s' %P%F: invalid maxium page size `%s' %P%F: invalid common page size `%s' %P%F: invalid stack size `%s' %P%F: invalid number for -z call-nop=prefix-: %s %P%F: invalid number for -z call-nop=suffix-: %s %P%F: unsupported option: -z %s %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 %X%P: .eh_frame/.stab edit: %E %F%P: map sections to segments failed: %E %P: warning: .note.gnu.build-id section discarded, --build-id ignored. %F%P:%B: bfd_elf_get_bfd_needed_list failed: %E %P: warning: %s, needed by %B, may conflict with %s %P: warning: unrecognized --build-id style ignored. %P: warning: Cannot create .note.gnu.build-id section, --build-id ignored. %P%F: compact frame descriptions incompatible with DWARF2 .eh_frame from %B %P: warning: Cannot create .eh_frame_hdr section, --eh-frame-hdr ignored. %P%F: Failed to parse EH frame entries. %P: warning: %s, needed by %B, not found (try using -rpath or -rpath-link) zlibzlib-gnuzlib-gabisysvbothmuldefsmax-page-size=common-page-size=stack-size=noexecstackglobalauditinitfirstinterposeloadfltrnodefaultlibnodeletenodlopennodumplazyoriginnocombrelocnocopyrelocnorelronocommonnotexttextoffnoextern-protected-datanodynamic-undefined-weaknoreloc-overflowcall-nop=prefix-addrprefix-nopsuffix-nopprefix-suffix-bndplt%P: warning: -z %s ignored. %s/%s%s/lib%s%s.soeelf_x86_64.c__ehdr_startLD_RUN_PATH.gnu.warning%P%F: looping in map_segmentsincludelibc.so%F%P:%B: bfd_stat failed: %E found %s at %s .so.i386:x86-64.rela.dyn.rel.dyn.rel.gnu.warning..note.plt.note.gnu.build-id.note.GNU-stack.eh_frame_entry.eh_frame.eh_frame_hdr%s needed by %B LD_LIBRARY_PATH/usr/etc/ld.so.conf.rodata.tdata.interp.sdata.commentBgroupcompress-debug-sectionsdepauditdisable-new-dtagsenable-new-dtagseh-frame-hdrexclude-libshash-styleno-ld-generated-unwind-infoelf64-x86-64€>B`>BH>BX>B0>Bð=Bð=Bí§F—©ªF’ ªF–°ªF˜ȪFPѪF�ãªF‘ôªF“«F”«F•«F-«F./* Script for ld -Ur: link w/out relocation, do create constructors */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-x86-64", "elf32-x86-64", "elf32-x86-64") OUTPUT_ARCH(i386:x64-32) /* 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.ifunc 0 : { *(.rela.ifunc) } .rela.plt 0 : { *(.rela.plt) } .init 0 : { KEEP (*(SORT_NONE(.init))) } .plt 0 : { *(.plt) *(.iplt) } .text 0 : { *(.text .stub) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini 0 : { KEEP (*(SORT_NONE(.fini))) } .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.*) } .gnu_extab 0 : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges 0 : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* 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)) } .gnu_extab 0 : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges 0 : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* Thread Local Storage sections */ .tdata 0 : { *(.tdata) } .tbss 0 : { *(.tbss) } .preinit_array 0 : { KEEP (*(.preinit_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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } } /* Script for ld -r: link without relocation */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-x86-64", "elf32-x86-64", "elf32-x86-64") OUTPUT_ARCH(i386:x64-32) /* 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.ifunc 0 : { *(.rela.ifunc) } .rela.plt 0 : { *(.rela.plt) } .init 0 : { KEEP (*(SORT_NONE(.init))) } .plt 0 : { *(.plt) *(.iplt) } .text 0 : { *(.text .stub) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini 0 : { KEEP (*(SORT_NONE(.fini))) } .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.*) } .gnu_extab 0 : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges 0 : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* 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)) } .gnu_extab 0 : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges 0 : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* Thread Local Storage sections */ .tdata 0 : { *(.tdata) } .tbss 0 : { *(.tbss) } .preinit_array 0 : { KEEP (*(.preinit_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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } } /* Script for -N: mix text and data on same page; don't align data */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-x86-64", "elf32-x86-64", "elf32-x86-64") OUTPUT_ARCH(i386:x64-32) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/libx32"); SEARCH_DIR("=/usr/local/libx32"); SEARCH_DIR("=/libx32"); SEARCH_DIR("=/usr/libx32"); SEARCH_DIR("=/usr/x86_64-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.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.ifunc : { *(.rela.ifunc) } .rela.plt : { *(.rela.plt) PROVIDE_HIDDEN (__rela_iplt_start = .); *(.rela.iplt) PROVIDE_HIDDEN (__rela_iplt_end = .); } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* 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)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .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 ? 32 / 8 : 1); } .lbss : { *(.dynlbss) *(.lbss .lbss.* .gnu.linkonce.lb.*) *(LARGE_COMMON) } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); .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 ? 32 / 8 : 1); } . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for -n: mix text and data on same page */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-x86-64", "elf32-x86-64", "elf32-x86-64") OUTPUT_ARCH(i386:x64-32) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/libx32"); SEARCH_DIR("=/usr/local/libx32"); SEARCH_DIR("=/libx32"); SEARCH_DIR("=/usr/libx32"); SEARCH_DIR("=/usr/x86_64-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.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.ifunc : { *(.rela.ifunc) } .rela.plt : { *(.rela.plt) PROVIDE_HIDDEN (__rela_iplt_start = .); *(.rela.iplt) PROVIDE_HIDDEN (__rela_iplt_end = .); } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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 ? 32 / 8 : 1); } .lbss : { *(.dynlbss) *(.lbss .lbss.* .gnu.linkonce.lb.*) *(LARGE_COMMON) } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); .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 ? 32 / 8 : 1); } . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .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 */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-x86-64", "elf32-x86-64", "elf32-x86-64") OUTPUT_ARCH(i386:x64-32) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/libx32"); SEARCH_DIR("=/usr/local/libx32"); SEARCH_DIR("=/libx32"); SEARCH_DIR("=/usr/libx32"); SEARCH_DIR("=/usr/x86_64-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", 0)); . = 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.*) *(.rela.ifunc) } .rela.plt : { *(.rela.plt) PROVIDE_HIDDEN (__rela_iplt_start = .); *(.rela.iplt) PROVIDE_HIDDEN (__rela_iplt_end = .); } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .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 ? 32 / 8 : 1); } .lbss : { *(.dynlbss) *(.lbss .lbss.* .gnu.linkonce.lb.*) *(LARGE_COMMON) } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); .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 ? 32 / 8 : 1); } . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .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 */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-x86-64", "elf32-x86-64", "elf32-x86-64") OUTPUT_ARCH(i386:x64-32) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/libx32"); SEARCH_DIR("=/usr/local/libx32"); SEARCH_DIR("=/libx32"); SEARCH_DIR("=/usr/libx32"); SEARCH_DIR("=/usr/x86_64-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", 0)); . = 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.*) *(.rela.ifunc) } .rela.plt : { *(.rela.plt) PROVIDE_HIDDEN (__rela_iplt_start = .); *(.rela.iplt) PROVIDE_HIDDEN (__rela_iplt_end = .); } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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 ? 32 / 8 : 1); } .lbss : { *(.dynlbss) *(.lbss .lbss.* .gnu.linkonce.lb.*) *(LARGE_COMMON) } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); .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 ? 32 / 8 : 1); } . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for ld -pie: link position independent executable */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-x86-64", "elf32-x86-64", "elf32-x86-64") OUTPUT_ARCH(i386:x64-32) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/libx32"); SEARCH_DIR("=/usr/local/libx32"); SEARCH_DIR("=/libx32"); SEARCH_DIR("=/usr/libx32"); SEARCH_DIR("=/usr/x86_64-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", 0)); . = 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.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.ifunc : { *(.rela.ifunc) } .rela.plt : { *(.rela.plt) PROVIDE_HIDDEN (__rela_iplt_start = .); *(.rela.iplt) PROVIDE_HIDDEN (__rela_iplt_end = .); } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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 ? 32 / 8 : 1); } .lbss : { *(.dynlbss) *(.lbss .lbss.* .gnu.linkonce.lb.*) *(LARGE_COMMON) } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); .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 ? 32 / 8 : 1); } . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .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 */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-x86-64", "elf32-x86-64", "elf32-x86-64") OUTPUT_ARCH(i386:x64-32) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/libx32"); SEARCH_DIR("=/usr/local/libx32"); SEARCH_DIR("=/libx32"); SEARCH_DIR("=/usr/libx32"); SEARCH_DIR("=/usr/x86_64-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.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) } .fini_array : { KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) } .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 .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 ? 32 / 8 : 1); } .lbss : { *(.dynlbss) *(.lbss .lbss.* .gnu.linkonce.lb.*) *(LARGE_COMMON) } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); .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 ? 32 / 8 : 1); } . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for --shared -z combreloc: shared library, combine & sort relocs */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-x86-64", "elf32-x86-64", "elf32-x86-64") OUTPUT_ARCH(i386:x64-32) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/libx32"); SEARCH_DIR("=/usr/local/libx32"); SEARCH_DIR("=/libx32"); SEARCH_DIR("=/usr/libx32"); SEARCH_DIR("=/usr/x86_64-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.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) } .fini_array : { KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) } .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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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 ? 32 / 8 : 1); } .lbss : { *(.dynlbss) *(.lbss .lbss.* .gnu.linkonce.lb.*) *(LARGE_COMMON) } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); .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 ? 32 / 8 : 1); } . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for ld --shared: link shared library */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-x86-64", "elf32-x86-64", "elf32-x86-64") OUTPUT_ARCH(i386:x64-32) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/libx32"); SEARCH_DIR("=/usr/local/libx32"); SEARCH_DIR("=/libx32"); SEARCH_DIR("=/usr/libx32"); SEARCH_DIR("=/usr/x86_64-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.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.ifunc : { *(.rela.ifunc) } .rela.plt : { *(.rela.plt) *(.rela.iplt) } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) } .fini_array : { KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) } .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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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 ? 32 / 8 : 1); } .lbss : { *(.dynlbss) *(.lbss .lbss.* .gnu.linkonce.lb.*) *(LARGE_COMMON) } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); .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 ? 32 / 8 : 1); } . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .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 */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-x86-64", "elf32-x86-64", "elf32-x86-64") OUTPUT_ARCH(i386:x64-32) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/libx32"); SEARCH_DIR("=/usr/local/libx32"); SEARCH_DIR("=/libx32"); SEARCH_DIR("=/usr/libx32"); SEARCH_DIR("=/usr/x86_64-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.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .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 ? 32 / 8 : 1); } .lbss : { *(.dynlbss) *(.lbss .lbss.* .gnu.linkonce.lb.*) *(LARGE_COMMON) } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); .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 ? 32 / 8 : 1); } . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for -z combreloc: combine and sort reloc sections */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-x86-64", "elf32-x86-64", "elf32-x86-64") OUTPUT_ARCH(i386:x64-32) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/libx32"); SEARCH_DIR("=/usr/local/libx32"); SEARCH_DIR("=/libx32"); SEARCH_DIR("=/usr/libx32"); SEARCH_DIR("=/usr/x86_64-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.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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 ? 32 / 8 : 1); } .lbss : { *(.dynlbss) *(.lbss .lbss.* .gnu.linkonce.lb.*) *(LARGE_COMMON) } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); .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 ? 32 / 8 : 1); } . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Default linker script, for normal executables */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-x86-64", "elf32-x86-64", "elf32-x86-64") OUTPUT_ARCH(i386:x64-32) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/libx32"); SEARCH_DIR("=/usr/local/libx32"); SEARCH_DIR("=/libx32"); SEARCH_DIR("=/usr/libx32"); SEARCH_DIR("=/usr/x86_64-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.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.ifunc : { *(.rela.ifunc) } .rela.plt : { *(.rela.plt) PROVIDE_HIDDEN (__rela_iplt_start = .); *(.rela.iplt) PROVIDE_HIDDEN (__rela_iplt_end = .); } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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 ? 32 / 8 : 1); } .lbss : { *(.dynlbss) *(.lbss .lbss.* .gnu.linkonce.lb.*) *(LARGE_COMMON) } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); .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 ? 32 / 8 : 1); } . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } eelf32_x86_64.ci386:x64-32elf32_x86_64elf32-x86-64`rB@rB(rB8rBrBÐqBÐqBí§F—©ªF’ ªF–°ªF˜ȪFPѪF�ãªF‘ôªF“«F”«F•«F-«F./* Script for ld -Ur: link w/out relocation, do create constructors */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ 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.bss 0 : { *(.rel.bss) } .rel.ifunc 0 : { *(.rel.ifunc) } .rel.plt 0 : { *(.rel.plt) } .init 0 : { KEEP (*(SORT_NONE(.init))) } .plt 0 : { *(.plt) *(.iplt) } .plt.got 0 : { *(.plt.got) } .text 0 : { *(.text .stub) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini 0 : { KEEP (*(SORT_NONE(.fini))) } .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.*) } .gnu_extab 0 : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges 0 : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* 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)) } .gnu_extab 0 : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges 0 : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* Thread Local Storage sections */ .tdata 0 : { *(.tdata) } .tbss 0 : { *(.tbss) } .preinit_array 0 : { KEEP (*(.preinit_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. */ } /* 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } } /* Script for ld -r: link without relocation */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ 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.bss 0 : { *(.rel.bss) } .rel.ifunc 0 : { *(.rel.ifunc) } .rel.plt 0 : { *(.rel.plt) } .init 0 : { KEEP (*(SORT_NONE(.init))) } .plt 0 : { *(.plt) *(.iplt) } .plt.got 0 : { *(.plt.got) } .text 0 : { *(.text .stub) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini 0 : { KEEP (*(SORT_NONE(.fini))) } .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.*) } .gnu_extab 0 : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges 0 : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* 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)) } .gnu_extab 0 : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges 0 : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* Thread Local Storage sections */ .tdata 0 : { *(.tdata) } .tbss 0 : { *(.tbss) } .preinit_array 0 : { KEEP (*(.preinit_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. */ } /* 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } } /* Script for -N: mix text and data on same page; don't align data */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") OUTPUT_ARCH(i386) ENTRY(_start) SEARCH_DIR("=/usr/i386-redhat-linux/lib32"); SEARCH_DIR("=/usr/x86_64-redhat-linux/lib32"); SEARCH_DIR("=/usr/local/lib32"); SEARCH_DIR("=/lib32"); SEARCH_DIR("=/usr/lib32"); SEARCH_DIR("=/usr/i386-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.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.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* 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)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .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 ? 32 / 8 : 1); } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for -n: mix text and data on same page */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") OUTPUT_ARCH(i386) ENTRY(_start) SEARCH_DIR("=/usr/i386-redhat-linux/lib32"); SEARCH_DIR("=/usr/x86_64-redhat-linux/lib32"); SEARCH_DIR("=/usr/local/lib32"); SEARCH_DIR("=/lib32"); SEARCH_DIR("=/usr/lib32"); SEARCH_DIR("=/usr/i386-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.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.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .); .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 ? 32 / 8 : 1); } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .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 */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") OUTPUT_ARCH(i386) ENTRY(_start) SEARCH_DIR("=/usr/i386-redhat-linux/lib32"); SEARCH_DIR("=/usr/x86_64-redhat-linux/lib32"); SEARCH_DIR("=/usr/local/lib32"); SEARCH_DIR("=/lib32"); SEARCH_DIR("=/usr/lib32"); SEARCH_DIR("=/usr/i386-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", 0)); . = 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.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.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .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 ? 32 / 8 : 1); } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .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 */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") OUTPUT_ARCH(i386) ENTRY(_start) SEARCH_DIR("=/usr/i386-redhat-linux/lib32"); SEARCH_DIR("=/usr/x86_64-redhat-linux/lib32"); SEARCH_DIR("=/usr/local/lib32"); SEARCH_DIR("=/lib32"); SEARCH_DIR("=/usr/lib32"); SEARCH_DIR("=/usr/i386-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", 0)); . = 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.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.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .); .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 ? 32 / 8 : 1); } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for ld -pie: link position independent executable */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") OUTPUT_ARCH(i386) ENTRY(_start) SEARCH_DIR("=/usr/i386-redhat-linux/lib32"); SEARCH_DIR("=/usr/x86_64-redhat-linux/lib32"); SEARCH_DIR("=/usr/local/lib32"); SEARCH_DIR("=/lib32"); SEARCH_DIR("=/usr/lib32"); SEARCH_DIR("=/usr/i386-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", 0)); . = 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.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.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .); .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 ? 32 / 8 : 1); } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .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 */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") OUTPUT_ARCH(i386) ENTRY(_start) SEARCH_DIR("=/usr/i386-redhat-linux/lib32"); SEARCH_DIR("=/usr/x86_64-redhat-linux/lib32"); SEARCH_DIR("=/usr/local/lib32"); SEARCH_DIR("=/lib32"); SEARCH_DIR("=/usr/lib32"); SEARCH_DIR("=/usr/i386-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.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.bss .rel.bss.* .rel.gnu.linkonce.b.*) *(.rel.ifunc) } .rel.plt : { *(.rel.plt) *(.rel.iplt) } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) } .fini_array : { KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) } .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 .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 ? 32 / 8 : 1); } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for --shared -z combreloc: shared library, combine & sort relocs */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") OUTPUT_ARCH(i386) ENTRY(_start) SEARCH_DIR("=/usr/i386-redhat-linux/lib32"); SEARCH_DIR("=/usr/x86_64-redhat-linux/lib32"); SEARCH_DIR("=/usr/local/lib32"); SEARCH_DIR("=/lib32"); SEARCH_DIR("=/usr/lib32"); SEARCH_DIR("=/usr/i386-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.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.bss .rel.bss.* .rel.gnu.linkonce.b.*) *(.rel.ifunc) } .rel.plt : { *(.rel.plt) *(.rel.iplt) } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) } .fini_array : { KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) } .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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .); .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 ? 32 / 8 : 1); } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for ld --shared: link shared library */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") OUTPUT_ARCH(i386) ENTRY(_start) SEARCH_DIR("=/usr/i386-redhat-linux/lib32"); SEARCH_DIR("=/usr/x86_64-redhat-linux/lib32"); SEARCH_DIR("=/usr/local/lib32"); SEARCH_DIR("=/lib32"); SEARCH_DIR("=/usr/lib32"); SEARCH_DIR("=/usr/i386-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.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.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) } .rel.ifunc : { *(.rel.ifunc) } .rel.plt : { *(.rel.plt) *(.rel.iplt) } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) } .fini_array : { KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) } .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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .); .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 ? 32 / 8 : 1); } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .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 */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") OUTPUT_ARCH(i386) ENTRY(_start) SEARCH_DIR("=/usr/i386-redhat-linux/lib32"); SEARCH_DIR("=/usr/x86_64-redhat-linux/lib32"); SEARCH_DIR("=/usr/local/lib32"); SEARCH_DIR("=/lib32"); SEARCH_DIR("=/usr/lib32"); SEARCH_DIR("=/usr/i386-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.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.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .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 ? 32 / 8 : 1); } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for -z combreloc: combine and sort reloc sections */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") OUTPUT_ARCH(i386) ENTRY(_start) SEARCH_DIR("=/usr/i386-redhat-linux/lib32"); SEARCH_DIR("=/usr/x86_64-redhat-linux/lib32"); SEARCH_DIR("=/usr/local/lib32"); SEARCH_DIR("=/lib32"); SEARCH_DIR("=/usr/lib32"); SEARCH_DIR("=/usr/i386-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.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.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .); .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 ? 32 / 8 : 1); } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Default linker script, for normal executables */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") OUTPUT_ARCH(i386) ENTRY(_start) SEARCH_DIR("=/usr/i386-redhat-linux/lib32"); SEARCH_DIR("=/usr/x86_64-redhat-linux/lib32"); SEARCH_DIR("=/usr/local/lib32"); SEARCH_DIR("=/lib32"); SEARCH_DIR("=/usr/lib32"); SEARCH_DIR("=/usr/i386-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.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.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .); .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 ? 32 / 8 : 1); } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } eelf_i386.celf_i386elf32-i386ð¥BÐ¥B¸¥BÈ¥B ¥B`¥B`¥Bí§F—©ªF’ ªF–°ªF˜ȪFPѪF�ãªF‘ôªF“«F”«F•«F-«F./* Script for ld -Ur: link w/out relocation, do create constructors */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-iamcu", "elf32-iamcu", "elf32-iamcu") OUTPUT_ARCH(iamcu) /* 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.bss 0 : { *(.rel.bss) } .rel.ifunc 0 : { *(.rel.ifunc) } .rel.plt 0 : { *(.rel.plt) } .init 0 : { KEEP (*(SORT_NONE(.init))) } .plt 0 : { *(.plt) *(.iplt) } .plt.got 0 : { *(.plt.got) } .text 0 : { *(.text .stub) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini 0 : { KEEP (*(SORT_NONE(.fini))) } .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.*) } .gnu_extab 0 : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges 0 : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* 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)) } .gnu_extab 0 : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges 0 : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* Thread Local Storage sections */ .tdata 0 : { *(.tdata) } .tbss 0 : { *(.tbss) } .preinit_array 0 : { KEEP (*(.preinit_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. */ } /* 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } } /* Script for ld -r: link without relocation */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-iamcu", "elf32-iamcu", "elf32-iamcu") OUTPUT_ARCH(iamcu) /* 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.bss 0 : { *(.rel.bss) } .rel.ifunc 0 : { *(.rel.ifunc) } .rel.plt 0 : { *(.rel.plt) } .init 0 : { KEEP (*(SORT_NONE(.init))) } .plt 0 : { *(.plt) *(.iplt) } .plt.got 0 : { *(.plt.got) } .text 0 : { *(.text .stub) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini 0 : { KEEP (*(SORT_NONE(.fini))) } .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.*) } .gnu_extab 0 : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges 0 : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* 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)) } .gnu_extab 0 : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges 0 : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* Thread Local Storage sections */ .tdata 0 : { *(.tdata) } .tbss 0 : { *(.tbss) } .preinit_array 0 : { KEEP (*(.preinit_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. */ } /* 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } } /* Script for -N: mix text and data on same page; don't align data */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-iamcu", "elf32-iamcu", "elf32-iamcu") OUTPUT_ARCH(iamcu) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = SEGMENT_START("text-segment", 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.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.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* 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)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .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 ? 32 / 8 : 1); } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for -n: mix text and data on same page */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-iamcu", "elf32-iamcu", "elf32-iamcu") OUTPUT_ARCH(iamcu) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = SEGMENT_START("text-segment", 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.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.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .); .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 ? 32 / 8 : 1); } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .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 */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-iamcu", "elf32-iamcu", "elf32-iamcu") OUTPUT_ARCH(iamcu) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = SEGMENT_START("text-segment", 0)); . = 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.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.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .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 ? 32 / 8 : 1); } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .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 */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-iamcu", "elf32-iamcu", "elf32-iamcu") OUTPUT_ARCH(iamcu) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = SEGMENT_START("text-segment", 0)); . = 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.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.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .); .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 ? 32 / 8 : 1); } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for ld -pie: link position independent executable */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-iamcu", "elf32-iamcu", "elf32-iamcu") OUTPUT_ARCH(iamcu) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = SEGMENT_START("text-segment", 0)); . = 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.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.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .); .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 ? 32 / 8 : 1); } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .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 */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-iamcu", "elf32-iamcu", "elf32-iamcu") OUTPUT_ARCH(iamcu) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS; .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .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.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.bss .rel.bss.* .rel.gnu.linkonce.b.*) *(.rel.ifunc) } .rel.plt : { *(.rel.plt) *(.rel.iplt) } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) } .fini_array : { KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) } .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 .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 ? 32 / 8 : 1); } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for --shared -z combreloc: shared library, combine & sort relocs */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-iamcu", "elf32-iamcu", "elf32-iamcu") OUTPUT_ARCH(iamcu) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS; .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .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.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.bss .rel.bss.* .rel.gnu.linkonce.b.*) *(.rel.ifunc) } .rel.plt : { *(.rel.plt) *(.rel.iplt) } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) } .fini_array : { KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) } .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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .); .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 ? 32 / 8 : 1); } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for ld --shared: link shared library */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-iamcu", "elf32-iamcu", "elf32-iamcu") OUTPUT_ARCH(iamcu) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS; .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .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.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.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) } .rel.ifunc : { *(.rel.ifunc) } .rel.plt : { *(.rel.plt) *(.rel.iplt) } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) } .fini_array : { KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) } .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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .); .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 ? 32 / 8 : 1); } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .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 */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-iamcu", "elf32-iamcu", "elf32-iamcu") OUTPUT_ARCH(iamcu) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = SEGMENT_START("text-segment", 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.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.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .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 ? 32 / 8 : 1); } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for -z combreloc: combine and sort reloc sections */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-iamcu", "elf32-iamcu", "elf32-iamcu") OUTPUT_ARCH(iamcu) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = SEGMENT_START("text-segment", 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.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.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .); .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 ? 32 / 8 : 1); } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Default linker script, for normal executables */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf32-iamcu", "elf32-iamcu", "elf32-iamcu") OUTPUT_ARCH(iamcu) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = SEGMENT_START("text-segment", 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.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.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0, .); .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 ? 32 / 8 : 1); } . = ALIGN(32 / 8); . = SEGMENT_START("ldata-segment", .); . = 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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } eelf_iamcu.celf_iamcuelf32-iamcu€ÙB`ÙBHÙBXÙB0ÙBðØBðØBí§F—©ªF’ ªF–°ªF˜ȪFPѪF�ãªF‘ôªF“«F”«F•«F-«F.ldscripts/i386linux.xnldscripts/i386linux.xldscripts/i386linux.xuldscripts/i386linux.xrldscripts/i386linux.xbn%s/lib%s%s.saei386linux.ci386linuxa.out-i386-linux/* Script for ld -Ur: link w/out relocation, do create constructors */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ 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.ifunc 0 : { *(.rela.ifunc) } .rela.plt 0 : { *(.rela.plt) } .init 0 : { KEEP (*(SORT_NONE(.init))) } .plt 0 : { *(.plt) *(.iplt) } .text 0 : { *(.text .stub) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini 0 : { KEEP (*(SORT_NONE(.fini))) } .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.*) } .gnu_extab 0 : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges 0 : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* 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)) } .gnu_extab 0 : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges 0 : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* Thread Local Storage sections */ .tdata 0 : { *(.tdata) } .tbss 0 : { *(.tbss) } .preinit_array 0 : { KEEP (*(.preinit_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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } } /* Script for ld -r: link without relocation */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ 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.ifunc 0 : { *(.rela.ifunc) } .rela.plt 0 : { *(.rela.plt) } .init 0 : { KEEP (*(SORT_NONE(.init))) } .plt 0 : { *(.plt) *(.iplt) } .text 0 : { *(.text .stub) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini 0 : { KEEP (*(SORT_NONE(.fini))) } .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.*) } .gnu_extab 0 : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges 0 : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* 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)) } .gnu_extab 0 : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges 0 : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* Thread Local Storage sections */ .tdata 0 : { *(.tdata) } .tbss 0 : { *(.tbss) } .preinit_array 0 : { KEEP (*(.preinit_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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } } /* Script for -N: mix text and data on same page; don't align data */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-l1om", "elf64-l1om", "elf64-l1om") OUTPUT_ARCH(l1om) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000)); . = SEGMENT_START("text-segment", 0x400000) + SIZEOF_HEADERS; .interp : { *(.interp) } .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rela.init : { *(.rela.init) } .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } .rela.fini : { *(.rela.fini) } .rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) } .rela.data.rel.ro : { *(.rela.data.rel.ro .rela.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.ifunc : { *(.rela.ifunc) } .rela.plt : { *(.rela.plt) PROVIDE_HIDDEN (__rela_iplt_start = .); *(.rela.iplt) PROVIDE_HIDDEN (__rela_iplt_end = .); } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* 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)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for -n: mix text and data on same page */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-l1om", "elf64-l1om", "elf64-l1om") OUTPUT_ARCH(l1om) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000)); . = SEGMENT_START("text-segment", 0x400000) + SIZEOF_HEADERS; .interp : { *(.interp) } .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rela.init : { *(.rela.init) } .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } .rela.fini : { *(.rela.fini) } .rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) } .rela.data.rel.ro : { *(.rela.data.rel.ro .rela.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.ifunc : { *(.rela.ifunc) } .rela.plt : { *(.rela.plt) PROVIDE_HIDDEN (__rela_iplt_start = .); *(.rela.iplt) PROVIDE_HIDDEN (__rela_iplt_end = .); } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .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 */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-l1om", "elf64-l1om", "elf64-l1om") OUTPUT_ARCH(l1om) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = SEGMENT_START("text-segment", 0)); . = 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.*) *(.rela.ifunc) } .rela.plt : { *(.rela.plt) PROVIDE_HIDDEN (__rela_iplt_start = .); *(.rela.iplt) PROVIDE_HIDDEN (__rela_iplt_end = .); } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .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 */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-l1om", "elf64-l1om", "elf64-l1om") OUTPUT_ARCH(l1om) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = SEGMENT_START("text-segment", 0)); . = 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.*) *(.rela.ifunc) } .rela.plt : { *(.rela.plt) PROVIDE_HIDDEN (__rela_iplt_start = .); *(.rela.iplt) PROVIDE_HIDDEN (__rela_iplt_end = .); } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for ld -pie: link position independent executable */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-l1om", "elf64-l1om", "elf64-l1om") OUTPUT_ARCH(l1om) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = SEGMENT_START("text-segment", 0)); . = 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.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.ifunc : { *(.rela.ifunc) } .rela.plt : { *(.rela.plt) PROVIDE_HIDDEN (__rela_iplt_start = .); *(.rela.iplt) PROVIDE_HIDDEN (__rela_iplt_end = .); } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .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 */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-l1om", "elf64-l1om", "elf64-l1om") OUTPUT_ARCH(l1om) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS; .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rela.dyn : { *(.rela.init) *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) *(.rela.fini) *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) *(.rela.ctors) *(.rela.dtors) *(.rela.got) *(.rela.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) } .fini_array : { KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) } .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 .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for --shared -z combreloc: shared library, combine & sort relocs */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-l1om", "elf64-l1om", "elf64-l1om") OUTPUT_ARCH(l1om) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS; .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rela.dyn : { *(.rela.init) *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) *(.rela.fini) *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) *(.rela.ctors) *(.rela.dtors) *(.rela.got) *(.rela.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) } .fini_array : { KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) } .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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for ld --shared: link shared library */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-l1om", "elf64-l1om", "elf64-l1om") OUTPUT_ARCH(l1om) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS; .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rela.init : { *(.rela.init) } .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } .rela.fini : { *(.rela.fini) } .rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) } .rela.data.rel.ro : { *(.rela.data.rel.ro .rela.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.ifunc : { *(.rela.ifunc) } .rela.plt : { *(.rela.plt) *(.rela.iplt) } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) } .fini_array : { KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) } .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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .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 */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-l1om", "elf64-l1om", "elf64-l1om") OUTPUT_ARCH(l1om) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000)); . = SEGMENT_START("text-segment", 0x400000) + SIZEOF_HEADERS; .interp : { *(.interp) } .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rela.dyn : { *(.rela.init) *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) *(.rela.fini) *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) *(.rela.ctors) *(.rela.dtors) *(.rela.got) *(.rela.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for -z combreloc: combine and sort reloc sections */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-l1om", "elf64-l1om", "elf64-l1om") OUTPUT_ARCH(l1om) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000)); . = SEGMENT_START("text-segment", 0x400000) + SIZEOF_HEADERS; .interp : { *(.interp) } .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rela.dyn : { *(.rela.init) *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) *(.rela.fini) *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) *(.rela.ctors) *(.rela.dtors) *(.rela.got) *(.rela.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Default linker script, for normal executables */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-l1om", "elf64-l1om", "elf64-l1om") OUTPUT_ARCH(l1om) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000)); . = SEGMENT_START("text-segment", 0x400000) + SIZEOF_HEADERS; .interp : { *(.interp) } .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rela.init : { *(.rela.init) } .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } .rela.fini : { *(.rela.fini) } .rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) } .rela.data.rel.ro : { *(.rela.data.rel.ro .rela.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.ifunc : { *(.rela.ifunc) } .rela.plt : { *(.rela.plt) PROVIDE_HIDDEN (__rela_iplt_start = .); *(.rela.iplt) PROVIDE_HIDDEN (__rela_iplt_end = .); } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } eelf_l1om.celf_l1omelf64-l1om°C�CxCˆC`C C Cí§F—©ªF’ ªF–°ªF˜ȪFPѪF�ãªF‘ôªF“«F”«F•«F-«F./* Script for ld -Ur: link w/out relocation, do create constructors */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-k1om", "elf64-k1om", "elf64-k1om") OUTPUT_ARCH(k1om) /* 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.ifunc 0 : { *(.rela.ifunc) } .rela.plt 0 : { *(.rela.plt) } .init 0 : { KEEP (*(SORT_NONE(.init))) } .plt 0 : { *(.plt) *(.iplt) } .text 0 : { *(.text .stub) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini 0 : { KEEP (*(SORT_NONE(.fini))) } .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.*) } .gnu_extab 0 : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges 0 : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* 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)) } .gnu_extab 0 : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges 0 : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* Thread Local Storage sections */ .tdata 0 : { *(.tdata) } .tbss 0 : { *(.tbss) } .preinit_array 0 : { KEEP (*(.preinit_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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } } /* Script for ld -r: link without relocation */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-k1om", "elf64-k1om", "elf64-k1om") OUTPUT_ARCH(k1om) /* 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.ifunc 0 : { *(.rela.ifunc) } .rela.plt 0 : { *(.rela.plt) } .init 0 : { KEEP (*(SORT_NONE(.init))) } .plt 0 : { *(.plt) *(.iplt) } .text 0 : { *(.text .stub) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini 0 : { KEEP (*(SORT_NONE(.fini))) } .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.*) } .gnu_extab 0 : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges 0 : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* 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)) } .gnu_extab 0 : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table 0 : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges 0 : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* Thread Local Storage sections */ .tdata 0 : { *(.tdata) } .tbss 0 : { *(.tbss) } .preinit_array 0 : { KEEP (*(.preinit_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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } } /* Script for -N: mix text and data on same page; don't align data */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-k1om", "elf64-k1om", "elf64-k1om") OUTPUT_ARCH(k1om) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000)); . = SEGMENT_START("text-segment", 0x400000) + SIZEOF_HEADERS; .interp : { *(.interp) } .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rela.init : { *(.rela.init) } .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } .rela.fini : { *(.rela.fini) } .rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) } .rela.data.rel.ro : { *(.rela.data.rel.ro .rela.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.ifunc : { *(.rela.ifunc) } .rela.plt : { *(.rela.plt) PROVIDE_HIDDEN (__rela_iplt_start = .); *(.rela.iplt) PROVIDE_HIDDEN (__rela_iplt_end = .); } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* 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)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for -n: mix text and data on same page */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-k1om", "elf64-k1om", "elf64-k1om") OUTPUT_ARCH(k1om) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000)); . = SEGMENT_START("text-segment", 0x400000) + SIZEOF_HEADERS; .interp : { *(.interp) } .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rela.init : { *(.rela.init) } .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } .rela.fini : { *(.rela.fini) } .rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) } .rela.data.rel.ro : { *(.rela.data.rel.ro .rela.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.ifunc : { *(.rela.ifunc) } .rela.plt : { *(.rela.plt) PROVIDE_HIDDEN (__rela_iplt_start = .); *(.rela.iplt) PROVIDE_HIDDEN (__rela_iplt_end = .); } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .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 */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-k1om", "elf64-k1om", "elf64-k1om") OUTPUT_ARCH(k1om) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = SEGMENT_START("text-segment", 0)); . = 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.*) *(.rela.ifunc) } .rela.plt : { *(.rela.plt) PROVIDE_HIDDEN (__rela_iplt_start = .); *(.rela.iplt) PROVIDE_HIDDEN (__rela_iplt_end = .); } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .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 */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-k1om", "elf64-k1om", "elf64-k1om") OUTPUT_ARCH(k1om) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = SEGMENT_START("text-segment", 0)); . = 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.*) *(.rela.ifunc) } .rela.plt : { *(.rela.plt) PROVIDE_HIDDEN (__rela_iplt_start = .); *(.rela.iplt) PROVIDE_HIDDEN (__rela_iplt_end = .); } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for ld -pie: link position independent executable */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-k1om", "elf64-k1om", "elf64-k1om") OUTPUT_ARCH(k1om) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = SEGMENT_START("text-segment", 0)); . = 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.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.ifunc : { *(.rela.ifunc) } .rela.plt : { *(.rela.plt) PROVIDE_HIDDEN (__rela_iplt_start = .); *(.rela.iplt) PROVIDE_HIDDEN (__rela_iplt_end = .); } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .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 */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-k1om", "elf64-k1om", "elf64-k1om") OUTPUT_ARCH(k1om) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS; .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rela.dyn : { *(.rela.init) *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) *(.rela.fini) *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) *(.rela.ctors) *(.rela.dtors) *(.rela.got) *(.rela.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) } .fini_array : { KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) } .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 .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for --shared -z combreloc: shared library, combine & sort relocs */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-k1om", "elf64-k1om", "elf64-k1om") OUTPUT_ARCH(k1om) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS; .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rela.dyn : { *(.rela.init) *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) *(.rela.fini) *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) *(.rela.ctors) *(.rela.dtors) *(.rela.got) *(.rela.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) } .fini_array : { KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) } .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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for ld --shared: link shared library */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-k1om", "elf64-k1om", "elf64-k1om") OUTPUT_ARCH(k1om) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS; .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rela.init : { *(.rela.init) } .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } .rela.fini : { *(.rela.fini) } .rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) } .rela.data.rel.ro : { *(.rela.data.rel.ro .rela.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.ifunc : { *(.rela.ifunc) } .rela.plt : { *(.rela.plt) *(.rela.iplt) } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) } .fini_array : { KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) } .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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .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 */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-k1om", "elf64-k1om", "elf64-k1om") OUTPUT_ARCH(k1om) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000)); . = SEGMENT_START("text-segment", 0x400000) + SIZEOF_HEADERS; .interp : { *(.interp) } .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rela.dyn : { *(.rela.init) *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) *(.rela.fini) *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) *(.rela.ctors) *(.rela.dtors) *(.rela.got) *(.rela.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Script for -z combreloc: combine and sort reloc sections */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-k1om", "elf64-k1om", "elf64-k1om") OUTPUT_ARCH(k1om) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000)); . = SEGMENT_START("text-segment", 0x400000) + SIZEOF_HEADERS; .interp : { *(.interp) } .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rela.dyn : { *(.rela.init) *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) *(.rela.fini) *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) *(.rela.ctors) *(.rela.dtors) *(.rela.got) *(.rela.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 (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } /* Default linker script, for normal executables */ /* Copyright (C) 2014-2016 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-k1om", "elf64-k1om", "elf64-k1om") OUTPUT_ARCH(k1om) ENTRY(_start) SEARCH_DIR("=/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000)); . = SEGMENT_START("text-segment", 0x400000) + SIZEOF_HEADERS; .interp : { *(.interp) } .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rela.init : { *(.rela.init) } .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } .rela.fini : { *(.rela.fini) } .rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) } .rela.data.rel.ro : { *(.rela.data.rel.ro .rela.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.ifunc : { *(.rela.ifunc) } .rela.plt : { *(.rela.plt) PROVIDE_HIDDEN (__rela_iplt_start = .); *(.rela.iplt) PROVIDE_HIDDEN (__rela_iplt_end = .); } .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges .exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } /* 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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .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); . = SEGMENT_START("ldata-segment", .); .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_line.* .debug_line_end ) } .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) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } eelf_k1om.celf_k1omelf64-k1om@;C ;C;C;Cð:C°:C°:Cí§F—©ªF’ ªF–°ªF˜ȪFPѪF�ãªF‘ôªF“«F”«F•«F-«F.€€%s: error: too many @-files encountered ;ÜpŸñÿ(Ыñÿ@s¬ñÿx+­ñÿ˜Q­ñÿøé¯ñÿ8¤°ñÿ`í°ñÿ€?€±ñÿ�< ½ñÿø¾ñÿPp¾ñÿxоñÿ˜0¿ñÿ¸À¿ñÿðpäñÿ`Àäñÿ°påñÿè€åñÿæñÿ pæñÿHÐæñÿ``çñÿ˜ÀçñÿÈPèñÿ€þñÿ°�þñÿÐðþñÿ�ÿñÿHòÿx0òÿ˜@òÿ°PòÿÈ`òÿàpòÿø€òÿ�òÿ( òÿ@°òÿXÀòÿpÐòÿˆ€òÿ°�òÿÈ òÿà°òÿø òÿ àòÿ`òÿx@òÿ�pòÿ¨ òÿÀÐòÿØòÿð0òÿ`òÿ €òÿ8 òÿP°òÿ�0.òÿàP.òÿø /òÿ@/òÿ(€/òÿ@À/òÿXÐ/òÿpà/òÿˆ00òÿ°à1òÿà2òÿø 2òÿ@3òÿHÀ3òÿp8òÿ°p8òÿØÀ8òÿð9òÿ@`;òÿ¨p;òÿÀ�;òÿØ�>òÿ(à>òÿ@0?òÿX€?òÿp@òÿˆð@òÿèPAòÿ�Aòÿ(BòÿHEòÿ°pNòÿˆpOòÿÈRòÿPRòÿ ðRòÿXÐSòÿ¸PTòÿ UòÿP Wòÿ  �Xòÿð ÀYòÿ@!pZòÿˆ! [òÿÀ!`[òÿð!0\òÿ"]òÿH"à]òÿ˜" ^òÿè"P_òÿ#°`òÿ@#€aòÿ€#dòÿÀ#Àdòÿð#Ðdòÿ$àdòÿ $0eòÿ8$peòÿP$fòÿˆ$fòÿ $pgòÿà$ðtòÿ0% uòÿ�%wòÿà%wòÿø%PxòÿH&`yòÿh&zòÿˆ&0{òÿ¸&�{òÿð& €òÿ@'€ƒòÿx'0†òÿ¸'àˆòÿ(0‰òÿ8( Šòÿx(ÀŠòÿ¨(Žòÿð(pŽòÿ()ÀŽòÿP)0�òÿh)À�òÿ )@�òÿÐ)p�òÿè)ð�òÿ*À’òÿ *°“òÿ`*à“òÿˆ*”òÿ°*°”òÿÐ*�™òÿ+ šòÿP+°›òÿÐ+ œòÿð+Àœòÿ0,€Ÿòÿp,0 òÿ ,€£òÿè,°£òÿ-¥òÿP-P¥òÿp-Ð¥òÿˆ-§òÿ¨-@©òÿø-ªòÿ .@ªòÿ@. ¯òÿ�.€¯òÿÈ.À¯òÿà.Яòÿø.°òÿ /@°òÿ8/€°òÿ`/À°òÿ�/@±òÿØ/€±òÿ0À±òÿ(0²òÿH0 ²òÿ`0°²òÿ�0иòÿà0à¸òÿø00¹òÿ1€¹òÿ@1йòÿ`1à¹òÿx1àºòÿÈ1 »òÿè1@»òÿ2 »òÿ02`¼òÿX2нòÿ˜2�¿òÿè2PÁòÿP3�Áòÿx3`Åòÿà3`ßòÿ04ðßòÿh4pàòÿ 4ÐàòÿÀ4áòÿØ4Páòÿð4 âòÿ 5ãòÿH5Àãòÿ˜5àãòÿ°5äòÿÈ5äòÿà5 çòÿ86@çòÿP6`çòÿh6ðçòÿ�6èòÿ¨6 èòÿØ6Àèòÿð6àèòÿ7éòÿ 7éòÿ87�éòÿP7êòÿ�7pëòÿø7 ðòÿh8@ðòÿ€8�ðòÿ¸8àðòÿð8°ñòÿ@9Pòòÿx9 õòÿÀ9àõòÿà9�÷òÿ0:@ùòÿ�:�úòÿ ;üòÿˆ;ðýòÿØ;�þòÿ0<àóÿÈ<�óÿð<@óÿ(=0óÿÀ=àóÿè=àóÿ8>0 óÿx>`óÿÈ>Àóÿè>0óÿ ?€óÿ@?Póÿ ? .óÿ€@p.óÿ¨@À.óÿØ@/óÿA@/óÿ Ap/óÿ8AP0óÿXA@1óÿxA2óÿ˜Að2óÿÀA@3óÿðA�3óÿBà3óÿHB 4óÿpBp7óÿ¸B8óÿðB08óÿCp9óÿHC0:óÿˆC€:óÿ¨C :óÿÀC°:óÿØCÀ:óÿðCÐ:óÿDà:óÿ Dð:óÿ8D;óÿPD;óÿhD ;óÿ€D0;óÿ˜D@;óÿ°D`;óÿÈD€;óÿàD�;óÿøD°;óÿEÐ;óÿ(Eð;óÿ@E<óÿXE0<óÿpEP<óÿˆEp<óÿ E€<óÿ¸E°<óÿØE@=óÿøEP=óÿF`=óÿ(F€=óÿ@F°=óÿXF>óÿpF0>óÿˆF`>óÿ F°>óÿÈF€?óÿG @óÿ@G@@óÿXG`@óÿpG€@óÿˆGpAóÿ°G0BóÿÐGNóÿ HàNóÿ@HÐOóÿhHPóÿ�H°Qóÿ°HÐQóÿÈHðQóÿàHpRóÿISóÿ0IàSóÿpI`Tóÿ¨I VóÿðI[óÿ@J�\óÿ¨Jà]óÿðJð]óÿK^óÿ Kp^óÿHKð^óÿˆK`_óÿ°KÐ_óÿàK€`óÿ(LÀaóÿxLÐbóÿÈLPeóÿ0M€eóÿHMðfóÿ¨M jóÿèMÀmóÿ8NnóÿPN€nóÿ�N@póÿèN�póÿOðpóÿ8O0qóÿXOpqóÿxO°qóÿ˜Oðqóÿ¸OPróÿØO°róÿøO0tóÿHPpwóÿ°PyóÿØP�|óÿ(Q |óÿ@Q°|óÿXQà|óÿpQÀ€óÿÀQð�óÿðQ�‚óÿR`†óÿxR°†óÿ¨R ‡óÿÈRÀ‡óÿøRˆóÿSpˆóÿ(SP‰óÿ@Sp‹óÿ�S�óÿ¨S€�óÿàS@ŽóÿT@�óÿPT�šóÿ€T ›óÿÀT0�óÿ(U@¡óÿxU¢óÿ˜U0¢óÿ°Up£óÿðUà¤óÿ@V°¥óÿxVЩóÿÈV ¬óÿW`­óÿ`Wà®óÿ˜W¯óÿ°WP¯óÿÈW°µóÿHX€¶óÿhXÀ¾óÿ¸X�¿óÿðX ÁóÿY Áóÿ@Y@Âóÿ`Y@Ãóÿ°YpÎóÿàY€Ïóÿ ZÑóÿˆZ ÕóÿØZðÕóÿøZÖóÿ[P×óÿP[ÀØóÿ [�ÙóÿØ[°Ýóÿ(\àóÿp\@áóÿÀ\Àâóÿø\àâóÿ]0ãóÿ(]�éóÿ¨]`êóÿÈ] òóÿ^póóÿP^õóÿh^€õóÿ ^ðõóÿÀ^ðöóÿ_ôÿ@_ôÿ€_ ôÿè_°ôÿ8`€ ôÿX`  ôÿp`à ôÿ°`P ôÿa ôÿ8a@ôÿˆa�ôÿÐaÐôÿ bPôÿXbpôÿpbÀôÿˆb ôÿcðôÿ(c0&ôÿxc'ôÿ°c�(ôÿÈc)ôÿd€)ôÿ d€*ôÿpd�5ôÿ d 6ôÿàd08ôÿHe@<ôÿ˜e=ôÿ¸e0=ôÿÐep>ôÿfà?ôÿ`f0Bôÿ¨f0Iôÿøf°Jôÿ0gÐJôÿHg Kôÿ`g€QôÿàgPRôÿh Sôÿ8h0SôÿPh`SôÿhhÀSôÿ€h�TôÿØhàTôÿøh0UôÿiÀVôÿ0i@Wôÿhi°Wôÿˆi°XôÿØiÀcôÿjÐdôÿHj`fôÿ°jpjôÿk@kôÿ k`kôÿ8k lôÿxknôÿÈkànôÿlsôÿPlPuôÿ˜l�vôÿèlxôÿ m0xôÿ8m€xôÿPmà~ôÿÐm°ôÿðmð‡ôÿ@nÀˆôÿxnPŠôÿ�nЊôÿÈn@‹ôÿèn@Œôÿ8oP—ôÿho`˜ôÿ¨oð™ôÿpžôÿ`pОôÿ€pðžôÿ˜p0 ôÿØp ¡ôÿ(qp¢ôÿ`q�¦ôÿ°qà¨ôÿøq ªôÿHr «ôÿ€rÀ«ôÿ˜r¬ôÿ°rp²ôÿ0s@³ôÿPs€»ôÿ sP¼ôÿØs�¼ôÿðs°¼ôÿtÅôÿPt Åôÿ�t ÆôÿàtÇôÿ uÈôÿpuPÈôÿˆu€Èôÿ uPÝôÿðu0Þôÿ(vpßôÿ�vàßôÿÐvààôÿ w�áôÿ`wàáôÿ˜w0äôÿèwàäôÿ(xÀçôÿxxèôÿ�xpèôÿ°x°èôÿÈxàèôÿàx�éôÿyÀéôÿ0yàéôÿHyêôÿ`yëôÿ y@ëôÿ¸y°ëôÿðyàëôÿz ìôÿ0z°ìôÿ`zíôÿ˜zpíôÿàzzRx � ¬ñÿ*zRx �$@Žñÿ` FJ w€?;*3$"$D¨¬ñÿkA†NƒL DFAlð¬ñÿ_Jƒg O ZŒ0­ñÿ^kƒbÃ4¬p­ñÿ�A†AƒG \ FAT S FAN LäÈ­ñÿ«$B�BŽB �B(ŒA0†A8ƒGà6d 8A0A(B BBBA 4ˆ™ñÿ£Aƒ¡TÒñÿIló™ñÿ¸AƒJ0«AŒ‹šñÿ&D4¤Òñÿ­A†AƒD d AAD } AAA Ü€ÒñÿôxÒñÿxAƒd A $ØÒñÿbDƒl H M K Q< ÓñÿU4ThÓñÿ„B�BŒA †D(ƒG0m(A ABB,ŒÀÓñÿYBŒD†I ƒ| ABA ,¼ðÓñÿ‡A†AƒG k AAJ <ìQ™ñÿ˜B�BŒA †A(ƒA0Š(A ABB$,©›ñÿ»A†AƒD0²AAT<œñÿIAz L A,tÈÓñÿ®BŒG†C ƒ¾ ABA ¤Héñÿ‰Dƒ„,ĸéñÿ\BŒA†A ƒTABDôèéñÿ�LŒE†D ƒf ÃAÆBÌB AÃAÆDÌM ƒ†Œ,<@êñÿrBŒE†G ƒL ABA l�êñÿAƒOŒ�êñÿ¤ˆêñÿ¼€êñÿÔxêñÿìpêñÿhêñÿ`êñÿ4XêñÿLPêñÿdHêñÿ$|@êñÿ§A†AƒD žAA¤Èêñÿ¼ÀêñÿÔ¸êñÿ$ì°êñÿçAƒG ¡ DK <xëñÿ7B�EŒA †A(ƒD@í (A ABBH Txìñÿ%l�ìñÿ%„¨ìñÿ%œÀìñÿ%´Øìñÿ%Ìðìñÿ%äíñÿ%ü íñÿ%8íñÿ,@íñÿ<DHíñÿB�GŒD †A(ƒJ@¿ (A ABBC L„îñÿ}'B�BŽB �B(ŒA0†H8ƒJÐË 8A0A(B BBBA ÔHòÿìPòÿËòÿòÿ:48òÿ:L`òÿdXòÿ$|PòÿGA†DƒG xAA,¤xòÿ«AƒG ß DE | CA ÔøòÿDQìòÿDV4 òÿX†FƒG pAÃAÆY ƒ†$< ðòÿ~EƒY J A O <d Hòÿ9B�EŒD †D(ƒG@ã (A ABBA $¤ HòÿmKƒa D P P $Ì �òÿLA†DƒD @AA<ô ¸òÿ.B�EŒD †A(ƒD0 (D ABBD d4 ¨òÿeB�BŽB �E(ŒA0†A8ƒDPI 8A0A(B BBBD Ë 8A0A(B BBBC œ °òÿ ´ ¨òÿLÌ °òÿöB�BŽJ �E(ŒD0†A8ƒDpF 8A0A(B BBBD  `"òÿP4 ˜"òÿEL Ð"òÿHd #òÿu\| p#òÿåB�EŒA †A(ƒD0N (G JBBP K (A ABBG t(O ABB$Ü $òÿQA†DƒI @AA 8$òÿ1bN `$òÿeDP L Dd< °$òÿýB�BŽE �B(ŒA0†D8ƒD@½ 8A0A(B BBBE ‘ 8A0A(B BBBE Ô¤ H'òÿm B�BŒA †D(ƒD0{ (C ABBH ‡ (A ABBK 8 (C ABBH I (C ABBG a (F ABBL ã (A ABBG T (F ABBI  (F ABBO ­ (K ABBE <| à/òÿôBŒG†G ƒ[ ADH “ ADH <¼  0òÿ�B�BŒA †A(ƒGps (A ABBJ ü ð2òÿG4(3òÿ“A†DƒG0Y AAI ^CA\L�3òÿÜB�BŽE �E(ŒE0†D8ƒD`‰ 8A0A(B BBBB Z8A0A(B HBBD¬4òÿxB�EŽE �E(ŒD0†A8ƒD@S8A0A(B BBBLôH4òÿºB�EŽE �E(ŒD0†A8ƒD@p 8A0A(B BBBA LD¸4òÿùB�BŽB �B(ŒA0†D8ƒG�… 8A0A(B BBBE L”h6òÿtB�BŽB �E(ŒA0†D8ƒD€ 8A0A(B BBBJ Lä˜7òÿ)B�EŽB �E(ŒD0†A8ƒDpÍ 8A0A(B BBBB D4x8òÿ°BŽE�J ŒA(†D0ƒGPn 0A(A BBBE 4|à8òÿ¥A†AƒG H AAE D CAH ,´X9òÿ?A†JƒG T AAH äh9òÿÉD j B 4:òÿÄA†AƒD0\ AAL j AAD L<°:òÿÖBŽB�H ŒG(†D0ƒJ (A BBBH \ (A BBBE LŒ@;òÿ¼B�EŒD †D(ƒG@a (A ABBC h(D JBBܰ;òÿ£Hƒe C 4ü@<òÿYA†AƒG O FAA ½ FAD <4h=òÿÂBŽL�E ŒD(†D0ƒ| (A BBBB <tø=òÿ‹BŽN�E ŒD(†D0ƒœ (A BBBH ,´H@òÿ­A†DƒG  AAC äÈ@òÿ üÀ@òÿ ¸@òÿAm,ð@òÿ;g4DAòÿ�BŒD†D ƒT ABO MAN|pAòÿ <”hAòÿXB�BŒA †D(ƒD0< (D ABBA LÔˆBòÿ} B�EŽE �E(ŒD0†D8ƒDp< 8A0A(B BBBE \$¸OòÿªB�EŽG �E(ŒG0†D8ƒG@r 8A0A(B BBBG l8F0A(B BBBL„PòÿVB�OŽB �H(ŒA0†A8ƒD@¼ 8A0A(B BBBA ÔQòÿLìQòÿ>B�DŽE �E(ŒA0†K8ƒD@n 8D0A(B BBBE <RòÿD\ðRòÿšAƒh G c,|pSòÿ#BŒF†C ƒ ABC 4¬pTòÿ_BŒA†C ƒG ABH AADLä˜TòÿŒB�GŽJ �E(ŒA0†A8ƒDp  8D0A(B BBBA 44ØXòÿWBŒD†A ƒD    AABE <l\òÿ¨BŽQ�J ŒA(†D0ƒc (A BBBD L¬p^òÿ©B�BŽB �B(ŒA0†G8ƒJ�D 8A0A(B BBBH ,üÐ`òÿLBŒD†D ƒzAB<,ð`òÿïBŽB�B ŒA(†D0ƒ (A BBBD ,l aòÿžHƒF B u K H A DDœbòÿ;A†AƒG w AAF O AAG _ AAG 4äeòÿgA†KƒD B DAI DAA$@eòÿDA†IƒD sAADheòÿb4\Àeòÿ�BŒQ†H ƒu AIF dAI,”fòÿ€AƒI h AE DCÄhfòÿ"Ü€fòÿuD j A üàfòÿÅ<˜hòÿìBŽH�E ŒD(†E0ƒD (A BBBE $THiòÿ-A†DƒD aAA$|Piòÿ-A†DƒD aAA¤Xiòÿ�Hƒv J DÄØiòÿØBŽB�B ŒA(†A0ƒGPs 0A(A BBBF 4 pnòÿ‡A†DƒD V DAD YDA|DÈnòÿ‹B�BŽE �E(ŒD0†A8ƒD@o 8A0A(B BBBH n 8A0A(B BBBH O 8G0A(B BHBK ÄØoòÿaDƒJ B <ä(pòÿŸA†DƒG H AAJ ] AAA \AA<$ˆpòÿ¿B�HŒD †D(ƒG0{ (A ABBF ,dsòÿ¢A†DƒD { AAJ D”ˆsòÿEBŽB�B ŒA(†A0ƒGP† 0A(A BBBC Ü�vòÿ!Lô¨vòÿYB�EŽJ �E(ŒD0†D8ƒD@  8D0A(B BBBG D¸wòÿ8AƒvdØwòÿ}|@xòÿ9D™ A Lœ`yòÿ#BŽV�B ŒA(†C0ƒ\ (A BBBG Š (A BBBG $ì@{òÿËAƒD y AB è{òÿ*DƒeL4ø{òÿ×B�BŽB �B(ŒD0†D8ƒG`� 8A0A(B BBBA 4„ˆ€òÿTB�EŒD †I(ƒD0u(A ABB¼°€òÿ9ÔØ€òÿ$ìЀòÿ>A†IƒD mAAè€òÿ0$,�òÿ>A†IƒD mAA,T�òÿ?BŒD†H ƒmABD„(�òÿ€B�EŽE �E(ŒD0†H8ƒD@T8A0A(B BBB$Ì`�òÿ>A†IƒD mAA$ôx�òÿ5A†HƒD eAA��òÿBHƒy<À�òÿ,T¸�òÿ†A†JƒJ C AAF L„‚òÿB�EŽE �B(ŒD0†D8ƒF í 8A0A(B BBBE Ôè‡òÿ ìà‡òÿI, ˆòÿOBŒD†I ƒuAI4 8ˆòÿAAƒ{T hˆòÿLl `ˆòÿöB�EŽJ �E(ŒD0†A8ƒFP¶ 8A0A(B BBBG ¼ ‰òÿ3AƒqÜ 0‰òÿDW,ô 8‰òÿVA†DƒG k AAG $$!h‰òÿ¶AƒQ ƒ AJ <L!ŠòÿgB�LŒA †A(ƒD0= (D ABBE LŒ!0‹òÿ¾B�BŽB �B(ŒD0†G8ƒMpX 8A0A(B BBBF dÜ! ŒòÿÀBŽE�J ŒD(†D0ƒz (A BBBF o (A BBBJ Q (A BBBH $D"ø�òÿ9A†IƒL `AAdl"ŽòÿÎB�GŽE �E(ŒA0†A8ƒDPG 8D0A(B BBBE  8A0A(B BBBD LÔ"x‘òÿôB�BŽB �B(ŒA0†A8ƒG° 8A0A(B BBBA 4$#(«òÿ‡BŒA†D ƒJ ABD _AN4\#€«òÿqA†DƒD s AAB nAA”#È«òÿQHƒe A b´#¬òÿ7DkÌ#0¬òÿ7Dk,ä#X¬òÿËBŒA†D ƒÀAB$$ø¬òÿçA†MƒD ÒAAL<$À­òÿ¬B�EŽE �E(ŒA0†D8ƒGPt 8A0A(B BBBE Œ$ ®òÿ¤$(®òÿ¼$0®òÿTÔ$(®òÿPŽB�B ŒA(†A0ƒD@v0AÃ(AÆ BÌBÍBÎH@ƒ†Œ�Ž,%à°òÿD%è°òÿ$\%ð°òÿ�AƒG0~ AI „%X±òÿ ,œ%P±òÿ”AƒJ E A W A W AÌ%À±òÿDKä%ȱòÿü%бòÿ&رòÿ,&бòÿx]P<D&8²òÿwB�GŒD †D(ƒD0L (C ABBG d„&x²òÿ^B�EŽE �E(ŒD0†D8ƒD@ú 8A0A(B BBBG Y 8G0A(B BBBG lì&p³òÿ¤P�BŽB �B(ŒA0†A8ƒD@ 8AÃ0AÆ(BÌ BÍBÎBÏJ GÃÆÌÍÎÏC@ƒ†Œ�Ž�\'°·òÿDT4t'¸·òÿGB�GŒI †D(ƒL0I(G AKB4¬'зòÿGB�GŒI †D(ƒL0I(G AKBLä'è·òÿÉB�EŒA †D(ƒD0n (F ABBG h(G ABB44(h¸òÿ™BŒG†D ƒGP{  AABA Dl(иòÿIBŽE�E ŒI(†I0ƒG€Ñ 0A(A BBBB ´(Ø»òÿ9Dd H DLÔ(ø»òÿ£BŽL�B ŒD(†A0ƒå (A BBBO A (A BBBH \$)X½òÿ«L�EŽB �B(ŒA0†D8ƒGPï8AÃ0AÆ(BÌ BÍBÎBÏFPƒ†Œ�Ž�Œ„)¨¾òÿPB�EŽE �E(ŒD0†D8ƒG@v 8G0A(K BBBQ h 8G0A(B BBBX D 8A0A(B BBBA U8G0A(B BBBd*h¿òÿkB�EŽB �B(ŒA0†A8ƒDPJ 8A0A(B BBBK œ 8A0A(B BBBJ L|*pÀòÿåB�EŽE �E(ŒD0†D8ƒG`| 8A0A(B BBBJ TÌ*ÂòÿžBŽB�E ŒD(†C0ƒG@X 0A(A BBBI d 0A(A BBBD \$+XÂòÿAP�BŒA †D(ƒD@N (Gà AÆBÌBÍK l(Aà AÆBÌBÍF@ƒ†Œ�4„+ètñÿŒ B�BŽB �B(ŒA0†A8ƒDp$¼+Äòÿ¥Aƒg H R N 4ä+˜Äòÿ­A†DƒG d AAF U FAL ”,ÅòÿæB�EŽE �E(ŒD0†D8ƒG@[ 8A0A(B BBBK � 8G0A(B KBBN n 8H0A(B BBBI { 8G0A(B BBBM $´,hÆòÿ¥Aƒg H R N LÜ,ðÆòÿûBŽI�B ŒF(†A0ƒ® (K BBBQ  (A BBB<,- ÈòÿEB�BŒA †A(ƒG@à (A ABBJ Ll-°Íòÿ!B�DŽB �B(ŒA0†A8ƒD�& 8A0A(B BBBH ¼-�Óòÿ\Aƒx G 4Ü-ÐÓòÿdA†AƒG M DAE ~DA.ÔòÿBAƒl S A<4.8ÔòÿÉBŒF†A ƒQ ABC T ABY t.eqñÿ�RƒzÃÜ”.¨ÔòÿÏB�BŒA †A(ƒG0G (A ABBF ° (A ABBJ  (A ABBJ • (F ABBH £ (C ABBM Z (A ABBP ù (G AJBE Æ (G ABBJ Ñ (A ABBJ $t/˜íòÿKA†IƒD wDA,œ/ÀíòÿFBŒD†I ƒsAB,Ì/àíòÿFBŒD†I ƒsABü/îòÿ'0îòÿ0,00îòÿÓDP» A L0ðîòÿãDPÉ C l0ÀïòÿËDP­ G $Œ0pðòÿÓAƒGP± AF ,´0(ñòÿJBŒD†I ƒwAB$ä0HñòÿNA†IƒG zAA, 1pñòÿJBŒD†I ƒwAB$<1�ñòÿ@A†DƒL lAADd1¨ñòÿAAƒ] Z m K y W t L A O q G Y O L4¬1°ôòÿ”BŒD†D ƒr DBF AAIä1õòÿDL<ü1 õòÿ>BŒG†A ƒu ABF M ABH <<2 öòÿ¹BŒD†C ƒ^ ABN s ABB |2 öòÿODa K Uœ2Ðöòÿ´2Øöòÿ Ì2Ðöòÿ ä2Èöòÿ ü2Àöòÿ 3¸öòÿ ,3°öòÿ D3¨öòÿ \3 öòÿ t3˜öòÿ Œ3�öòÿ ¤3ˆöòÿ¼3�öòÿÔ3˜öòÿ ì3�öòÿ4˜öòÿ4 öòÿ44¨öòÿL4°öòÿd4¸öòÿ|4Àöòÿ”4Èöòÿ ¬4Àöòÿ0DS I OÌ4Ðöòÿ‡D [ A ì4@÷òÿ58÷òÿ50÷òÿ458÷òÿ"L5P÷òÿLDCd5ˆ÷òÿ%DZ|5 ÷òÿ%DZ$”5¸÷òÿMA†DƒI |AA<¼5à÷òÿËBŒD†A ƒF ABH F ABO 4ü5pøòÿ—BŒF†F ƒT ABK RAM46ØøòÿL6àøòÿd6èøòÿ$|6ðøòÿåAƒy F Z F ¤6¸ùòÿ³GঠA LÄ6XúòÿÝ B�BŽB �B(ŒA0†D8ƒM ± 8A0A(B BBBA 7èóÿÂGൠA $47˜óÿâAƒGàÓ AA $\7`óÿ1A†MƒI IFA„7xóÿ™GàÈ A ¤7øóÿ¼7 óÿÔ7 óÿyBŒD†D ƒ,ô7h óÿ�A†JƒGÀg AAA <$8È óÿÒBŽB�J ŒA(†D0ƒy (A BBBE 4d8h óÿ~BŒF†C ƒH ABJ ZABDœ8° óÿ@BŽB�E ŒA(†A0ƒF@Ü 0A(A BBBK Lä8¨ óÿiB�EŽB �B(ŒA0†A8ƒGPè 8C0A(B BBBH d49Èóÿ~B�BŽE �E(ŒD0†D8ƒDP 8A0A(B BBBJ D 8C0A(B BBBA Dœ9àóÿMBŒA†D ƒH ABF Z ABK ˜ AIF ä9èóÿü9àóÿ $:ØóÿiA†DƒD ]AA<<: óÿ|A†CƒG m AAF N AAH UGA$|:`óÿcAƒG n AI ,¤:¨óÿjA†DƒG D AFI DÔ:èóÿ¦BŽE�H ŒD(†D0ƒG`z 0A(A BBBA L;Póÿ9B�BŽB �B(ŒA0†A8ƒDPý 8A0A(B BBBA Ll;@óÿB�OŽB �B(ŒA0†A8ƒD@k 8F0A(B BBBA d¼;óÿuB�BŽB �E(ŒD0†A8ƒD€‚ 8A0A(B BBBA ˆ 8A0A(B BBBM $<óÿ0\<<0óÿcB�EŒA †D(ƒG0g (A ABBH @ (A ABBB o (A ABBA <œ<@óÿ)BŒG†C ƒé ABA O ADA LÜ<0óÿ›B�LŽB �B(ŒA0†F8ƒDP· 8A0A(B BBBA ,=€óÿ3TZ<D=¨óÿxB�BŒA †D(ƒJ0n (D ABBF T„=èóÿ¾BŽE�E ŒA(†D0ƒG@ï 0A(A BBBI \ 0F(A BBBG Ü=P!óÿAIƒ\ K ,ü=€!óÿQA†DƒG i CAG ,>°!óÿ>HƒO I ]L>Ð!óÿ>HƒO I ]l>ð!óÿ>HƒO I ]Œ>"óÿ9IƒZ E ¬>0"óÿQIƒm J Ì>p"óÿQIƒp G Lì>°"óÿ|B�BŽE �B(ŒA0†A8ƒG@~ 8A0A(B BBBD dB�BŽB �B(ŒG0†A8ƒDp 8A0A(B BBBH 4TFøUóÿrBŒA†A ƒGÀ{  AABF ŒF@Wóÿ¤FHWóÿHDC|¼F€WóÿYB�BŽE �B(ŒA0†C8ƒG`ç 8A0A(B BBBI … 8D0A(B BBBF ^ 8D0A(B BBBE B�BŽB �B(ŒG0†A8ƒDp 8A0A(B BBBH 4´Kx„óÿrBŒA†A ƒGÀ{  AABF ìKÀ…óÿLÈ…óÿHDC|L†óÿYB�BŽE �B(ŒA0†C8ƒG`ç 8A0A(B BBBI … 8D0A(B BBBF ^ 8D0A(B BBBE œLà‹óÿÈHƒ¿L¼L�Œóÿ8B�BŽB �B(ŒA0†A8ƒD�z 8A0A(B BBBF 4 M€”óÿÉLŒA†A ƒSÃAÆBÌL ƒ†ŒDM•óÿ‡4\M�–óÿ€BŒA†A ƒx ADG H ADK ”MØ–óÿnAƒfL´M(—óÿùB�BŽE �B(ŒA0†D8ƒDPÍ 8A0A(B BBBA ,NØ—óÿ A†AƒD0" AAF <4N¸¢óÿB�EŒD †H(ƒK0‹ (A ABBA dtNˆ£óÿ�B�DŽB �B(ŒA0†A8ƒGPñ 8A0A(B BBBB M 8C0A(B BBBG LÜN°¤óÿ B�BŽB �E(ŒA0†A8ƒD°Ž 8A0A(B BBBG ,Op¨óÿÂAƒˆ G LO ©óÿ<dO(©óÿ2A†FƒI å FAL T AAB DHAL¤O(ªóÿeB�BŽB �B(ŒA0†A8ƒGPÓ 8C0A(B BBBH 4ôOH«óÿÁB�BŒA †D(ƒF0¨(D ABBL,Pà«óÿB�BŽB �H(ŒA0†A8ƒGÀŽ 8A0A(B BBBA D|P°¯óÿEBŽE�E ŒA(†C0ƒD@ƒ 0A(A BBBA LÄP¸±óÿ>B�BŽB �B(ŒG0†A8ƒDp 8A0A(B BBBH 4Q¨²óÿrBŒA†A ƒGÀ{  AABF LQð³óÿdQø³óÿHDC||Q0´óÿYB�BŽE �B(ŒA0†C8ƒG`ç 8A0A(B BBBI … 8D0A(B BBBF ^ 8D0A(B BBBE üQºóÿÈHƒ¿LRÀºóÿ8B�BŽB �B(ŒA0†A8ƒD�z 8A0A(B BBBF 4lR°ÂóÿÉLŒA†A ƒSÃAÆBÌL ƒ†Œ¤RHÃóÿ‡4¼RÀÄóÿ€BŒA†A ƒx ADG H ADK ôRÅóÿnAƒfLSXÅóÿùB�BŽE �B(ŒA0†D8ƒDPÍ 8A0A(B BBBA ,dSÆóÿ A†AƒD0" AAF <”SèÐóÿB�EŒD †H(ƒK0‹ (A ABBA dÔS¸Ñóÿ�B�DŽB �B(ŒA0†A8ƒGPñ 8A0A(B BBBB M 8C0A(B BBBG LB�BŽB �B(ŒG0†A8ƒDp 8A0A(B BBBH 4Ü[  ôÿrBŒA†A ƒGÀ{  AABF \è ôÿ,\ð ôÿHDC|D\( ôÿYB�BŽE �B(ŒA0†C8ƒG`ç 8A0A(B BBBI … 8D0A(B BBBF ^ 8D0A(B BBBE Ä\ôÿÈHƒ¿Lä\¸ôÿ8B�BŽB �B(ŒA0†A8ƒD�z 8A0A(B BBBF 44]¨ôÿÉLŒA†A ƒSÃAÆBÌL ƒ†Œl]@ôÿ‡4„]¸ôÿ€BŒA†A ƒx ADG H ADK ¼]ôÿnAƒfLÜ]PôÿùB�BŽE �B(ŒA0†D8ƒDPÍ 8A0A(B BBBA ,,^ôÿ A†AƒD0" AAF <\^à'ôÿB�EŒD †H(ƒK0‹ (A ABBA dœ^°(ôÿ�B�DŽB �B(ŒA0†A8ƒGPñ 8A0A(B BBBB M 8C0A(B BBBG L_Ø)ôÿ B�BŽB �E(ŒA0†A8ƒD°Ž 8A0A(B BBBG T_˜-ôÿÂAƒˆ G t_H.ôÿ<Œ_P.ôÿ2A†FƒI å FAL T AAB DHALÌ_P/ôÿeB�BŽB �B(ŒA0†A8ƒGPÓ 8C0A(B BBBH 4`p0ôÿÁB�BŒA †D(ƒF0¨(D ABBLT`1ôÿB�BŽB �H(ŒA0†A8ƒGÀŽ 8A0A(B BBBA D¤`Ø4ôÿEBŽE�E ŒA(†C0ƒD@ƒ 0A(A BBBA Lì`à6ôÿ>B�BŽB �B(ŒG0†A8ƒDp 8A0A(B BBBH 4@>@&>@6>@F>@V>@f>@v>@†>@–>@¦>@¶>@Æ>@Ö>@æ>@ö>@?@?@&?@6?@F?@V?@f?@v?@†?@–?@¦?@¶?@Æ?@Ö?@æ?@ö?@@@@@&@@6@@F@@V@@f@@v@@†@@–@@¦@@¶@@Æ@@Ö@@æ@@ö@@A@A@&A@6A@FA@VA@fA@vA@†A@–A@¦A@¶A@ÆA@ÖA@æA@öA@B@B@&B@6B@FB@VB@fB@vB@†B@–B@¦B@¶B@ÆB@ÖB@æB@öB@C@C@&C@6C@FC@VC@fC@vC@†C@–C@¦C@¶C@ÆC@ÖC@æC@öC@D@D@&D@6D@FD@VD@fD@vD@†D@–D@¦D@¶D@ÆD@ÖD@æD@öD@E@E@&E@6E@FE@VE@fE@vE@†E@–E@¦E@¶E@ÆE@ÖE@æE@öE@F@F@&F@6F@FF@VF@fF@vF@†F@–F@¦F@¶F@ÆF@ÖF@æF@öF@G@G@&G@6G@FG@VG@fG@vG@†G@–G@¦G@¶G@ÆG@ÖG@æG@öG@H@H@&H@6H@FH@VH@€Ao Doý~DÐDo€Do‰D' àŽA ”A ›A€šA�˜AЕAОAp’A �AÐŒAp�ApëA êA ìAP,A‰åD€)o ,oÀ.o`1o@2oà4o€7o¸Fo¸Ro›öD(Hoý~D‚ªF+ŠªF#÷~D#ò~D+‘ªF+™ªF#@ ªF�KB�ÚAÀÚApKBSBÀ>B@ÚAÙAÀ9B(B¢ãD5«FÚA08BàKB 7BÐ+B*B�)Bý~D‚ªF+ŠªF#÷~D#ò~D+‘ªF+™ªF#@ ªFpB�ÚAÀÚAPBð†B rB@ÚAÙA mB \BMOHZOHÚAlBÀBkBÐ_B0^B°]Bý~D‚ªF+ŠªF#÷~D#ò~D+‘ªF+™ªF#@ ªF³B�ÚAÀÚAà²B€ºB0¦B@ÚAÙA0¡B�BÆÚIÏÚIÚA ŸBP³B�žB€“B’B�‘Bý~D‚ªF+ŠªF#÷~D#ò~D+‘ªF+™ªF#@ ªF`çB�ÚAÀÚA@çBÀÞBÀÙB@ÚAÙAÀÔB�ÃB¡[K«[KÚA0ÓB°çB ÒBÇB ÅB ÅBÀïB�ÚAÀÚA@ÙAÐÙAàÙA@ÚAÙApñBðïB.^K8^KÚA°ïBPðBý~D‚ªF+ŠªF#÷~D#ò~D+‘ªF+™ªF#@ ªFÀC�ÚAÀÚA C@CðC@ÚAÙAðCÀñBûLûLÚA`CCPC@õBÐóBPóBý~D‚ªF+ŠªF#÷~D#ò~D+‘ªF+™ªF#@ ªFPHC�ÚAÀÚA0HCÐOC€;C@ÚAÙA€6CP%Cå™Nî™NÚAð4C HCà3CÐ(C`'Cà&C…C€Mold.bfd.debug­d�“ý7zXZæÖ´F!t/å£ài¿I]?‘E„h=‰¦ÚŠÌ“âNÙ1ЕÄ4:Ñ”õÒ‡�p ·`ÍÖü»9^f¼öâ· )d¦=añ1�¨wð0·Õqîµi“rhÁ€¤ 'ÄQ­ƒH•¡f»„X<&Â"‹cõÅi#µó¤jÂn^êñü÷…Êÿð¶"÷—�J"ÿ0V©P{‹ �€Å£;_ÿ�àú샹Jny·'ˆß¹òèÄhŸØLy¸~LU £ŽpaÇäd1p¿Ûõc¥&¸Â&ÜvÇ+ðªLÿÝ~ʃúh�ìÅQ÷Õ½LøY6b«ÄúšHþn`Í,-C¿ °ÇËÝ%XøÍ�‹ WÊ„á÷p=º«¶7Ÿóœ¦BòF.&*^X3±.°Ýî¾S`ÏÌoÕÀ^ø³ÅÇ÷dÄ„u§‹~ì™Ìßè›n¢®? ÎôÜM¾«� † �a‰^’Ïš? V‡£®]ª¸FQBòW£vábŠ¡Â¬Í±Ý�¡…tö²Þ2„À5ä¼¼¤ª½9h„ÑëìbµŸ°ãý‡cÆM}ÃÖÅÖóÜ-¶wÑýjWw5<%Ž~d«]ŽÉ•_ùH~"ß pÈ-âÕ•q×ã¢ó°Äè/ñi啇ÝaÕIö‘–Ö%Mº]ýZÏÈ)T»(5Åêa[¢¡3í:aúàч95EÂy „,ç Gߥ½)‘eAô¥´¯^_E ZE�K2£oõ.ÿ~?U‹@”’,2¬Œà †F9«1�ßúJò,ÇÝ*ðyìû{DåçyÂT·t»~qü¥Ÿ ÑHj“;˜a"¤f«Geš‚8ÅHo^Ü.ÀAN¸Æñ(ò"v ø”ùRpRÀ>ÆÇáùˆ¡Œ&uݨ逷`œŒiBáÉZa?ªw–w„âöêñžyûkýDÏ©» vFÀ�lN¼c‡ÁßÈÏä’ÜË�e Xýj—{½@’ÔAég"¢1Ö§ŠJØ:&CÓÜ–•µëÔxÖl´Ñû"n‹A8/ÏÜZÊH“1¾YöÅSÔb|^£+p 2ÒÑÌhëäA ‡ÄÜ®Q[íÈ´pÀÿ.JX+ Ôêœ1£Õ´�S£k‰Á˜RØ%á«„¨¶îäAAZ¦Û©ïHGü§RT“ðÜVnµ¡Á‘‚Ïbà�fš²ªeÃCÔbÐ;)Úˆñ}HÁ-ÈóÅß ì¹±bö]£k°BY ÍqYH?s™1 ¢yBžJ�XCúst¡ÿ¿¼,çP|ësüÈ%¿Tö¡o7„ÆÛlÐЛZûÎÜXÆI¿H8hk–«£Pÿ¹fŠœ+ý�ÓÄ)61�ó ©qùÙ…”È¥EB/ñÜÅ—y›Ño-‘s�Ž t¾¨Sèýjµ“ŒY7‹µÀר#WæL³AÄ“º¹� J‚ +Èl’õ!!°SÏ=MrÉsœ‚ Å5¢¬_õ¡è"¯¿'>ô¥bþ¥ o)Ûv˜g:¯òi¿¾E¾\ê�bSÙ$öU´Ýa´ð$óS6–' Ï/—èä©›íî°–‚o©rÚs ˆË½ 䨖4é¨c0A¾V<•Â�uü¯àf¥ÛÑÐ2!l ï¢Ä7‰à[ú—ÖJ¿)Çín: Ci{Ñø‰"›”3'cCÖjbc²ÄBj ;F­ïïCÕ ‹Ç­Yj Ô 3G67èD2Dß›4¡\=6´Ï¡JÂH—-:¹FhGÉs|iÕÕlž%$ìv¸âä½ï¡>ÕñS¯öŒþvcš"ä¶=‘f;Ö@ÎÌí&S`Ce šžÅŽÙÿìŒýµÐpå¹á¸/”˜ü`@RpAÕ,�šöž—È$v"YR‡¢ÁvÌ¡T¯æùp'Ũä/©ª¸ãÅ7¦B1%bgÕÞd{ßô½¬É¼Ó:9 4`xP›|úqj (ËÜÿüeZ?ÆÆ~ /"îAŒæU›÷x§£4àp¹ ”ñнÍ»;$¡¥œO¡Ý¥ë_£k™¥µn*ݵ+Kr:µÝ�¹Šÿ Ø1+ïwbÌT›•“)�Ä´jÕð£Ï ËêîGÕ}Ò�Š\üŸI:l�—cj§K" ³rúPÍvaf †?7HUÙTSª-E€  Ij³î�çdÂ=ÃÿÈy¦>ÃÀÖˆò_ƒè Ãvê^8úB–o¢Ø4(À£³.”ö¬Š—ƒÓ E/Þ’¨A¥Ñï5ˆqýÚõÈÒÓºN:6‰ÙÒà_È“áÂO�Vò•�ëÃÌÞ \ûi¢žjã�gQ׿�y=o†t�ļgAÈ`<ጅÈ”×Jt&Óù�ýlù·š_h�–qóJ¡ØŸRtCßmAvG¦nŽnò ‘_½ëYˆ!Á/Ô­ €ÔòÜ&cKà+%ü£Ž˜ƒÀÏ�‹Kö`µiïÉr½aB†‡'áfÔåuÎw¿ø]Û±38•˜˜N¶Dš_NþJu°û^ôlôWCŒ·²�aWÛÙsxzö:Ü€ óØ‘–Š“.*Ý[l©µÊ‘i‚1vaÝ£ÕL3Ä_…'æúë C*·V›÷vj£0¤�ˆ¸ <ô›ú¿@ïÆlyÝõõs„*lÛ�¹ÖÖ�wdí”y_ Xr‹Xã Ñ:m�æ‚1-ß—…žNåúÚG7zÕè‹GÜ:¸†üŸ?AŸsÎJ«…+‚#�"[ *„ii¯�³¡¨Î…Úp”h�˜«+ê÷íQö­4QšáA¡Ôet Z=šàdÞ¡ªa,~è唟ÂYÀÐáèRôL)ŽƒŸ¤—Qèð`A¾vþW�,åy6 VNljÈ»oh[éa‚ô ±e$NR¾3؇oMƒ®ªä‡?"{›âux+ß]Ü�%’·û�WÇQ Ëq#$ê4 úô5¹‘Ò.+h> o»¡@ ¼re �vAÍ\±vèk$>¤‹L «ýîB[Õ+ã„XŒ„ùÁN¼6½¦ÚW�L(%è3,wf¥½v¾«£»ê¬Ö*Ø+l¿¾“  ô8ñÓÚÒ˜¬S—Ï‘uD‰’ ŠùnH$°M"$Rkq>Dfóa~Ÿ¡ªZåj¨]DrHµ�•n“ˆ\Ͷ}vôÙÿ ª�çY{:œ*ÛD^A»ŒLo¾õJrür³H Íb¾‡»þ"2,1SÑZkDÉÀ�‘>%¬ÛrÍ.E€Ír`’ÚçFx|¤DÁoB:,Öezëùõ{¤�B h1 !ßZl.{#™s1å¯Ï×�F毡@)ªÓŽ8P³@ŽpÝ�;ì%d7Öºµ=§,øó.N÷ 3FqL€áüà4ßå e1¼p�I§7ÛX¸Ç%¬Ó”ªîu°¯À¹¨ n]�ˆî‰¨Mó.�òÔä…®"A3=UŒô+dbK6�¤­ësÖÿY£wqåF½@Ñ‚ü­T™LiéX’ç-‹~�0côýÕ�‹W·˜ý؈SÈ„\›‘Îw[6sš�§ép:ø;8ÆeÏ®€e¦P»|­ÿñÜ} ™ð*;ñc' ÒQ•gÔÿµªƒ³yÅ;Pí ¨¡šJ¤{¾“åw-¼ŠE¢°wSýµx¾}f½ÂE7Ǹ‘8Úé+—¹“¸ŒI­ÀQjc% ¬[¾@V�Áð–úÑHÁ|¿îÒ:ø]±äŠyñê7:œþ›8 Ñ\zPÞV Þò $V…_ &C1ˆ®–pq®ø×ŒB4pÆ"3¯–M{Ô¦  ˜?Hƒ‹áËÀ Ôü;¨6HJÝ›ÖËéÚ¶ZÏCÌ2)½fItpا²ê¿©�®#´ïX‚Äý GÛÓVv'“P»ßd®©’�Z5ä$³;Â"Gu"í¼Ðwh¨°àÚóYGä :”P¼EˆÛrÁTT‘•=øOû¡~;‰‘V–€¹ÖŸÚ¤Ðñ1äjÎ ©2XN*L àåŽÁ‘ðD;i×ÅÌ'¢|Å}5k¿Ã]|ýîŠ,®ÔÅÞ4¨ŒÉ&h_4Á´¨uߣ›$c™ª[Cˬ’Qᦦ`ïL“„.‹FŒat`ÈGß&�¾Ÿ´½×,±ÍÜ¥8tcx iûh ’Í;èZSÔ`ƒþ¯k—ÕFN0™sÔ±Ô+æ«\†;‚UlØ¢å�ñ“lNÄó[Ö�ò IˆK-ôÍå=C»µ¡ÄûÛXp-vå*7v„6°ïd}!+&PeÚëq“Z¾«3¨/M&ñžÆ1(iê]gS¸üΘ7²0Ìx}ÓÚ3Ÿ�Q9èËÂ÷…ÎÙv®½É‚ ,K²Á~|Ès­¡Aìn|A:å\ØG–qô¿£iȽ^§ òU/ÎÏãªfÚAПٞGHíñ��^žoô+>2°\t§e 肟0¦¦e¯V{¥Ÿ³cBl¤?¶C/ðf‹¨ÊÉëÖnx&dñŽN@;© ©ÞßAZÓ‹üJÅû3*ra 0M¹2ÜѼÒhË¿]h®"Öí¾ÈTÙöo6.jÉšÖ—ž¬©m´©ÀüÍ^2û@TÐ�2ç×ÍÒ͘eÌg¶TÓ#ý! [¡5Pyµ+®Ž-{Qˆ«YëÖ`€£ìm̑ɅT:o¦SF±ÇB©P4È#5F�tš}‚éM±Sz°¦çUË�~WwÜàóÚœg]LJ«Yת´¤ÐV»f|É·ïêŠÆ�‘ ££qjÇE®¢Ò`Ùl1hÑœ.ûÄÏA, Ö•-5£õn®-»¾I"Œn)¥ðЍߨ,Ñz4cCKŽliIþª¶ežiÂÔeÀä¦.¥Í@öØò�ƒî”1WKÜ¥œŸÈ g:¥<Ê׌Ò}to {ù&I™ôí#1˜¹É w˜'‡§gûþÒAUG7C(2l(Ÿ¨À7ÈjXàdíî�ÑÄs(OÊÆÏIµžÚëØQÉb:ÇtÕb �î뎂‚8²+Œzf<-ìЩ‚n-¨ö2nf\ÓÉ÷§2œ ôc ÇLv…°ºü¾ h*)nñ] ÅŽí†ãwÓéc(u4%û²p£Þ騒:ïì<íâå­TØùžÂ ;¬_y�í…þØœ dÚãÇrÞç�{ÚØ7GB§A-Ãv˜‘À²�ìºû$ß+ÙÛ®:ïaÜN­/俆zG•ÉâŽ:I,ÿßäÑÑ[¿.D„o4&\-ÿ­ñ |`zÑÒI»ÂwïS9�}»Nè•m†¾eötì ­s´a8ôÓGcLæ8즅žqf¸Æq€ô÷MðWZ{^ͯš» ȉn&Þw·X±�¶Ìr–â$È©Ä?½û,š¾(Ýš«¿…Gw‰ O¦lu#ü¤·0[‹ª•bpaÖ|Á4Ù8æWý-ÿìÛ2—Ò¦è#RQH'Vk&WYãØQê?˜Ô̘…7ÝÇEÝB ®š)¦\Ý5¤áÂí1{›zëØd4@ž¿ò¡oTœacï·3Ã4fwÖÛOIU¢ Ü?ç>T3ן4‰ƒý’`w˜"„>q€ópiYµ®Oƒ³ú‹t€, IžôÙÓHƒ”;ú Õûß�Å�=_ÈS+‹¹p¼öcœYÕå·»ãº<š~s¦пâ±I”ÄQƇ�CÅñaB¸›…çºõ—ÛÔŽànNEÓ!Æ5¼›ÛáÔÞê&rCcɼ§�d©öÀÜ“l·’»¼¼+‰ÑI¶+²²O ¼5¦©¹À2�EÖjÎAŒ2½º¡ü­îöoæR°(‘_¥s‚‘SŸO:C–A>9ytÿ>˜ðà0Ú ±ƒË” ™Àÿ©<ŒÄ—g­û}sïÏ1#\.ðv?‹f‚©%´«-ß[�kôGö}ŸæÈr<,V'Ege3Ä�ů®‘ëaØÁΣšÍ,̓6Ÿ’£­'Vm& ¸[G¥%·æÝÏbûìà¨j&›\ŸÙs³DíKûÍ–«Ÿ©M²Ø¥UöâiÑZ¸Ñž�¨ xâËÊÄÉj\KG–éÔÌh™-réM ¾SøîV¶¾TÓ¡§‹z Öefî…¿¦� ÂV ‘¾FÆAYJÛ¿Ú8¥D„~:¡|6`ò=KOz¨šnYƒ/Oé°´ãT2 òœº4±½é •�ÐLz=çúÎu3ç&ìÿF<#™ù»˜Œ.+Xˆ‚»�œj"S°ƒ7�#atä" tü•Žz"Qe»Å�LYÌIØ$Àœ™û÷¼VèFÞ9[G™›H\H7øË€8šü4&¢Îy¶«ÐÀ7Ê)lÈÅÔ÷[Ï�î¾FÁÿ‰e %¸çl f9r®ô(sïâéYD&@|¤8˜¸ȉ iöÞî:ׂ•T „œÃ‘)Nx†¾H“¥Yî×ï,kÇžh0[ê€i®äNü©Nœz\.+|XÑ¥[¼ àÊp`Äûò�‡È1Ä|$F2êzå�;ÓAMæÍ;^]¸G3Ã]‘XÇAˆý¦,£À=¨qH#w"9+–åM`tãü‰I¬7Ýn+2³Xß[#î>:‹F»ã@MÌ)¹yÑ^Õu.*l¼Ñ4b?xÃÄ Â@v²è·Ƽk«IúêÎ-Ĥ/[a>é}P�²wÝ�AmS¾Ñ¤VÔ?¿šØ[•KÇÏI'mH =Í*JÐóH’/»­wO�†ù„¨æÄêP™c�/b‚œ—×Ä…5÷)ëÌgŸD°=06'Ù˜…zÜýÂ8 {¾Y;œwW /éhcúßZ_¹Ó«ŒLT;…òl•‡\G=÷ä¶N¹6UH-Ë9aõdäg©žYZM: ÂÈã2ä~#J\H'‹I ™mšØŠÆ»›»K,Dï$2ÿ0ò­ÉÛ̶]#6)Io¡‘g•†¾þ#ñ`‰Hy] @(Wµ-ŠhÊ­”9¼L'�`Æy¨s“æ{ÓPƒÏ/ú™CT9àPògïe_½LL¿«=BÏÑÙ�jÏÉ@aÄð–rÕ�9-µå�ž�»‹!ø 8ãÆ1âêÍź ßŒ„‰bµù•+±fe[É[­g‡VÁAKÉ\�":—Ÿ]RGV¹ž'ˆL vfƒ!qìž:¸€í4ï/Z¦Á¬‘óÞÆ()¡ovæÙðÚß1s©¡´}`PÊþ°éÍs{–PcÛ®T#ÅÌ'ïl©ûvj B¤òKéGFÝrRº¶Å0³Â–Îd"K#sލ‘×^mµïg} v+�áÖ/¡êÝŸÃ`S¿€B�ïÛ·-Ú±m)8JíÿdÒ�ºE^»Vë8#Õ½+·£…LS92RÅ¿‹\hØrQEè‚{Ô¤µ/Ô–“WØÔPÜÕ™£1]jŸú{[)�Â{ˆnÛ؇ZÎð&Ñ;'$Aêó–G›¥y�“Of¹ \­çf×sÕ—)Ç<› }¹Ê¾fÓØz�`:±#AA­nã Æˆ·'ˆ+xx0Ê}<¬.S×ô$Ä?…+ ¯Å�[ðgœs@©ãmÅžŸHÌÝŒåÐN©7²t�ÍýÞ.ZKx¬‹þk*²é;”J.¡AøË»BZ•°YåÕrŠK͈þéAm>Ð}:éܪ#µò”ù}@ íx-+ûÂÐl¬^âl¥D=ƒ‚ÑTo~Èt(½u¾�¤á‹}Ë${Wr?Àðéë }ÞHÈ‹+håU˜%ÖZ¶ÿ’¤uš&ŠÇQ¾÷Á eké¤Üòš#Ø´LOùáº1¶@LZ]$ø�èR´™:.BÂèHÿïú*dLå­H ²™òôIw†a¹ÐÙ¸!òò„í.cæC-;wǛǼUl´S¹ê¥|%ÇÓGóÌÒSÀ½A&RPto bBrÆbäÎͶ/hšµ¤}½ß‰w.óª¿ûáñŒjQÚ@)~ oû"-뻸¶™¢Û!Êã¨hl^ÿ½”9¸ºjô�ìI6óˆq›Ø ºÿ¼VK4xÿþ­2u™]\–Mgú›�®}�ôÇNÞ*ƒ�¤œ¹¶8„�âdý 3Ͳ¤ˆa–‡kK5î¬ÈóT�$Ä’+>¸Âo³Qª©}(¤µråJ-ö2ipuÖó�Ã~ÂÑÕm/ Qg›Žô¶è zón2(Réµè¡oÄ÷®ŽìpŸuDÚŠ’¤Mø£&J˜ƒ" ="U û bk"ÂäÑ÷*å2ÀÓ$᤾±ÄgûYZ.shstrtab.interp.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.jcr.dynamic.got.got.plt.data.bss.gnu_debuglink.gnu_debugdata 8@8T@T !t@t$4öÿÿo˜@˜à> x@xÐFH@H„ NÿÿÿoÌ%@Ì%¼[þÿÿoˆ'@ˆ'pjø'@ø'htB`)@`)x~Ø;@Ø;y<@<` „`H@`H¢AŠŠCŠ � ŠC Šp ˜�œN�œÜ¦p­Np­j°ÈoȼÐoÐÈØoØÍàoàÖàoà Û o @ä@&o@&  ê`8o`8h ï`8þt8ŒR