diff options
author | Subrata Banik <subratabanik@google.com> | 2024-04-13 07:14:04 +0000 |
---|---|---|
committer | Subrata Banik <subratabanik@google.com> | 2024-04-17 06:39:48 +0000 |
commit | 93f2f0f7bd89fee693a79f68e5025af1cdc4f225 (patch) | |
tree | 7d0f7a24089ab23fe388ebdd875b3c29be211889 /src/arch/x86/Kconfig | |
parent | a70493d5b2edadc221f59582aaaba96c72e304fc (diff) |
arch/x86: Prevent .text/.init overlap with older linkers
Add Kconfig option `X86_BOOTBLOCK_EXTRA_PROGRAM_SZ` to reserve extra
space, avoiding overlap between .text and .init sections when using
older linkers (binutils 2.3x). Default is 1024 bytes (1 KiB) for
ChromeOS, 0 otherwise.
BUG=b:332445618
TEST=Built and booted google/rex (32-bit/64-bit).
Change-Id: I019bf6896d84b2a84dff6f22323f0f446c0740b5
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81886
Reviewed-by: Dinesh Gehlot <digehlot@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: Eric Lai <ericllai@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Diffstat (limited to 'src/arch/x86/Kconfig')
-rw-r--r-- | src/arch/x86/Kconfig | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/arch/x86/Kconfig b/src/arch/x86/Kconfig index d2ae320810..7d255619ba 100644 --- a/src/arch/x86/Kconfig +++ b/src/arch/x86/Kconfig @@ -412,4 +412,15 @@ config SOC_PHYSICAL_ADDRESS_WIDTH If not set, both CPU and SoC physical address width are assume to be the same. +config X86_BOOTBLOCK_EXTRA_PROGRAM_SZ + int + default 1024 if CHROMEOS + default 0 + help + Add extra space to prevent overlap between .text and .init sections. + This is necessary for older linkers (pre-binutils 2.4x) like those used + on ChromeOS platforms. + + The default value is 1024 bytes (1 KiB) for ChromeOS and 0 for other platforms. + endif |