diff options
author | Nick Clifton <nickc@redhat.com> | 2006-05-24 07:36:12 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2006-05-24 07:36:12 +0000 |
commit | a40184dc9a53617c118bfffea026f0d9db93315a (patch) | |
tree | b4d195ae2f224e0090b9edbef39950d50d379883 /ld/scripttempl/avr.sc | |
parent | 5f19a1e4fb11207c6992c0bd24b9ecdb9c6b40f6 (diff) | |
download | binutils-redhat-a40184dc9a53617c118bfffea026f0d9db93315a.tar.gz |
Add support for AVR6 family
Diffstat (limited to 'ld/scripttempl/avr.sc')
-rw-r--r-- | ld/scripttempl/avr.sc | 36 |
1 files changed, 23 insertions, 13 deletions
diff --git a/ld/scripttempl/avr.sc b/ld/scripttempl/avr.sc index d297b4a702..7368caf3d0 100644 --- a/ld/scripttempl/avr.sc +++ b/ld/scripttempl/avr.sc @@ -71,12 +71,32 @@ SECTIONS .rel.plt ${RELOCATING-0} : { *(.rel.plt) } .rela.plt ${RELOCATING-0} : { *(.rela.plt) } - /* Internal text space or external memory */ + /* Internal text space or external memory. */ .text : { *(.vectors) KEEP(*(.vectors)) + /* For data that needs to reside in the lower 64k of progmem. */ + *(.progmem.gcc*) + *(.progmem*) + ${RELOCATING+. = ALIGN(2);} + + ${CONSTRUCTING+ __trampolines_start = . ; } + /* The jump trampolines for the 16-bit limited relocs will reside here. */ + *(.trampolines) + *(.trampolines*) + ${CONSTRUCTING+ __trampolines_end = . ; } + + /* For future tablejump instruction arrays for 3 byte pc devices. + We don't relax jump/call instructions within these sections. */ + *(.jumptables) + *(.jumptables*) + + /* For code that needs to reside in the lower 128k progmem. */ + *(.lowtext) + *(.lowtext*) + ${CONSTRUCTING+ __ctors_start = . ; } ${CONSTRUCTING+ *(.ctors) } ${CONSTRUCTING+ __ctors_end = . ; } @@ -86,18 +106,8 @@ SECTIONS KEEP(SORT(*)(.ctors)) KEEP(SORT(*)(.dtors)) - /* For data that needs to reside in the lower 64k of progmem */ - *(.progmem.gcc*) - *(.progmem*) - ${RELOCATING+. = ALIGN(2);} - - /* for future tablejump instruction arrays for 3 byte pc devices */ - *(.jumptables) - *(.jumptables*) - /* for code that needs to reside in the lower 128k progmem */ - *(.lowtext) - *(.lowtext*) - + /* From this point on, we don't bother about wether the insns are + below or above the 16 bits boundary. */ *(.init0) /* Start here after reset. */ KEEP (*(.init0)) *(.init1) |