From 2bfec9c07f5ec24acb6c42a4b995b5d7ed86d0cb Mon Sep 17 00:00:00 2001 From: Aleksandr Nogikh Date: Fri, 2 May 2025 11:37:03 +0200 Subject: sys/targets: use a custom data offset for arm32 ARM32 suffers from the same problem as ARM64 - the data offset may be beyond the addressable memory range. Cc #5986. Cc #5770. --- sys/targets/targets.go | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'sys/targets') diff --git a/sys/targets/targets.go b/sys/targets/targets.go index 50f5c5121..1166134bc 100644 --- a/sys/targets/targets.go +++ b/sys/targets/targets.go @@ -781,14 +781,13 @@ func initTarget(target *Target, OS, arch string) { } func (target *Target) defaultDataOffset() uint64 { + if target.Arch == ARM64 || target.Arch == ARM { + // On ARM/ARM64, in many cases we can't use many enough bits of the address space. + // Let's use the old value for now. It's also problematic (see #5770), but it's + // lesser of the two evils. + return 0x20000000 + } if target.PtrSize == 8 { - if target.Arch == ARM64 { - // On ARM64, in many cases we can't use many enough bits of the address space. - // Let's use the old value for now. It's also problematic (see #5770), but it's - // lesser of the two evils. - return 0x20000000 - } - // An address from ASAN's 64-bit HighMem area. // 0x200000000000 works both for arm64 and amd64. We don't run syzkaller tests on any other platform. // During real fuzzing, we don't build with ASAN, so the address should not matter much as long as -- cgit mrf-deployment