3cc2c6d19a
Back in the day we relied on a default value that used to be 8KiB
and it worked perfectly fine for ARC's default 8KiB page as well as
4 KiB ones, but not for 16 KiB, see [1] for more details.
So that we fixed by setting "max-page-size" if 16KiB pages are in use by
commit d024d369b8
("arch/arc: Accommodate 16 KiB MMU pages").
But as Yann very rightfully mentioned here [2] we should be setting this
thing explicitly for all page sizes because:
1. Defaults might change unexpectedly
2. Explicitly set stuff is better understood
3. We act similarly to all settings but not only addressing some corner cases
[1] https://git.buildroot.org/buildroot/commit/?id=d024d369b82d2d3d9d4d75489c19e9488202bca0
[2] https://patchwork.ozlabs.org/patch/1212544/#2330647
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
18 lines
541 B
Plaintext
18 lines
541 B
Plaintext
ifeq ($(BR2_arc),y)
|
|
|
|
# -matomic is always required when the ARC core has the atomic extensions
|
|
ifeq ($(BR2_ARC_ATOMIC_EXT),y)
|
|
ARCH_TOOLCHAIN_WRAPPER_OPTS = -matomic
|
|
endif
|
|
|
|
# Explicitly set LD's "max-page-size" instead of relying on some defaults
|
|
ifeq ($(BR2_ARC_PAGE_SIZE_4K),y)
|
|
ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=4096
|
|
else ifeq ($(BR2_ARC_PAGE_SIZE_8K),y)
|
|
ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=8192
|
|
else ifeq ($(BR2_ARC_PAGE_SIZE_16K),y)
|
|
ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=16384
|
|
endif
|
|
|
|
endif
|