From 8813e1654c45a24c07bb756b4565d96132075262 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 2 Apr 2013 09:02:40 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@5527 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/ports/GCC/PPC/SPC560BCxx/bam.s | 7 +++++-- os/ports/GCC/PPC/SPC560BCxx/ld/SPC560B44.ld | 2 ++ os/ports/GCC/PPC/SPC560BCxx/ld/SPC560B50.ld | 2 ++ os/ports/GCC/PPC/SPC560Pxx/bam.s | 7 +++++-- os/ports/GCC/PPC/SPC560Pxx/ld/SPC560P44.ld | 2 ++ os/ports/GCC/PPC/SPC560Pxx/ld/SPC560P50.ld | 2 ++ os/ports/GCC/PPC/SPC563Mxx/bam.s | 7 +++++-- os/ports/GCC/PPC/SPC563Mxx/ld/SPC563M64.ld | 2 ++ os/ports/GCC/PPC/SPC564Axx/bam.s | 7 +++++-- os/ports/GCC/PPC/SPC564Axx/ld/SPC564A80.ld | 2 ++ os/ports/GCC/PPC/SPC56ELxx/bam.s | 7 +++++-- os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL54_LSM.ld | 2 ++ os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL60_LSM.ld | 2 ++ os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL70_LSM.ld | 2 ++ os/ports/GCC/PPC/rules.mk | 4 ++-- 15 files changed, 45 insertions(+), 12 deletions(-) (limited to 'os/ports') diff --git a/os/ports/GCC/PPC/SPC560BCxx/bam.s b/os/ports/GCC/PPC/SPC560BCxx/bam.s index e37cfaa0c..f62c854dd 100644 --- a/os/ports/GCC/PPC/SPC560BCxx/bam.s +++ b/os/ports/GCC/PPC/SPC560BCxx/bam.s @@ -31,9 +31,12 @@ /* BAM record.*/ .section .bam, "ax" .long 0x015A0000 - .long .init + .long _reset_address -.init: + .align 2 + .globl _reset_address + .type _reset_address, @function +_reset_address: bl _coreinit bl _ivinit diff --git a/os/ports/GCC/PPC/SPC560BCxx/ld/SPC560B44.ld b/os/ports/GCC/PPC/SPC560BCxx/ld/SPC560B44.ld index 73b25bb09..2b81984d1 100644 --- a/os/ports/GCC/PPC/SPC560BCxx/ld/SPC560B44.ld +++ b/os/ports/GCC/PPC/SPC560BCxx/ld/SPC560B44.ld @@ -31,6 +31,8 @@ MEMORY ram : org = 0x40000000, len = 28k } +ENTRY(_reset_address) + /* * Derived constants. */ diff --git a/os/ports/GCC/PPC/SPC560BCxx/ld/SPC560B50.ld b/os/ports/GCC/PPC/SPC560BCxx/ld/SPC560B50.ld index 56b83cfe1..7ccede017 100644 --- a/os/ports/GCC/PPC/SPC560BCxx/ld/SPC560B50.ld +++ b/os/ports/GCC/PPC/SPC560BCxx/ld/SPC560B50.ld @@ -31,6 +31,8 @@ MEMORY ram : org = 0x40000000, len = 32k } +ENTRY(_reset_address) + /* * Derived constants. */ diff --git a/os/ports/GCC/PPC/SPC560Pxx/bam.s b/os/ports/GCC/PPC/SPC560Pxx/bam.s index b5a2a6af0..d1feed8d3 100644 --- a/os/ports/GCC/PPC/SPC560Pxx/bam.s +++ b/os/ports/GCC/PPC/SPC560Pxx/bam.s @@ -31,9 +31,12 @@ /* BAM record.*/ .section .bam, "ax" .long 0x015A0000 - .long .init + .long _reset_address -.init: + .align 2 + .globl _reset_address + .type _reset_address, @function +_reset_address: bl _coreinit bl _ivinit diff --git a/os/ports/GCC/PPC/SPC560Pxx/ld/SPC560P44.ld b/os/ports/GCC/PPC/SPC560Pxx/ld/SPC560P44.ld index b4db1d25b..de3e0bc37 100644 --- a/os/ports/GCC/PPC/SPC560Pxx/ld/SPC560P44.ld +++ b/os/ports/GCC/PPC/SPC560Pxx/ld/SPC560P44.ld @@ -31,6 +31,8 @@ MEMORY ram : org = 0x40000000, len = 36k } +ENTRY(_reset_address) + /* * Derived constants. */ diff --git a/os/ports/GCC/PPC/SPC560Pxx/ld/SPC560P50.ld b/os/ports/GCC/PPC/SPC560Pxx/ld/SPC560P50.ld index 37b737bc8..e02b092a5 100644 --- a/os/ports/GCC/PPC/SPC560Pxx/ld/SPC560P50.ld +++ b/os/ports/GCC/PPC/SPC560Pxx/ld/SPC560P50.ld @@ -31,6 +31,8 @@ MEMORY ram : org = 0x40000000, len = 40k } +ENTRY(_reset_address) + /* * Derived constants. */ diff --git a/os/ports/GCC/PPC/SPC563Mxx/bam.s b/os/ports/GCC/PPC/SPC563Mxx/bam.s index 6b3012a72..19ce1e014 100644 --- a/os/ports/GCC/PPC/SPC563Mxx/bam.s +++ b/os/ports/GCC/PPC/SPC563Mxx/bam.s @@ -35,9 +35,12 @@ #else .long 0x005A0000 #endif - .long .init + .long _reset_address -.init: + .align 2 + .globl _reset_address + .type _reset_address, @function +_reset_address: bl _coreinit bl _ivinit diff --git a/os/ports/GCC/PPC/SPC563Mxx/ld/SPC563M64.ld b/os/ports/GCC/PPC/SPC563Mxx/ld/SPC563M64.ld index d96dd9970..25fe1143b 100644 --- a/os/ports/GCC/PPC/SPC563Mxx/ld/SPC563M64.ld +++ b/os/ports/GCC/PPC/SPC563Mxx/ld/SPC563M64.ld @@ -30,6 +30,8 @@ MEMORY ram : org = 0x40000000, len = 94k } +ENTRY(_reset_address) + /* * Derived constants. */ diff --git a/os/ports/GCC/PPC/SPC564Axx/bam.s b/os/ports/GCC/PPC/SPC564Axx/bam.s index 1e5982423..2955cea2f 100644 --- a/os/ports/GCC/PPC/SPC564Axx/bam.s +++ b/os/ports/GCC/PPC/SPC564Axx/bam.s @@ -35,9 +35,12 @@ #else .long 0x005A0000 #endif - .long .init + .long _reset_address -.init: + .align 2 + .globl _reset_address + .type _reset_address, @function +_reset_address: bl _coreinit bl _ivinit diff --git a/os/ports/GCC/PPC/SPC564Axx/ld/SPC564A80.ld b/os/ports/GCC/PPC/SPC564Axx/ld/SPC564A80.ld index bdc559e6c..ab503114e 100644 --- a/os/ports/GCC/PPC/SPC564Axx/ld/SPC564A80.ld +++ b/os/ports/GCC/PPC/SPC564Axx/ld/SPC564A80.ld @@ -30,6 +30,8 @@ MEMORY ram : org = 0x40000000, len = 192k } +ENTRY(_reset_address) + /* * Derived constants. */ diff --git a/os/ports/GCC/PPC/SPC56ELxx/bam.s b/os/ports/GCC/PPC/SPC56ELxx/bam.s index 0760257a2..623428ce3 100644 --- a/os/ports/GCC/PPC/SPC56ELxx/bam.s +++ b/os/ports/GCC/PPC/SPC56ELxx/bam.s @@ -35,9 +35,12 @@ #else .long 0x005A0000 #endif - .long .init + .long _reset_address -.init: + .align 2 + .globl _reset_address + .type _reset_address, @function +_reset_address: bl _coreinit bl _ivinit diff --git a/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL54_LSM.ld b/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL54_LSM.ld index a714029b9..592c435f5 100644 --- a/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL54_LSM.ld +++ b/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL54_LSM.ld @@ -30,6 +30,8 @@ MEMORY ram : org = 0x40000000, len = 128k } +ENTRY(_reset_address) + /* * Derived constants. */ diff --git a/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL60_LSM.ld b/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL60_LSM.ld index 87bfe5ad1..193c21c05 100644 --- a/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL60_LSM.ld +++ b/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL60_LSM.ld @@ -30,6 +30,8 @@ MEMORY ram : org = 0x40000000, len = 128k } +ENTRY(_reset_address) + /* * Derived constants. */ diff --git a/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL70_LSM.ld b/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL70_LSM.ld index 0a905c499..7afb4bf78 100644 --- a/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL70_LSM.ld +++ b/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL70_LSM.ld @@ -30,6 +30,8 @@ MEMORY ram : org = 0x40000000, len = 192k } +ENTRY(_reset_address) + /* * Derived constants. */ diff --git a/os/ports/GCC/PPC/rules.mk b/os/ports/GCC/PPC/rules.mk index a78e0a376..443eee92c 100644 --- a/os/ports/GCC/PPC/rules.mk +++ b/os/ports/GCC/PPC/rules.mk @@ -62,9 +62,9 @@ ASXFLAGS = $(MCFLAGS) -Wa,-amhls=$(LSTDIR)/$(notdir $(<:.S=.lst)) $(ADEFS) CFLAGS = $(MCFLAGS) $(OPT) $(COPT) $(CWARN) -Wa,-alms=$(LSTDIR)/$(notdir $(<:.c=.lst)) $(DEFS) CPPFLAGS = $(MCFLAGS) $(OPT) $(CPPOPT) $(CPPWARN) -Wa,-alms=$(LSTDIR)/$(notdir $(<:.cpp=.lst)) $(DEFS) ifeq ($(USE_LINK_GC),yes) - LDFLAGS = $(MCFLAGS) -nostartfiles -T$(LDSCRIPT) -Wl,-Map=$(BUILDDIR)/$(PROJECT).map,--cref,--no-warn-mismatch,--gc-sections $(LLIBDIR) + LDFLAGS = $(MCFLAGS) -nostartfiles -T$(LDSCRIPT) -Wl,-Map=$(BUILDDIR)/$(PROJECT).map,--cref,--no-warn-mismatch,--gc-sections,$(USE_LDOPT) $(LLIBDIR) else - LDFLAGS = $(MCFLAGS) -nostartfiles -T$(LDSCRIPT) -Wl,-Map=$(BUILDDIR)/$(PROJECT).map,--cref,--no-warn-mismatch $(LLIBDIR) + LDFLAGS = $(MCFLAGS) -nostartfiles -T$(LDSCRIPT) -Wl,-Map=$(BUILDDIR)/$(PROJECT).map,--cref,--no-warn-mismatch,$(USE_LDOPT) $(LLIBDIR) endif # Generate dependency information -- cgit v1.2.3