[rtems commit] bsps/stm32h7: workaround compilation issue with libbsd

Karel Gardas karel at rtems.org
Mon Jul 31 16:11:50 UTC 2023


Module:    rtems
Branch:    master
Commit:    7f3dc31336765cc46e78b7b361c548e3bbe4c51c
Changeset: http://git.rtems.org/rtems/commit/?id=7f3dc31336765cc46e78b7b361c548e3bbe4c51c

Author:    Karel Gardas <karel at functional.vision>
Date:      Wed Jul 19 19:04:13 2023 +0200

bsps/stm32h7: workaround compilation issue with libbsd

Part of the new HAL requires float_t type definition. For that it includes
math.h header file which unfortunately brings a lot of math functions in.
One of them, 'log' conflicts with FreeBSD log function defined in systm.h
Provided hack is really just a crude work around this issue. Never thought
that Motorola 68881 would help me even in 21st century.

---

 bsps/arm/stm32h7/include/stm32h7xx_hal_def.h | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/bsps/arm/stm32h7/include/stm32h7xx_hal_def.h b/bsps/arm/stm32h7/include/stm32h7xx_hal_def.h
index 188e31cefb..7317b5ed5d 100644
--- a/bsps/arm/stm32h7/include/stm32h7xx_hal_def.h
+++ b/bsps/arm/stm32h7/include/stm32h7xx_hal_def.h
@@ -29,6 +29,13 @@
 #include "stm32h7xx.h"
 #include "Legacy/stm32_hal_legacy.h"
 #include <stddef.h>
+#ifdef __rtems__
+/* this is to avoid definition of log function which conflicts with
+ * freebsd's systm.h log function. Whole theatre just to make sure
+ * we do have float_t available (defined in math.h) which is later
+ * used in HAL */
+#define __math_68881 1
+#endif /* __rtems__ */
 #include <math.h>
 
 /* Exported types ------------------------------------------------------------*/



More information about the vc mailing list