Skip to content

Arm backend: GNU toolchain 15.2 ld emits section-allocation and RWX warnings for the Corstone-300 executor runner (verified benign, but alarming)Β #22317

Description

@synath

πŸ› Describe the bug

Informational / low priority β€” filing because the warnings look like a broken image but aren't, and that costs each new user a debugging detour.

Environment

  • macOS 26.5 (Apple Silicon), executorch main @ d614f9d
  • Arm GNU toolchain 15.2.rel1 (darwin-arm64), as downloaded by examples/arm/setup.sh
  • Standalone executor runner build per the Ethos-U getting-started tutorial (ethos-u55-128, Shared_Sram)

Observed

The link succeeds but prints:

ld: ../../../arm_executor_runner: section `.data' can't be allocated in segment 1
LOAD: .text .ARM.extab .ARM.exidx .copy.table .zero.table .data
ld: ... section `.sram.data' can't be allocated in segment 2
ld: ... section `.rodata' can't be allocated in segment 2
ld: warning: ... has a LOAD segment with RWX permissions

readelf -l shows .data (0xa6c), .sram.data (0x18a8) and .rodata (0x72a0) missing from the section-to-segment mapping, which looks like ~37 KB of initialized data won't be loaded.

Verification that it's benign (today)

The image runs correctly on the Corstone-300 FVP β€” log strings (.rodata) print fine and the model produces correct output β€” the copy-table init path carries the data. But this appears to be newer-binutils strictness meeting the platform linker script's PHDRS declarations, and it's fragile-looking enough that it likely deserves either a linker-script update or a documented "expected warnings" note. Linux CI presumably pins an older toolchain and never surfaces this; the setup script currently fetches 15.2.rel1.

Versions

PyTorch version: 2.13.0
Is debug build: False
CUDA used to build PyTorch: None
ROCM used to build PyTorch: N/A

OS: macOS 26.5.2 (arm64)
GCC version: Could not collect
Clang version: 21.0.0 (clang-2100.1.1.101)
CMake version: version 3.31.10
Libc version: N/A

Python version: 3.12.14 (main, Aug 12 2026, 13:57:54) [Clang 21.0.0 (clang-2100.1.1.101)] (64-bit runtime)
Python platform: macOS-26.5.2-arm64-arm-64bit
Is CUDA available: False
CUDA runtime version: No CUDA
CUDA_MODULE_LOADING set to: N/A
GPU models and configuration: No CUDA
Nvidia driver version: No CUDA
cuDNN version: No CUDA
Is XPU available: False
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: False
Caching allocator config: N/A

CPU:
Apple M4 Pro

Versions of relevant libraries:
[pip3] executorch==1.5.0+d614f9d
[pip3] numpy==2.5.2
[pip3] pytorch_tokenizers==1.3.0
[pip3] torch==2.13.0
[pip3] torchao==0.18.0.dev20260729+cpu
[pip3] torchaudio==2.11.0
[pip3] torchdata==0.11.0+cpu
[pip3] torchsr==1.0.4
[pip3] torchtune==0.0.0
[pip3] torchvision==0.28.0
[conda] Could not collect

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions