Default Linker Script for ARM-Linux-LD

xiaoxiao2021-03-06  59

Get ARM-Linux-Ld -verbose under RedHat: GNU LD Version 2.11.2 (with bfd 2.11.2) Supported emulations: armelf_linux armelfusing internal linker script: ============= ============================================== Output_Format ("Elf32-Littlearm", "ELF32-BIGARM" "Elf32-littlem") Output_arch (ARM) entry (_start) Search_dir (/usr/local/arm/2.95.3/ARM-LINUX/LIB); / * do we need any of these for Elf? __Dynamic = 0; * / Sections {/ * read-only sections, merge @ t t text segment: * /. = 0x00008000 sizeof_headers;

{* (. 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)} .rela.init : {* (. transla.init)} .rel.text: {* (. Rel.Text) * (. Rel.Text. *) * (. Rel.gnu.linkonce.t. *)} .rela.text : {* (. Transla.text) * (. Transla.text. *) * (. RELA.GNU.LINKONCE.T. *)} .Rel.fini: {* (. Rel.fini)} .rela.fini : {* (. transla.fini)} .rel.rodata: {* (. Rel.Rodata) * (. Rel.Rodata. *) * (. Rel.gnu.linkonce.r. *)} .rela.rodata : {* (. RELA.RODATA) * (. RELA.RODATA. *) * (. RELA.GNU.LINKONCE.R. *)} .Rel.data: {* (. Rel.data) * (. Rel. Data. *) * (. Rel.gnu.linkonce.d. *)} .rela.data: {* (. transla.data) * (. transla.data. *) * (. RELA.GNU.LINKOnce.d *} .Rel.ctors : {* (. reel.ctors)} .rela.ctors: {* (. transla.ctors)} .rel.dtors: {* (. Rel.dtors)} .rela.dtors: {* (. RELA.DTORS )} .Rel.got: {* (. Rel.got)} .rela.got: {* (. RELA.GOT)} .rel.sdata: {* (. Rel.sdata) * (. Rel.sdata. *) * (. Rel.gnu.linkonce.s. *)} .Rela.sdata: {* (. Transla.sdata) * (. Transla.sdata. *) * (. RELA.GNU.LINKONKOCE.S. * )} .Rel.sbss: {* (. Rel.sbss) * (. Rel.nbss. *) * (. Rel.gnu.linkonce.sb. *)} .Rela.sbss: {* (. RELA.SBSS ) * (. RELA.SBSS. *) * (. Rel.gnu.linkonce.sb. *)} .Rel.sdata2: {* (. Rel.sdata2) * (. Rel.sdata2. *) * (. Rel .gnu.linkonce.s2. *)} .rela.sdata2:

{* (. RELA.SDATA2) * (. Transla.sdata2. *) * (. RELA.GNU.LINKONCE.S2. *)} .Rel.sbss2: {* (. Rel.sbss2) * (. Rel.sbss2) *) * (. Rel.gnu.linkonce.sb2. *)} .Rela.sbss2: {* (. Transla.sbss2) * (. Transla.sbss2. *) * (. RELA.GNU.LINKONCE.SB2. *)} .Rel.bss: {* (. Rel.bss) * (. Rel.bss. *) * (. Rel.gnu.linkonce.b. *)} .Rela.bss: {* (. RELA. BSS) * (. RELA.BSS. *) * (. RELA.GNU.LINKONCE.B. *)} .rel.plt: {* (. Rel.plt)} .rela.plt: {* (. RELA. PLT)} .init: {Keep (* (. init))} = 0 .plt: {* (. plt)} .text: {* (. text) * (. TEXT. *) * (. stub) / * .gnu.warning sections area handled specially by elf32.em. * / * (. gnu.warning) * (. gnu.linkonce.t. *) * (. glue_7t) * (. Glue_7)} = 0 .fini: {Keep (* (. FINI))} = 0 provide (__text =.); Provide (_text =.); Provide (eText =.) ;. rodata: {* (. Rotata) * (. Rotata. *) * (.gnu.linkonce.r. *) . rodata1: {* (. rodata1)} .sdata2: {* (. sdata2) * (. sdata2) * (. gnu.linkonce.s2. *)} .sbss2: {* (. sbss2) * (. SBSS2. *) * (. gnu.linkonce.sb2. *)} / * adjust the address for the data segment. We want to adjut Up to the next page up. * /. = align ( 0x8000) (. & (0x8000 - 1)); .data: {__DATA_START =.

* (. DATA) * (. DATA) * (. gnu.linkonce.d. *) sort (constructors)}} .data1: {* (. DATA1)} .e_frame: {keEp (* (. eh_frame)) } .gcc_except_table: {*} .ctors (gcc_except_table.): {/ * gcc uses crtbegin.o to find the start of the constructors, so we make sure it is first Because this is a wildcard, it does not matter if. the user does not actually link against crtbegin.o; the linker will not look for a file to match a wildcard The wildcard also means that it does not matter which directory crtbegin.o is in * / KEEP (* crtbegin... o (.ctors)) / * we don't want to include the .ctor section from from the crtend.o file unsteil after the sorted ctors. The .ctor section from the crtend File Contains The end of ctors marker and it must be Last * / keyp (* (Exclude_file (* crtend.o) .ctors)) Keep (* (.ct (. ctors. *))) Keep (* (. ctors))} .dttors: {keyp (* CRTBEGIN.O (.dtors)) Keep (* (Exclude_f Ile (* crtend.o) .dtors)) Keep (* (.dttors. *))) Keep (* (. Dtors))} .got: {* (. Got.plt) * (. Got)} .dynamic:. {(. dynamic) *} / * We want the small data sections together, so single-instruction offsets can access them all, and initialized data all before uninitialized, so we can shorten the on-disk segment size * / . SDATA: {* (. sdata) * (. sdata. *) * (. gnu.linkonce.s. *)} _EDATA =.; __BSS_Start =.; __bss_start__ =.; .sbss: {Provide (__sbss_start =.); Provide (___sbss_start =.); * (. DYNSBSS) * (. SBSS) * (. SBSS. *) * (. Gnu.linkonce.sb. *) * (. SCOMMON) PROVIDE __sbss_end =.);

Provide (___sbss_end =.);} .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 * / = ALIGN (32/8);....} = ALIGN (32 / 8); _END =.; __BSS_END__ =.; __END__ =.; Provide.

/ * 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 area relative to the beginning,}} {* (. 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: {* (. Debu g_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)} / * these must Apear regardless of. * /} ============================================================================================================================================================== ==============================

转载请注明原文地址:https://www.9cbs.com/read-83046.html

New Post(0)