aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@leaflabs.com>2011-11-15 08:39:01 -0500
committerMarti Bolivar <mbolivar@leaflabs.com>2012-04-11 16:52:17 -0400
commitd70098ba269a7d8ceb7717d7d7d90878134337a3 (patch)
tree35d49387c3fb32455e832c3730f36e9b18a13007
parent926710d872a9809c12dca944c128831d306a938f (diff)
Remove "CS3" prefix from libmaple symbol names.
We're no longer even marginally compatible with CS3, so it's inappropriate to use that prefix in our names. Rename: __cs3_stm32_vector_table -> __stm32_vector_table. __cs3_stack -> __msp_init __cs3_reset -> __exc_reset __cs3_start_c -> start_c Also add an MIT license header and assert LeafLabs copyright over wirish/start.S and wirish/start_c.c. These files are modified from the original CodeSourcery versions, which were distributed under a license that permits modifications to be distributed under a different copyright and licensing terms than the originals. Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
-rw-r--r--libmaple/stm32f1/vector_table_performance.S12
-rw-r--r--support/ld/common.inc14
-rw-r--r--support/ld/stm32/f1/performance/vector_symbols.inc4
-rw-r--r--wirish/start.S34
-rw-r--r--wirish/start_c.c35
5 files changed, 78 insertions, 21 deletions
diff --git a/libmaple/stm32f1/vector_table_performance.S b/libmaple/stm32f1/vector_table_performance.S
index 7067d95..0392a02 100644
--- a/libmaple/stm32f1/vector_table_performance.S
+++ b/libmaple/stm32f1/vector_table_performance.S
@@ -2,13 +2,13 @@
.section ".stm32.interrupt_vector"
- .globl __cs3_stm32_vector_table
- .type __cs3_stm32_vector_table, %object
+ .globl __stm32_vector_table
+ .type __stm32_vector_table, %object
-__cs3_stm32_vector_table:
+__stm32_vector_table:
/* CM3 core interrupts */
- .long __cs3_stack
- .long __cs3_reset
+ .long __msp_init
+ .long __exc_reset
.long __exc_nmi
.long __exc_hardfault
.long __exc_memmanage
@@ -87,4 +87,4 @@ __cs3_stm32_vector_table:
.long __irq_dma2_channel4_5
#endif /* STM32_HIGH_DENSITY */
- .size __cs3_stm32_vector_table, . - __cs3_stm32_vector_table
+ .size __stm32_vector_table, . - __stm32_vector_table
diff --git a/support/ld/common.inc b/support/ld/common.inc
index 0d1f4ed..926f9eb 100644
--- a/support/ld/common.inc
+++ b/support/ld/common.inc
@@ -22,21 +22,21 @@ GROUP(libgcc.a libc.a libm.a)
INCLUDE vector_symbols.inc
/* STM32 vector table. */
-EXTERN(__cs3_stm32_vector_table)
+EXTERN(__stm32_vector_table)
-/* libcs3 C start function. */
-EXTERN(__cs3_start_c)
+/* C runtime initialization function. */
+EXTERN(start_c)
/* main entry point */
EXTERN(main)
/* Initial stack pointer value. */
-EXTERN(__cs3_stack)
-PROVIDE(__cs3_stack = ORIGIN(ram) + LENGTH(ram));
+EXTERN(__msp_init)
+PROVIDE(__msp_init = ORIGIN(ram) + LENGTH(ram));
/* Reset vector and chip reset entry point */
EXTERN(_start)
-PROVIDE(__cs3_reset = _start);
+PROVIDE(__exc_reset = _start);
/* Heap boundaries, for libmaple */
EXTERN(_lm_heap_start);
@@ -162,7 +162,7 @@ SECTIONS
* to go about this. [mbolivar]
*/
_lm_heap_start = DEFINED(_lm_heap_start) ? _lm_heap_start : _end;
- _lm_heap_end = DEFINED(_lm_heap_end) ? _lm_heap_end : __cs3_stack;
+ _lm_heap_end = DEFINED(_lm_heap_end) ? _lm_heap_end : __msp_init;
. = ALIGN (8);
_edata = .;
} > REGION_DATA AT> REGION_TEXT
diff --git a/support/ld/stm32/f1/performance/vector_symbols.inc b/support/ld/stm32/f1/performance/vector_symbols.inc
index 6d7ff6e..f8519bb 100644
--- a/support/ld/stm32/f1/performance/vector_symbols.inc
+++ b/support/ld/stm32/f1/performance/vector_symbols.inc
@@ -1,5 +1,5 @@
-EXTERN(__cs3_stack)
-EXTERN(__cs3_reset)
+EXTERN(__msp_init)
+EXTERN(__exc_reset)
EXTERN(__exc_nmi)
EXTERN(__exc_hardfault)
EXTERN(__exc_memmanage)
diff --git a/wirish/start.S b/wirish/start.S
index 4d1d405..cb87d62 100644
--- a/wirish/start.S
+++ b/wirish/start.S
@@ -1,4 +1,34 @@
+/******************************************************************************
+ * The MIT License
+ *
+ * Copyright (c) 2011 LeafLabs, LLC.
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *****************************************************************************/
+
/*
+ * This file is a modified version of a file obtained from
+ * CodeSourcery Inc. (now part of Mentor Graphics Corp.), in which the
+ * following text appeared:
+ *
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
@@ -18,9 +48,9 @@
.type _start, %function
_start:
.fnstart
- ldr r1,=__cs3_stack
+ ldr r1,=__msp_init
mov sp,r1
- ldr r1,=__cs3_start_c
+ ldr r1,=start_c
bx r1
.pool
.cantunwind
diff --git a/wirish/start_c.c b/wirish/start_c.c
index cb96fc5..a80334d 100644
--- a/wirish/start_c.c
+++ b/wirish/start_c.c
@@ -1,4 +1,33 @@
-/* CS3 start_c routine.
+/******************************************************************************
+ * The MIT License
+ *
+ * Copyright (c) 2011 LeafLabs, LLC.
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *****************************************************************************/
+
+/*
+ * This file is a modified version of a file obtained from
+ * CodeSourcery Inc. (now part of Mentor Graphics Corp.), in which the
+ * following text appeared:
*
* Copyright (c) 2006, 2007 CodeSourcery Inc
*
@@ -30,9 +59,7 @@ struct rom_img_cfg {
extern char _lm_rom_img_cfgp;
-void __attribute__ ((noreturn))
-__cs3_start_c (void)
-{
+void __attribute__((noreturn)) start_c(void) {
struct rom_img_cfg *img_cfg = (struct rom_img_cfg*)&_lm_rom_img_cfgp;
long long *src;
long long *dst;