Browse Source

renewed linker skripts for latest avr-binutils

Signed-off-by: Christian Kroll <chris@das-labor.org>
feature/2017
Christian Kroll 8 years ago
parent
commit
a880b0246c
  1. 63
      ld_scripts/avr5.x
  2. 63
      ld_scripts/avr51.x
  3. 63
      ld_scripts/avr6.x

63
ld_scripts/avr5.x

@ -1,14 +1,19 @@
/* Default linker script, for normal executables */ /* 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-avr","elf32-avr","elf32-avr") OUTPUT_FORMAT("elf32-avr","elf32-avr","elf32-avr")
OUTPUT_ARCH(avr:5) OUTPUT_ARCH(avr:5)
MEMORY MEMORY
{ {
text (rx) : ORIGIN = 0, LENGTH = 128K text (rx) : ORIGIN = 0, LENGTH = 128K
data (rw!x) : ORIGIN = 0x800060, LENGTH = 0xffa0 data (rw!x) : ORIGIN = 0x800060, LENGTH = 0xffa0
eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = 64K eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = 64K
fuse (rw!x) : ORIGIN = 0x820000, LENGTH = 1K fuse (rw!x) : ORIGIN = 0x820000, LENGTH = 1K
lock (rw!x) : ORIGIN = 0x830000, LENGTH = 1K lock (rw!x) : ORIGIN = 0x830000, LENGTH = 1K
signature (rw!x) : ORIGIN = 0x840000, LENGTH = 1K signature (rw!x) : ORIGIN = 0x840000, LENGTH = 1K
user_signatures (rw!x) : ORIGIN = 0x850000, LENGTH = 1K
} }
SECTIONS SECTIONS
{ {
@ -70,26 +75,32 @@ SECTIONS
.rel.plt : { *(.rel.plt) } .rel.plt : { *(.rel.plt) }
.rela.plt : { *(.rela.plt) } .rela.plt : { *(.rela.plt) }
/* Internal text space or external memory. */ /* Internal text space or external memory. */
.text : .text :
{ {
*(.vectors) *(.vectors)
KEEP(*(.vectors)) KEEP(*(.vectors))
/* For data that needs to reside in the lower 64k of progmem. */ /* For data that needs to reside in the lower 64k of progmem. */
*(.progmem.gcc*) *(.progmem.gcc*)
*(.progmem*) /* PR 13812: Placing the trampolines here gives a better chance
that they will be in range of the code that uses them. */
. = ALIGN(2); . = ALIGN(2);
__trampolines_start = . ; __trampolines_start = . ;
/* The jump trampolines for the 16-bit limited relocs will reside here. */ /* The jump trampolines for the 16-bit limited relocs will reside here. */
*(.trampolines) *(.trampolines)
*(.trampolines*) *(.trampolines*)
__trampolines_end = . ; __trampolines_end = . ;
/* avr-libc expects these data to reside in lower 64K. */
*libprintf_flt.a:*(.progmem.data)
*libc.a:*(.progmem.data)
*(.progmem*)
. = ALIGN(2);
/* For future tablejump instruction arrays for 3 byte pc devices. /* For future tablejump instruction arrays for 3 byte pc devices.
We don't relax jump/call instructions within these sections. */ We don't relax jump/call instructions within these sections. */
*(.jumptables) *(.jumptables)
*(.jumptables*) *(.jumptables*)
/* For code that needs to reside in the lower 128k progmem. */ /* For code that needs to reside in the lower 128k progmem. */
*(.lowtext) *(.lowtext)
*(.lowtext*) *(.lowtext*)
__ctors_start = . ; __ctors_start = . ;
*(.ctors) *(.ctors)
__ctors_end = . ; __ctors_end = . ;
@ -122,7 +133,7 @@ SECTIONS
KEEP (*(.init9)) KEEP (*(.init9))
*(.text) *(.text)
. = ALIGN(2); . = ALIGN(2);
*(.text.*) *(.text.*)
. = ALIGN(2); . = ALIGN(2);
*(.fini9) /* _exit() starts here. */ *(.fini9) /* _exit() starts here. */
KEEP (*(.fini9)) KEEP (*(.fini9))
@ -146,13 +157,13 @@ SECTIONS
KEEP (*(.fini0)) KEEP (*(.fini0))
_etext = . ; _etext = . ;
} > text } > text
.data : AT (ADDR (.text) + SIZEOF (.text)) .data :
{ {
PROVIDE (__data_start = .) ; PROVIDE (__data_start = .) ;
*(.data) *(.data)
*(.data*) *(.data*)
*(.rodata) /* We need to include .rodata here if gcc is used */ *(.rodata) /* We need to include .rodata here if gcc is used */
*(.rodata*) /* with -fdata-sections. */ *(.rodata*) /* with -fdata-sections. */
*(.gnu.linkonce.d*) *(.gnu.linkonce.d*)
PROVIDE (_game_descriptors_start__ = .) ; PROVIDE (_game_descriptors_start__ = .) ;
*(.game_descriptors) *(.game_descriptors)
@ -160,19 +171,19 @@ SECTIONS
. = ALIGN(2); . = ALIGN(2);
_edata = . ; _edata = . ;
PROVIDE (__data_end = .) ; PROVIDE (__data_end = .) ;
} > data } > data AT> text
.bss SIZEOF(.data) + ADDR(.data) : .bss ADDR(.data) + SIZEOF (.data) : AT (ADDR (.bss))
{ {
PROVIDE (__bss_start = .) ; PROVIDE (__bss_start = .) ;
*(.bss) *(.bss)
*(.bss*) *(.bss*)
*(COMMON) *(COMMON)
PROVIDE (__bss_end = .) ; PROVIDE (__bss_end = .) ;
} > data } > data
__data_load_start = LOADADDR(.data); __data_load_start = LOADADDR(.data);
__data_load_end = __data_load_start + SIZEOF(.data); __data_load_end = __data_load_start + SIZEOF(.data);
/* Global data not cleared after reset. */ /* Global data not cleared after reset. */
.noinit SIZEOF(.bss) + ADDR(.bss) : .noinit ADDR(.bss) + SIZEOF (.bss) : AT (ADDR (.noinit))
{ {
PROVIDE (__noinit_start = .) ; PROVIDE (__noinit_start = .) ;
*(.noinit*) *(.noinit*)
@ -182,7 +193,8 @@ SECTIONS
} > data } > data
.eeprom : .eeprom :
{ {
*(.eeprom*) /* See .data above... */
KEEP(*(.eeprom*))
__eeprom_end = . ; __eeprom_end = . ;
} > eeprom } > eeprom
.fuse : .fuse :
@ -208,6 +220,7 @@ SECTIONS
.stab.index 0 : { *(.stab.index) } .stab.index 0 : { *(.stab.index) }
.stab.indexstr 0 : { *(.stab.indexstr) } .stab.indexstr 0 : { *(.stab.indexstr) }
.comment 0 : { *(.comment) } .comment 0 : { *(.comment) }
.note.gnu.build-id : { *(.note.gnu.build-id) }
/* DWARF debug sections. /* DWARF debug sections.
Symbols in the DWARF debugging sections are relative to the beginning Symbols in the DWARF debugging sections are relative to the beginning
of the section so we begin them at 0. */ of the section so we begin them at 0. */
@ -221,11 +234,21 @@ SECTIONS
.debug_aranges 0 : { *(.debug_aranges) } .debug_aranges 0 : { *(.debug_aranges) }
.debug_pubnames 0 : { *(.debug_pubnames) } .debug_pubnames 0 : { *(.debug_pubnames) }
/* DWARF 2 */ /* DWARF 2 */
.debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) } .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
.debug_abbrev 0 : { *(.debug_abbrev) } .debug_abbrev 0 : { *(.debug_abbrev) }
.debug_line 0 : { *(.debug_line) } .debug_line 0 : { *(.debug_line .debug_line.* .debug_line_end ) }
.debug_frame 0 : { *(.debug_frame) } .debug_frame 0 : { *(.debug_frame) }
.debug_str 0 : { *(.debug_str) } .debug_str 0 : { *(.debug_str) }
.debug_loc 0 : { *(.debug_loc) } .debug_loc 0 : { *(.debug_loc) }
.debug_macinfo 0 : { *(.debug_macinfo) } .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) }
} }

