aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGiovanni Di Sirio <gdisirio@gmail.com>2015-08-23 09:11:17 +0000
committerGiovanni Di Sirio <gdisirio@gmail.com>2015-08-23 09:11:17 +0000
commit37d632cd0fb3075110f63e7179ae6f03650d7fd0 (patch)
treebf99ca50f3fdc1a5609e51fc086101ae38087a40
parent6774111f771c29a4fe4635dea3cec3b0f6a1c1f2 (diff)
downloadChibiOS-37d632cd0fb3075110f63e7179ae6f03650d7fd0.tar.gz
ChibiOS-37d632cd0fb3075110f63e7179ae6f03650d7fd0.tar.bz2
ChibiOS-37d632cd0fb3075110f63e7179ae6f03650d7fd0.zip
Fixed bug #635.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@8238 35acf78f-673a-0410-8e92-d51de3d6d3f4
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/crt0_v6m.s2
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s6
-rw-r--r--readme.txt3
3 files changed, 8 insertions, 3 deletions
diff --git a/os/common/ports/ARMCMx/compilers/GCC/crt0_v6m.s b/os/common/ports/ARMCMx/compilers/GCC/crt0_v6m.s
index 824538215..51a79bb4f 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/crt0_v6m.s
+++ b/os/common/ports/ARMCMx/compilers/GCC/crt0_v6m.s
@@ -224,7 +224,7 @@ endinitloop:
/* Main program invocation, r0 contains the returned value.*/
bl main
-#if CRT0_CALL_CONSTRUCTORS == TRUE
+#if CRT0_CALL_DESTRUCTORS == TRUE
/* Destructors invocation.*/
ldr r4, =__fini_array_start
ldr r5, =__fini_array_end
diff --git a/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s b/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s
index 029713227..4812a29fe 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s
+++ b/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s
@@ -178,6 +178,8 @@ Reset_Handler:
movw r1, #SCB_FPCCR & 0xFFFF
movt r1, #SCB_FPCCR >> 16
str r0, [r1]
+ dsb
+ isb
/* CPACR initialization.*/
movw r0, #CRT0_CPACR_INIT & 0xFFFF
@@ -185,6 +187,8 @@ Reset_Handler:
movw r1, #SCB_CPACR & 0xFFFF
movt r1, #SCB_CPACR >> 16
str r0, [r1]
+ dsb
+ isb
/* FPU FPSCR initially cleared.*/
mov r0, #0
@@ -285,7 +289,7 @@ endinitloop:
/* Main program invocation, r0 contains the returned value.*/
bl main
-#if CRT0_CALL_CONSTRUCTORS == TRUE
+#if CRT0_CALL_DESTRUCTORS == TRUE
/* Destructors invocation.*/
ldr r4, =__fini_array_start
ldr r5, =__fini_array_end
diff --git a/readme.txt b/readme.txt
index 5f34825e0..fa4a85b00 100644
--- a/readme.txt
+++ b/readme.txt
@@ -6,7 +6,6 @@
+--readme.txt - This file.
+--documentation.html - Shortcut to the web documentation page.
+--license.txt - GPL license text.
- +--exception.txt - GPL exception text (stable releases only).
+--demos/ - Demo projects, one directory per platform.
+--docs/ - Documentation.
| +--common/ - Documentation common build resources.
@@ -95,6 +94,8 @@
- HAL: Introduced support for TIM21 and TIM22 in STM32 ST driver.
- HAL: Updated STM32F0xx headers to STM32CubeF0 version 1.3.0. Added support
for STM32F030xC, STM32F070x6, STM32F070xB devices.
+- VAR: Fixed CRT0_CALL_DESTRUCTORS not utilised in crt0_v7m.s (bug #635)
+ (backported to 3.0.2).
- HAL: Fixed wrong ld file in STM32F072xB USB CDC demo (bug #634)(backported
to 3.0.2).
- NIL: Fixed Wrong assertion in NIL chSemResetI() and NIL OSAL