aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2018-07-31 10:52:56 -0400
committerKevin O'Connor <kevin@koconnor.net>2018-08-06 23:36:05 -0400
commit8572cae9a0fea745477b9464115c472651d64eb6 (patch)
tree9cccb238fadce62b79019d7af08ec221f23078c9
parentdd240f64718fb9fb55f52caea0f52e4b2de064f1 (diff)
downloadkutter-8572cae9a0fea745477b9464115c472651d64eb6.tar.gz
kutter-8572cae9a0fea745477b9464115c472651d64eb6.tar.xz
kutter-8572cae9a0fea745477b9464115c472651d64eb6.zip
lib: Modify SAM3X CMSIS files to work with GCC's lto feature
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r--lib/README3
-rw-r--r--lib/sam3x/gcc/gcc/startup_sam3xa.c2
-rw-r--r--lib/sam3x/sam3x.patch13
3 files changed, 16 insertions, 2 deletions
diff --git a/lib/README b/lib/README
index c7e754b3..873d7b2e 100644
--- a/lib/README
+++ b/lib/README
@@ -20,7 +20,8 @@ with gcc's LTO feature. See cmsis-sam3x8e.patch for the modifications.
The sam3x directory contains code from the
Atmel.SAM3X_DFP.1.0.50.atpack zip file found at:
http://packs.download.atmel.com/
-version 1.0.50 (extracted on 20180725).
+version 1.0.50 (extracted on 20180725). It has been modified to
+compile with gcc's LTO feature. See sam3x.patch for the modifications.
The lpc176x directory contains code from the mbed project:
https://github.com/ARMmbed/mbed-os
diff --git a/lib/sam3x/gcc/gcc/startup_sam3xa.c b/lib/sam3x/gcc/gcc/startup_sam3xa.c
index 337a6d3c..dcf56447 100644
--- a/lib/sam3x/gcc/gcc/startup_sam3xa.c
+++ b/lib/sam3x/gcc/gcc/startup_sam3xa.c
@@ -132,7 +132,7 @@ void CAN0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
void CAN1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
/* Exception Table */
-__attribute__ ((section(".vectors")))
+__attribute__ ((section(".vectors"))) __attribute__((externally_visible))
const DeviceVectors exception_table = {
/* Configure Initial Stack Pointer, using linker-generated symbols */
diff --git a/lib/sam3x/sam3x.patch b/lib/sam3x/sam3x.patch
new file mode 100644
index 00000000..b48826b8
--- /dev/null
+++ b/lib/sam3x/sam3x.patch
@@ -0,0 +1,13 @@
+diff --git a/lib/sam3x/gcc/gcc/startup_sam3xa.c b/lib/sam3x/gcc/gcc/startup_sam3xa.c
+index 337a6d3c..dcf56447 100644
+--- a/lib/sam3x/gcc/gcc/startup_sam3xa.c
++++ b/lib/sam3x/gcc/gcc/startup_sam3xa.c
+@@ -132,7 +132,7 @@ void CAN0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
+ void CAN1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
+
+ /* Exception Table */
+-__attribute__ ((section(".vectors")))
++__attribute__ ((section(".vectors"))) __attribute__((externally_visible))
+ const DeviceVectors exception_table = {
+
+ /* Configure Initial Stack Pointer, using linker-generated symbols */