diff options
author | Nick Clifton <nickc@redhat.com> | 2013-09-18 07:38:13 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2013-09-18 07:38:13 +0000 |
commit | 796a9241b3d383297da92d59476476ebb3a83f15 (patch) | |
tree | 4c3e163508da96c65f1fdc5c852208dc5ac70f77 /libgloss/msp430/intr_vectors.ld | |
parent | 37e1d79259b3eb25f1ae26a7495961b21684b532 (diff) | |
download | newlib-796a9241b3d383297da92d59476476ebb3a83f15.zip newlib-796a9241b3d383297da92d59476476ebb3a83f15.tar.gz newlib-796a9241b3d383297da92d59476476ebb3a83f15.tar.bz2 |
* msp430/Makefile.in (SCRIPTS): Add intr_vectors.ld.
(LIB_CRT): New.
(CRT_OBJS): New.
(all): Add dependency upon LIB_CRT.
(install): Likewise.
* msp430/msp430-sim.ld: Include intr_vectors.ld.
KEEP crt code, lowtext code and tm_clone_table.
Separate the noinit section from the .bss section.
Allow for extended .debug_line sections.
* msp430/msp430.ld: Likewise.
* msp430/msp430F5438A-l.ld: Likewise.
* msp430/msp430F5438A-s.ld: Likewise.
* msp430/msp430xl-sim.ld: Likewise
. * msp430/crt_movedata.S: New.
* msp430/crt_bss.S: New.
* msp430/intr_vectors.ld: New.
Diffstat (limited to 'libgloss/msp430/intr_vectors.ld')
-rw-r--r-- | libgloss/msp430/intr_vectors.ld | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/libgloss/msp430/intr_vectors.ld b/libgloss/msp430/intr_vectors.ld new file mode 100644 index 0000000..994146d --- /dev/null +++ b/libgloss/msp430/intr_vectors.ld @@ -0,0 +1,71 @@ +MEMORY +{ + VECT0 (w) : ORIGIN = 0x0FFC0, LENGTH = 2 + VECT1 (w) : ORIGIN = 0x0FFC2, LENGTH = 2 + VECT2 (w) : ORIGIN = 0x0FFC4, LENGTH = 2 + VECT3 (w) : ORIGIN = 0x0FFC6, LENGTH = 2 + VECT4 (w) : ORIGIN = 0x0FFC8, LENGTH = 2 + VECT5 (w) : ORIGIN = 0x0FFCA, LENGTH = 2 + VECT6 (w) : ORIGIN = 0x0FFCC, LENGTH = 2 + VECT7 (w) : ORIGIN = 0x0FFCE, LENGTH = 2 + VECT8 (w) : ORIGIN = 0x0FFD0, LENGTH = 2 + VECT9 (w) : ORIGIN = 0x0FFD2, LENGTH = 2 + VECT10 (w) : ORIGIN = 0x0FFD4, LENGTH = 2 + VECT11 (w) : ORIGIN = 0x0FFD6, LENGTH = 2 + VECT12 (w) : ORIGIN = 0x0FFD8, LENGTH = 2 + VECT13 (w) : ORIGIN = 0x0FFDA, LENGTH = 2 + VECT14 (w) : ORIGIN = 0x0FFDC, LENGTH = 2 + VECT15 (w) : ORIGIN = 0x0FFDE, LENGTH = 2 + VECT16 (w) : ORIGIN = 0x0FFE0, LENGTH = 2 + VECT17 (w) : ORIGIN = 0x0FFE2, LENGTH = 2 + VECT18 (w) : ORIGIN = 0x0FFE4, LENGTH = 2 + VECT19 (w) : ORIGIN = 0x0FFE6, LENGTH = 2 + VECT20 (w) : ORIGIN = 0x0FFE8, LENGTH = 2 + VECT21 (w) : ORIGIN = 0x0FFEA, LENGTH = 2 + VECT22 (w) : ORIGIN = 0x0FFEC, LENGTH = 2 + VECT23 (w) : ORIGIN = 0x0FFEE, LENGTH = 2 + VECT24 (w) : ORIGIN = 0x0FFF0, LENGTH = 2 + VECT25 (w) : ORIGIN = 0x0FFF2, LENGTH = 2 + VECT26 (w) : ORIGIN = 0x0FFF4, LENGTH = 2 + VECT27 (w) : ORIGIN = 0x0FFF6, LENGTH = 2 + VECT28 (w) : ORIGIN = 0x0FFF8, LENGTH = 2 + VECT29 (w) : ORIGIN = 0x0FFFA, LENGTH = 2 + VECT30 (w) : ORIGIN = 0x0FFFC, LENGTH = 2 + VECT31 (w) : ORIGIN = 0x0FFFE, LENGTH = 2 +} + +SECTIONS +{ + __interrupt_vector_0 : { KEEP (*(__interrupt_vector_0)) } > VECT0 + __interrupt_vector_1 : { KEEP (*(__interrupt_vector_1)) } > VECT1 + __interrupt_vector_2 : { KEEP (*(__interrupt_vector_2)) } > VECT2 + __interrupt_vector_3 : { KEEP (*(__interrupt_vector_3)) } > VECT3 + __interrupt_vector_4 : { KEEP (*(__interrupt_vector_4)) } > VECT4 + __interrupt_vector_5 : { KEEP (*(__interrupt_vector_5)) } > VECT5 + __interrupt_vector_6 : { KEEP (*(__interrupt_vector_6)) } > VECT6 + __interrupt_vector_7 : { KEEP (*(__interrupt_vector_7)) } > VECT7 + __interrupt_vector_8 : { KEEP (*(__interrupt_vector_8)) } > VECT8 + __interrupt_vector_9 : { KEEP (*(__interrupt_vector_9)) } > VECT9 + __interrupt_vector_10 : { KEEP (*(__interrupt_vector_10)) } > VECT10 + __interrupt_vector_11 : { KEEP (*(__interrupt_vector_11)) } > VECT11 + __interrupt_vector_12 : { KEEP (*(__interrupt_vector_12)) } > VECT12 + __interrupt_vector_13 : { KEEP (*(__interrupt_vector_13)) } > VECT13 + __interrupt_vector_14 : { KEEP (*(__interrupt_vector_14)) } > VECT14 + __interrupt_vector_15 : { KEEP (*(__interrupt_vector_15)) } > VECT15 + __interrupt_vector_16 : { KEEP (*(__interrupt_vector_16)) } > VECT16 + __interrupt_vector_17 : { KEEP (*(__interrupt_vector_17)) } > VECT17 + __interrupt_vector_18 : { KEEP (*(__interrupt_vector_18)) } > VECT18 + __interrupt_vector_19 : { KEEP (*(__interrupt_vector_19)) } > VECT19 + __interrupt_vector_20 : { KEEP (*(__interrupt_vector_20)) } > VECT20 + __interrupt_vector_21 : { KEEP (*(__interrupt_vector_21)) } > VECT21 + __interrupt_vector_22 : { KEEP (*(__interrupt_vector_22)) } > VECT22 + __interrupt_vector_23 : { KEEP (*(__interrupt_vector_23)) } > VECT23 + __interrupt_vector_24 : { KEEP (*(__interrupt_vector_24)) } > VECT24 + __interrupt_vector_25 : { KEEP (*(__interrupt_vector_25)) } > VECT25 + __interrupt_vector_26 : { KEEP (*(__interrupt_vector_26)) KEEP (*(__interrupt_vector_watchdog)) } > VECT26 + __interrupt_vector_27 : { KEEP (*(__interrupt_vector_27)) } > VECT27 + __interrupt_vector_28 : { KEEP (*(__interrupt_vector_28)) } > VECT28 + __interrupt_vector_29 : { KEEP (*(__interrupt_vector_29)) } > VECT29 + __interrupt_vector_30 : { KEEP (*(__interrupt_vector_30)) KEEP (*(__interrupt_vector_nmi)) } > VECT30 + __interrupt_vector_31 : { KEEP (*(__interrupt_vector_31)) KEEP (*(__interrupt_vector_reset)) KEEP (*(.resetvec)) } > VECT31 +} |