mirror of
https://github.com/godotengine/buildroot.git
synced 2025-12-31 09:48:56 +03:00
Build with 16K page sizes in mind on aarch64
By default binutils on buildroot aligns sections to 4kb boundaries, but there are several 16k only linux distros out there now that default to 16kb pages. With this change the elf files will have their sections aligned to 16kb boundaries which should ensure binaries produced with the toolchain work on most aarch64 linuxes.
This commit is contained in:
committed by
Hein-Pieter van Braam
parent
d18f672849
commit
689b43e9a0
@@ -19,14 +19,15 @@ GCC_TARGET_FLOAT_ABI := $(call qstrip,$(BR2_GCC_TARGET_FLOAT_ABI))
|
||||
GCC_TARGET_MODE := $(call qstrip,$(BR2_GCC_TARGET_MODE))
|
||||
|
||||
# Explicitly set LD's "max-page-size" instead of relying on some defaults
|
||||
ifeq ($(BR2_ARC_PAGE_SIZE_4K)$(BR2_ARM64_PAGE_SIZE_4K),y)
|
||||
ifeq ($(BR2_ARC_PAGE_SIZE_4K),y)
|
||||
ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=4096 -Wl,-z,common-page-size=4096
|
||||
else ifeq ($(BR2_ARC_PAGE_SIZE_8K),y)
|
||||
ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=8192 -Wl,-z,common-page-size=8192
|
||||
else ifeq ($(BR2_ARC_PAGE_SIZE_16K),y)
|
||||
ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=16384 -Wl,-z,common-page-size=16384
|
||||
else ifeq ($(BR2_ARM64_PAGE_SIZE_64K),y)
|
||||
ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=65536 -Wl,-z,common-page-size=65536
|
||||
else ifeq ($(BR2_aarch64),y)
|
||||
ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=16384 -Wl,-z,common-page-size=16384
|
||||
else
|
||||
endif
|
||||
|
||||
# Include any architecture specific makefiles.
|
||||
|
||||
Reference in New Issue
Block a user