aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2019-07-23 23:55:19 -0400
committerKevin O'Connor <kevin@koconnor.net>2019-07-25 18:05:13 -0400
commit5a02572001d1d903bdb36c13396efe73f3835a67 (patch)
tree981133adcc350579194ac9ad95545ce2dcaae2d5
parenta31a6c1d6a6e0f7d8c247799b373bf959c7e0584 (diff)
downloadkutter-5a02572001d1d903bdb36c13396efe73f3835a67.tar.gz
kutter-5a02572001d1d903bdb36c13396efe73f3835a67.tar.xz
kutter-5a02572001d1d903bdb36c13396efe73f3835a67.zip
lib: Update stm32f4 code to support gcc -fwhole-program
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r--lib/README3
-rw-r--r--lib/stm32f4/stm32f4.patch13
-rw-r--r--lib/stm32f4/system_stm32f4xx.c2
3 files changed, 16 insertions, 2 deletions
diff --git a/lib/README b/lib/README
index 53835e1a..63fcf814 100644
--- a/lib/README
+++ b/lib/README
@@ -61,7 +61,8 @@ stm32f1.patch for the modifications.
The stm32f4 directory contains code from STMicroelectronics:
http://www.st.com/en/embedded-software/stm32cubef4.html
-version 1.24.0 (extracted 20190723).
+version 1.24.0 (extracted 20190723). It has been modified to compile
+with gcc's LTO feature. See stm32f4.patch for the modifications.
The hub-ctrl directory contains code from:
https://github.com/codazoda/hub-ctrl.c/
diff --git a/lib/stm32f4/stm32f4.patch b/lib/stm32f4/stm32f4.patch
new file mode 100644
index 00000000..4f5d88c3
--- /dev/null
+++ b/lib/stm32f4/stm32f4.patch
@@ -0,0 +1,13 @@
+diff --git a/lib/stm32f4/system_stm32f4xx.c b/lib/stm32f4/system_stm32f4xx.c
+index 11c18d1a..b94cfb2f 100644
+--- a/lib/stm32f4/system_stm32f4xx.c
++++ b/lib/stm32f4/system_stm32f4xx.c
+@@ -163,7 +163,7 @@ const uint8_t APBPrescTable[8] = {0, 0, 0, 0, 1, 2, 3, 4};
+ * @param None
+ * @retval None
+ */
+-void SystemInit(void)
++void __attribute__((externally_visible)) SystemInit(void)
+ {
+ /* FPU settings ------------------------------------------------------------*/
+ #if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
diff --git a/lib/stm32f4/system_stm32f4xx.c b/lib/stm32f4/system_stm32f4xx.c
index 11c18d1a..b94cfb2f 100644
--- a/lib/stm32f4/system_stm32f4xx.c
+++ b/lib/stm32f4/system_stm32f4xx.c
@@ -163,7 +163,7 @@ const uint8_t APBPrescTable[8] = {0, 0, 0, 0, 1, 2, 3, 4};
* @param None
* @retval None
*/
-void SystemInit(void)
+void __attribute__((externally_visible)) SystemInit(void)
{
/* FPU settings ------------------------------------------------------------*/
#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)