Spade
Mini Shell
| Directory:~$ /proc/self/root/etc/alternatives/ |
| [Home] [System Details] [Kill Me] |
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
GNUWb�1f&Jm�Jx��w���� B)� �e��
��
�
����������������U�f2������|�qXu�
���|nm���@����pT��<����O��BE��D��9�L>�h �H���>[���j�ugUa���`(��c����S
�o)�'��j�
� �
�]���x#Av9��iU ����;
! 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.els2.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 ox 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����@<D�Hc���?
D9�t�� .D=�~�D��`JD����6
DI���D��.L��.[�SH��H��H��
dH�%(H�D$1��=��.t7�H�t$������.1ɿH�C����)�H�4�`Bo1���H�T$����8ou$D�H�|$����C�1����H�T$1�1�H�ٿh�C�СH�D$dH3%(t�{���H��
[�H��PH�=��.���D�1��)�������AUATUSQH�Q�.H�Z�.L�%+�.H�
�/H�<�H�!�.H�H�pH�TI9�v
��C���I)̃x<u1�I�������/I��1�L9�s��H����H��z@uH��.H�B
�9D��E���B��H�
�.H���.��H��H�-��.H�{H)��{(t3H�CH��H�uH��H��H�H�C�H�SH�CH�p��H�C�H�CH�CH��u
�8�C���Hc�H�G�.H�H��.H�&�.H��D���B�X���H��=
�
N�L��1�HyH��HE�H�8t=H�
�.H��t1HcӾ��9؉�}
H�=�.����t�h�C1����1�H���.H�
��.Hc�H���.H��H�B
E1�H�=t�.u5M��uH�=��.A��~8�H�e�.H�n�.A�H���@@H�F�.H�
O�.H�(�.H��I�H�+L;ev(H��H�}I�4���H�EH�H�xu
���C�{���H�L�%�.H�@B� H�H�@B�D
H�H�@H�r/D��Z[]A\A]�USH�����.H���.���uzH���.H���.H��H�@H��.H9�s��SH�CH�-/H�]�.��������tS��t��u)H)�H�/H�4�.�H�={�.�D$�J7�D$�!H��.�H�J��RH�
�.��.H��[]�Q�?������t��*t
��
u��.��*u������*t���/t��
t��u�Z���C1��XÃ�����u|SH��1�H�31ҿ`Fo���H��u1��\�@
�t����.������9�u�H�H�=@/E1�1�A���Oo��1�H��t�xuH�x(=ou
1�H�x0��[�1��AWAVAUATUSH��8H�t$�|$dH�%(H�D$(1��T61�H�$�I���D�H�D$���1����D������D�L�D�Z�L�D���H�D$H�8H�=A/�<�H�t$H�|$��2�H�H�=!/������A���0�AH�~�.��9�T$H�L$��~B��H�AA���DL�\�A�
�f�H��L9�tH�L��L��H���u�H�z
���DH�=u/�?��H�=�/H��������Y/���D����u*��D�1������DH��1�����I������D��/��/:��/����H��/������/�z/��/���.������/��/��/���H�����DH��.�&o��H�/Po�
��.���
��.H� /��D�g�.��.�
v�.H��.��D�ȁ��.�Z�.��.������.������.������.�1�.:���l$��DL�d$�`�H��I�Ƹ��DLD��S�E��A��D�D$�'@9\$��O�t��fD��9��HcùL��M�<�L��L���u�A�t��/�D�L���t��6�DL���J��t��=�DL���9��t��D�DL���(��t��K�DL������w����R�DL������b����Z�DL�������M����d�DL�������8����n�DL�������#����v�DL������������DL�������������DL����I�W��LE�����L����H�t$�|$�φH��H���.��H�=��.H�j�.���H�f�.���\����|$H�t$���.�PH�=(�.H�������5�H�=��.���=(�.��H�=r�.�����D1���H��1��1��H�D赗H�==�.���
��H�=&�.H�����@�H��1��z�H�
�.�
�H�����H��u�H�=��.�p�H���(��H�D1��<��=y�.���*��|$���=��.ue�=�.u �=J�.t81��-�1����D�<�H��1�貗�5������H��.�`���1�����D��H��1�聗�=�.�/�_�H�=��.H��t!�?-�Q��GH�9�.H�j�.�
���.��<H��.���HD@�v�.�t/H�
��.�qD��������B��@����� ։qD�2TH�=�.t���=,�.tH��.H��HD��.H����H�=8�.t聵�=�.�r�O�読�=W�.���=&�.���=�.�p���H�,�.���D�1����H���F����~����DH��1��_��+������D�<����=D�.�����5������D�O�H��H��.�������5�H���.1�����D�M�H��H��1���y���H�=T�.�/�����.��<�3�=�.�&H�Q�.1�H��H���H��L�i�A��~2Icž$�DH�\�H���������)�DH����������m�A�}H��Hc��^�L�-��.H��I��L���y�L�モ�D�.exe�@�B����DI��L���2�M��I����M�����Du
�XHc�L��H���/�9��3L���H���2���H���L�����L��������NL���z�H���r��=_�.��H��.�q���1�����D��L��H��1��W�����]'���H�=�.H��t"���u�.��H�=��.�#���H�|$$耀�|$$H����H���ڢ�8�.�H���.�����.�����{����`D��s���H�,�.1����D��H��H��1��n�����1���I���z,H�=C�.H��H+$��1���H�DL�%��.��H��H�ؾ@BH�L��H���I��H��H�=�.I��1���1���h�DH�M�.�h�M��L+D$H�=��.H��H�پ1��W�H�=��.�k��a�����@������� ։qD������D���H�|$$�#H��1�詑�\�����.�D1����L��H��1��V����1�����DH�.�.���H��H����E�Z���1���K�D��L��H��1������H���.1�����DH���f�H��H��1��ّ���1�I��^H��H���PTI��CH���CH��N@���f.��g8oUH-`8oH��H��w]øH��t�]�`8o����`8oUH-`8oH��H��H��H��?H�H�u]úH��t�]H�ƿ`8o����=)�.uUH���~���]��.��@H�=p�.t�H��tU��oH���]�{����s���U� H���SH���0�CH��H�
��.�9�H9�w(@�H�=��.1��:�C�H���!�H9�s�H�5}�.H���
[]��D���Hc�SH����CH��~)��I�C1����H�)[���f.���>�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���uH�{���!�C�C�H���uH�{���!�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����.�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<H��t%�
�.H��.�
H�H�QH�
�.H�H�J
H�������.[�H��t�H��.H�����H��SH��tWH���.H��tH���.H��H;8t+�C(��uH��[黹��H�{诹��H��[馹��fDH����[�@f.�H��tFH�GH�G
�H�G�@H�G�G0�G@H�GH��.H��t
H��.H;<�t������f.�AUATUH��SH��H���{���H��I��D�(�}���H���.H�+�C<H��t
H���.H;�t�C4�C81�H��tH��轿���������������C,E�,$H��[]A\A]�f�f.�ATA��UH���HS����H��H��t3Ic�H�xH�C��H��H�CtH��H���C(�)���H��[]A\ÿ�C�r���USH��H��H��.H��t+H��.H��H��tH��H�����H��[]�u���D���H���.H���.�@H�=ɼ.H�,��8���H���.1�H�EH��t�H��.H���f�AT�5<�.U��Sua�
,�.�&�.��u
��.H�=d�.��H�=N�.��H��.H����H��.H�<���������.��t+�����.���$�@�CH�5f�.��C����5��.H�-��.���.H��@�uHc�D�
o�.L�`�.��@<D�f���KD���JDLE�DE��'fD��
.D=�~��`JDHc���@<D�Hc���? D9�u���
DH��Hc���@<Df��)t�3����KDD�
Լ.L�ż.��t;H��H�-��.H�ȼ.H)�H���.���¼.=���
���$�p�CHc��.H�x�.���KD뭻o��[]A\ûn��p�뻂��y��H���.H���.�K���H���.H���.�*����D�����C�|g�G���H�0�.H�9�.�@H�=U�.H������H�������.�D����v�.����S����b�.����?����N�.z�z�+����:�.Z�Z�����&�.Y�Y������.X�X������.W�W�������.��������.V�V������.
�
������.1�1������.-�-�w���H�=��.�?/��
�*��
��.�H�EH�-��.H�ú.H)�H���.�E�E���.���������.�Hc��.H�r�.���KD���H�5.�.��C�G�������H��.�����H� �.�?�.��.����H���.��.����H�=��.�t�ӷ��H���.�~������.[�[�j����y�.]�]�V���H�=��.1Ҁ?$uH���1��4���H�m�.H�
v�.H�?�.H�<�.�L
���߀�M��H���H��.���H�='�.H�0�.�
�L���B��6wC��H��H�@@@@H��u*H��H��uH�
H!�H��҃���1������H���.H���.�o�����K��H��
�H�o�.�Q���H���.�1��H�x�.���H�K�.H�<�.����H�=P�.��V���H��.������.+�+������.=�=�����:0������B���<X�����H�z���H���.������.�������.��������.��k����z�. � �W����f�.
�
�C����R�.��/����>�.������*�.�������.�����.��������.��������.�������.�������.
�
������.��{������.��g����v�.&�&�S����b�.%�%�?����N�.$�$�+����:�.������&�.O�O������.�������.�������.x�x������.M�M�����.4�4������.3�3������.2�2�w������.;�;�c����r�.:�:�O����^�.(�(�;����J�.)�)�'����6�.{�{�����"�.}�}�����.=�=������.<�<������.%�%������.g�g������.d�d������.c�c������.h�h�s������.`�`�_����n�.l�l�K����Z�.k�k�7����F�.j�j�#����2�.\�\������.�����
�.U�U������.b�b������._�_����ο.^�^������.]�]������.s�s������.q�q�o����~�.g�g�[����j�.d�d�G����V�.c�c�3����B�.h�h�����.�.`�`������.l�l�����.k�k�����.j�j�����.\�\����ʾ.�������.U�U������.b�b�������.1ۃ������.�f���H�<�Bof���|�.��
Bo��.���Ao�;.������ Ј��.�������.�&�.a�a�������.H���.I��L+%$�.�H�{�.A��H��H��P@����H�N�.HPH9;�.���������������r�Ic�HĽ.H��.�8���H�-��.�3�h�H�
2�.H�5��.�H�=��.蚵���)�H�~�.H�x腯��H��H��H�H�.裭��H�l�.H��H9�HG����
���H���.H���.H��H�XHv�.H�g�.蚶��H�H�-�.���KD�o�H���.�/�.H�4�.�&�.���������f�Ic�HƼ.H��.�:���Hcȉ��� �KDf��t
�ڰ.H�˰.�� @<D�FH���
D9�t1�� .DHc���H�5�.H�P
H�0H�H���.�@@�S����FH�-G�.��
D=�t��u����H��H�i�.�k���H��.�H�x����H��.��������H�ʻ.��H�=.����H���.��H���.�H�x�í��H���.�n�H�=��.�覭��H�o�.�Q�H�=��.�艭��H�R�.�4�H�=f�.��l���H�5�.���&�._�_����.^�^������.]�]�����.s�s����ֺ.r�r���º.q�q���C詵���-��.y
���.H���.��s�H���.���.��]�H�=��.�u蕬��H�^�.�@��O�.r�r�,��;�.w�w���'�.v�v��H�6�.�����.+�+�����.?�?����ܹ.r�r���ȹ.>�>�����.e�e�����.f�f�}����.E�E�i��x�.D�D�U��d�./�/�A��P�.-�-�-��<�.+�+���(�.*�*����.?�?�����.!�!�����.~�~����ظ.|�|���ĸ.&�&�����.,�,�����.>�>�y����.~�~�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�.�(������.�����[�.�
����%n�.�����p�.����e�.������.�����%��.������%��.����H�=�.1�1�1�迦�����.���� �.�����.�����ڠ.�l���H�=�.H�=Ƌ.H�'�.�jK�؟.�;���H��.�3������-�g�.�����|�.���@�p�.����L�-c�.�0D�L���uI��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�.����>�.�����.�����.�����.�t��z�.�e��c�.�V��L�.�G�L�-�.H�=��.�LCL�-�.���.������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�=܀.���.��.��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��DŽ��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��uH�=��.���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����t��A�F��l���I�~H�t$H�\$�!l��H��I��u%�L���@A�G��8<
�����M�?M���,���I�H����g����t�����H�t$H�l$��k��H��I��u
�.fDA�G��8<�P���M�?M��tI�H���g����t�A�F����d��f.��1�8t��D�V8Wu��V8Wu��V8Wu�1����LH��8�u�T��*u��1��BHH��u'�GEt ���H�WH����Oo��fDH�W��OoH��H�����f.�H�BhH��tH�
@t.H9��t��D�@!�u�B
�t�%=t�H�z8t�A�������?H��t=���tM��t��D�1���h��@H��
��D�1���h��H�����D�1��h��H�����D�1��h���f.�AUH��ATUSH��H�^8H�v
L�@(H9�rI��I)�M9�v^L�H9�tgH��tJL�(H�����D1�H���L�
� b��H��H��M��[H��L��H��]A\A]1��if��PP��tH��[]A\A]�fDH��t���L�
�@P�H���D1�H���H�(�a��H��L��H��H��H��1�[]A\A]�
�f.�UH��S�H��f����u�H�E(��DH�p`H�@hHu0Hp(1���H�u1���D��H��[]�Df.��G��<v
���H;w(u�H���y����H���Df.�H��H�5�t.�=wt.�j_�����%f.v��t�����J�t��f.��t�����DH����
�H��Ðf.�AWAVA��AUATUH��SH��L�g8�s����H�u1��$�D��
H�}�U`���X����f����X��~�H�EhH��tH�5q.H9���L�-�e.E���LD�H���1�L��L��0�D�j
H�E@L9�tH��u,H�EhH��tH��p.H9��tcH��[]A\A]A^A_�@�#����u�H�]@1���<�D�Y_��H��H��1���f.��1��$���@��o.tTH�=p.H����@��d���
�d.I��M�L;-e.�g���L�-�d.H��[]A\A]A^A_�@L�m`Lh(����L���M��t�I�GI�wH�H�e.H��H��d.H��H)�H9��L�5�d.H�L9��H�
�d.H��H�H��H!�H�
�d.H��H��d.H)�H)�H9���H��d.I�1�H��t@H�8�у�I�<�H�@H��u빰�@�L����\��1�1�I�u�+@����I;GsI�<��G��<w�H;o(u��k�����L;5
d.v L;5d.r!L���
Eo蚦���H��c.H���Y���L�5�c.L�5�c.���H�
Eo�&�H��c.H��c.I�w�����
�c.���AUATUH��SH���_���gI���$��DD�G�&�CH�W���D���
�CHD�H��1�[]A\A]�
H�=�m.�AD�
�m.E���L�{�D1��
H�gm.H���fDH��L���]���H�H��u��H;=�l.L�g8��H�w01��#�D�?
M����I�D$(H�}0H�vb.�\��������fD�����~�I�T$8�
�a.1�I�t$(�'�DH���� I�\$0I9\$(t�/�D1���\��H��H��1�� H�}hH��t��Do�=o���]H�]H���'H��H���u���H�H��u�������u�H�E�P���3H�H�9.�
H�
�n.1�H�x
I�u8�=oH��HD�����Do����n.����H�E�xt��uH�=]n.��H�hn.L�%Qn.H��tL`(1�L��=�D���tL�%a.�l�D1�H�n.�H�}�_f�H�OH���H�G
H��t
�@F����D�fDH�_����D1��Z��H��H��1��>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��tH�����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<M��t A�D$��u.I�UhH��u�H��H�BH��u�H�ZL�3[]A\A]A^�@L�mpH�H��t�H� A�|$L��H��L�Ap�u�����H�xH��H�H��u��H����f.�AUI��ATI��UH��SH��H��H�~
H��t��wL����u�CHtmH��[]A\A]�f�H�{
1��eL��H��t�H��H��u!@H�{
H���DL��H��t�H��H��t�FHu�H�D$L��L��H��U@H�D$��DH�E@H��H��[H��L��L��]A\A]��@H�iJ.SH��H�=VJ.H��H)�H9�wSH�<J.H�H9�tnH�
MJ.H��H�H��H!�H�
J.H��H�=J.H)�H)�H9�v
H�J.H��H�=�I.[�f���EoH����H�=�I.H��I.H��I.H�H9�u��
�I.�f.�USH��H���G��<vH���[]�H�W(H���H;�S.t�H��t�H���H����H�}��H�
I.H��H.H��H)�H��vzH��H.H��H9���H�5�H.I��H�H��H!�H�5�H.H��H��H.H)�I)�L9�v
H�
�H.H��H��H.H�EH�H�H��H�EH�UH���[]���
Eo蹉H�ZH.H�
[H.�d���fD�
yH.�f���@H�m�+���������H��H�C(H���H�mH�E����AVH���DoM��AUI��ATI��UH��SH��tH��t
���H�H��t�xtc�0���H�H��H���CoH�HD��@L�`
H�h(I�t$(�
�F.L��L�hH)�I��H�PK�.H)�H��I�T$8[]A\A]A^ÐL9`
u����H9O
�u���H���@f.�AV���RE.AUI��ATA��UH��S��L�5.(.�X���H��H��@H�{
I�FA�8@��H�I�^��@����@����D��1���A���H�t
�H��A��t
1�H��f�G�A��t��}P.�CHL�k@�փ�у�
��@ ���SI ��
XP.�怃�w ��� ʈSI�
=P.�� �A���CH�SB�$��D�X����H���@H�H�{
A�8@���%���H�{!�C
A�7@������@1�H��A��f�W�@�������A��H�����D�KH��H�kH�k�SIfDH�qO.H�H�C8H�cO.H��[]A\A]A^����H�kH�k�SI����}:��H�k1�H��K�D1��1@��H�C�CH�KI���CH�D��H�kH�k�SI�KH�q����H�kH�k�KH�_����H�kH�k�K����X���D����4���@�}�p���H�E�KHH�C�c���DUH��SH��H��H��t6�H��Ճ{wm�C�$��DH�5�N.H�����H�H��u�H��[]�f�����t�H�sH�����H�H��u��ؐH�s0H�����H�H��u��f.������D�!�H�H���m����H�5yC.�D���@H�H��@H��$.H=�DosH�PH��$.H��$.H�H�=�$.�P���D�����D�<��Df.�H��$.H=�DovH�P�H�@�H��$.H��$.�P���D�����D�e<��DATH��UH��S��t�?=t��H��[]A\���f.�H�wH�=eN.1�1��=����L.�H��A�ԃ��L.H��A�������L.A��A��[]��D ��L.A\��@Do�v=��fDAUATUH��SH��H���=L�%cA.A��M��t1L���H�;H���?������H�[H��u�M�d$M��u�E��u1�$�C�
H���t
����D1���;��H��H��1�1��D��X���H��I���=��I�$H�#.I�D$I�D$I�D$I�D$
I�D$0I�D$(����I�D$8I�D$@A�D$HA�D$LA�D$PL�
I�D$H��".�%E��t
����D1��;��H��H��1�1���H��L��[]A\A]�E1����AWI��AVE��AUI��ATM��UH��SH��8H�dH�%(H�D$(1�H�L$H����f��{�F�C�$�x�D@H�D$H�u8H�T$
H�D$
L�{�N.L�����N.�������7��M.A�G���uI�G�8.��������u`H;-]J.�;L�D$H�T$
L9�t?�
z?.L)�H��L��H��H�M8�=������H���t����H�E8�H
H�T$
H�T$I�ߐH�H������H�t$(dH34%(H�D$�#H��8[]A\A]A^A_�@H�U8H�D$H�{H+B(H�CHH�E8H�C@�9���
�>.�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�<B.H�@�x������ɼH��H�CX�����H���a���@H�=0/.��H��E1�H�$�c���H;S@tD���E���#���D���H��H�L�H��H��H!�����H�C@H����D�B
A��t\H�0�>*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(H9���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����<!����-�����Ex�����A���A����A���]���H������D��H�����H�M8�J����AWAVAUATUH��L��SH��H��H��XdH�%(H�D$H1�H�T$H�L$L�$L�L$
�����t*H�D$HdH3%(�JH��X[]A\A]A^A_���{L�{0����L�s0M����H�D$H��pH�D$(�@M�6M����A�~u�K����H�$H�@
H���aH���H���QL�
�D$I�FH���H���H���{L�(�D$L��L���U��������D$D$t@�T$��tH�$L�`�D$��tI�FH���L�(L��L��������6���uB@H���'����}��f�����������I�NH�T$(H�t$L�Ap�Z������H�D$0H�L$
H�T$H�t$H�D$0H��H�D$8�x���H�D$0H���`���H�8t�)
���D��H�C0I9�t@H���M�?I�L9�u�H�T$0H�I�����@H�$�D$L�`���H��t�u���'����H�L$
H�T$L��H�t$��������@L�*�D$����.
���D���m��������ATI��UH��SH��H�vH��t���H�3H�}01�L���t���H�sH��tL��H�����H��[]A\����@AVAUATUH��S�����f.���t=��,H������:u!�fD��,����:@��H�����u�H�����H�\I��I)�M�u��n��I��H��.L��I�D$�W��L��H��H��I�$���B�(�;L�%�.t�CH�k���T���[]A\A]A^�I��I)�M�u�E1�A�뉐H��(.SH��t[ÐH�.H��*.H9�tH��u�H��.H��u�cf.�H�[0H��tG�{u�CIt�H����H�{
H��tھ������t�H�C
H�@H�H��t�[�f.�H��*.[�H��[�f�USH��H���G��
�s���^H�=�(.t�z���D���H�[�
����=V).H��H��'.����H���`��H��H�V(.�p�H����.� �����aH�=*(.H��*.�5�*.H�G������H�=(.H�G���H��H��'.���5�-H�=�'.����s��5�(.H��'.���JDt�h'.��<t���%�����f����%���Ɓ���� �JD�
�(.��u\%��Ɖ��BD��%� �BD�'.tB��%����� ȉBDH��[]�DH�GH��.H��[]�fD��@��%��� ȉBDH��[]�fD1���(�D����H��H��1��:�����D1����D���H��H��1����|���D�p�@���H����1҃=h'.��9PttH��HH��t9Qt3H�ƿ�@���H�_.H��t,H�H��%.H������H�H�~%.H������1�����D���H��1��s�H�5Q%.���@1�����D����H��1��E�����[����t*����D1����H��H��1���H��%.�\���H�-�$.1�����D�t��H��H��1����DU1�H���SH��5b$.���Y$.�|��H��H��.H��H�H��.�
��H�=8%.H�CtH��H��[]餩��@H��[]�f�U�H��SH���}�������H��H��.H��H�C����H��.H�H��[]�f�f.��
�.��uVH��#.H��t<f.������xH�P8H��tHǂHǂH�@
H��u��\.���@f.�ATH��.��L�%�%.UH��%.SH��x@H��t*�n����u�
������tH�51#.H��艵��H�H��u�[]L�%�%.A\�DH��H�-#.t�@H��H���U���H�H��u�[]L�%L%.A\ÐS�H��E��u_H��H��taH��t\�%.��t�Q
3W
��u=H�?1�1�H�L$��H�L$1�1�H��H�9��H��tH��tH�@@H9C@����H��[�@H��1�[Ã�.A��H�5O".I��1�1ҿ�Do���@f.�H���=�$.H�5".H�=�.L�D$1�1҃8.�D$dH�%(H�D$1�H��.��.���H�D$dH3%(uH��Ð����f.�H�=q.H��t�
V.����H�O.H��u��H�H��t�P��u�H��H�5G".�i���
uPH�51".�#�H;Qt:H�@ H���=���
u$H�P8H��t�B!�u�H�JH��u�H;��u�H��t ���
uJH�@8H��t4�P ����u�fD�P
������H�@H��u�=o��H�G8H�5�!.H��u�vfDH�@H��tg�P
�����u�H�PH��t8H9Bu�f��P
����u��P
����tBH�@H��u����DH9��t�H�@H��u�fDH���H��u��Z������fD���fDH��������f.�AVH�GH��AUI��ATA��UH�oLSHD��H��t5f.��H߀�Wwx��$�h�DfD�M@H�����u�[]A\A]A^�@�M
��f��M��f.��M��f.��M�f.�E��u;I�mLA��f�D��1���P�D����D��H��D��1��K��v���fDI�mHE1��d���@UH��SH��H��.H��tH���H�[8H��u�H��[]�UH��SH��H�.H��tH���H�[0H��u�H��[]�H��.SH��H�8H�G0H��.H�G
H���t�����D芻H�C H9/.tEH�6.�5H�-H�H�{
H���H��H�.����H�{
H�ھp�@[�-��D�����D�)�H�C
�AVAUATUSH��H��
dH�%(H�D$1��GIt+�H�L$dH3%(��H��
[]A\A]A^�DH�����CIu�H�{ ��d����uH�{
H�T$��]�����5H���
���u�L�c
A�D$DL������`����H�-.H��u�fDH�mH���)H�}���I�<$I������H�}I�ŀ?Au�Lu�Lu�t0Mc�L��L����
����u�C�D5��t<.u�C�|5au�C�|5u�A�L$G
L�c
�CIL����A�1��P�L�1.H�l$H�L$�ֆDH��OoA����3H�|$��OoH�G�������L�c
H��L���$��H��H���%�H�������u�L�c
����D1�E1����H��H��L��1��/��b���f.��CI����.��u
�n.��tH�(�D1��#�H�{
H�G��Oo�����t�KI�����H�k
����D1��9��H��H��1�謷�CI������fD����D1����H��H��1��z�E1����f����H��A��谤���M���A��
�aA���0H���'H�{
���H�{H�C
L�-�.L�5�.D�%�.��H��I��������KH��.A���.�Q.A���Ήʃ�?�怃�@��
��sI ���.��� ȃ��x.�� �n.�x'���b.��.L�5X.��I �A��I��M �L�-8.���H�=d.� ��H�T.�KI�8����CIC�T-�� ЈCID���$���L�c
�;���H���I������L�c
1�����D� ��L��H��1������L�c
�1����D�X ��L��H��1��˵L�c
1����D�6 ��L��H��1�詵L�d$I�4$H��t1�I����}D苵I�4$H��u�$�D1��v��6����, ���u�D�+���D�H���UH��SH��H��.H��t!H�{H��tH��������t"H�[8H��u�H�k.1ɾH�����H���SI����t
H��H��[]�1�H��������HD�H��H��[]�f�AWAVI��AUI��ATI��USH��H�oH��txH���(���H��I����H��.H��u�@fDH�[0H��t1H�SH�K
L��H���̷����t�H��L��L��L���G��H�[0H��u�H��[]A\A]A^A_��H�A.H��t�@H��L��L��L�����H�[0H��u�H��[]A\A]A^A_���E��t2��?tc��*t^��[H��u�T@��?tK��*tF��[tAH�����u�H���V���H���_���H��L��L��[]A\A]L��H��A^A_�~��fDH��.H��u#�)���L��L��H��L���V��H�[0H������H�s1�H���+����u���DH��SH��u%�BD��
t'��uH�=.����H�H��t�C��tw�u�H�{���H�H��u�[Ð1Ҿ`�@H��������Df.�UH��SH��H��H��u�=D��tc��t>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��tH�}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�rH�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�-���tfD<FD�H�����u�*�-��UH���(SH��H���-�F����@H�H�SH�H�CH�hH��[]�f�ATI��U���8SH�C�-�����@H�H�SH�H�CL�`�h[]A\ÐAWM��AVI��AUI��ATI��U���PSH��H���-賭���@ H�H�SH�H�C�hL�`L�h
L�p(L�x0H�@8H�@@H�@HH��[]A\A]A^A_�UH���SH��H���-�F����@H�H�SH�H�CH�hH��[]�f�U���SH��H�D�-�����hH�H�SH�H�CH��[]Ðf.�H���-SH��H�xt"��H�D1��}�H��1���H�d�-�HIH�XH�X[�@f.��=��-�f�UE1�I��H��SH��L��H��H�,�-H�xXH�pHH�x@A��E1�H�x`A�����H��-H�xHtH�hPH�XpH��[]鱲���H�x`u�H�xXu�H�P(H�J@H9H@u�H�RHH�PH��f.�AWM��AVI��AUATI��UL��S��H��hdH�%(H�D$X1�H��H�t$
L��$�tH�|$@H�D$@H�|$H�ڱ���#.������A�F
��H���-H�|$
1ɉ$E1�E1�1�L���D$H�D$A��X�
^.H��H�D$(��tH�D$H;��H�CM��H��L��LD�1�L������M��tA�F
�91�1Ҿ$�C1��i���H�|$(��M��L�|$
M)�I�y �I�I��H���-1��f�DM��H������H�@�@��A�E@��1�L�������F���}1�H��L���aH��� ���H�s8I��H�T$8H�F(H�D$8H�D$(H�x�zI�V8�
t�-H�s8I�}H��HT$8H�T$8�zM���褰��H�C8H���H�UH����H�H���>H9�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�zu1��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�GtH�xP��H�T$H�P@H�T$
H�PHI�H����H��tH�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������(<B�.H�5a�-H���eH�=��-1�1�A����H��t�P������H�=&�-H�t$p1��2��H�T$p�:�.H�5ݴ-H�=��-���H��H���B ��t,L�`(H���-��
�D1��5��L��H��H��1��yH�u(H�=:�-�������H��$�dH3%(�h H��[]A\A]A^A_þ�D1������H��H��1��FyD�-��-E������`�<B���-�������-���������-����������D1���u��H��1���xH�5��-H�������H�5ܳ-1�H�5��-���H�=_�-H��������"���1����D���H��1��x����D���-E����u�-������@H�
��-H����AI
u)H�A H���H��tf��P �� u���P
H�@H��u�H�I0H��u����y�-���}�H�=��-���H��I�����1�I���D�b��L��H��H��L��1���w�:�L�-c�-1���P�DI�EL�8H�EL�0�$��M��H��L��H��L��1��w�f�H�"�-����������H��1����H��H���-H���H�����P
��t-����tH�x8tH��H��H��H�H��BH�@H��u�H���f���@�H��H��I��E1��;��E1�E1�1��M9�vHM��M��L��I��I��I9���M�eA�D$
t�I�T$8�
��-M�|$0H��H��M�T�t�M9�s�L�I�$1�����DL�\$HL�L$@L�T$8I��L�D$0H�D$(I������L�T$8L�\$HH��L�L$@L�D$01�H�t$(L��L�$L��L�T$0�)vL�T$0A�E�I9�M��L��M���H�����@H�H���E��H�u�L�N(L���H��H9���H��H��H��H�TH�R(H9�u�H������H�\�-H��u����f�H�[H��������KP��t�H�C
HC(1�H�k8L�#��8�DH)�����H��H��L��1��Yu뷿P�@�-��I���H�1�H���ˀ����E�A��A��}����H��-H�PH�H�T$XH�D$PH�/�-H�
�-H�T$hH�D$`H���-H���-H�T$xH�D$p詬���H�D$X1�H�\$pH�8�
��H�=��-H�t$P�U��H�t$`��Co�U��H�
Oo�U��H�|$P���H���-H�
&�-H��u+�?@H�P
H��tH���HD�H�@0H����PI��
tՃ�@�H���-H�L$XH�0H��-H�1H�L$PH�H;B�oH�T$xH�H8H�
H�T$pH�P8H�P8H9��-�8H�x��H�H0H�T$hH��0H�
H�T$`H�H9��-��H�=�-��������1�����D���H��1��s��H�P(H�JhH���W���H�q(Hp0Hr`H�=��-�T���������H�]�-����D1����H��H��1��'s���H�P(H��t*�����xH�z8H��tH������H�R(H��u�1��&���L�|$(��`
��j�L�56�-�1���H���H���D1��r�s���1����D�͚��H�xXI��tyI�}L��1�H���"�����I�T$
H�i�-��H��
H�Y�-����H�=��-1Ҿ�@�y�����L�
��-M��M����D���L���-I����5����c�-��<t
�C
�o���1��;QI�EX�_���f�H�F8�
��-I��E1�H��M�\��;M�l$�
��-A�|$I�E8M�u(H��M�|�u
M9�w
M9�sI��M��M��L��I��I9�u�����L�I�E����D1�L�T$@L�\$HL�L$8L�D$0H�D$(����L�\$HL�L$8H��L�D$0H�t$(L��L��1�L�$�4qL�T$@�H��H�
��-H����������D�qH���-�����H�\$p�D$pH�=\�-H�ھ�@����l$pu��R�薞1�H�ú���D�2��H��H��1��p����H���������ې�����H���-��`�D�9���@�D��L��萘��H�xXI��tMI�~L��1�H������5�H�I�-H�=:�-H���-�V����H���-H����B������R�-��<t�C
u�1��.OI�FX�H��-H�D$hH�H�=��-�CoH�D$`H���-� ���H�D$hH���-���H�T$xH�W�-���H�L$XH�J���f�f.�ATUH��SH������H�H���-I��H��u�0�H�H��t
H�{H���\����u�I�\$L��[]A\�����D1����H��H��1��
o[]L��I�D$A\�f�UH��SH��H���-H��u�)f�H�H��tH�{H��������u�H��[]�����H��H�����H�CH���-H���-H�H��[]�Df.�H�
��-SH��H��tH���H��H�H��u�H�H�H�[þ(����H�H�@
�@H�A�-[�Df.�H��1ɺ��D���D1����1�H�Ǻ��D��D���H��H���i���f�H��1ɺ��D��D1��i��1�H�Ǻ��D�-�D�U��H��H���)���f�ATUH��S���u�DH���]��,t�����8o@u�����]L�e��t)��,u�"I��A�$��,t��t
����8o@t�A�$�>�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Ƀ����(H���-�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�lj�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
��-��uH����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�HH�{(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��tH��[]�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�zvt���-��ti��t0��u`H�)�-H��u
�Rf�H�R0H��tGH�J
H��t�H�A�xu4�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����ۉ\$<H�D$
��H����@H�D$
�D$DH��H�X(H��H�\$0�:L�l$
E1�E1�1�1�I��M���@�t$8B�9���H�D$L�H;�-suI��A��D��I�$H����L��I��A�L$�������-��<�H�D$�D$�D$8H�����D$D�4���-A9��j���M�/���D�H��L�����L��L�T$D�D$�����D�D$L�T$I�A�}s��A�}t��A�}r��A�}���D$8LT$D��A�I�$H������DH�D$
�l$<H�@H�D$
t H�������H�S�-H�D$(H�|$(��OoH�G�������H�D$HdH3%(��H��X[]A\A]A^A_�����D�L����Z���H�D$
L�(L�����PH�D$H��H�T$�n���H�T$L��H��I���˗��H�L$��t@�Q���A����8ou(�f��B���A��� �8o�x�
�u�H�D$(H�@�@����L���e���H��v-�L��H�������D�L�����A�FH�|$(H�T$DL��耘��H��I���BH�|$(H������H��H���)H�=��-E1�L���蟕��H��I���L���+���I�E0I�m(H��A�G
A�EL��H�|$(�E
I�G(H�E(�E$A�W$��� �H���E$I�G0H�E8H�E0I�G`H�mhHDž�Dž�H�E`A�Gp�EpH�G��PI��L��H��I��I�G8I�L$HL$0H�H)�H��H�E8H�D$0I�O8H�E(H�E0L���H�H��t%H�PH)ʃxH�Pu�H�p
H�H��H�nhH�V`u�I��L�T$�T$D�D$8�/���D�B�-I�L$
�D$8u
����D$8�!�-�D$��<�~H�A8H��H�D$�3����D$8LT$A��D$�����D��1�H�D$���D$8���D$�����f���������B�L�8.�v�����n�������D$�s�������j����������D1�葐��H��1�1��=�i�����X�D1��o���L��H��1���<1��D���H�=�-��e�������������t
1����D�-���H��1��<��������O���f.�DSH�=oH��t%H�wH�=ߠ-1�1�A��Ȓ��H��t�xt
�[�fDH�x(=ou�H�SH�J(H�P(H)H0��@USH��H��H��t�c
�H��H��[]�@H���(H����H��H��uֺ��D1��W���H��H��1���;�c
�H��H��[]�f�f.�SH��H�6H�=�-1�1�A�����H��tH�='�-H��[H�WL���H��A��f�[�@f.�AT1�A��US���
H��H��3tvH��H��9���Du�E��uj��3u{��~~&H�=G�-�ٺ-�D�1�蜖��E��u[]A\�f�H�5!�-��蒐��E��t�[]A\H�5
�-� �x����E��3t�H�5�-�
�U�����3t�H��H�5͠-H����D�Y�����AUATUSH��H��H�����S�� �f��$�
�DDH�{�����=�-�*f.�H��[]A\A]�D���-���rH�CH�PhH�@`HC
�Ƞ-H���-H���-H���-�DH�{�O����-��-�����;0��H�{
L�-b�-L�%k�-����!-h�-�b���H�
S�-I9�t9H����M��t+H�A(H%�-Ml$(H�%�-=oA�=o���-����_����/���z��*�������%���&�
L!-��-L;%-����@H���-���H�{�W���D���-E�������H�=w�-H�C
HDC(H��H���@���f.�H�M�-H�J�-H�G�-H�D�-H��[]A\A]�f�H�{�����!�-���������������?�0����_�1���fH���-H������t
�xDH��H��H�Qv�E�H��u�H����H���-HE�H�u�-����H�]�-H�Z�-H�W�-H�T�-�=A��=M�L �^=B�� =C���=�-������H�{1�1��u_��H���a������H�x`H��������5ם-������H���-H��tH�@(H��-H���-=o�{�-���fDH�s�>.��1���H�{
H�5U�-�
����5j�-�4�-���L��tH�=/�-��H���r
H�=0�-�8L�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��tH�H(H
��-H��H���-=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<M��t*�=�}-t!���D1��j��L��H��H��1��[H��]A\�D[]H��}-A\�f�f.�H��Hc��T���H���Df.�ATH��I��USH��tlH���,}-H�Q}-H�N}-H�K}-=o�����(}-��u<H��t*�=�|-t!���D1���i��H��H��H��1��5L��[]A\�DH�=�|-H��t
��i��H��H��u?��Ek��H��|-H��шP���H����H ����H
[]A\��H�hH��H�}�k��H�
i|-H�pH�(1�H��D�A�A�PЃ� vA�PɃ���H����u�H��H�V@�>�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�<Qw+���$���D��q-�A�G<d�� <u���ʺS�D�H��1��g��A�GM���P����U��0����HE���UL�H�|$p1���D�d��h���D$pH�|$p<0u@H���<0t�<H��H����_��A�GM�����H�%�]_��A�GM�������U��0���HE���UL�(H��M���I�}�_��M���4���I�F�@���������I���H�@�x����I���H�������H�@8H�����H�H���������D�M�U��0�k��HE���UH�H����H���H��t
�BH��H�8H����^��A�GM�������U��0���JH�E�փ�/�ML�,0� �J�MH�40��/H�t$����HȉUH�M��H�D$
��L����[������I�EH�L$4I���L�L$@H�D$L�D$8H�$H�T$L��H�L$
��8����H�L$@H����A�G<Ht<C��H�ed-H��t!H�=Qd-H��tH�=d-H��t I9���1����DH�L$(�y\��H�L$(H��H��1�L���t���H�=d-L�-d-H��t��Y��H�|$8H��c-H��t�2^��H��c-H�=�c-H��t�Y��H�|$@E1��
^��H��c-H�L$8H��t�2�D�H��1��c��A�GH�T$@E1�<HA��H��t<G��H�|$8���L$4����E���DA���DLE��9�D�H��1��c��E���w�Y@�]���ǐ�b��H��H���\��A�GM�����A�G�D$M������U��0�7��HE���UL�(I�E
H���H��t
�@H��I�}H���=\��I�E H���H��t
�@H����I�uI�}�Z��������I�M���D�5H�=�m-H����[��A�GM������U��0�{��HE���UH�H��H�pH�HH�L�F(� �DH�H�P1��t���A�GM������U��0�?��HE���UH�H���+H�BH���!���D�BH����D�H��1��b�������U��0�n��HE���UL�(M��tA�}������D1���Y���H��H��1���a��A�GM�������U��0�$��HE���UH���D�H��1��a��A�GM�������U��0����HE���UL�H�|$p1���D�d�L�l$p�b���D$p<0uI��A�E<0t�<I��L���=Y����A��DH�
A����Y��A��u�L����D�Q����U��0�f��HE���UH��H�D�,����k-A�GM������U��0�U�Ѓ�HE�U����U��0���HE���U���D�K����U��0����HE���U��;�C�'���L�꾐�DH��1�A��3���H�L$
H�T$�>�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-��t<H�=�g-�L���\]��H��I��t
H��H���W��L���AT��A�GM�����H��L����W��A�GM�����H�EH�PH�U���H�EH�PH�U����H�EH�PH�U���H�EH�PH�U�����U��0�R��HE���UH��O�D�H��1��)^��I��A��d���I���H�����A�E#���H������L�꾐�DH��1�A�������L�H�
����DH��1��]��A�GM�����U��0s5��HE���UH��K�D�S���H����D�H��1��t]���V���H�EH�PH�U��1�����D�@U��L��H��1������H�
h-���D�H���%]��A�GM���`����#����]<-H�D$H�T$DH�T$@���H�EH�PH�U����6�DH��1�����;���H�t$8H��tc�S����H�L$@����H�=B\-H��H�L$(E1��2X����H�L$(������H�E�����T����A[��H�E���H���H�����H�t$(H�T$0H�L$8L�D$@L�L$Ht7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H��1�H��H�=>M-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��H��hH�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���<G��M��t�L���/G���DI�
1��Q��H���l���D�K��1ۃ������I�o@1�����D�[I��H��H��1��������f��*[-H�5SZ-H����J��H���B���H�E�xtx��Z-��t.I�o���D1��H��H��H��H��1��i���f�I�
1���O��I�G
�����1����D�H��H��H��1��"����H��Y-H�@�x�s���I�
��P�����]�������M���-t��f��=���H�=#X-��E���,����D���H�=�J-��O-�G��E��H��J-�:�������Z-��t\��uRM��L��ID�H�|$�/��H�|$H���K�����DE�����迍��=�D$t"L���LE���D$���L���H��H��ID��H�-kW-膍����,tL��D$�E��H���
E���D$�\����_���=u�L�-1W-�L�������AWAVI��AUI��ATI��UH��SH���FH�u.�H�~t �?/�H���U�������H�E�8/��H��Z-H��uH���H�UH�{1ɾ�D1��"H��I��H��L��������uL���HD��H�H�����EH�
t%�mW-����tH��H��L�������uF�EH��<u�H�MH�{M��M��L���D1�H�$�G��I��H��L�������t�L�}�H��[]A\A]A^A_�f�H��1�[]A\A]A^A_�H��H�=�W-1�1��LG��H��H��H���.�����tH�]��H���gC������f�ATUH��SH�
t
[]A\�D�GH�t`H�qM-H��u(��H�;H���M���u&H�[H����H�;�>�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�]�;/t9��_�D1���D��H��H��1��=�MI[]�
U-A\�DH�]�Ǻ�A�D�~���H�]��&�D�1��y���f���f���fDUH��SH���RF���H���F��H�H�@�H�-�,-��t@��`?oH���S����u�H��,-H�H��H��,-H��[]��U��SH��H���J��H��t+�P��W-H�PH�@
H��W-H�|,-H��[]�D��t�-^W-H��[]���8�D1���C��H��H��H��[]1����@SH��H��H��t3H���C��H��tH�^K-H�@H�@
H��[��H�߾(H�T$�F��H��1�H�T$H��t��f.�UH��SH��H��H�t�K�]�D�N�H�sH�=�S-��YI��H��H�Ct
H�EH�H�EH��[�]��H�CH�C��fDAVM��AUI��H��ATA��UH��SH��H��0dH�%(H�D$(1��@����u���D1���HB��H��H��1���H���H��`�AH��L�,$D�d$
H�l$L�t$H�D$�lJ��H�D$(dH3%(u
H��0[]A\A]A^��*B��f.�AWAVAUATUSH��L�o
M����L���]@������I���L�
H�D$M����DA�D$�p�����I�T$
H�RhH��tE1���H�*uM�t$H�hQ-H��tcL�{M��u�ED�C��u9M�?M��t1I�H����D����u�I�T$
1�I��L��L���|����C��t�DH�H��u��H�D$H�D$L�
M���A���H��[]A\A]A^A_�1�����D�@��L��H��1��,����AWI��1�1�A�AVAUATUSH��H�wH�=rQ-�eC��H��H�����@��<vH���[]A\A]A^A_�H�E(H�@hH��t�L�%FP-L�0M��t�fDM�l$M��tYfDI�}L���C����u1I�_
H��t(�H�KH�U(M��H�}��O���H�H��u�A�D$��u M�mM��u�M�$$M��u��Y���I�_1�����D�?��H��H��1����2���AWAVAUI��ATI��USH��HH�FhH�|$H�H�BH�@hH��L�0L���B����tXI�D$H�hH��u�HfDH�mH��t9H�uH����B����u�I�$H�|$L��H�D$A�D$
�D$
�XG��H��H��xu/H��H[]A\A]A^A_þ�D1����>��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�<D����t�D-�*����KH��[]A\A]�1���
�D��;��H��1��?���1���X�D�;��H��1��"����1���f�D�;��H��1����@���f.�AT��C-U��S������D��C-H�(C-H�
C-E����H�C-H�
C-E1�D�pC-L�IC-H��H��K�4�H��t?f.�J�<H�F
H��tH�Q�DH��H�H�JH��u�H��H�6H��H��u�I��E9�w�H�=�B-H��B-D��H�H��H�<H��B-�Z<����
GoH��B-�>��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��,-tI�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��$-tH�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Ҁ5ù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��tL�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�����EGNUI���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����vH������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_�</H�D$��H�|$�/L�L$���L�L$I��L��L�L$(���L+t$H�D$
I�|�r���M�VH�t$H��I��H�D$L��L�T$���L�T$H�L$
L�L$(K�<H�QL�����M��H�L$01�1�L�������u8E1�H�|$0t#�H�D$8L��J�4�I�����L;t$0r�H�|$0���H�|$H����������I�}1�E1�H���^���H��I�}���I�EI�EH��1��g���J��9I�u���H��I�EI�EH�P�,���E1�1��������@f.�AVA��AUI��ATU1�SH��L�gdH�%(H�D$1�H�� -L��H�@H�0��H��H��t7�HD�H���V����t�CEtH�E -H�@H9Ct+H������H�L$dH3%(����H��[]A\A]A^�E����H��H���<������H�$H��tk�P[BH�?-�--���"-����H�$H����A���FA���H�H����H�pL��L���u�fD��HoH�������u?H�;�g���H�ŋ&
-��uB��IBH��-�u�H�=�-tm�����H���F1�聣����1�����F���L��H��H��1�臢���DH��1���������H�p�F�3�������H��H���#���I�}H��tB����t9�H������H�C��OoH�������O���H���D�ݢ���=�����Ő����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������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-��<uH�
�-鲍��f�H��� �ũF�]����
�-
��-��-�-g�
�-�
�-H����AWAVI��AUATU��SH��H��(H���H�@�x��E1�D��D$E��tH���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��H�Ћ����xH�P0��F�H����^���H�P8H��tŋR
�у��L�D$H�\$M��t4M�PL�����L�D$H�\$L����A�� �8���A���.����7���M��M��u�M��M��u�M��M��LD�밽}����E1���H�1�,SH��H��tH�x
�����H�CH����H�{
H����H�=��,t
�V��uxH�CH�w�,H��H�r����tV�CHt+H�{�/�C�H��tH�G�,H�xH�r�Z���t%H�{
���H��tH�!�,H��H�r�5���uH�r�,[��AWAVAUATUSH��XdH�%(H�D$H1�蝆��H���,�{@t(H�D$HdH3%(��H��X[]A\A]A^A_�DH�=��,H����H�-��,H��u��H���H���H�E�xu拵���t��G��H����H��I�����+@��FH���_�H���
H��,�@pH�
Q�,H���H���H�B
@BH�J(H�B0H����BL�`8���,��<���|�,��H�=��,��Oo���H��I��H���f�H�}H��t(�b����H�}H��t�,�,��`<
�7I9�L��t6�H�{H��t �"��uH�uH�{������H�H9�uѿ@RBH�-%�,H���,�E��H�v�,H��tH�x
�����h��
��,H�]L�m��H�\$H�\$
L�l$��H�,�,H��t H�@H�|$
�H�D$(�����D$�\$H�=��,H�t$���
����H�=i�,H�t$�������H�=U�,�T�^�F�E��T$H�t$H��������H�=%�,��Oo��H��H��uE��fDE1�H�EH9CA���L9ktL���S�E��H���H����L�kA�}/u�L����I��뮃D$�|$����H�UH�u�8�F1���f�H�mH������/�,��<�����1���Oo���������1����F�,�H��1�袔���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��ԓ��H�=��,�����,H���,��<�|������,�Љ����������9��Y�����H�='�,��F��҃����:��5���DA�E��t}E9���H��twA��tQM���M�����H����H�E�?�FH��H��P�P(�����H��t_�@pH��(����f��<�,�����0�,�H��E��u�A��t
��,�v���I�CA��xID��_���E���{������F1�葒���j���E��������U�,H�=F�,���NH��t(H�E�T$H�t$0H�D$0H�EH�D$8�����Q���H�}���H�y�,H������L�x�f�H�H��������C��u�H�{��I�<�;�L�ML�CH��I�Ź�FH������1����t$H�|$
L�l$(��������L�����f�뎋T$H�t$L���������D����A���8���A����h�FLE�1�M�����L��H��1��`����*���H�=�,������K�F����T$H�t$H���r����{����5���DH�=I�,1Ҿn�F1�H�D$0H�D$@H�D$8��H�|$0H��H������t}H�����H�|$0H��tb���H�|$0H�����H���,H���|�,�1���1���M�F��H��H��L��1�讏���N�����F1��m������H�=1�,�H���g�H�=��,1Ҿr�F1���H�|$0H��H�����Q���������,��uATUSH��H�
H��t�GEu[]A\��f.��+�H��I��txH���,H��u��DH�H��t�H�sL���|���t�H�k�/H�����H��uҾ��FH���%�H��t�H�PH��L��H)��^���u��h�,�k���H�C
H�8��I���t��������,�������51�,���F�����
��,�X�F����H�
Z�,H�H�H!�H9���H�H�H!�H9�������H�H9���H�H9�����t6H�H!�H9������,��+H�� HHD��f.���G��fD�=&�,�x�F�@�F��HD��f��)�,��G�4�����@��?G�f�� �,�x�G�P�����@�bG�f����G�f.����,���G�N����q���f�ATUS�WHH���������@E��tL�g
A�D$Eu3��t
H�{
�GEu
[]1�A\�fD���q�[]1�A\�f.�1���(�F���L��H��1��B����S�H���`�F1���H��H�¾1�������F1���H��H�¾1������F1��e�H��H�¾1��c���H�F1��B�H��H�¾[1��?�Df.�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��,�@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�����EGNUI���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����vH������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_�</H�D$��H�|$�/L�L$���L�L$I��L��L�L$(���L+t$H�D$
I�|���M�VH�t$H��I��H�D$L��L�T$����L�T$H�L$
L�L$(K�<H�QL������M��H�L$01�1�L��������u8E1�H�|$0t#�H�D$8L��J�4�I�����L;t$0r�H�|$0���H�|$H����������I�}1�E1�H���^���H��I�}����I�EI�EH��1��g���J��9I�u����H��I�EI�EH�P�,���E1�1�������@f.�AVA��AUI��ATU1�SH��L�gdH�%(H�D$1�H���,L��H�@H�0���H��H��t7�HD�H���v����t�CEtH�e�,H�@H9Ct+H���3��H�L$dH3%(����H��[]A\A]A^�E����H��H���\�����H�$H��tk�0�BH�?�,�-�,�
����"�,����H�$H����A���FA���H�H����H�pL��L���u�fD�`IoH��������u?H�;���H�ŋF�,��uB��}BH���,蕴��H�=��,tm�����H���F1��o����1�����F���L��H��H��1��n���DH��1���������H�p�F�So������H��H���C��I�}H��tB����t9�H���$��H�C��OoH�������O���H���D�n���=�����Ő����f.�AWAVAUATI��H��USH��8L�ndH�%(H�D$(1��T$A�}/��M����A�<$��H�L��L�l$H�D$�0��L�x�jf.�I��M)�K�<>���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�,��<uH�
�,��Y��f�H��� �AOH�}{���
��,
���,���,�"�,g�
�,�
�,H����AWAVI��AUATU��SH��H��(H���H�@�x��E1�D��D$E��tH���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<I��H�Ћ����xH�P0��F�H����^���H�P8H��tŋR
�у��L�D$H�\$M��t4M�PL�����L�D$H�\$L����A�� �8���A���.����7���M��M��u�M��M��u�M��M��LD�밽}����E1���H�1�,SH��H��tH�x
觹�����H�CH����H�{
H����H�=��,t
�v����uxH�CH�w�,H��H�r諷����tV�CHt+H�{�/�c���H��tH�G�,H�xH�r�z�����t%H�{
���H��tH�!�,H��H�r�U�����uH�r�,[��AWAVAUATUSH��XdH�%(H�D$H1��R��H���,�{@t(H�D$HdH3%(��H��X[]A\A]A^A_�DH�=�,H����H�-��,H��u��H���H���H�E�xu拵���t��g���H����H��I�����+@��FH������H���
H�?�,�@pH�
Q�,H���H���H�B
�sBH�J(H�B0H����BL�`8���,��<�����,��H�=��,��Oo����H��I��H���f�H�}H��t(肷�����H�}H��t�L�,��`<
�7I9�L��t6�H�{H��t �B����uH�uH�{�������H�H9�uѿ
�BH�-%�,H���,�e���H�v�,H��tH�x
����h��
��,H�]L�m��H�\$H�\$
L�l$��H�,�,H��t H�@H�|$
�H�D$(�����D$�\$H�=��,H�t$���
����H�=��,H�t$�������H�=u�,�T�^�F�e����T$H�t$H��������H�=E�,��Oo�۳��H��H��uE��fDE1�H�EH9CA���L9ktL���s���E��H���H����L�kA�}/u�L����I��뮃D$�|$����H�UH�u�8�F1��a��f�H�mH������O�,��<�����1���Oo�Ź���������1����F�L���H��1���`���m���D�#����������H�mH���}����L�9�,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���_��H�=��,����1�,H���,��<�|�����,�Љ����������9��Y�����H�=G�,��F��҃����Z����5���DA�E��t}E9���H��twA��tQM���M�����H����H�E�?�FH��H��P�P(�����H��t_�@pH��(����f��\�,�����P�,�H��E��u�A��t
�6�,�v���I�CA��xID��_���E���{������F1��^���j���E��������U�,H�=F�,���NH��t(H�E�T$H�t$0H�D$0H�EH�D$8�����Q���H�}����H���,H������L�x�f�H�H��������C��u�H�{�Ա��I�<�[���L�ML�CH��I�Ź�FH������1��ź���t$H�|$
L�l$(��������L�����f�뎋T$H�t$L���������D����A���8���A����h�FLE�1�M���
���L��H��1��]���*���H�=�,������K�F�����T$H�t$H���r����{����5���DH�=i�,1Ҿn�F1�H�D$0H�D$@H�D$8���H�|$0H��H������t}H������H�|$0H��tb���H�|$0H�����H���,H���|�,�1���1���M�F�.���H��H��L��1���[���N�����F1��\�����H�=1�,�H��臭��H�=��,1Ҿr�F1��2���H�|$0H��H�����Q����������,��uATUSH��H�
H��t�GEu[]A\��f.��K���H��I��txH�ܹ,H��u��DH�H��t�H�sL��蜮����t�H�k�/H�����H��uҾ��FH���E���H��t�H�PH��L��H)��~�����u��h�,�k���H�C
H�8����I���t��������,�������5Q�,��yH�����
�,�
�H����H�
z�,H�H�H!�H9���H�H�H!�H9�������H�H9���H�H9�����t6H�H!�H9�����,���I�P�IHD��f.���YI��fD�=F�,��eH�`QH��HD��f��I�,�8�H�4�����@�x�H�f��)�,��I�P�����@��H�f��X;I�f.����,�
yI�N����q���f�ATUS�WHH���������@E��tL�g
A�D$Eu3��t
H�{
�GEu
[]1�A\�fD��葱��[]1�A\�f.�1���(�F���L��H��1��bY���S�H���`�F1��ˬ��H��H�¾1��ɴ������F1�訬��H��H�¾1�覴����H�F1�腬��H��H�¾[1�邴��f�AWAVI��AUATUH��SH��L�?M����L���x���H��H�D$�k���D�-˾,H��E���f.�H��I��t0H��L��H���)�����uA���tdD8�t_D��L��蜬��H��u�H�D$H�|蘭��D�
h�,M�H��H�ù�~DH������H�,$1����I�>�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�����EGNUI���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����vH������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_�</H�D$��H�|$�/L�L$�{���L�L$I��L��L�L$(膒��L+t$H�D$
I�|����M�VH�t$H��I��H�D$L��L�T$�Q���L�T$H�L$
L�L$(K�<H�QL���2���M��H�L$01�1�L���>�����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.��ٜ,��<uH�
�,�B&��f�H��� ���I��G���
&�,
�$�,�V�,���,g�
��,�
��,H����AWAVI��AUATU��SH��H��(H���H�@�x��E1�D��D$E��tH���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<I��H�Ћ����xH�P0��F�H����^���H�P8H��tŋR
�у��L�D$H�\$M��t4M�PL�����L�D$H�\$L����A�� �8���A���.����7���M��M��u�M��M��u�M��M��LD�밽}����E1���H���,SH��H��tH�x
�������H�CH����H�{
H����H�=E�,t
����uxH�CH�ǐ,H��H�r������tV�CHt+H�{�/�Ӆ��H��tH���,H�xH�r�����t%H�{
�]���H��tH�q�,H��H�r�Ń����uH�,[��AWAVAUATUSH��XdH�%(H�D$H1��-��H�>�,�{@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��tL�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�����EGNUI���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,��<uH�
i,���f�H�����[K����
�g,
��i,��i,�2h,g�
*h,�
h,H����AWAVI��AUATU��SH��H��(H���H�@�x��E1�D��D$E��tH���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<I��H�Ћ����xH�P0��F�H����^���H�P8H��tŋR
�у��L�D$H�\$M��t4M�PL�����L�D$H�\$L����A�� �8���A���.����7���M��M��u�M��M��u�M��M��LD�밽}����E1���H��\,SH��H��tH�x
�Q�����H�CH����H�{
H����H�=�\,t
�Q���uxH�CH�G],H��H�r�O����tV�CHt+H�{�/�sQ��H��tH�],H�xH�r�O����t%H�{
�P��H��tH��\,H��H�r�eO����uH�:\,[���\,��uATUSH��H�
H��t�GEu[]A\��f.��P��H��I��txH��[,H��u��DH�H��t�H�sL����N����t�H�k�/H���GP��H��uҾ��FH���X��H��t�H�PH��L��H)���P����u��p[,�k���H�C
H�8�oR��I���t�����
�B���fDH��� ���I�-���
f_,
�da,H�������_,��<t,�
fa,��]K��t�'a,��]K�Һ�]KHE���D�5a,��]K��]K��HD��f�AVAUATU1�SH��H���JH����tH����[]A\A]A^�@I��H�~H�t$�N��H�{I���N��L��I���xN��K�|.H��O��H�t$L�KH��I�Ź^KH�����1�L�F�L�$$�\W��H��L���A����tL�kH���[��]A\A]A^�DL���hK���P���S�H��t[�@H�w���~D�u�H�C�xt�Z�!^K����H�CH�@
[�f.��I^,��<t"H��H�=�^,��Oo�MR����tH���P���fD�@�F���H���5�D���],�������5�_,���K�����
N_,��K����H�
�],H�H�H!�H9���H�H�H!�H9�������H�H9���H�H9�����t6H�H!�H9����-],��L�h�LHD��f.���sL��fD�=�^,��sK�P^K��HD��f���],���K�4�����@�p�K�f��i],�
4L�P�����@�0L�f���SL�f.��9],��L�N����q���f�ATUS�WHH���������@E��tL�g
A�D$Eu3��t
H�{
�GEu
[]1�A\�fD����O��[]1�A\�f.�1���(�F�/K��L��H��1�����S�H���`�F1��K��H��H�¾1�� S������F1���J��H��H�¾1���R����H�F1���J��H��H�¾[1���R��f�AWAVI��AUATUH��SH��L�?M����L���J��H��H�D$�J��D�-],H��E���f.�H��I��t0H��L��H���iH����uA���tdD8�t_D��L����J��H��u�H�D$H�|��K��D�
�\,M�H��H�ù�~DH������H�,$1��;S��I�>�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�����EGNUI���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����vH������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_�</H�D$��H�|$�/L�L$�1��L�L$I��L��L�L$(��0��L+t$H�D$
I�|�B2��M�VH�t$H��I��H�D$L��L�T$�4��L�T$H�L$
L�L$(K�<H�QL���r4��M��H�L$01�1�L���~3����u8E1�H�|$0t#�H�D$8L��J�4�I�����L;t$0r�H�|$0�R-��H�|$H�����o-�����I�}1�E1�H���^���H��I�}�x1��I�EI�EH��1��g���J��9I�u�0��H��I�EI�EH�P�,���E1�1�����/��@f.�AVA��AUI��ATU1�SH��L�gdH�%(H�D$1�H�Q@,L��H�@H�0��.��H��H��t7�HD�H���&7����t�CEtH�@,H�@H9Ct+H����5��H�L$dH3%(����H��[]A\A]A^�E����H��H���3�����H�$H��tk��$CH��;,�};,�����r;,����H�$H����A���FA���H�H����H�pL��L���u�fD�LoH���s-����u?H�;�71��H�ŋ�@,��uB�
CH�;,�E��H�=�:,tm�����H���F1��Q����1�����F�-��L��H��H��1��W���DH��1��4������H�p�F�������H��H����4��I�}H��tB�U.���t9�H����1��H�C��OoH�������O���H���D����=�����Ő�[-���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�<>�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.��;,��<uH�
�;,���f�H���
�$�L�-��
f:,
�d<,��<,��:,g�
�:,�
�:,H����AWAVI��AUATU��SH��H��(H���H�@�x��E1�D��D$E��tH���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��H�Ћ����xH�P0��F�H����^���H�P8H��tŋR
�у��L�D$H�\$M��t4M�PL�����L�D$H�\$L����A�� �8���A���.����7���M��M��u�M��M��u�M��M��LD�밽}����E1���H��0,SH��H��tH�x
�W$�����H�CH����H�{
H����H�=E0,t
�&$���uxH�CH��0,H��H�r�["����tV�CHt+H�{�/�$��H��tH��0,H�xH�r�*"����t%H�{
�#��H��tH�q0,H��H�r�"����uH��/,[��AWAVAUATUSH��XdH�%(H�D$H1��m���H�~3,�{@t(H�D$HdH3%(��H��X[]A\A]A^A_�DH�=1/,H����H�-i3,H��u��H���H���H�E�xu拵���t����H����H��I�����+@��FH���/
��H���
H��2,�@pH�
�.,H���H���H�B
0 CH�J(H�B0H����BL�`8�Z2,��<���L2,��H�=�2,��Oo�#��H��I��H���f�H�}H��t(�2"�����H�}H��t��1,��`<
�7I9�L��t6�H�{H��t ��!���uH�uH�{�$������H�H9�uѿpCH�-u.,H��-,���H��-,H��tH�x
�!����h��
�3,H�]L�m��H�\$H�\$
L�l$��H�|-,H��t H�@H�|$
�H�D$(�����D$�\$H�=\2,H�t$���
����H�=92,H�t$�������H�=%2,�T�^�F����T$H�t$H��������H�=�0,��Oo���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�u$���������1����F���H��1��r���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����H�=�*,�����.,H��*,��<�|�����.,�Љ����������9��Y�����H�=�.,��F��҃����
���5���DA�E��t}E9���H��twA��tQM���M�����H����H�E�?�FH��H��P�P(�����H��t_�@pH��(����f��.,�����.,�H��E��u�A��t
��-,�v���I�CA��xID��_���E���{������F1��a���j���E���������),H�=�),���NH��t(H�E�T$H�t$0H�D$0H�EH�D$8�����Q���H�}���H�I0,H������L�x�f�H�H��������C��u�H�{���I�<���L�ML�CH��I��FH������1��u%���t$H�|$
L�l$(��������L�����f�뎋T$H�t$L���������D����A���8���A����h�FLE�1�M�����L��H��1��0���*���H�=�-,������K�F����T$H�t$H���r����{����5���DH�=-,1Ҿn�F1�H�D$0H�D$@H�D$8���H�|$0H��H������t}H�����H�|$0H��tb���H�|$0H�����H��',H����',�1���1���M�F����H��H��L��1��~���N�����F1��=�����H�=�',�H���7��H�=P,,1Ҿr�F1�����H�|$0H��H�����Q��������b',��uATUSH��H�
H��t�GEu[]A\��f.����H��I��txH�,',H��u��DH�H��t�H�sL���L����t�H�k�/H�����H��uҾ��FH���"��H��t�H�PH��L��H)��.����u���&,�k���H�C
H�8����I���t������c*,�������5,,�P'M�����
�+,��IM����H�
**,H�H�H!�H9���H�H�H!�H9�������H�H9���H�H9�����t6H�H!�H9�����),��vN�8UNHD��f.���N��fD�=�*,�PM�
�L��HD��f���),��lM�4�����@�@�M�f���),���M�P�����@��M�f����M�f.���),��3N�N����q���f�ATUS�WHH���������@E��tL�g
A�D$Eu3��t
H�{
�GEu
[]1�A\�fD���A��[]1�A\�f.�1���(�F���L��H��1�����S�H���`�F1��{��H��H�¾1��y������F1��X��H��H�¾1��V����H�F1��5��H��H�¾[1��2��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�����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]���eH���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�����EGNUI���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����vH������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_�</H�D$��H�|$�/L�L$�+���L�L$I��L��L�L$(�6���L+t$H�D$
I�|���M�VH�t$H��I��H�D$L��L�T$���L�T$H�L$
L�L$(K�<H�QL������M��H�L$01�1�L�������u8E1�H�|$0t#�H�D$8L��J�4�I�����L;t$0r�H�|$0����H�|$H�����������I�}1�E1�H���^���H��I�}���I�EI�EH��1��g���J��9I�u����H��I�EI�EH�P�,���E1�1��������@f.�AVA��AUI��ATU1�SH��L�gdH�%(H�D$1�H��,L��H�@H�0�2���H��H��t7�HD�H�������t�CEtH��,H�@H9Ct+H���S��H�L$dH3%(����H��[]A\A]A^�E����H��H���|������H�$H��tk�XCH��,��,�@���,����H�$H����A���FA���H�H����H�pL��L���u�fD��LoH�������u?H�;���H�ŋf
,��uB��FCH�R,��H�=E,tm�����H���F1������1�����F�'���L��H��H��1��ǥ���DH��1��������H�p�F�s�������H��H���c��I�}H��tB�����t9�H���D���H�C��OoH�������O���H���D�����=�����Ő�����f.�AWAVAUATI��H��USH��8L�ndH�%(H�D$(1��T$A�}/��M����A�<$��H�L��L�l$H�D$�P���L�x�jf.�I��M)�K�<>���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.���,��<uH�
/,��f�H�����N蝲���
�,
��,� ,�B,g�
:,�
0,H����AWAVI��AUATU��SH��H��(H���H�@�x��E1�D��D$E��tH���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<I��H�Ћ����xH�P0��F�H����^���H�P8H��tŋR
�у��L�D$H�\$M��t4M�PL�����L�D$H�\$L����A�� �8���A���.����7���M��M��u�M��M��u�M��M��LD�밽}����E1���H��+SH��H��tH�x
�����H�CH����H�{
H����H�=��+t
��uxH�CH��+H��H�r�����tV�CHt+H�{�/��H��tH��+H�xH�r����t%H�{
�
�H��tH���+H��H�r�u���uH��+[��AWAVAUATUSH��XdH�%(H�D$H1��݉��H��+�{@t(H�D$HdH3%(��H��X[]A\A]A^A_�DH�=��+H����H�-�+H��u��H���H���H�E�xu拵���t����H����H��I�����+@��FH����H���
H�_�+�@pH�
�+H���H���H�B
�<CH�J(H�B0H����BL�`8��+��<�����+��H�=��+��Oo�!�H��I��H���f�H�}H��t(�����H�}H��t�l�+��`<
�7I9�L��t6�H�{H��t �b��uH�uH�{�����H�H9�uѿOCH�-�+H�"�+���H��+H��tH�x
����h��
�+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�=e�+��Oo��H��H��uE��fDE1�H�EH9CA���L9ktL����E��H���H����L�kA�}/u�L����I��뮃D$�|$����H�UH�u�8�F1��2���f�H�mH������o�+��<�����1���Oo���������1����F�l�H��1�����m���D�C��������H�mH���}����L�Y�+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�����H�=M�+���Q�+H�6�+��<�|����9�+�Љ����������9��Y�����H�=g�+��F��҃����z��5���DA�E��t}E9���H��twA��tQM���M�����H����H�E�?�FH��H��P�P(����H��t_�@pH��(����f��|�+�����p�+�H��E��u�A��t
�V�+�v���I�CA��xID��_���E���{������F1��ѕ���j���E����������+H�=�+���NH��t(H�E�T$H�t$0H�D$0H�EH�D$8�����Q���H�}�(�H���+H������L�x�f�H�H��������C��u�H�{���I�<�{�L�ML�CH��I�Ź�FH������1����t$H�|$
L�l$(��������L����f�뎋T$H�t$L���������D����A���8���A����h�FLE�1�M���-�L��H��1�蠔���*���H�=+�+������K�F�#��T$H�t$H���r����{����5���DH�=��+1Ҿn�F1�H�D$0H�D$@H�D$8��H�|$0H��H������t}H���$�H�|$0H��tb���H�|$0H����H�!�+H����+�1���1���M�F�N�H��H��L��1�����N�����F1�譓�����H�=��+�H����H�=��+1Ҿr�F1��R�H�|$0H��H�����Q����(�����+��uATUSH��H�
H��t�GEu[]A\��f.��k�H��I��txH�|�+H��u��DH�H��t�H�sL������t�H�k�/H����H��uҾ��FH���e�H��t�H�PH��L��H)�����u���+�k���H�C
H�8�?�I���t�����#Eg�G�����G�ܺ��GvT2�G�G�G�Df.�H��D��w�O�WD��p�H�P�@AWH��H��H��H��
AVAUATUH��H��H�SI�NjJH�D$�BH�T$��\$�Z�D$�B�D$��B�B1�H9���L9���G��f�D�]�L$�D$�|$�uD�UD�MA��x�j�1��t$�D�T$�!�D�L$�1ȍ�V���Љ���1��!�1�ʋM���9�p
$�ljL$�1�A���}A1�!�1��D���|$��D�}����!�1�D�|$��B��8�|����
1�D�}$�!�1��B��*ƇG���1�D�U�!�A��1��A1�B��F0���D���!�A��1�A1��B���F�D���D�e
�!�1�D�d$��B�� ؘ�i���
1��!�1��B��:��D����1��!�A��1�A1���}(���D��>�[��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�AT$�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�ܺ��GvT2�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$<D�\$`H��@�\$L�|$HD�|$DD�D$@D��l$hD�l$lA���y�Z���\$dΉ�F��=�y�ZD1�D!�A��1���;�y�Z�D��D1�D!�D1�D�|$t������D��D�t$p��A��E1�A!��E1�E�A��A��E�G��(�y�ZA��A1�A!��A1�E�E��A��E�F��7�y�Z��1�D!�1�D�E��A��A��D�F��>�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$<D1�A���A����$�A��>�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<M�L)��C����H��L���@�`�H��@H�u`L��H���]���\������H��L���2��UM�L��I��K�47��?�U�&���@AUI��ATI��UH��SH��H��dH�%(H��$�1��o�H��L��L�����H��H�����H��$�dH3%(uH�ĸ[]A\A]����AWI��AVAUA�ATUH��S1�H��L��$�H��I��dH�%(H��$�1����I�<L��H��H)ھ�A���H�H��tMH��H��t]������t�H�ېucL��L�����1�H��$�dH3%(uSH��[]A\A]A^A_�@L��L�����1��y�����+����¸��u�H��t�L��H��L���]��������fDAUATUH��SH��H����H�?t{H�G1�fDH����H�x�u�zHc�H�����H�}I��H��tM�E1��DI��H��M����I�$H�|H�KH��u�I�DL��H��[]A\A]ÿ�1���1���f.�UH��SH��H��t2H�?H��H��t�H���7���H�;H��u�H��H��[]�!����H��[]�f�AWAVAUATUSH��H��(H���
���H�xE1�E1�E1�E1����H�-5�+H�D$E1��D$D�D��DE@tH����DE@u�D$��t�D$O�\���9�|7M��L�T$���d$L��Hct$H������L�T$I��O�\�I��H�L$��u�eD�E1�H��H�����tL��Du@tD��D �D ��E��u�\��E��f�����'��H���H�����u�H�|$�L�T$L�\$�9���L�T$L�\$I��I�K�D����DU@tf�H�����DU@u�����H�|$�}���H��(L��[]A\A]A^A_�E��t#��"�i���E1�����f�A�����D��'t+��"�A���A����E1�����A�����DE1�E1������@�����D$I��L�T$�w���E1��Q���@f.�AVH��AUATUH��StgH�I��H�������tbL�%�+�$�<'t1<"t-H��D���
������t/H�����t5��D��A�T@u<\u�H��\������u��[]A\A]A^�H��
軿�����t�I��I�]H���t���1��͐AWE1�AVAUATUH��SH��8�H�<$�D$(��@A��A�_9��H�ELc�N�$�J�<�?@uكl$(�QH�5�H������H��I����1��H����������L�����H���H�D$��1�1�L���o������vL�\$I�{L�\$�s���L�\$L��H��H�D$L��趻��L�\$H��I9�tL��H�D$�����H�T$�H�D$����t4H�
H�+�A@�%H�D$���Q@�
H�����u����H�}H�H�D$���H�L$H�EE1�E1�1�H�L$H�$H��D�L$,L�\$
H�T$Hc1H�t2H���ϼ��H�$H�T$H�E�1L�H�<�)�Hc�H��J�t
H��D�����L�\$
H�L$L��H}H��L��H�L$諿��H�$D�L$,�A�D��H�L$H�����H�|$���f�L������H�$����DH��8[]A\A]A^A_�H�|$���H�}H�H�D$H�T$���H�T$H�EH�L$H��tK1�@H��H�<�L��u�A������H�H�ӛ+H�4�H�81���������E1�E1����H��t+H�?t%H��1��H����H��u����1��f.�H��1�H��dH�%(H��$�1��,���H�$H�T$Hi�@BHD$Hi�@BH�HD$H��$�dH3%(uH�Ĩ��8����H��H��+H�
�H��j�H�81���������@f.��GPH��uH�G8H����fDH�HH�@8��@f.�ATUH��SH��H��H��tmI��H�B�I��H����H�C0HD�H��H�3���H��t[H�T(H�CL!�H�SH�SH��HH�H�S
H�@�cP�H��[]�A\��I������DH�A�+H�D$�H�D$��GPH��uH�G@H����fDH�HH�@@��@f.��gP�H�O8L�G@����Df.��OPH�O8L�G@L�OH����f.�AVAUATUSH�oH��H+oL�wH�T5H��H��H��HG0H�?H�LdH9�HC�H9�HC�H9�I��vxH�q�+E1�@K�D%L�kM�uH�sH��H�C
I�EH�C0M�dH��I!�L�������CPuH�S0I�DH��H!�H9Ct:�cP�L�L�cH�k[]A\A]A^�f�H9�w�H��H�����H��I��u��k���I�FL��H��I�E���뱐f.�H�GH��t�H9�vH;0vH�@H��u�1��f.���f.�ATI��USH�wH��H��u�(H��I9�vH�I9�v(H�nH�������KPH��u�M��u#[]A\�f�L�cL�cH�S
H�s[]A\�覴��fDH�W1�H��tDH�
H)�H�RH�H��u�����f.�USH��H�-ۯ+H��t&fD�]��xHcÃ��T����u�H�mH��u�H��[]ÐUH��SH��H�0�+H�8tZH���+HcC���P�SH�l�1�H��[]�fD�����H��t-H��@H��H�E�+�1��@H�
I���H�뚸�����f.�AUI��H��ATUH��SH��H���U���H9�I��vH��H�<1�H)�����H��H��L��[]A\L��A]锹��@AWA��AVI��AUI��ATL�%
�+UH�-
�+SL)�1�H��H������H��t�L��L��D��A��H��H9�u�H��[]A\A]A^A_Ðf.���H��H���Stack
now %dtoken %s (nterm %s (Deleting%P%F:%S: %s in %s
%P%F:%S: %s
Starting parse
Stack size increased to %lu
Entering state %d
Reading a token: Now at end of input.
Next token isShifting $%d = MRI style script?fill
value*default*PT_GNU_STACKFILEHDRPHDRSVERSION scriptgloballocalextern->
$$ =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����0���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��CnjCˌCόCӌCCی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��CC��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����
�����������+�-����������������������������������������������������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
<http://bugzilla.redhat.com/bugzilla/>%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 <NUMBER>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. <method>
is:
ignore-all, report-all,
ignore-in-object-files,
ignore-in-shared-libsOutput lots of
information during linkRead version information scriptTake export symbols
list from .exports, using
SYMBOL as the version.Add data symbols to
dynamic listUse C++ operator new/delete dynamic listWarn about duplicate
common symbolsWarn if global constructors/destructors are seenWarn if the
multiple GP values are usedWarn only once per undefined symbolWarn if start
of section changes due to alignmentWarn if shared object has DT_TEXTRELWarn
if an object has alternate ELF machine codeReport unresolved symbols as
warningsReport unresolved symbols as errorsInclude all objects from
following archivesUse wrapper functions for 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=<DIRECTORY>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=<NUMBER>Print
option helpCall SYMBOL at load-timeMapWrite a map fileno-define-commonDo
not define Common storageno-demangleDo not demangle symbol
namesno-keep-memoryno-undefinedno-allow-shlib-undefinedallow-multiple-definitionAllow
multiple definitionsno-undefined-versionDisallow undefined
versiondefault-symverCreate default symbol
versiondefault-imported-symverno-warn-mismatchno-warn-search-mismatchno-whole-archiveTurn
off --whole-archivenoinhibit-execnoinhibit_execnostdliboformatSpecify
target of output 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=<method>[=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 AA@A0A
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
<code %d>%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.els2Copyright (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: <no plugin>
(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�$@��`FJw�?;*3$"$D���kA�N�L
DFAl��_J�g
OZ�0��^k�b�4�p��A�A�G \
FATS
FANL�ȭ�$B�B�B �B(�A0�A8�G�6d
8A0A(B
BBBA4���A��T��Il��A�J0�A����&D4���A�A�D
d
AAD}
AAA�����x��xA�d
A$���bD�l
HM
KQ< ��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
LA,t���B�G�C ��
ABA�H��D��,����\B�A�A
�TABD����L�E�D �f
�A�B�BA�A�D�M
���,<@��rB�E�G �L
ABAl���A�O�������������x���p��h��`��4X��LP��dH��$|@��A�A�D
�AA������������$�����A�G
�
DK<x��7B�E�A �A(�D@�
(A
ABBHTx��%l���%����%����%����%����%���%�
��%8��,@��<DH��B�G�D
�A(�J@�
(A ABBCL���}'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
JA
O<d H�9B�E�D �D(�G@�
(A ABBA$� H�mK�a
DP
P$� ��LA�D�D
@AA<� ��.B�E�D �A(�D0
(D ABBDd4
��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 JBBPK
(A ABBGt(O ABB$�$�QA�D�I
@AA8$�1bN`$�eDP
LDd<�$�B�B�E �B(�A0�D8�D@�
8A0A(B BBBE�
8A0A(B BBBE��H'�m B�B�A �D(�D0{
(C ABBH�
(A ABBK8
(C ABBHI
(C ABBGa
(F ABBL�
(A ABBGT
(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 BBBBZ8A0A(B HBBD�4�xB�E�E
�E(�D0�A8�D@S8A0A(B
BBBL�H4�B�E�E �E(�D0�A8�D@p
8A0A(B BBBALD�4�B�B�B
�B(�A0�D8�G��
8A0A(B BBBEL�h6�tB�B�B
�E(�A0�D8�D�
8A0A(B BBBJL��7�)B�E�B
�E(�D0�A8�Dp�
8A0A(B BBBBD4x8�B�E�J �A(�D0�GPn
0A(A BBBE4|�8�A�A�G H
AAED
CAH,�X9�?A�J�G T
AAH�h9��D j
B4:��A�A�D0\
AALj
AADL<�:��B�B�H �G(�D0�J
(A BBBH\
(A BBBEL�@;�B�E�D �D(�G@a
(A ABBCh(D JBB��;�H�e
C4�@<�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
ABOMAN|pA�
<�hA�XB�B�A �D(�D0<
(D ABBAL��B�}
B�E�E
�E(�D0�D8�Dp<
8A0A(B BBBE\$�O�B�E�G
�E(�G0�D8�G@r
8A0A(B BBBGl8F0A(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
Gc,|pS�#B�F�C �
ABC4�pT�_B�A�C �G
ABHAADL��T�B�G�J
�E(�A0�A8�Dp
8D0A(B BBBA44�X�WB�D�A �D�
AABE<l\�B�Q�J �A(�D0�c
(A BBBDL�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
Bu
KH
ADD�b�;A�A�G w
AAFO
AAG_
AAG4�e�gA�K�D B
DAIDAA$@e�DA�I�D
sAADhe�b4\�e�B�Q�H �u
AIFdAI,�f�A�I h
AEDC�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
JD��i��B�B�B �A(�A0�GPs
0A(A BBBF4pn�A�D�D V
DADYDA|D�n�B�B�E
�E(�D0�A8�D@o
8A0A(B BBBHn
8A0A(B BBBHO
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 {
AAJD��s�EB�B�B �A(�A0�GP�
0A(A BBBC��v�!L��v�YB�E�J
�E(�D0�D8�D@
8D0A(B BBBGD�w�8A�vd�w�}|@x�9D�
AL�`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 BBBA4����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
AAFL���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 ABBEL�!0��B�B�B
�B(�D0�G8�MpX
8A0A(B BBBFd�!���B�E�J �D(�D0�z
(A BBBFo
(A BBBJQ
(A BBBH$D"���9A�I�L
`AAdl"���B�G�E �E(�A0�A8�DPG
8D0A(B BBBE
8A0A(B BBBDL�"x���B�B�B
�B(�A0�A8�G�
8A0A(B BBBA4$#(��B�A�D �J
ABD_AN4\#���qA�D�D s
AABnAA�#ȫ�QH�e
Ab�#��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
EA
WA
WA�%���DK�%ȱ��%б�&ر�,&б�x]P<D&8��wB�G�D
�D(�D0L
(C ABBGd�&x��^B�E�E
�E(�D0�D8�D@�
8A0A(B BBBGY
8G0A(B BBBGl�&p��P�B�B
�B(�A0�A8�D@
8A�0A�(B�
B�B�B�JG������C@������\'���DT4t'���GB�G�I
�D(�L0I(G AKB4�'з�GB�G�I
�D(�L0I(G AKBL�'���B�E�A
�D(�D0n
(F ABBGh(G ABB44(h��B�G�D �GP{
AABADl(и�IB�E�E �I(�I0�G��
0A(A BBBB�(ػ�9Dd
HDL�(���B�L�B �D(�A0��
(A BBBOA
(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 BBBQh
8G0A(B BBBXD
8A0A(B BBBAU8G0A(B BBBd*h��kB�E�B
�B(�A0�A8�DPJ
8A0A(B BBBK�
8A0A(B BBBJL|*p���B�E�E
�E(�D0�D8�G`|
8A0A(B BBBJT�*��B�B�E �D(�C0�G@X
0A(A BBBId
0A(A BBBD\$+X��AP�B�A �D(�D@N
(G� A�B�B�Kl(A�
A�B�B�F@����4�+�t�B�B�B
�B(�A0�A8�Dp$�+��A�g
HR
N4�+���A�D�G d
AAFU
FAL�,���B�E�E �E(�D0�D8�G@[
8A0A(B BBBK�
8G0A(B KBBNn
8H0A(B BBBI{
8G0A(B BBBM$�,h��A�g
HR
NL�,���B�I�B �F(�A0��
(K BBBQ(A BBB<,-���EB�B�A
�A(�G@�
(A ABBJLl-���!B�D�B
�B(�A0�A8�D�&
8A0A(B BBBH�-���\A�x
G4�-���dA�A�G M
DAE~DA.��BA�l
SA<4.8���B�F�A �Q
ABCT
ABYt.eq�R�z���.����B�B�A
�A(�G0G
(A ABBF�
(A ABBJ
(A ABBJ�
(F ABBH�
(C ABBMZ
(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�
AL0����DP�
Cl0����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�]
Zm
Ky
Wt
LA
Oq
GY
OL4�1���B�D�D �r
DBFAAI�1��DL<�1 ��>B�G�A
�u
ABFM
ABH<<2 ��B�D�C �^
ABNs
ABB|2���ODa
KU�2���2��
�2��
�2��
�2���
3���,3���
D3���
\3���
t3���
�3���
�3����3����3���
�3���4���4���44���L4���d4���|4����4��
�4���0DS
IO�4��D [
A�4@��58��50��458��"L5P��LDCd5���%DZ|5���%DZ$�5���MA�D�I
|AA<�5���B�D�A �F
ABHF
ABO4�5p��B�F�F �T
ABKRAM46��L6��d6��$|6���A�y
FZ
F�6���G��
AL�6X���B�B�B �B(�A0�D8�M��
8A0A(B BBBA7���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 BBBE4d8h
�~B�F�C �H
ABJZABD�8�
�@B�B�E �A(�A0�F@�
0A(A BBBKL�8��iB�E�B
�B(�A0�A8�GP�
8C0A(B BBBHd49��~B�B�E
�E(�D0�D8�DP
8A0A(B BBBJD
8C0A(B BBBAD�9��MB�A�D �H
ABFZ
ABK�
AIF�9���9��
$:��iA�D�D ]AA<<: �|A�C�G m
AAFN
AAHUGA$|:`�cA�G n
AI,�:��jA�D�G D
AFID�:��B�E�H �D(�D0�G`z
0A(A BBBAL;P�9B�B�B
�B(�A0�A8�DP�
8A0A(B BBBALl;@�B�O�B
�B(�A0�A8�D@k
8F0A(B BBBAd�;�uB�B�B
�E(�D0�A8�D��
8A0A(B BBBA�
8A0A(B BBBM$<�0\<<0�cB�E�A
�D(�G0g
(A ABBH@
(A ABBBo
(A ABBA<�<@�)B�G�C ��
ABAO
ADAL�<0�B�L�B �B(�A0�F8�DP�
8A0A(B BBBA,=��3TZ<D=��xB�B�A
�D(�J0n
(D ABBFT�=��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
GL�>�"�|B�B�E �B(�A0�A8�G@~
8A0A(B BBBDd<?�#�?B�B�B
�B(�A0�A8�G`4
8C0A(B BBBG<
8F0A(B BBBE$�?�&�A�G�
ACL�? (�B�B�B �B(�A0�C8�DP�
8C0A(B BBBA@`+�
4@X+�
L@P+�!Ld@h+��B�B�B �B(�A0�A8�G�H
8A0A(B BBBE,�@�.�#B�A�I ��
ABB$�@�/�I�
Hl
AR\Ap0��n�E�J
�B(�A0�A8�F@�8A�0A�(B�
B�B�B�B@������,lA�3�GA�A�G l
AAI�A4�eA�^,�AP4�B�A�A �_
ABJ�A�4�5mB�4�oB@5��L4B6�B�B�B
�E(�D0�D8�J��
8A0A(B BBBK�B�7�4�BP9�B�A�A �x
ADGH
ADK�B�9�A��L�B8:�B�B�E
�B(�A0�D8�DP�
8A0A(B BBBA,DC�:�IA�A�D0"
AAF<tCF�B�E�D �H(�K0�
(A ABBAd�C�F�B�D�B
�B(�A0�A8�GP�
8A0A(B BBBBM
8C0A(B BBBGLDH� B�B�B
�E(�A0�A8�D��
8A0A(B BBBGlD�K��A��
G�DpL�<�DxL�2A�F�I �
FALT
AABDHAL�DxM�eB�B�B
�B(�A0�A8�GP�
8C0A(B BBBH44E�N�B�B�A �D(�F0�(D
ABBLlE0O�B�B�B �H(�A0�A8�G��
8A0A(B BBBAD�ES�EB�E�E �A(�C0�D@�
0A(A BBBALFU�>B�B�B
�B(�G0�A8�Dp
8A0A(B BBBH4TF�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<G`]��H��L\G^�8B�B�B
�B(�A0�A8�D�z
8A0A(B BBBF4�Gf��L�A�A �S�A�B�L
����G�f�4�Gh�B�A�A �x
ADGH
ADK4HXh�A��LTH�h�B�B�E
�B(�A0�D8�DP�
8A0A(B BBBA,�H�i�*A�A�D0"
AAF<�H�t�B�E�D �H(�K0�
(A ABBAdIXu�B�D�B �B(�A0�A8�GP�
8A0A(B BBBBM
8C0A(B BBBGL|I�v� B�B�B
�E(�A0�A8�D��
8A0A(B BBBG�I@z��A��
G�I�z�<J�z�2A�F�I �
FALT
AABDHALDJ�{�eB�B�B
�B(�A0�A8�GP�
8C0A(B BBBH4�J}�B�B�A �D(�F0�(D
ABBL�J�}�B�B�B
�H(�A0�A8�G��
8A0A(B BBBADK���EB�E�E
�A(�C0�D@�
0A(A BBBALdK���>B�B�B
�B(�G0�A8�Dp
8A0A(B BBBH4�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 BBBF4M����L�A�A
�S�A�B�L
���DM��4\M���B�A�A �x
ADGH
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 ABBAdtN���B�D�B
�B(�A0�A8�GP�
8A0A(B BBBBM
8C0A(B BBBGL�N��� B�B�B
�E(�A0�A8�D��
8A0A(B BBBG,Op���A��
GLO ��<dO(��2A�F�I �
FALT
AABDHAL�O(��eB�B�B
�B(�A0�A8�GP�
8C0A(B BBBH4�OH��B�B�A �D(�F0�(D
ABBL,P��B�B�B �H(�A0�A8�G��
8A0A(B BBBAD|P���EB�E�E
�A(�C0�D@�
0A(A BBBAL�P���>B�B�B
�B(�G0�A8�Dp
8A0A(B BBBH4Q���rB�A�A �G�{
AABFLQ��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 BBBF4lR����L�A�A
�S�A�B�L
����RH��4�R���B�A�A �x
ADGH
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 ABBAd�S���B�D�B
�B(�A0�A8�GP�
8A0A(B BBBBM
8C0A(B BBBGL<T��� B�B�B
�E(�A0�A8�D��
8A0A(B BBBG�T����A��
G�TP��<�TX��2A�F�I �
FALT
AABDHALUX��eB�B�B
�B(�A0�A8�GP�
8C0A(B BBBHDTUx��EB�E�E
�A(�C0�D@�
0A(A BBBAL�U���B�B�B
�B(�A0�A8�D�z
8A0A(B BBBF4�U0��rB�A�A �G�{
AABF$Vx��<V���HDC|TV���YB�B�E
�B(�A0�C8�G`�
8A0A(B BBBI�
8D0A(B BBBF^
8D0A(B
BBBE�V����H��4�VH���L�A�A
�S�A�B�L ���,W���
DW���)Dd\W���WTtW8���B�B�B
�A(�C0�G@P
0C(A BBBE{
0F(C BBBF�W���FA�J
Eu�W���KRYMNX��4$X���B�A�A
�x
ADGH
ADK\X���nA�fL|X ��B�B�E
�B(�A0�D8�DP�
8A0A(B BBBA,�X���A�A�D0"
AAF<�X���B�E�D �H(�K0�
(A ABBAd<Y���B�D�B
�B(�A0�A8�GP�
8A0A(B BBBBM
8C0A(B BBBGL�Y��� B�B�B
�E(�A0�A8�D��
8A0A(B BBBG�Yh���A��
GZ�<,Z �2A�F�I �
FALT
AABDHALlZ �eB�B�B
�B(�A0�A8�GP�
8C0A(B BBBH4�Z@�B�B�A �D(�F0�(D
ABBL�Z��B�B�B
�H(�A0�A8�G��
8A0A(B BBBADD[��EB�E�E
�A(�C0�D@�
0A(A BBBAL�[��>B�B�B
�B(�G0�A8�Dp
8A0A(B BBBH4�[� �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 BBBF44]���L�A�A
�S�A�B�L ���l]@�4�]��B�A�A
�x
ADGH
ADK�]�nA�fL�]P�B�B�E
�B(�A0�D8�DP�
8A0A(B BBBA,,^�A�A�D0"
AAF<\^�'�B�E�D �H(�K0�
(A ABBAd�^�(�B�D�B
�B(�A0�A8�GP�
8A0A(B BBBBM
8C0A(B BBBGL_�)� B�B�B
�E(�A0�A8�D��
8A0A(B BBBGT_�-��A��
Gt_H.�<�_P.�2A�F�I �
FALT
AABDHAL�_P/�eB�B�B
�B(�A0�A8�GP�
8C0A(B BBBH4`p0�B�B�A �D(�F0�(D
ABBLT`1�B�B�B �H(�A0�A8�G��
8A0A(B BBBAD�`�4�EB�E�E
�A(�C0�D@�
0A(A BBBAL�`�6�>B�B�B
�B(�G0�A8�Dp
8A0A(B BBBH4<a�7�rB�A�A �G�{
AABFta9��a 9�HDC|�aX9�YB�B�E
�B(�A0�C8�G`�
8A0A(B BBBI�
8D0A(B BBBF^
8D0A(B BBBE$b8?��H��LDb�?�8B�B�B
�B(�A0�A8�D�z
8A0A(B BBBF4�b�G��L�A�A
�S�A�B�L
����bpH�1�b�H�D�b�H�EB�P�B
�B(�A0�J8�0A(B BBB<Dc�P�B�B�D
�A(�G0l
(G ABBHL�cQ�B�B�B �B(�D0�D8�GPj
8A0A(B BBBE<�c�Q�pB�E�D �D(�G�N
(A ABBALd�Q��B�E�B
�H(�D0�A8�G�"�
8A0A(B
BBBAdd�R�8|d�R�*L�d�R��B�E�B
�B(�A0�A8�J��
8A0A(B BBBA4�dXg��B�B�D �A(�G0�(G
ABBdeh�<B�B�B �B(�D0�D8�G@Z
8A0A(B BBBEk
8A0A(B BBBK<�e�h�pB�E�D �D(�G�N
(A ABBAL�ei�B�E�B
�H(�A0�D8�I�"�
8A0A(B BBBE<f�i�B�B�A �D(�D0�
(A ABBA4Tf(j�GA�D�D l
DAFDAAL�f@j�BB�B�B
�B(�A0�A8�G`�
8D0A(B BBBD<�f@l�B�E�B �A(�D0�o
(A BBBDLg�l��B�E�B
�B(�A0�D8�Dp8
8A0A(B BBBAlg@o�3�gho�hG�[
A�g�o�2D�g�o�"4�g�o�B�A�D
�G0`
AAGIhpp�"$h�p�<h�p�<Th�p�B�B�B
�A(�A0��
(A BBBC�hXq�64�h�q�jB�D�A �|
ABJQ
ABA�h�q�&$�h�q�?A�A�D
vAA,$i�q�A�D�D n
AAG4TiHr�LB�H�A �D(�G0b(G
ABED�i`r�eB�E�E
�E(�H0�H8�M@l8A0A(B BBB�i�r�`Z@@Z@]
�
L
�;@
�C�o�o���o�@H@x@
�
ox`)@�'@h ���o�'@���o�o�%@�o<@&<@6<@F<@V<@f<@v<@�<@�<@�<@�<@�<@�<@�<@�<@=@=@&=@6=@F=@V=@f=@v=@�=@�=@�=@�=@�=@�=@�=@�=@>@>@&>@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.debugO�T�7zXZ�ִF!t/��i�M]?�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���4�R��+*C��]�%���_P�~�
�\�
Om��!X��)<C$j%w)[6!mj��{�e�k�U�H�<��Gl;�>r
�(�'��mR?��p@���rZ�I@�
Ei~��kiI���B��
�x50aBi8��7�6��м(�ߙ@�pm@��A��>ǭ���퀵��c�x
;L'��Z��](��w��E�&�mo ��JN��Q�?����~'ڳ
���To��k�v�q���S; ^Ϸw��p�n!�\P������#���
1�Lsi���-�14߳�w�D����9�2Ja���%��;
"B�h˜~�P?�D��_5C����ʒ�6D=
��g���w�,���j�u�<E�忝�Ʉ��=L놰���pC�F�W�����G>��?#�[��+1�"ar�U&[
�"��/��%�Zqg[��ChJ$]|��'�6!u���E��k[��(eZ)p[��d�U{�N��`��0�U��$��AT��4�i�S���i�
���\hM2O�P���S�Lj`�ۭ�?g���X��(^��}~�G���`�S�)�=x�����A�+Q��a'~�e�U�tY���8�vx7�`�A��m��\�ϥ��LK�Mv.9ײnP�3�.����`z:�H�jj�x�u|���8ϒ�4���P`w
Q�t��"����H�m����4��ΑY�g��N��r}
�R�U��^3��gS��/�\�L�6�5���
����Q9�Ea��r�:�-*�Z]1������1u�CA�"zTNHù=�mz?;��E��g"wBUC(����C�c)��dF��_`cU&rZA %E��-\�B7V��lg�vF&~�ߢ��r�d�`nAoZ4҇�r�bn[1��о.r]Si
�T���
�pC�"����ң�"%B�q���nv�i>�?�|�6;q|<�4'ͨ6����k�d�߱2��C���G�g��BF�%~R�Q��s���5:R_�x�d�h%�!���W0���&ɋ��Z��G���¡�EմWɟ�J� ����ϞͲ5�C;�����F}ۻ�
C�t�G���1�a"����w-����MDI��BLU�Z�D�ԝ#������i�-N]y��%���r)��?
J-����!�����&�l�������^���K�#�Lb�q�-E���`hh�s���W����E�]
�语��P|~g:�'�<�
�v�9�4e���z�����偀@Y���9 /qi[.
ρ���l)�5�h�(�����IقKj��0��y��qe�G��=Ǔ6u�ö�=S-�R=�:�p��{FT�j<A�k�fP��S:�ktZ�����J���6) ����Hv�Ct���M@O�{Q��"PL��@&}�&(Е���#~D7�g]��Ŀ��z��*�N��%o���ٱs��d����1ȹ�O���>d
���o����*c'�<�çB��
UB�8����r�&�����@���gKE�*�&
���\6[5�~o��C�P��Ӧ��+o�N^X/�6�OAP"�8e�<���y�*����g ��܂G^��4��~�$iӏ����d��;1D�5�>C\߸��P�7�-
$;�F.y�^D��S��;Eۗ�
�F��(��L�(>>�RϦ��G!�H�Y���s��h���:�"
VX>n�&*��ٕwuͧm�c}�T,�
��@�>5���ÇZ����
��ӑ���q��Q�z����ږ��
Ul���]�(�@�Տ]�;�V7��n�'�k�-P
��Ԩ?Jc�5���+8+mŭ��(�w�Ï�E���Z�"J�:��T7�9,�p�v�{���ʶ"�A�"�k�u ��~��s\r�M%L���I��J3�W ÁiP���.fc�F7ߕ-<YM_`��f�V*^s�"(A��͋��mi��Ze�y}�߽���ܽ)��J7�C�!!|�2��:�nd&U���{(iMՃ
.��$����t*���?Y��G����˷�9!�`a+��~R�N
�=(n��9F�}�v�'_�9uB�T�v�f�qw���x��C"���������d]
�@�[�b�
f[�w��d5�pPT{QЀ�
x3��;���$�w�h�n�g�3':��ý�$O,��0��쫦,�{�qk;lU�����~�LZ��ro��4�*�]�4��W��o����Ke�V�eT7�����\�aY����$�ߗ��'�����ר�ۉ�:��H.P�O8Jh�nb
a{��R��!�Ɣ 0����`��0�p����=Ƚ��:��Ԏ�ymZ>�ʝQ*>}�l�X��Ƙ�<0m+��wC��ܳ�D0a��E��ڷV
e�jN�L�
1��($��H=����D�v�@A�j�0G���׆ݏ�����ZHOX��?+��W�?��S�~�6�K�S�!�%Yb`���,�]�V��݇6`f���R�Mu)��E��Y��d/���&;�yǜ0�>��#j��$+�}69�L"|:�S �c$��\e�D3�m;nW}d�XK
���SI�J���D������V��}��U!�{~�G��v�m�uv�S�{��U�u|�L
����O�U��ƥ�f,eU�"�e�:�Įޘ�7�ƅE�NJ���=�x/J�팳�؝��8}Pj-rX����PX�sBs���9��]���${�%6�3���ǹ*��2c����·��N9��<�I�ާ֎x��N���H��H:"��;D��@P��J��p�~Dق@ٓ9�`%�P��C�!�RA���g�J�#kպ��,�+�2�iQ��%�i�@iL�Њx���)Ec���w�<�vR/���c-���Y�p�L�Tt%�B��.���{��`��<%&Ń8�[iR/�T��u�7���S:�'tA�b���ko�Q���|�5ld{�!Hq�넇�����"��f���
c[��xf)��2���h�Ì
��B.Q����?�𥳐��^Z�W���|,&V0�b2t���3�Pv��g=�Z�[cOk-H~��D�G��X��4��:k-��A��ԋb��]Y�̋'����r$�ӭ
`�>�,���/���k����n���'�
�VO��{����ϭ�w,�q���g�ͫ�;��;>&�Eͺ�Vd��钰?���h��32"P? �V��@���&��v�3m2�;]����
�#sY�"3�R���Z��ӧ�m�㱯a��l�~
�:���YI�s^��[��v��-����0�>/
(:'1h>�ۙ���z1l��.���8#ɚ����
�
�ƅs�xg�騂%��� �<�5
;3Z�e~of��ܗ#/���~��`����<�^t&��[�w�5�&�� r�}<>���B�N�4<��\�^j�k�S��E�4E�q����Ei1�+���e���Y�
����������"@�b��2�M��?�&�ϑ3j�}�O�
&�]3�H�q���d��HU�1Y��%3C��ҟ��C1w���>mj�I�ߴ���g߇�#�����S�Ǯ[��kD��d&�.�f�D.�/�Oʷ;��E�7�Q�g��1d:��3�$��3�P+��*�Qb��3��@�/ʉ"��e�.���0�Y���|d�oI��Kڔu/�o��LfT#Ub��u^�������R���q�I/a�E��sK:�W���n�&�%�@��K9
������ѭ�"wr�ꖰ�����˽_?A�V
�"
!T�v�ߩXe�R��F�5Z1���?��=^WV����k�=������
�����|і��F��sɬ7��ݽ�~�G�V%A溉�m�d�z���Y�\qw"{�ᖪr���!�ټ�^qz���Rn��V�����q<GM.��� ���
\1���l�����QS^H\ee��"��X5]e^��'�n���4�
vo�*�<���#II�6���k��G�»ь?%լ��?:�ʎ�&"��luX���nz�]�R�k
��-=�
��4g���+ofe�K�S�5�~�`��$�mܲ��}
��@��:���L`�Q./�fk��u>,$���B�4AXϑ�=����~��z�'s��c]���<��c��1��)1� H���Ô�Qe�L������O�� ��\e�;2�U/6�3�]jI��r��6P�C��WΪ�7e9RzzS���T�l�]�\��M�L��sQ���Y������Ba��xW;_�Xh�l���hd"�<o%2��.=�j�-rd��z1s' �������D8ؘ�}���i�H��+��Y-�]����� m��œc�xs�~���"��R|�,��B�Aɱ�k��
+7��NYa�o�@M������\^��j��p����7���
�����QS��\��w�����G!��0x��r_����X��wa��KO&"n�*�7��=��a�0w
u��4��,k�$��%��!D:J��t��>��_�dT[I���܂�T<�@mgn
jjO ��5C�Y�"x�0�-�<um(U��07�g�
l�� �"�Z�a��F�3���|6�چ����ٷ�<����-���[�Y�Cܵ��s�g�hN��b)�'���$@��`hx���e�G�%M�'_��ʲ���<�(r��3�)N6+m�7�e���V��>��kط�)�(D����wn�k��%5u@�W��S��h���R��Xl���k7���^�`b�ĭ�(���K:�T˹(LM�ݺg�!�ځ��$�rU����Q�{E���d��Dxs!;�#�5~�2a x�\a�1r8ɚi+'�]y.H�����M1�=nP���#����;��d�ƃOo+4O�l��vzF�6H@������o�=w����=�r�Y[Cb75���p�]�,
p���b���sPb,6���%QS�V�bz���Z�Y�Y[@D�xnh�P�ij����_V�!0(�y�/UՂ�\{��\����ä���5�B�l�E�����1�_j;>d1��q�*��FD�&Ϲ`��
�@���y�Dž��j�Z��֖��X��Q�P��f�)O�1
A�w��M8x��Z�f���"7e�*V�1z��F#��
�,��5��6���'8 lc��
�T��*��;��� �|��;e�̔Pp��L�u0�n_@���<�9f1>�V�`A��� 2ol���*qa=Y���a]%�yC��Q��¦��L���}� �/+3��I&Ew<�v�����K�D2Rg&�Kp��g���Z`�����\��ȅ�|������3(=Q`a*������N�n���)�g$@ZԐ\�/�_��H��"<�
���Ψq�%�s����~W�R�G2C:����=�q���m��*Y9�Rg��A��nIʯ%w�iu,
�Z��*�څ��u�Uv��W�w�z�����,1�2���H�lj<uCnӓߦ0�mP,_4�I���g�˖;��ma��#�8gq_�X� jJ
Xo�BkU�+tE��*
�;���n�t�P0���{���r3��pL
熿<����J'$m��V^m*���b8Y��������=����ht������#k���5�fI�l�V�5�gh�{�E��k�E���a��{=ĸ��s44��iH�@PV��i{�y�8m���ꯓ���fBP~^�$1��ti�鑤cuq]�h��YFuM
&��[
w�K`��{��{��RY#L"ΒT���-�l��_1]��[��Ң�L����nM����;.4��$b�9ylLh�����czDKuu�O6�NC��/��Ռ���g9`۬dV�i�@��imϭ��t��,��|��Ɋm�"�ͤ�w�����ങ1ȏ?ǚ7@��Uȷ�Ӱ�
n��!L��P���Z)�w�l\�lX§����5q�����N£d.��MI4֏sD�+�2�(�{o�b̞�h�f�e!�,�=�?�EC�dSN�$(�<Ϧ:�uY�M���'�́|�����Fר(ŇZH8�:��|�H�"��_��YA�����^�M���a+�< 5CC/P5�嗀��ؼN�Yآ���i�d�7WD�>�a=ϙڪ�2��_!fɱ�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_debugdata8@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