GNU ld (GNU Binutils) 2.18 Supported emulations: elf_x86_64 elf_i386 i386linux using internal linker script: ================================================== /* Script for -z combreloc: combine and sort reloc sections */ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") OUTPUT_ARCH(i386:x86-64) ENTRY(_start) SEARCH_DIR("/usr/x86_64-pc-linux-gnu/lib64"); SEARCH_DIR("/usr/lib64/binutils/x86_64-pc-linux-gnu/2.1864"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/x86_64-pc-linux-gnu/lib"); SEARCH_DIR("/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ PROVIDE (__executable_start = 0x400000); . = 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) } .rel.dyn : { *(.rel.init) *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) *(.rel.fini) *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) *(.rel.ctors) *(.rel.dtors) *(.rel.got) *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) *(.rel.ldata .rel.ldata.* .rel.gnu.linkonce.l.*) *(.rel.lbss .rel.lbss.* .rel.gnu.linkonce.lb.*) *(.rel.lrodata .rel.lrodata.* .rel.gnu.linkonce.lr.*) } .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.*) } .rel.plt : { *(.rel.plt) } .rela.plt : { *(.rela.plt) } .init : { KEEP (*(.init)) } =0x90909090 .plt : { *(.plt) } .text : { *(.text .stub .text.* .gnu.linkonce.t.*) KEEP (*(.text.*personality*)) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } =0x90909090 .fini : { KEEP (*(.fini)) } =0x90909090 PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } /* Thread Local Storage sections */ .tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) } .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) } .preinit_array : { PROVIDE_HIDDEN (__preinit_array_start = .); KEEP (*(.preinit_array)) PROVIDE_HIDDEN (__preinit_array_end = .); } .init_array : { PROVIDE_HIDDEN (__init_array_start = .); KEEP (*(SORT(.init_array.*))) KEEP (*(.init_array)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(.fini_array)) KEEP (*(SORT(.fini_array.*))) PROVIDE_HIDDEN (__fini_array_end = .); } .ctors : { /* gcc uses crtbegin.o to find the start of the constructors, so we make sure it is first. Because this is a wildcard, it doesn't matter if the user does not actually link against crtbegin.o; the linker won't look for a file to match a wildcard. The wildcard also means that it doesn't matter which directory crtbegin.o is in. */ KEEP (*crtbegin.o(.ctors)) KEEP (*crtbegin?.o(.ctors)) /* We don't want to include the .ctor section from the crtend.o file until after the sorted ctors. The .ctor section from the crtend file contains the end of ctors marker and it must be last */ KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors)) KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors)) } .dtors : { KEEP (*crtbegin.o(.dtors)) KEEP (*crtbegin?.o(.dtors)) KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors)) KEEP (*(SORT(.dtors.*))) KEEP (*(.dtors)) } .jcr : { KEEP (*(.jcr)) } .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) } . = DATA_SEGMENT_RELRO_END (24, .); .got.plt : { *(.got.plt) } .data : { *(.data .data.* .gnu.linkonce.d.*) KEEP (*(.gnu.linkonce.d.*personality*)) SORT(CONSTRUCTORS) } .data1 : { *(.data1) } _edata = .; PROVIDE (edata = .); __bss_start = .; .bss : { *(.dynbss) *(.bss .bss.* .gnu.linkonce.b.*) *(COMMON) /* Align here to ensure that the .bss section occupies space up to _end. Align after .bss to ensure correct alignment even if the .bss section disappears because there are no input sections. FIXME: Why do we need it? When there is no .bss section, we don't pad the .data section. */ . = ALIGN(. != 0 ? 64 / 8 : 1); } .lbss : { *(.dynlbss) *(.lbss .lbss.* .gnu.linkonce.lb.*) *(LARGE_COMMON) } . = ALIGN(64 / 8); .lrodata ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) : { *(.lrodata .lrodata.* .gnu.linkonce.lr.*) } .ldata ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) : { *(.ldata .ldata.* .gnu.linkonce.l.*) . = ALIGN(. != 0 ? 64 / 8 : 1); } . = ALIGN(64 / 8); _end = .; PROVIDE (end = .); . = DATA_SEGMENT_END (.); /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } .stab.excl 0 : { *(.stab.excl) } .stab.exclstr 0 : { *(.stab.exclstr) } .stab.index 0 : { *(.stab.index) } .stab.indexstr 0 : { *(.stab.indexstr) } .comment 0 : { *(.comment) } /* DWARF debug sections. Symbols in the DWARF debugging sections are relative to the beginning of the section so we begin them at 0. */ /* DWARF 1 */ .debug 0 : { *(.debug) } .line 0 : { *(.line) } /* GNU DWARF 1 extensions */ .debug_srcinfo 0 : { *(.debug_srcinfo) } .debug_sfnames 0 : { *(.debug_sfnames) } /* DWARF 1.1 and DWARF 2 */ .debug_aranges 0 : { *(.debug_aranges) } .debug_pubnames 0 : { *(.debug_pubnames) } /* DWARF 2 */ .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } .debug_abbrev 0 : { *(.debug_abbrev) } .debug_line 0 : { *(.debug_line) } .debug_frame 0 : { *(.debug_frame) } .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } .debug_funcnames 0 : { *(.debug_funcnames) } .debug_typenames 0 : { *(.debug_typenames) } .debug_varnames 0 : { *(.debug_varnames) } /* DWARF 3 */ .debug_pubtypes 0 : { *(.debug_pubtypes) } .debug_ranges 0 : { *(.debug_ranges) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) } } ================================================== attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o succeeded /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crti.o succeeded /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crti.o attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtbegin.o succeeded /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtbegin.o attempt to open /tmp/ccLGZLwr.o succeeded /tmp/ccLGZLwr.o attempt to open /usr/local/lib64/libpthread.so failed attempt to open /usr/local/lib64/libpthread.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libpthread.so failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libpthread.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libpthread.so failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libpthread.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libpthread.so succeeded opened script file /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libpthread.so opened script file /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libpthread.so attempt to open /lib64/libpthread.so.0 succeeded /lib64/libpthread.so.0 attempt to open /usr/lib64/libpthread_nonshared.a succeeded attempt to open /usr/local/lib64/libnsl.so failed attempt to open /usr/local/lib64/libnsl.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libnsl.so failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libnsl.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libnsl.so failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libnsl.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libnsl.so succeeded -lnsl (/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libnsl.so) attempt to open /usr/local/lib64/libdb.so failed attempt to open /usr/local/lib64/libdb.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libdb.so failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libdb.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libdb.so failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libdb.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libdb.so succeeded -ldb (/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libdb.so) attempt to open /usr/local/lib64/libdl.so failed attempt to open /usr/local/lib64/libdl.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libdl.so failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libdl.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libdl.so failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libdl.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libdl.so succeeded -ldl (/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libdl.so) attempt to open /usr/local/lib64/libm.so failed attempt to open /usr/local/lib64/libm.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libm.so failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libm.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libm.so failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libm.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libm.so succeeded -lm (/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libm.so) attempt to open /usr/local/lib64/libcrypt.so failed attempt to open /usr/local/lib64/libcrypt.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libcrypt.so failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libcrypt.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libcrypt.so failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libcrypt.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libcrypt.so succeeded -lcrypt (/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libcrypt.so) attempt to open /usr/local/lib64/libutil.so failed attempt to open /usr/local/lib64/libutil.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libutil.so failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libutil.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libutil.so failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libutil.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libutil.so succeeded -lutil (/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libutil.so) attempt to open /usr/local/lib64/libc.so failed attempt to open /usr/local/lib64/libc.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libc.so failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libc.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libc.so failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libc.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libc.so succeeded opened script file /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libc.so opened script file /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libc.so attempt to open /lib64/libc.so.6 succeeded /lib64/libc.so.6 attempt to open /usr/lib64/libc_nonshared.a succeeded Archive member included because of file (symbol) /usr/lib64/libc_nonshared.a(elf-init.oS) /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o (__libc_csu_fini) (/usr/lib64/libc_nonshared.a)elf-init.oS attempt to open /lib64/ld-linux-x86-64.so.2 succeeded /lib64/ld-linux-x86-64.so.2 attempt to open /usr/local/lib64/libgcc.so failed attempt to open /usr/local/lib64/libgcc.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libgcc.so failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libgcc.a succeeded attempt to open /usr/local/lib64/libgcc_s.so failed attempt to open /usr/local/lib64/libgcc_s.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libgcc_s.so succeeded -lgcc_s (/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libgcc_s.so) attempt to open /usr/local/lib64/libc.so failed attempt to open /usr/local/lib64/libc.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libc.so failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libc.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libc.so failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libc.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libc.so succeeded opened script file /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libc.so opened script file /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libc.so attempt to open /lib64/libc.so.6 succeeded /lib64/libc.so.6 attempt to open /usr/lib64/libc_nonshared.a succeeded attempt to open /lib64/ld-linux-x86-64.so.2 succeeded /lib64/ld-linux-x86-64.so.2 attempt to open /usr/local/lib64/libgcc.so failed attempt to open /usr/local/lib64/libgcc.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libgcc.so failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libgcc.a succeeded attempt to open /usr/local/lib64/libgcc_s.so failed attempt to open /usr/local/lib64/libgcc_s.a failed attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libgcc_s.so succeeded -lgcc_s (/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libgcc_s.so) attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtend.o succeeded /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtend.o attempt to open /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crtn.o succeeded /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crtn.o ld-linux-x86-64.so.2 needed by /lib64/libpthread.so.0 found ld-linux-x86-64.so.2 at /lib64/ld-linux-x86-64.so.2 Discarded input sections .note.GNU-stack 0x0000000000000000 0x0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o .note.GNU-stack 0x0000000000000000 0x0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crti.o .note.GNU-stack 0x0000000000000000 0x0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtbegin.o .note.GNU-stack 0x0000000000000000 0x0 /tmp/ccLGZLwr.o .note.GNU-stack 0x0000000000000000 0x0 /usr/lib64/libc_nonshared.a(elf-init.oS) .note.GNU-stack 0x0000000000000000 0x0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtend.o .note.GNU-stack 0x0000000000000000 0x0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crtn.o Memory Configuration Name Origin Length Attributes *default* 0x0000000000000000 0xffffffffffffffff Linker script and memory map LOAD /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o LOAD /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crti.o LOAD /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtbegin.o LOAD /tmp/ccLGZLwr.o LOAD /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libpthread.so START GROUP LOAD /lib64/libpthread.so.0 LOAD /usr/lib64/libpthread_nonshared.a END GROUP LOAD /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libnsl.so LOAD /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libdb.so LOAD /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libdl.so LOAD /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libm.so LOAD /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libcrypt.so LOAD /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libutil.so LOAD /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libc.so START GROUP LOAD /lib64/libc.so.6 LOAD /usr/lib64/libc_nonshared.a LOAD /lib64/ld-linux-x86-64.so.2 END GROUP LOAD /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libgcc.a LOAD /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libgcc_s.so LOAD /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/libc.so START GROUP LOAD /lib64/libc.so.6 LOAD /usr/lib64/libc_nonshared.a LOAD /lib64/ld-linux-x86-64.so.2 END GROUP LOAD /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libgcc.a LOAD /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libgcc_s.so LOAD /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtend.o LOAD /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crtn.o 0x0000000000400000 PROVIDE (__executable_start, 0x400000) 0x0000000000400270 . = (0x400000 + SIZEOF_HEADERS) .interp 0x0000000000400270 0x1c *(.interp) .interp 0x0000000000400270 0x1c /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o .note.ABI-tag 0x000000000040028c 0x20 .note.ABI-tag 0x000000000040028c 0x20 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o .note.gnu.build-id *(.note.gnu.build-id) .hash 0x00000000004002b0 0x3c *(.hash) .hash 0x00000000004002b0 0x3c /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o .gnu.hash 0x00000000004002f0 0x38 *(.gnu.hash) .gnu.hash 0x00000000004002f0 0x38 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o .dynsym 0x0000000000400328 0xf0 *(.dynsym) .dynsym 0x0000000000400328 0xf0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o .dynstr 0x0000000000400418 0xce *(.dynstr) .dynstr 0x0000000000400418 0xce /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o .gnu.version 0x00000000004004e6 0x14 *(.gnu.version) .gnu.version 0x00000000004004e6 0x14 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o .gnu.version_d 0x0000000000400500 0x0 load address 0x00000000004004fa *(.gnu.version_d) .gnu.version_d 0x0000000000000000 0x0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o .gnu.version_r 0x0000000000400500 0x20 *(.gnu.version_r) .gnu.version_r 0x0000000000400500 0x20 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o .rel.dyn *(.rel.init) *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) *(.rel.fini) *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) *(.rel.ctors) *(.rel.dtors) *(.rel.got) *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) *(.rel.ldata .rel.ldata.* .rel.gnu.linkonce.l.*) *(.rel.lbss .rel.lbss.* .rel.gnu.linkonce.lb.*) *(.rel.lrodata .rel.lrodata.* .rel.gnu.linkonce.lr.*) .rela.dyn 0x0000000000400520 0x18 *(.rela.init) *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) .rela.text 0x0000000000000000 0x0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o *(.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.got 0x0000000000400520 0x18 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) .rela.bss 0x0000000000000000 0x0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*) *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*) *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*) .rel.plt *(.rel.plt) .rela.plt 0x0000000000400538 0x30 *(.rela.plt) .rela.plt 0x0000000000400538 0x30 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o .init 0x0000000000400568 0x18 *(.init) .init 0x0000000000400568 0x9 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crti.o 0x0000000000400568 _init .init 0x0000000000400571 0x5 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtbegin.o .init 0x0000000000400576 0x5 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtend.o .init 0x000000000040057b 0x5 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crtn.o .plt 0x0000000000400580 0x30 *(.plt) .plt 0x0000000000400580 0x30 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o 0x0000000000400590 puts@@GLIBC_2.2.5 0x00000000004005a0 __libc_start_main@@GLIBC_2.2.5 .text 0x00000000004005b0 0x1b8 *(.text .stub .text.* .gnu.linkonce.t.*) .text 0x00000000004005b0 0x2c /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o 0x00000000004005b0 _start .text 0x00000000004005dc 0x17 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crti.o *fill* 0x00000000004005f3 0xd 90909090 .text 0x0000000000400600 0x66 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtbegin.o *fill* 0x0000000000400666 0xa 90909090 .text 0x0000000000400670 0x15 /tmp/ccLGZLwr.o 0x0000000000400670 main *fill* 0x0000000000400685 0xb 90909090 .text 0x0000000000400690 0x9a /usr/lib64/libc_nonshared.a(elf-init.oS) 0x0000000000400690 __libc_csu_fini 0x00000000004006a0 __libc_csu_init *fill* 0x000000000040072a 0x6 90909090 .text 0x0000000000400730 0x36 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtend.o *fill* 0x0000000000400766 0x2 90909090 .text 0x0000000000400768 0x0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crtn.o *(.text.*personality*) *(.gnu.warning) .fini 0x0000000000400768 0xe *(.fini) .fini 0x0000000000400768 0x4 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crti.o 0x0000000000400768 _fini .fini 0x000000000040076c 0x5 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtbegin.o .fini 0x0000000000400771 0x5 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crtn.o 0x0000000000400776 PROVIDE (__etext, .) 0x0000000000400776 PROVIDE (_etext, .) 0x0000000000400776 PROVIDE (etext, .) .rodata 0x0000000000400778 0x7 *(.rodata .rodata.* .gnu.linkonce.r.*) .rodata.cst4 0x0000000000400778 0x4 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o 0x0000000000400778 _IO_stdin_used .rodata.str1.1 0x000000000040077c 0x3 /tmp/ccLGZLwr.o .rodata1 *(.rodata1) .eh_frame_hdr 0x0000000000400780 0x24 *(.eh_frame_hdr) .eh_frame_hdr 0x0000000000400780 0x24 /tmp/ccLGZLwr.o .eh_frame 0x00000000004007a8 0x8c *(.eh_frame) .eh_frame 0x00000000004007a8 0x30 /tmp/ccLGZLwr.o .eh_frame 0x00000000004007d8 0x58 /usr/lib64/libc_nonshared.a(elf-init.oS) .eh_frame 0x0000000000400830 0x4 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtend.o .gcc_except_table *(.gcc_except_table .gcc_except_table.*) 0x0000000000400834 . = (ALIGN (0x200000) - ((0x200000 - .) & 0x1fffff)) 0x0000000000600da4 . = (0x200000 DATA_SEGMENT_ALIGN 0x1000) .eh_frame *(.eh_frame) .gcc_except_table *(.gcc_except_table .gcc_except_table.*) .tdata *(.tdata .tdata.* .gnu.linkonce.td.*) .tbss *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) .preinit_array 0x0000000000600da4 0x0 0x0000000000600da4 PROVIDE (__preinit_array_start, .) *(.preinit_array) 0x0000000000600da4 PROVIDE (__preinit_array_end, .) .init_array 0x0000000000600da4 0x0 0x0000000000600da4 PROVIDE (__init_array_start, .) *(SORT(.init_array.*)) *(.init_array) 0x0000000000600da4 PROVIDE (__init_array_end, .) .fini_array 0x0000000000600da4 0x0 0x0000000000600da4 PROVIDE (__fini_array_start, .) *(.fini_array) *(SORT(.fini_array.*)) 0x0000000000600da4 PROVIDE (__fini_array_end, .) .ctors 0x0000000000600da8 0x10 *crtbegin.o(.ctors) .ctors 0x0000000000600da8 0x8 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtbegin.o *crtbegin?.o(.ctors) *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) *(SORT(.ctors.*)) *(.ctors) .ctors 0x0000000000600db0 0x8 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtend.o .dtors 0x0000000000600db8 0x10 *crtbegin.o(.dtors) .dtors 0x0000000000600db8 0x8 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtbegin.o *crtbegin?.o(.dtors) *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) *(SORT(.dtors.*)) *(.dtors) .dtors 0x0000000000600dc0 0x8 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtend.o .jcr 0x0000000000600dc8 0x8 *(.jcr) .jcr 0x0000000000600dc8 0x0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtbegin.o .jcr 0x0000000000600dc8 0x8 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtend.o .data.rel.ro *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) .dynamic 0x0000000000600dd0 0x210 *(.dynamic) .dynamic 0x0000000000600dd0 0x210 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o 0x0000000000600dd0 _DYNAMIC .got 0x0000000000600fe0 0x8 *(.got) .got 0x0000000000600fe0 0x8 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o 0x0000000000600fe8 . = (. DATA_SEGMENT_RELRO_END 0x18) .got.plt 0x0000000000600fe8 0x28 *(.got.plt) .got.plt 0x0000000000600fe8 0x28 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o 0x0000000000600fe8 _GLOBAL_OFFSET_TABLE_ .data 0x0000000000601010 0x18 *(.data .data.* .gnu.linkonce.d.*) .data 0x0000000000601010 0x4 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o 0x0000000000601010 data_start 0x0000000000601010 __data_start .data 0x0000000000601014 0x0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crti.o *fill* 0x0000000000601014 0x4 00 .data 0x0000000000601018 0x10 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtbegin.o 0x0000000000601018 __dso_handle .data 0x0000000000601028 0x0 /tmp/ccLGZLwr.o .data 0x0000000000601028 0x0 /usr/lib64/libc_nonshared.a(elf-init.oS) .data 0x0000000000601028 0x0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtend.o .data 0x0000000000601028 0x0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crtn.o *(.gnu.linkonce.d.*personality*) .data1 *(.data1) 0x0000000000601028 _edata = . 0x0000000000601028 PROVIDE (edata, .) 0x0000000000601028 __bss_start = . .bss 0x0000000000601028 0x8 *(.dynbss) .dynbss 0x0000000000000000 0x0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o *(.bss .bss.* .gnu.linkonce.b.*) .bss 0x0000000000601028 0x0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o .bss 0x0000000000601028 0x0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crti.o .bss 0x0000000000601028 0x1 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtbegin.o *fill* 0x0000000000601029 0x3 00 .bss 0x000000000060102c 0x0 /tmp/ccLGZLwr.o .bss 0x000000000060102c 0x0 /usr/lib64/libc_nonshared.a(elf-init.oS) .bss 0x000000000060102c 0x0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtend.o .bss 0x000000000060102c 0x0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crtn.o *(COMMON) 0x0000000000601030 . = ALIGN ((. != 0x0)?0x8:0x1) *fill* 0x000000000060102c 0x4 00 .lbss *(.dynlbss) *(.lbss .lbss.* .gnu.linkonce.lb.*) *(LARGE_COMMON) 0x0000000000601030 . = ALIGN (0x8) .lrodata *(.lrodata .lrodata.* .gnu.linkonce.lr.*) .ldata 0x0000000000a01030 0x0 *(.ldata .ldata.* .gnu.linkonce.l.*) 0x0000000000a01030 . = ALIGN ((. != 0x0)?0x8:0x1) 0x0000000000a01030 . = ALIGN (0x8) 0x0000000000a01030 _end = . 0x0000000000a01030 PROVIDE (end, .) 0x0000000000a01030 . = DATA_SEGMENT_END (.) .stab *(.stab) .stabstr *(.stabstr) .stab.excl *(.stab.excl) .stab.exclstr *(.stab.exclstr) .stab.index *(.stab.index) .stab.indexstr *(.stab.indexstr) .comment 0x0000000000000000 0x118 *(.comment) .comment 0x0000000000000000 0x28 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o .comment 0x0000000000000028 0x28 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crti.o .comment 0x0000000000000050 0x28 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtbegin.o .comment 0x0000000000000078 0x28 /tmp/ccLGZLwr.o .comment 0x00000000000000a0 0x28 /usr/lib64/libc_nonshared.a(elf-init.oS) .comment 0x00000000000000c8 0x28 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtend.o .comment 0x00000000000000f0 0x28 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crtn.o .debug *(.debug) .line *(.line) .debug_srcinfo *(.debug_srcinfo) .debug_sfnames *(.debug_sfnames) .debug_aranges *(.debug_aranges) .debug_pubnames *(.debug_pubnames) .debug_info *(.debug_info .gnu.linkonce.wi.*) .debug_abbrev *(.debug_abbrev) .debug_line *(.debug_line) .debug_frame *(.debug_frame) .debug_str *(.debug_str) .debug_loc *(.debug_loc) .debug_macinfo *(.debug_macinfo) .debug_weaknames *(.debug_weaknames) .debug_funcnames *(.debug_funcnames) .debug_typenames *(.debug_typenames) .debug_varnames *(.debug_varnames) .debug_pubtypes *(.debug_pubtypes) .debug_ranges *(.debug_ranges) .gnu.attributes *(.gnu.attributes) /DISCARD/ *(.note.GNU-stack) *(.gnu_debuglink) OUTPUT(try elf64-x86-64)