* msp430/Makefile.in (CRT_OBJS): Add crt_high_bss.o.
* msp430/crt0.S (high_bss): Add. * msp430/msp430-sim.ld: Add error message if .upper sections are detected. * msp430/msp430xl-sim.ld (MEMORY): Adjust to better mimic real life MCUs. Add support for upper and lower sections.
This commit is contained in:
		| @@ -1,6 +1,15 @@ | |||||||
|  | 2014-11-13  Nick Clifton  <nickc@redhat.com> | ||||||
|  |  | ||||||
|  | 	* msp430/Makefile.in (CRT_OBJS): Add crt_high_bss.o. | ||||||
|  | 	* msp430/crt0.S (high_bss): Add. | ||||||
|  | 	* msp430/msp430-sim.ld: Add error message if .upper sections are | ||||||
|  | 	detected. | ||||||
|  | 	* msp430/msp430xl-sim.ld (MEMORY): Adjust to better mimic real | ||||||
|  | 	life MCUs.  Add support for upper and lower sections. | ||||||
|  |  | ||||||
| 2014-10-22  Tim Harder  <radhermit@gmail.com> | 2014-10-22  Tim Harder  <radhermit@gmail.com> | ||||||
|  |  | ||||||
| 	* msp430/Makefile.in: respect DESTDIR during install | 	* msp430/Makefile.in: Respect DESTDIR during install. | ||||||
|  |  | ||||||
| 2014-09-22  Peter A. Bigot  <pab@pabigot.com> | 2014-09-22  Peter A. Bigot  <pab@pabigot.com> | ||||||
|  |  | ||||||
|   | |||||||
| @@ -82,6 +82,7 @@ CIO_OBJS = ciosyscalls.o \ | |||||||
| # crt0.s with -DL0 via the default rule below. | # crt0.s with -DL0 via the default rule below. | ||||||
| CRT_OBJS = \ | CRT_OBJS = \ | ||||||
| 	crt_bss.o \ | 	crt_bss.o \ | ||||||
|  | 	crt_high_bss.o \ | ||||||
| 	crt_movedata.o \ | 	crt_movedata.o \ | ||||||
| 	crt_main.o \ | 	crt_main.o \ | ||||||
| 	crt_main_minrt.o \ | 	crt_main_minrt.o \ | ||||||
|   | |||||||
| @@ -54,6 +54,24 @@ __crt0_init_bss: | |||||||
| 	call_	#memset | 	call_	#memset | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | #ifdef __MSP430X_LARGE__ | ||||||
|  | #if Lhigh_bss | ||||||
|  | ;;  Note - this section is only included in the | ||||||
|  | ;;  startup code of the application if it is needed. | ||||||
|  |  | ||||||
|  | 	.section ".crt_0150high_bss", "ax", @progbits | ||||||
|  | 	 | ||||||
|  | 	.global __crt0_init_high_bss | ||||||
|  | __crt0_init_high_bss: | ||||||
|  | 	 | ||||||
|  | 	mov_	#llo(__high_bssstart), R12 | ||||||
|  | 	mov_	#lhi(__high_bssstart), R13 | ||||||
|  | 	mov.w	#llo(__high_bsssize), R14 | ||||||
|  | 	mov.w	#lhi(__high_bsssize), R15	 | ||||||
|  | 	call_	#memset | ||||||
|  | #endif /* Lhigh_bss */ | ||||||
|  | #endif /* __MSP430X_LARGE__ */ | ||||||
|  |  | ||||||
| #if Lmovedata | #if Lmovedata | ||||||
| 	.section ".crt_0200movedata", "ax", @progbits | 	.section ".crt_0200movedata", "ax", @progbits | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /* Copyright (c) 2005,2008,2009,2011,2013 Red Hat, Inc. All rights reserved. | /*  Copyright (c) 2013-2014 Red Hat, Inc. All rights reserved. | ||||||
|  |  | ||||||
|    This copyrighted material is made available to anyone wishing to use, modify, |    This copyrighted material is made available to anyone wishing to use, modify, | ||||||
|    copy, or redistribute it subject to the terms and conditions of the BSD |    copy, or redistribute it subject to the terms and conditions of the BSD | ||||||
| @@ -8,22 +8,18 @@ | |||||||
|    is available at http://www.opensource.org/licenses. Any Red Hat trademarks that |    is available at http://www.opensource.org/licenses. Any Red Hat trademarks that | ||||||
|    are incorporated in the source code or documentation are not subject to the BSD |    are incorporated in the source code or documentation are not subject to the BSD | ||||||
|    License and may only be used or replicated with the express permission of |    License and may only be used or replicated with the express permission of | ||||||
|    Red Hat, Inc. |    Red Hat, Inc.  */ | ||||||
| */ |  | ||||||
|  | /* Default linker script, for normal MSP430 executables.  */ | ||||||
|  |  | ||||||
| /* Default linker script, for normal executables */ |  | ||||||
| OUTPUT_ARCH(msp430) | OUTPUT_ARCH(msp430) | ||||||
| ENTRY(_start) | ENTRY(_start) | ||||||
|  |  | ||||||
| /* Do we need any of these for elf? |  | ||||||
|    __DYNAMIC = 0;    */ |  | ||||||
|  |  | ||||||
| INCLUDE intr_vectors.ld | INCLUDE intr_vectors.ld | ||||||
|  |  | ||||||
| MEMORY | MEMORY | ||||||
| { | { | ||||||
|   RAM (w) : ORIGIN = 0x00200, LENGTH = 0x0ee00 |   RAM (w) : ORIGIN = 0x00200, LENGTH = 0x0ee00 | ||||||
| 	RESETVEC (w) : ORIGIN = 0x0fffe, LENGTH = 0x00002 |  | ||||||
| } | } | ||||||
|  |  | ||||||
| SECTIONS | SECTIONS | ||||||
| @@ -31,11 +27,13 @@ SECTIONS | |||||||
|   .resetvec : |   .resetvec : | ||||||
|   { |   { | ||||||
|     *(.resetvec) |     *(.resetvec) | ||||||
|   } > RESETVEC |   } > VECT31 | ||||||
|  |  | ||||||
|   .rodata : { |   .rodata : | ||||||
|  |   { | ||||||
|     . = ALIGN(2); |     . = ALIGN(2); | ||||||
|     *(.plt) |     *(.plt) | ||||||
|  |     *(.lower.rodata.* .lower.rodata) | ||||||
|     *(.rodata .rodata.* .gnu.linkonce.r.* .const .const:*) |     *(.rodata .rodata.* .gnu.linkonce.r.* .const .const:*) | ||||||
|     *(.rodata1) |     *(.rodata1) | ||||||
|     *(.eh_frame_hdr) |     *(.eh_frame_hdr) | ||||||
| @@ -81,7 +79,9 @@ SECTIONS | |||||||
|     . = ALIGN(2); |     . = ALIGN(2); | ||||||
|     PROVIDE (_start = .); |     PROVIDE (_start = .); | ||||||
|     KEEP (*(SORT(.crt_*))) |     KEEP (*(SORT(.crt_*))) | ||||||
|     *(.lowtext .text .stub .text.* .gnu.linkonce.t.* .text:*) |     *(.lowtext) | ||||||
|  |     *(.lower.text.* .lower.text)     | ||||||
|  |     *(.text .stub .text.* .gnu.linkonce.t.* .text:*) | ||||||
|     KEEP (*(.text.*personality*)) |     KEEP (*(.text.*personality*)) | ||||||
|     /* .gnu.warning sections are handled specially by elf32.em.  */ |     /* .gnu.warning sections are handled specially by elf32.em.  */ | ||||||
|     *(.gnu.warning) |     *(.gnu.warning) | ||||||
| @@ -95,10 +95,12 @@ SECTIONS | |||||||
|     KEEP (*(.tm_clone_table)) |     KEEP (*(.tm_clone_table)) | ||||||
|   } > RAM |   } > RAM | ||||||
|  |  | ||||||
|   .data : { |   .data : | ||||||
|  |   { | ||||||
|     . = ALIGN(2); |     . = ALIGN(2); | ||||||
|     PROVIDE (__datastart = .); |     PROVIDE (__datastart = .); | ||||||
|  |  | ||||||
|  |     *(.lower.data.* .lower.data) | ||||||
|     KEEP (*(.jcr)) |     KEEP (*(.jcr)) | ||||||
|     *(.data.rel.ro.local) *(.data.rel.ro*) |     *(.data.rel.ro.local) *(.data.rel.ro*) | ||||||
|     *(.dynamic) |     *(.dynamic) | ||||||
| @@ -126,9 +128,11 @@ SECTIONS | |||||||
|   PROVIDE(__romdatastart = LOADADDR(.data)); |   PROVIDE(__romdatastart = LOADADDR(.data)); | ||||||
|   PROVIDE (__romdatacopysize = SIZEOF(.data)); |   PROVIDE (__romdatacopysize = SIZEOF(.data)); | ||||||
|  |  | ||||||
|   .bss : { |   .bss : | ||||||
|  |   { | ||||||
|     . = ALIGN(2); |     . = ALIGN(2); | ||||||
|     PROVIDE (__bssstart = .); |     PROVIDE (__bssstart = .); | ||||||
|  |     *(.lower.bss.* .lower.bss) | ||||||
|     *(.dynbss) |     *(.dynbss) | ||||||
|     *(.sbss .sbss.*) |     *(.sbss .sbss.*) | ||||||
|     *(.bss .bss.* .gnu.linkonce.b.*) |     *(.bss .bss.* .gnu.linkonce.b.*) | ||||||
| @@ -137,7 +141,8 @@ SECTIONS | |||||||
|   PROVIDE (__bsssize = SIZEOF(.bss)); |   PROVIDE (__bsssize = SIZEOF(.bss)); | ||||||
|  |  | ||||||
|   /* This section contains data that is not initialised at startup.  */ |   /* This section contains data that is not initialised at startup.  */ | ||||||
|   .noinit : { |   .noinit (NOLOAD) : | ||||||
|  |   { | ||||||
|     . = ALIGN(2); |     . = ALIGN(2); | ||||||
|     PROVIDE (__noinit_start = .); |     PROVIDE (__noinit_start = .); | ||||||
|     *(.noinit) |     *(.noinit) | ||||||
| @@ -155,6 +160,16 @@ SECTIONS | |||||||
|     *(.stack) |     *(.stack) | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   /* Make sure that .upper sections are not used without -mlarge support.  */ | ||||||
|  |   .upper : | ||||||
|  |   { | ||||||
|  |     *(.upper.rodata.* .upper.rodata) | ||||||
|  |     *(.upper.data.* .upper.data) | ||||||
|  |     *(.upper.bss.* .upper.bss) | ||||||
|  |     *(.upper.text.* .upper.text)   | ||||||
|  |     ASSERT (SIZEOF(.upper) == 0, ".upper sections present in a binary linked without -mlarge support"); | ||||||
|  |   } | ||||||
|  |  | ||||||
|   /* The rest are all not normally part of the runtime image.  */ |   /* The rest are all not normally part of the runtime image.  */ | ||||||
|  |  | ||||||
|   .MP430.attributes 0 : |   .MP430.attributes 0 : | ||||||
| @@ -175,13 +190,13 @@ SECTIONS | |||||||
|   /* 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.  */ | ||||||
|   /* DWARF 1 */ |   /* DWARF 1.  */ | ||||||
|   .debug          0 : { *(.debug) } |   .debug          0 : { *(.debug) } | ||||||
|   .line           0 : { *(.line) } |   .line           0 : { *(.line) } | ||||||
|   /* GNU DWARF 1 extensions */ |   /* GNU DWARF 1 extensions.  */ | ||||||
|   .debug_srcinfo  0 : { *(.debug_srcinfo) } |   .debug_srcinfo  0 : { *(.debug_srcinfo) } | ||||||
|   .debug_sfnames  0 : { *(.debug_sfnames) } |   .debug_sfnames  0 : { *(.debug_sfnames) } | ||||||
|   /* DWARF 1.1 and DWARF 2 */ |   /* DWARF 1.1 and DWARF 2.  */ | ||||||
|   .debug_aranges  0 : { *(.debug_aranges) } |   .debug_aranges  0 : { *(.debug_aranges) } | ||||||
|   .debug_pubnames 0 : { *(.debug_pubnames) } |   .debug_pubnames 0 : { *(.debug_pubnames) } | ||||||
|   /* DWARF 2 */ |   /* DWARF 2 */ | ||||||
| @@ -192,12 +207,12 @@ SECTIONS | |||||||
|   .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 */ |   /* SGI/MIPS DWARF 2 extensions.  */ | ||||||
|   .debug_weaknames 0 : { *(.debug_weaknames) } |   .debug_weaknames 0 : { *(.debug_weaknames) } | ||||||
|   .debug_funcnames 0 : { *(.debug_funcnames) } |   .debug_funcnames 0 : { *(.debug_funcnames) } | ||||||
|   .debug_typenames 0 : { *(.debug_typenames) } |   .debug_typenames 0 : { *(.debug_typenames) } | ||||||
|   .debug_varnames  0 : { *(.debug_varnames) } |   .debug_varnames  0 : { *(.debug_varnames) } | ||||||
|   /* DWARF 3 */ |   /* DWARF 3.  */ | ||||||
|   .debug_pubtypes 0 : { *(.debug_pubtypes) } |   .debug_pubtypes 0 : { *(.debug_pubtypes) } | ||||||
|   .debug_ranges   0 : { *(.debug_ranges) } |   .debug_ranges   0 : { *(.debug_ranges) } | ||||||
|   /* DWARF Extension.  */ |   /* DWARF Extension.  */ | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| /*  Copyright (c) 2013 Red Hat, Inc. All rights reserved. | /*  Copyright (c) 2013-2014 Red Hat, Inc. All rights reserved. | ||||||
|  |  | ||||||
|    This copyrighted material is made available to anyone wishing to use, modify, |    This copyrighted material is made available to anyone wishing to use, modify, | ||||||
|    copy, or redistribute it subject to the terms and conditions of the BSD |    copy, or redistribute it subject to the terms and conditions of the BSD | ||||||
| @@ -8,24 +8,20 @@ | |||||||
|    is available at http://www.opensource.org/licenses. Any Red Hat trademarks that |    is available at http://www.opensource.org/licenses. Any Red Hat trademarks that | ||||||
|    are incorporated in the source code or documentation are not subject to the BSD |    are incorporated in the source code or documentation are not subject to the BSD | ||||||
|    License and may only be used or replicated with the express permission of |    License and may only be used or replicated with the express permission of | ||||||
|    Red Hat, Inc. |    Red Hat, Inc.  */ | ||||||
|  |  | ||||||
| */ | /* Default linker script, for large MSP430X executables.  */ | ||||||
|  |  | ||||||
| /* Default linker script, for normal executables */ |  | ||||||
| OUTPUT_ARCH(msp430) | OUTPUT_ARCH(msp430) | ||||||
| ENTRY(_start) | ENTRY(_start) | ||||||
|  |  | ||||||
| /* Do we need any of these for elf? |  | ||||||
|    __DYNAMIC = 0;    */ |  | ||||||
|  |  | ||||||
| INCLUDE intr_vectors.ld | INCLUDE intr_vectors.ld | ||||||
|  |  | ||||||
| MEMORY { | MEMORY | ||||||
| 	RAM (rx)     : ORIGIN = 0x00200, LENGTH = 0x0ee00 | { | ||||||
| 	LOWROM (w)    : ORIGIN = 0x0f000, LENGTH = 0x00800 |   RAM (w)      : ORIGIN = 0x00200, LENGTH = 0x01e00 | ||||||
| 	ROM (w)      : ORIGIN = 0x10000, LENGTH = 0x80000 |   ROM (rx)     : ORIGIN = 0x02000, LENGTH = 0x0df00 | ||||||
| 	RESETVEC (w) : ORIGIN = 0x0fffe, LENGTH = 0x00002 |   HIFRAM (rxw) : ORIGIN = 0x10000, LENGTH = 0x80000 | ||||||
| } | } | ||||||
|  |  | ||||||
| SECTIONS | SECTIONS | ||||||
| @@ -33,13 +29,22 @@ SECTIONS | |||||||
|   .resetvec : |   .resetvec : | ||||||
|   { |   { | ||||||
|     *(.resetvec) |     *(.resetvec) | ||||||
|   } > RESETVEC |   } > VECT31 | ||||||
|  |  | ||||||
|   .rodata : { |   .upper.rodata : | ||||||
|  |   { | ||||||
|  |     . = ALIGN(2); | ||||||
|  |     *(.upper.rodata.* .upper.rodata) | ||||||
|  |   } > HIFRAM | ||||||
|  |  | ||||||
|  |   .rodata : | ||||||
|  |   { | ||||||
|     . = ALIGN(2); |     . = ALIGN(2); | ||||||
|     *(.plt) |     *(.plt) | ||||||
|  |     *(.lower.rodata.* .lower.rodata) | ||||||
|     *(.rodata .rodata.* .gnu.linkonce.r.* .const .const:*) |     *(.rodata .rodata.* .gnu.linkonce.r.* .const .const:*) | ||||||
|     *(.rodata1) |     *(.rodata1) | ||||||
|  |  | ||||||
|     *(.eh_frame_hdr) |     *(.eh_frame_hdr) | ||||||
|     KEEP (*(.eh_frame)) |     KEEP (*(.eh_frame)) | ||||||
|     KEEP (*(.gcc_except_table)) *(.gcc_except_table.*) |     KEEP (*(.gcc_except_table)) *(.gcc_except_table.*) | ||||||
| @@ -78,10 +83,19 @@ SECTIONS | |||||||
|     KEEP (*(.dtors)) |     KEEP (*(.dtors)) | ||||||
|   } > ROM |   } > ROM | ||||||
|  |  | ||||||
|   .data : { |   .upper.data : | ||||||
|  |   { | ||||||
|  |     . = ALIGN(2); | ||||||
|  |     *(.upper.data.* .upper.data) | ||||||
|  |   } > HIFRAM | ||||||
|  |  | ||||||
|  |   .data : | ||||||
|  |   { | ||||||
|     . = ALIGN(2); |     . = ALIGN(2); | ||||||
|     PROVIDE (__datastart = .); |     PROVIDE (__datastart = .); | ||||||
|  |     *(.lower.data.* .lower.data) | ||||||
|  |  | ||||||
|  |     . = ALIGN(2); | ||||||
|     KEEP (*(.jcr)) |     KEEP (*(.jcr)) | ||||||
|     *(.data.rel.ro.local) *(.data.rel.ro*) |     *(.data.rel.ro.local) *(.data.rel.ro*) | ||||||
|     *(.dynamic) |     *(.dynamic) | ||||||
| @@ -99,19 +113,30 @@ SECTIONS | |||||||
|     *(.sdata .sdata.* .gnu.linkonce.s.* D_2 D_1) |     *(.sdata .sdata.* .gnu.linkonce.s.* D_2 D_1) | ||||||
|  |  | ||||||
|     . = ALIGN(2); |     . = ALIGN(2); | ||||||
|  |  | ||||||
|     _edata = .; |     _edata = .; | ||||||
|     PROVIDE (edata = .); |     PROVIDE (edata = .); | ||||||
|     PROVIDE (__dataend = .); |     PROVIDE (__dataend = .); | ||||||
|   } > RAM AT>ROM |   } > RAM | ||||||
|  |  | ||||||
|   /* Note that crt0 assumes this is a multiple of two; all the |   /* Note that crt0 assumes this is a multiple of two; all the | ||||||
|      start/stop symbols are also assumed word-aligned.  */ |      start/stop symbols are also assumed word-aligned.  */ | ||||||
|   PROVIDE(__romdatastart = LOADADDR(.data)); |   PROVIDE(__romdatastart = LOADADDR(.data)); | ||||||
|   PROVIDE (__romdatacopysize = SIZEOF(.data)); |   PROVIDE (__romdatacopysize = SIZEOF(.data)); | ||||||
|  |  | ||||||
|   .bss : { |   .upper.bss : | ||||||
|  |   { | ||||||
|  |     . = ALIGN(2); | ||||||
|  |     PROVIDE (__high_bssstart = .); | ||||||
|  |     *(.upper.bss.* .upper.bss) | ||||||
|  |     PROVIDE (__high_bssend = .); | ||||||
|  |   } > HIFRAM | ||||||
|  |  | ||||||
|  |   .bss : | ||||||
|  |   { | ||||||
|     . = ALIGN(2); |     . = ALIGN(2); | ||||||
|     PROVIDE (__bssstart = .); |     PROVIDE (__bssstart = .); | ||||||
|  |     *(.lower.bss.* .lower.bss) | ||||||
|     *(.dynbss) |     *(.dynbss) | ||||||
|     *(.sbss .sbss.*) |     *(.sbss .sbss.*) | ||||||
|     *(.bss .bss.* .gnu.linkonce.b.*) |     *(.bss .bss.* .gnu.linkonce.b.*) | ||||||
| @@ -121,7 +146,8 @@ SECTIONS | |||||||
|   PROVIDE (__bsssize = SIZEOF(.bss)); |   PROVIDE (__bsssize = SIZEOF(.bss)); | ||||||
|  |  | ||||||
|   /* This section contains data that is not initialised at startup.  */ |   /* This section contains data that is not initialised at startup.  */ | ||||||
|   .noinit : { |   .noinit (NOLOAD) : | ||||||
|  |   { | ||||||
|     . = ALIGN(2); |     . = ALIGN(2); | ||||||
|     PROVIDE (__noinit_start = .); |     PROVIDE (__noinit_start = .); | ||||||
|     *(.noinit) |     *(.noinit) | ||||||
| @@ -133,25 +159,34 @@ SECTIONS | |||||||
|   _end = .; |   _end = .; | ||||||
|   PROVIDE (end = .); |   PROVIDE (end = .); | ||||||
|  |  | ||||||
|   .stack (ORIGIN (RAM) + LENGTH(RAM)) : |   .stack (ORIGIN (HIFRAM) + LENGTH(HIFRAM)) : | ||||||
|   { |   { | ||||||
|     PROVIDE (__stack = .); |     PROVIDE (__stack = .); | ||||||
|     *(.stack) |     *(.stack) | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   /* This is just for crt0.S */ |   /* This is just for crt0.S and interrupt handlers.  */ | ||||||
|   .lowtext : |   .lowtext : | ||||||
|   { |   { | ||||||
|     PROVIDE (_start = .); |     PROVIDE (_start = .); | ||||||
|     . = ALIGN(2); |     . = ALIGN(2); | ||||||
|     KEEP (*(SORT(.crt_*))) |     KEEP (*(SORT(.crt_*))) | ||||||
|     KEEP (*(.lowtext)) |     KEEP (*(.lowtext)) | ||||||
|   } > LOWROM |   } > ROM | ||||||
|  |  | ||||||
|  |   .upper.text : | ||||||
|  |   { | ||||||
|  |     . = ALIGN(2); | ||||||
|  |     *(.upper.text.* .upper.text) | ||||||
|  |   } > HIFRAM | ||||||
|  |  | ||||||
|   .text : |   .text : | ||||||
|   { |   { | ||||||
|  |     . = ALIGN(2); | ||||||
|  |     *(.lower.text.* .lower.text) | ||||||
|     . = ALIGN(2); |     . = ALIGN(2); | ||||||
|     *(.text .stub .text.* .gnu.linkonce.t.* .text:*) |     *(.text .stub .text.* .gnu.linkonce.t.* .text:*) | ||||||
|  |  | ||||||
|     KEEP (*(.text.*personality*)) |     KEEP (*(.text.*personality*)) | ||||||
|     /* .gnu.warning sections are handled specially by elf32.em.  */ |     /* .gnu.warning sections are handled specially by elf32.em.  */ | ||||||
|     *(.gnu.warning) |     *(.gnu.warning) | ||||||
| @@ -185,16 +220,16 @@ SECTIONS | |||||||
|   /* 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.  */ | ||||||
|   /* DWARF 1 */ |   /* DWARF 1.  */ | ||||||
|   .debug          0 : { *(.debug) } |   .debug          0 : { *(.debug) } | ||||||
|   .line           0 : { *(.line) } |   .line           0 : { *(.line) } | ||||||
|   /* GNU DWARF 1 extensions */ |   /* GNU DWARF 1 extensions.  */ | ||||||
|   .debug_srcinfo  0 : { *(.debug_srcinfo) } |   .debug_srcinfo  0 : { *(.debug_srcinfo) } | ||||||
|   .debug_sfnames  0 : { *(.debug_sfnames) } |   .debug_sfnames  0 : { *(.debug_sfnames) } | ||||||
|   /* DWARF 1.1 and DWARF 2 */ |   /* DWARF 1.1 and DWARF 2.  */ | ||||||
|   .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.* .debug_line_end ) } |   .debug_line     0 : { *(.debug_line .debug_line.* .debug_line_end ) } | ||||||
| @@ -202,7 +237,7 @@ SECTIONS | |||||||
|   .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 */ |   /* SGI/MIPS DWARF 2 extensions.  */ | ||||||
|   .debug_weaknames 0 : { *(.debug_weaknames) } |   .debug_weaknames 0 : { *(.debug_weaknames) } | ||||||
|   .debug_funcnames 0 : { *(.debug_funcnames) } |   .debug_funcnames 0 : { *(.debug_funcnames) } | ||||||
|   .debug_typenames 0 : { *(.debug_typenames) } |   .debug_typenames 0 : { *(.debug_typenames) } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user