diff options
| author | Andreas Hilse <andreas.hilse@googlemail.com> | 2021-06-25 13:42:51 +0200 |
|---|---|---|
| committer | Yann E. MORIN <yann.morin.1998@free.fr> | 2021-06-30 23:37:01 +0200 |
| commit | 7cb51d4843caaa9144270d92f86e60d8b5a2a1ec (patch) | |
| tree | 8fe9f9a13616fb8880b1e4a8d717e1ca04479f73 | |
| parent | 95c09d121987ef3503beacc088d2b21f8566f1f4 (diff) | |
| download | buildroot-7cb51d4843caaa9144270d92f86e60d8b5a2a1ec.tar.bz2 | |
boot/grub2: workaround breakage with -O2, -O3 build
When grub2 (i386-pc) is built with -O2 or -O3 it is unable to boot
and the system will reboot in a loop.
Tony Battersby has bisected [0] the error down to this security bugfix:
boot/grub2/0132-kern-parser-Fix-a-stack-buffer-overflow.patch
There is also a bug report by Peter Seiderer about this [1].
As discussed on the mailing list [2], this patch introduces a workaround
in the grub2.mk overriding the global optimization settings with -Os
which results in a booting system.
References:
[0] https://savannah.gnu.org/bugs/?60458
[1] https://bugs.busybox.net/show_bug.cgi?id=13586
[2] http://lists.busybox.net/pipermail/buildroot/2021-May/311524.html
Signed-off-by: Andreas Hilse <andreas.hilse@googlemail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
| -rw-r--r-- | boot/grub2/grub2.mk | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/boot/grub2/grub2.mk b/boot/grub2/grub2.mk index af16ee91e1..52e9199ae9 100644 --- a/boot/grub2/grub2.mk +++ b/boot/grub2/grub2.mk @@ -118,9 +118,11 @@ HOST_GRUB2_CONF_ENV = \ GRUB2_CONF_ENV = \ CPP="$(TARGET_CC) -E" \ TARGET_CC="$(TARGET_CC)" \ - TARGET_CFLAGS="$(TARGET_CFLAGS)" \ - TARGET_CPPFLAGS="$(TARGET_CPPFLAGS) -fno-stack-protector" \ - TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \ + CFLAGS="$(TARGET_CFLAGS) -Os" \ + TARGET_CFLAGS="$(TARGET_CFLAGS) -Os" \ + CPPFLAGS="$(TARGET_CPPFLAGS) -Os -fno-stack-protector" \ + TARGET_CPPFLAGS="$(TARGET_CPPFLAGS) -Os -fno-stack-protector" \ + TARGET_LDFLAGS="$(TARGET_LDFLAGS) -Os" \ TARGET_NM="$(TARGET_NM)" \ TARGET_OBJCOPY="$(TARGET_OBJCOPY)" \ TARGET_STRIP="$(TARGET_CROSS)strip" |