63
ld_scripts/avr51.x

@ -1,14 +1,19 @@
/* Default linker script, for normal executables */ /* 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-avr","elf32-avr","elf32-avr") OUTPUT_FORMAT("elf32-avr","elf32-avr","elf32-avr")
OUTPUT_ARCH(avr:51) OUTPUT_ARCH(avr:51)
MEMORY MEMORY
{ {
text (rx) : ORIGIN = 0, LENGTH = 128K text (rx) : ORIGIN = 0, LENGTH = 128K
data (rw!x) : ORIGIN = 0x800100, LENGTH = 0xff00 data (rw!x) : ORIGIN = 0x800100, LENGTH = 0xff00
eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = 64K eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = 64K
fuse (rw!x) : ORIGIN = 0x820000, LENGTH = 1K fuse (rw!x) : ORIGIN = 0x820000, LENGTH = 1K
lock (rw!x) : ORIGIN = 0x830000, LENGTH = 1K lock (rw!x) : ORIGIN = 0x830000, LENGTH = 1K
signature (rw!x) : ORIGIN = 0x840000, LENGTH = 1K signature (rw!x) : ORIGIN = 0x840000, LENGTH = 1K
user_signatures (rw!x) : ORIGIN = 0x850000, LENGTH = 1K
} }
SECTIONS SECTIONS
{ {
@ -70,26 +75,32 @@ SECTIONS
.rel.plt : { *(.rel.plt) } .rel.plt : { *(.rel.plt) }
.rela.plt : { *(.rela.plt) } .rela.plt : { *(.rela.plt) }
/* Internal text space or external memory. */ /* Internal text space or external memory. */
.text : .text :
{ {
*(.vectors) *(.vectors)
KEEP(*(.vectors)) KEEP(*(.vectors))
/* For data that needs to reside in the lower 64k of progmem. */ /* For data that needs to reside in the lower 64k of progmem. */
*(.progmem.gcc*) *(.progmem.gcc*)
*(.progmem*) /* PR 13812: Placing the trampolines here gives a better chance
that they will be in range of the code that uses them. */
. = ALIGN(2); . = ALIGN(2);
__trampolines_start = . ; __trampolines_start = . ;
/* The jump trampolines for the 16-bit limited relocs will reside here. */ /* The jump trampolines for the 16-bit limited relocs will reside here. */
*(.trampolines) *(.trampolines)
*(.trampolines*) *(.trampolines*)
__trampolines_end = . ; __trampolines_end = . ;
/* avr-libc expects these data to reside in lower 64K. */
*libprintf_flt.a:*(.progmem.data)
*libc.a:*(.progmem.data)
*(.progmem*)
. = ALIGN(2);
/* For future tablejump instruction arrays for 3 byte pc devices. /* For future tablejump instruction arrays for 3 byte pc devices.
We don't relax jump/call instructions within these sections. */ We don't relax jump/call instructions within these sections. */
*(.jumptables) *(.jumptables)
*(.jumptables*) *(.jumptables*)
/* For code that needs to reside in the lower 128k progmem. */ /* For code that needs to reside in the lower 128k progmem. */
*(.lowtext) *(.lowtext)
*(.lowtext*) *(.lowtext*)
__ctors_start = . ; __ctors_start = . ;
*(.ctors) *(.ctors)
__ctors_end = . ; __ctors_end = . ;
@ -122,7 +133,7 @@ SECTIONS
KEEP (*(.init9)) KEEP (*(.init9))
*(.text) *(.text)
. = ALIGN(2); . = ALIGN(2);
*(.text.*) *(.text.*)
. = ALIGN(2); . = ALIGN(2);
*(.fini9) /* _exit() starts here. */ *(.fini9) /* _exit() starts here. */
KEEP (*(.fini9)) KEEP (*(.fini9))
@ -146,13 +157,13 @@ SECTIONS
KEEP (*(.fini0)) KEEP (*(.fini0))
_etext = . ; _etext = . ;
} > text } > text
.data : AT (ADDR (.text) + SIZEOF (.text)) .data :
{ {
PROVIDE (__data_start = .) ; PROVIDE (__data_start = .) ;
*(.data) *(.data)
*(.data*) *(.data*)
*(.rodata) /* We need to include .rodata here if gcc is used */ *(.rodata) /* We need to include .rodata here if gcc is used */
*(.rodata*) /* with -fdata-sections. */ *(.rodata*) /* with -fdata-sections. */
*(.gnu.linkonce.d*) *(.gnu.linkonce.d*)
PROVIDE (_game_descriptors_start__ = .) ; PROVIDE (_game_descriptors_start__ = .) ;
*(.game_descriptors) *(.game_descriptors)
@ -160,19 +171,19 @@ SECTIONS
. = ALIGN(2); . = ALIGN(2);
_edata = . ; _edata = . ;
PROVIDE (__data_end = .) ; PROVIDE (__data_end = .) ;
} > data } > data AT> text
.bss SIZEOF(.data) + ADDR(.data) : .bss ADDR(.data) + SIZEOF (.data) : AT (ADDR (.bss))
{ {
PROVIDE (__bss_start = .) ; PROVIDE (__bss_start = .) ;
*(.bss) *(.bss)
*(.bss*) *(.bss*)
*(COMMON) *(COMMON)
PROVIDE (__bss_end = .) ; PROVIDE (__bss_end = .) ;
} > data } > data
__data_load_start = LOADADDR(.data); __data_load_start = LOADADDR(.data);
__data_load_end = __data_load_start + SIZEOF(.data); __data_load_end = __data_load_start + SIZEOF(.data);
/* Global data not cleared after reset. */ /* Global data not cleared after reset. */
.noinit SIZEOF(.bss) + ADDR(.bss) : .noinit ADDR(.bss) + SIZEOF (.bss) : AT (ADDR (.noinit))
{ {
PROVIDE (__noinit_start = .) ; PROVIDE (__noinit_start = .) ;
*(.noinit*) *(.noinit*)
@ -182,7 +193,8 @@ SECTIONS
} > data } > data
.eeprom : .eeprom :
{ {
*(.eeprom*) /* See .data above... */
KEEP(*(.eeprom*))
__eeprom_end = . ; __eeprom_end = . ;
} > eeprom } > eeprom
.fuse : .fuse :
@ -208,6 +220,7 @@ SECTIONS
.stab.index 0 : { *(.stab.index) } .stab.index 0 : { *(.stab.index) }
.stab.indexstr 0 : { *(.stab.indexstr) } .stab.indexstr 0 : { *(.stab.indexstr) }
.comment 0 : { *(.comment) } .comment 0 : { *(.comment) }
.note.gnu.build-id : { *(.note.gnu.build-id) }
/* DWARF debug sections. /* DWARF debug sections.
Symbols in the DWARF debugging sections are relative to the beginning Symbols in the DWARF debugging sections are relative to the beginning
of the section so we begin them at 0. */ of the section so we begin them at 0. */
@ -221,11 +234,21 @@ SECTIONS
.debug_aranges 0 : { *(.debug_aranges) } .debug_aranges 0 : { *(.debug_aranges) }
.debug_pubnames 0 : { *(.debug_pubnames) } .debug_pubnames 0 : { *(.debug_pubnames) }
/* DWARF 2 */ /* DWARF 2 */
.debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) } .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
.debug_abbrev 0 : { *(.debug_abbrev) } .debug_abbrev 0 : { *(.debug_abbrev) }
.debug_line 0 : { *(.debug_line) } .debug_line 0 : { *(.debug_line .debug_line.* .debug_line_end ) }
.debug_frame 0 : { *(.debug_frame) } .debug_frame 0 : { *(.debug_frame) }
.debug_str 0 : { *(.debug_str) } .debug_str 0 : { *(.debug_str) }
.debug_loc 0 : { *(.debug_loc) } .debug_loc 0 : { *(.debug_loc) }
.debug_macinfo 0 : { *(.debug_macinfo) } .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) }
} }

