diff options
author | Arthur Heymans <arthur@aheymans.xyz> | 2022-05-10 16:49:39 +0200 |
---|---|---|
committer | Arthur Heymans <arthur@aheymans.xyz> | 2022-11-02 18:31:23 +0000 |
commit | 1a52a4fe51a61297cfe18aa7307d330076d3a6aa (patch) | |
tree | 21dd5c843f6e5244aae28eddcbe40c272f1abea6 /payloads/external/GRUB2 | |
parent | 512b1a77243a6afb5d79e58d4ac32b5276ac5873 (diff) |
payloads/grub: Work around entry point issue
With -Os grub-mkimage does not create an elf with the correct entry
point because some parts of the elf images are placed in
.text.unlikely. The linker does not know where to place that and
places it below .text, hence messing up the entry point. To avoid this
use the compiler flag -fno-reorder-functions.
Change-Id: Ic4a12f45d30b781870faa38575e8b2c10e0a42e8
Resolves: https://ticket.coreboot.org/issues/343
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64235
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Hackware <human@hackware.cl>
Reviewed-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-by: Michael Niewöhner <foss@mniewoehner.de>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'payloads/external/GRUB2')
-rw-r--r-- | payloads/external/GRUB2/Makefile | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/payloads/external/GRUB2/Makefile b/payloads/external/GRUB2/Makefile index 31b0f53b18..5e82f3e13f 100644 --- a/payloads/external/GRUB2/Makefile +++ b/payloads/external/GRUB2/Makefile @@ -34,7 +34,7 @@ grub2/build/config.h: $(CONFIG_DEP) | checkout cd grub2/build && ../configure CC="$(HOSTCC)" LD="$(LD)" \ FREETYPE="pkg-config freetype2" BUILD_FREETYPE="pkg-config freetype2" \ TARGET_CC="$(CC)" TARGET_OBJCOPY="$(OBJCOPY)" TARGET_STRIP="$(STRIP)" \ - CFLAGS=-O2 TARGET_CFLAGS=-Os \ + CFLAGS=-O2 TARGET_CFLAGS="-Os -fno-reorder-functions" \ --with-platform=coreboot --enable-boot-time --disable-werror config: grub2/build/config.h checkout |