1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-24 23:38:09 +00:00

style(core & legacy): buggy compiler checks

This commit is contained in:
Ondrej Mikle 2021-06-03 14:21:18 +02:00
parent 6ea4b7b211
commit e982181148
3 changed files with 16 additions and 27 deletions

View File

@ -21,17 +21,19 @@
#define __COMPILER_TRAITS_H__ #define __COMPILER_TRAITS_H__
/* /*
* Avoid accidental build with gcc versions having broken stack protector 9.2.1 - 10.2 * Avoid accidental build with gcc versions having broken stack protector.
* Affected versions range 9.2.1 - 10.2
*/ */
#if defined(__GNUC__) && !defined(__llvm__) #if defined(__GNUC__) && !defined(__llvm__)
#define GCC_VERSION (__GNUC__ * 10000 \ #define GCC_VERSION \
+ __GNUC_MINOR__ * 100 \ (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
+ __GNUC_PATCHLEVEL__)
#if GCC_VERSION >= 90201 && GCC_VERSION <= 100200 #if GCC_VERSION >= 90201 && GCC_VERSION <= 100200
#pragma message "Only remove this GCC check if you are sure your compiler is patched or not used for production." #pragma message \
#error "ARM GCC versions 9.2.1 - 10.2 have broken stack smash protector, aborting build." "Only remove this GCC check if you are sure your compiler is patched or not used for production."
#error \
"ARM GCC versions 9.2.1 - 10.2 have broken stack smash protector, aborting build."
#endif #endif
#endif #endif

View File

@ -36,20 +36,6 @@
#include "usb.h" #include "usb.h"
#include "util.h" #include "util.h"
/*
* Avoid accidental build with gcc versions having broken stack protector 9.2.1 - 10.2
*/
#if defined(__GNUC__) && !defined(__llvm__)
#define GCC_VERSION (__GNUC__ * 10000 \
+ __GNUC_MINOR__ * 100 \
+ __GNUC_PATCHLEVEL__)
#if GCC_VERSION >= 90201 && GCC_VERSION <= 100200
#error "ARM GCC versions 9.2.1 - 10.2 have broken stack smash protector, preventing build"
#endif
#endif
void layoutFirmwareFingerprint(const uint8_t *hash) { void layoutFirmwareFingerprint(const uint8_t *hash) {
char str[4][17] = {0}; char str[4][17] = {0};
for (int i = 0; i < 4; i++) { for (int i = 0; i < 4; i++) {

View File

@ -21,19 +21,20 @@
#define __COMPILER_TRAITS_H__ #define __COMPILER_TRAITS_H__
/* /*
* Avoid accidental build with gcc versions having broken stack protector 9.2.1 - 10.2 * Avoid accidental build with gcc versions having broken stack protector.
* Affected versions range 9.2.1 - 10.2
*/ */
#if defined(__GNUC__) && !defined(__llvm__) #if defined(__GNUC__) && !defined(__llvm__)
#define GCC_VERSION (__GNUC__ * 10000 \ #define GCC_VERSION \
+ __GNUC_MINOR__ * 100 \ (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
+ __GNUC_PATCHLEVEL__)
#if GCC_VERSION >= 90201 && GCC_VERSION <= 100200 #if GCC_VERSION >= 90201 && GCC_VERSION <= 100200
#pragma message "Only remove this GCC check if you are sure your compiler is patched or not used for production." #pragma message \
#error "ARM GCC versions 9.2.1 - 10.2 have broken stack smash protector, aborting build." "Only remove this GCC check if you are sure your compiler is patched or not used for production."
#error \
"ARM GCC versions 9.2.1 - 10.2 have broken stack smash protector, aborting build."
#endif #endif
#endif #endif
#endif #endif