63
ld_scripts/avr6.x

@ -1,14 +1,19 @@
/* Default linker script, for normal executables */ /* 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-avr","elf32-avr","elf32-avr") OUTPUT_FORMAT("elf32-avr","elf32-avr","elf32-avr")
OUTPUT_ARCH(avr:6) OUTPUT_ARCH(avr:6)
MEMORY MEMORY
{ {
text (rx) : ORIGIN = 0, LENGTH = 1024K text (rx) : ORIGIN = 0, LENGTH = 1024K
data (rw!x) : ORIGIN = 0x800200, LENGTH = 0xfe00 data (rw!x) : ORIGIN = 0x800200, LENGTH = 0xfe00
eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = 64K eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = 64K
fuse (rw!x) : ORIGIN = 0x820000, LENGTH = 1K fuse (rw!x) : ORIGIN = 0x820000, LENGTH = 1K
lock (rw!x) : ORIGIN = 0x830000, LENGTH = 1K lock (rw!x) : ORIGIN = 0x830000, LENGTH = 1K
signature (rw!x) : ORIGIN = 0x840000, LENGTH = 1K signature (rw!x) : ORIGIN = 0x840000, LENGTH = 1K
user_signatures (rw!x) : ORIGIN = 0x850000, LENGTH = 1K
} }
SECTIONS SECTIONS
{ {
@ -70,26 +75,32 @@ SECTIONS
.rel.plt : { *(.rel.plt) } .rel.plt : { *(.rel.plt) }
.rela.plt : { *(.rela.plt) } .rela.plt : { *(.rela.plt) }
/* Internal text space or external memory. */ /* Internal text space or external memory. */
.text : .text :
{ {
*(.vectors) *(.vectors)
KEEP(*(.vectors)) KEEP(*(.vectors))
/* For data that needs to reside in the lower 64k of progmem. */ /* For data that needs to reside in the lower 64k of progmem. */
*(.progmem.gcc*) *(.progmem.gcc*)
*(.progmem*) /* PR 13812: Placing the trampolines here gives a better chance
that they will be in range of the code that uses them. */
. = ALIGN(2); . = ALIGN(2);
__trampolines_start = . ; __trampolines_start = . ;
/* The jump trampolines for the 16-bit limited relocs will reside here. */ /* The jump trampolines for the 16-bit limited relocs will reside here. */
*(.trampolines) *(.trampolines)
*(.trampolines*) *(.trampolines*)
__trampolines_end = . ; __trampolines_end = . ;
/* avr-libc expects these data to reside in lower 64K. */
*libprintf_flt.a:*(.progmem.data)
*libc.a:*(.progmem.data)
*(.progmem*)
. = ALIGN(2);
/* For future tablejump instruction arrays for 3 byte pc devices. /* For future tablejump instruction arrays for 3 byte pc devices.
We don't relax jump/call instructions within these sections. */ We don't relax jump/call instructions within these sections. */
*(.jumptables) *(.jumptables)
*(.jumptables*) *(.jumptables*)
/* For code that needs to reside in the lower 128k progmem. */ /* For code that needs to reside in the lower 128k progmem. */
*(.lowtext) *(.lowtext)
*(.lowtext*) *(.lowtext*)
__ctors_start = . ; __ctors_start = . ;
*(.ctors) *(.ctors)
__ctors_end = . ; __ctors_end = . ;
@ -122,7 +133,7 @@ SECTIONS
KEEP (*(.init9)) KEEP (*(.init9))
*(.text) *(.text)
. = ALIGN(2); . = ALIGN(2);
*(.text.*) *(.text.*)
. = ALIGN(2); . = ALIGN(2);
*(.fini9) /* _exit() starts here. */ *(.fini9) /* _exit() starts here. */
KEEP (*(.fini9)) KEEP (*(.fini9))
@ -146,13 +157,13 @@ SECTIONS
KEEP (*(.fini0)) KEEP (*(.fini0))
_etext = . ; _etext = . ;
} > text } > text
.data : AT (ADDR (.text) + SIZEOF (.text)) .data :
{ {
PROVIDE (__data_start = .) ; PROVIDE (__data_start = .) ;
*(.data) *(.data)
*(.data*) *(.data*)
*(.rodata) /* We need to include .rodata here if gcc is used */ *(.rodata) /* We need to include .rodata here if gcc is used */
*(.rodata*) /* with -fdata-sections. */ *(.rodata*) /* with -fdata-sections. */
*(.gnu.linkonce.d*) *(.gnu.linkonce.d*)
PROVIDE (_game_descriptors_start__ = .) ; PROVIDE (_game_descriptors_start__ = .) ;
*(.game_descriptors) *(.game_descriptors)
@ -160,19 +171,19 @@ SECTIONS
. = ALIGN(2); . = ALIGN(2);
_edata = . ; _edata = . ;
PROVIDE (__data_end = .) ; PROVIDE (__data_end = .) ;
} > data } > data AT> text
.bss SIZEOF(.data) + ADDR(.data) : .bss ADDR(.data) + SIZEOF (.data) : AT (ADDR (.bss))
{ {
PROVIDE (__bss_start = .) ; PROVIDE (__bss_start = .) ;
*(.bss) *(.bss)
*(.bss*) *(.bss*)
*(COMMON) *(COMMON)
PROVIDE (__bss_end = .) ; PROVIDE (__bss_end = .) ;
} > data } > data
__data_load_start = LOADADDR(.data); __data_load_start = LOADADDR(.data);
__data_load_end = __data_load_start + SIZEOF(.data); __data_load_end = __data_load_start + SIZEOF(.data);
/* Global data not cleared after reset. */ /* Global data not cleared after reset. */
.noinit SIZEOF(.bss) + ADDR(.bss) : .noinit ADDR(.bss) + SIZEOF (.bss) : AT (ADDR (.noinit))
{ {
PROVIDE (__noinit_start = .) ; PROVIDE (__noinit_start = .) ;
*(.noinit*) *(.noinit*)
@ -182,7 +193,8 @@ SECTIONS
} > data } > data
.eeprom : .eeprom :
{ {
*(.eeprom*) /* See .data above... */
KEEP(*(.eeprom*))
__eeprom_end = . ; __eeprom_end = . ;
} > eeprom } > eeprom
.fuse : .fuse :
@ -208,6 +220,7 @@ SECTIONS
.stab.index 0 : { *(.stab.index) } .stab.index 0 : { *(.stab.index) }
.stab.indexstr 0 : { *(.stab.indexstr) } .stab.indexstr 0 : { *(.stab.indexstr) }
.comment 0 : { *(.comment) } .comment 0 : { *(.comment) }
.note.gnu.build-id : { *(.note.gnu.build-id) }
/* DWARF debug sections. /* DWARF debug sections.
Symbols in the DWARF debugging sections are relative to the beginning Symbols in the DWARF debugging sections are relative to the beginning
of the section so we begin them at 0. */ of the section so we begin them at 0. */
@ -221,11 +234,21 @@ SECTIONS
.debug_aranges 0 : { *(.debug_aranges) } .debug_aranges 0 : { *(.debug_aranges) }
.debug_pubnames 0 : { *(.debug_pubnames) } .debug_pubnames 0 : { *(.debug_pubnames) }
/* DWARF 2 */ /* DWARF 2 */
.debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) } .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
.debug_abbrev 0 : { *(.debug_abbrev) } .debug_abbrev 0 : { *(.debug_abbrev) }
.debug_line 0 : { *(.debug_line) } .debug_line 0 : { *(.debug_line .debug_line.* .debug_line_end ) }
.debug_frame 0 : { *(.debug_frame) } .debug_frame 0 : { *(.debug_frame) }
.debug_str 0 : { *(.debug_str) } .debug_str 0 : { *(.debug_str) }
.debug_loc 0 : { *(.debug_loc) } .debug_loc 0 : { *(.debug_loc) }
.debug_macinfo 0 : { *(.debug_macinfo) } .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) }
} }

Loading…
Cancel
Save