This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [Ping, Patch, avr] Apply avr.sc fixes to avrtiny.sc
- From: Senthil Kumar Selvaraj <senthil_kumar dot selvaraj at atmel dot com>
- To: <binutils at sourceware dot org>
- Cc: <chertykov at gmail dot com>
- Date: Mon, 10 Nov 2014 13:03:19 +0530
- Subject: Re: [Ping, Patch, avr] Apply avr.sc fixes to avrtiny.sc
- Authentication-results: sourceware.org; auth=none
- References: <20141009122625 dot GG3842 at atmel dot com>
Ping!
Regards
Senthil
On Thu, Oct 09, 2014 at 05:56:25PM +0530, Senthil Kumar Selvaraj wrote:
> avrtiny.sc, which got committed a while back, does not have some of the
> fixes that were applied to avr.sc.
>
> This patch applies those changes - ($RELOCATING, trampoline location,
> sourcing of DWARF.sc) to avrtiny.sc as well.
>
> If ok, could someone apply please? I don't have commit access.
>
> Regards
> Senthil
>
> ld/ChangeLog
>
> 2014-10-08 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
>
> * avrtiny.sc: Apply avr.sc fixes.
>
> diff --git ld/scripttempl/avrtiny.sc ld/scripttempl/avrtiny.sc
> index ab7294b..70c5d92 100644
> --- ld/scripttempl/avrtiny.sc
> +++ ld/scripttempl/avrtiny.sc
> @@ -96,24 +96,29 @@ SECTIONS
> KEEP(*(.vectors))
>
> /* For data that needs to reside in the lower 64k of progmem. */
> - *(.progmem.gcc*)
> - *(.progmem*)
> - ${RELOCATING+. = ALIGN(2);}
> + ${RELOCATING+ *(.progmem.gcc*)}
>
> + /* PR 13812: Placing the trampolines here gives a better chance
> + that they will be in range of the code that uses them. */
> + ${RELOCATING+. = ALIGN(2);}
> ${CONSTRUCTING+ __trampolines_start = . ; }
> /* The jump trampolines for the 16-bit limited relocs will reside here. */
> *(.trampolines)
> - *(.trampolines*)
> + ${RELOCATING+ *(.trampolines*)}
> ${CONSTRUCTING+ __trampolines_end = . ; }
>
> + ${RELOCATING+ *(.progmem*)}
> +
> + ${RELOCATING+. = ALIGN(2);}
> +
> /* For future tablejump instruction arrays for 3 byte pc devices.
> We don't relax jump/call instructions within these sections. */
> *(.jumptables)
> - *(.jumptables*)
> + ${RELOCATING+ *(.jumptables*)}
>
> /* For code that needs to reside in the lower 128k progmem. */
> *(.lowtext)
> - *(.lowtext*)
> + ${RELOCATING+ *(.lowtext*)}
>
> ${CONSTRUCTING+ __ctors_start = . ; }
> ${CONSTRUCTING+ *(.ctors) }
> @@ -148,7 +153,7 @@ SECTIONS
> KEEP (*(.init9))
> *(.text)
> ${RELOCATING+. = ALIGN(2);}
> - *(.text.*)
> + ${RELOCATING+ *(.text.*)}
> ${RELOCATING+. = ALIGN(2);}
> *(.fini9) /* _exit() starts here. */
> KEEP (*(.fini9))
> @@ -173,25 +178,24 @@ SECTIONS
> ${RELOCATING+ _etext = . ; }
> } ${RELOCATING+ > text}
>
> - .data ${RELOCATING-0} : ${RELOCATING+AT (ADDR (.text) + SIZEOF (.text))}
> + .data ${RELOCATING-0} :
> {
> ${RELOCATING+ PROVIDE (__data_start = .) ; }
> *(.data)
> - KEEP (*(.data))
> - *(.data*)
> + ${RELOCATING+ *(.data*)}
> *(.rodata) /* We need to include .rodata here if gcc is used */
> - *(.rodata*) /* with -fdata-sections. */
> + ${RELOCATING+ *(.rodata*)} /* with -fdata-sections. */
> *(.gnu.linkonce.d*)
> ${RELOCATING+. = ALIGN(2);}
> ${RELOCATING+ _edata = . ; }
> ${RELOCATING+ PROVIDE (__data_end = .) ; }
> - } ${RELOCATING+ > data}
> + } ${RELOCATING+ > data ${RELOCATING+AT> text}}
>
> - .bss ${RELOCATING-0} :${RELOCATING+ AT (ADDR (.bss))}
> + .bss ${RELOCATING+ ADDR(.data) + SIZEOF (.data)} ${RELOCATING-0} :${RELOCATING+ AT (ADDR (.bss))}
> {
> ${RELOCATING+ PROVIDE (__bss_start = .) ; }
> *(.bss)
> - *(.bss*)
> + ${RELOCATING+ *(.bss*)}
> *(COMMON)
> ${RELOCATING+ PROVIDE (__bss_end = .) ; }
> } ${RELOCATING+ > data}
> @@ -232,31 +236,11 @@ SECTIONS
> .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) }
> + .note.gnu.build-id : { *(.note.gnu.build-id) }
> +EOF
>
> - /* DWARF 1.1 and DWARF 2 */
> - .debug_aranges 0 : { *(.debug_aranges) }
> - .debug_pubnames 0 : { *(.debug_pubnames) }
> +. $srcdir/scripttempl/DWARF.sc
>
> - /* 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) }
> +cat <<EOF
> }
> EOF
> -