aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorchrysn2012-10-02 12:05:36 +0200
committerchrysn2012-10-02 12:05:36 +0200
commitb5de267b0671493d138f940c25f21f834f7275c4 (patch)
treec54b4aacac106590b4cae39228ce67f09e7b416c /lib
parent36f95447a801cf2948993a3f1f77c278c876bf0a (diff)
use _data_loadaddr instead of _etext
this change was done in master in [1] and just merged here. [1] 74cd991e7e8972cf22933743c847b5ce2b165798
Diffstat (limited to 'lib')
-rw-r--r--lib/efm32/tinygecko/tinygecko.ld1
-rw-r--r--lib/efm32/tinygecko/vector.c6
2 files changed, 4 insertions, 3 deletions
diff --git a/lib/efm32/tinygecko/tinygecko.ld b/lib/efm32/tinygecko/tinygecko.ld
index 92f4282..8ef5e42 100644
--- a/lib/efm32/tinygecko/tinygecko.ld
+++ b/lib/efm32/tinygecko/tinygecko.ld
@@ -57,6 +57,7 @@ SECTIONS
. = ALIGN(4);
_ebss = .;
} >ram AT >rom
+ _data_loadaddr = LOADADDR(.data);
/*
* The .eh_frame section appears to be used for C++ exception handling.
diff --git a/lib/efm32/tinygecko/vector.c b/lib/efm32/tinygecko/vector.c
index 264426b..81421e7 100644
--- a/lib/efm32/tinygecko/vector.c
+++ b/lib/efm32/tinygecko/vector.c
@@ -23,8 +23,8 @@
#define WEAK __attribute__ ((weak))
-/* Symbols exported by the linker script(s). */
-extern unsigned _etext, _data, _edata, _ebss, _stack;
+/* Symbols exported by the linker script(s): */
+extern unsigned _data_loadaddr, _data, _edata, _ebss, _stack;
void main(void);
void blocking_handler(void);
@@ -109,7 +109,7 @@ void WEAK reset_handler(void)
__asm__("MSR msp, %0" : : "r"(&_stack));
- for (src = &_etext, dest = &_data; dest < &_edata; src++, dest++)
+ for (src = &_data_loadaddr, dest = &_data; dest < &_edata; src++, dest++)
*dest = *src;
while (dest < &_ebss)