[lld] [ELF] Support DW_EH_PE_sdata8 encoding in .eh_frame_hdr (PR #179089)

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 16 10:22:22 PST 2026


MaskRay wrote:

> This fails on 32 bit Arm buildbot
> 
> [lab.llvm.org/staging#/builders/160/builds/1146](https://lab.llvm.org/staging/#/builders/160/builds/1146)
> 
> ```
> /home/tcwg-buildbot/worker/clang-armv8-lld-2stage/stage1/bin/ld.lld --eh-frame-hdr -T 2.lds a.o -o out2
> # executed command: /home/tcwg-buildbot/worker/clang-armv8-lld-2stage/stage1/bin/ld.lld --eh-frame-hdr -T 2.lds a.o -o out2
> # .---command stderr------------
> # | ld.lld: error: output file too large: 4294976432 bytes
> # | section sizes:
> # | .text 2
> # | .eh_frame_hdr 48
> # | .eh_frame 92
> # | .data 16
> # | .data.1 8
> # | .comment 8
> # | .symtab 72
> # | .shstrtab 80
> # | .strtab 21
> # | 
> # `-----------------------------
> # error: command failed with exit status: 1
> ```

Thanks for the report. 2.lds and 3.lds created a huge PT_LOAD segment, which would make the sparse file size larger than 4GiB. I am adding `AT()` to ensure the output section with a huge address is placed in a separate PT_LOAD.

https://github.com/llvm/llvm-project/pull/179089


More information about the llvm-commits mailing list