Issue 179550
Summary [BOLT] [JITLink] BOLT-ERROR: JITLink failed when instrumenting large binary
Labels BOLT
Assignees
Reporter FurryAcetylCoA
    When instrumenting the following binary. Bolt product an error related to JITLink.

The binary is around 1.8G, can be download from [HERE](https://github.com/FurryAcetylCoA/bolt-issue-attachment/raw/refs/heads/master/vsimtop.tar.xz?download=) (please un-xz)

```
$ llvm-bolt-22 VSimTop -instrument -o VSimTop.inst
BOLT-INFO: shared object or position-independent executable detected
BOLT-INFO: Target architecture: x86_64
BOLT-INFO: BOLT version: <unknown>
BOLT-INFO: first alloc address is 0x0
BOLT-INFO: creating new program header table at address 0x4ba00000, offset 0x4ba00000
BOLT-INFO: enabling relocation mode
BOLT-INFO: forcing -jump-tables=move for instrumentation
BOLT-INFO: enabling lite mode
BOLT-WARNING: ignoring symbol __ehdr_start at 0x0, which lies outside .interp
BOLT-WARNING: ignoring symbol __executable_start at 0x0, which lies outside .interp
BOLT-WARNING: 8 collisions detected while hashing binary objects. Use -v=1 to see the list.
BOLT-INFO: 0 out of 34282 functions in the binary (0.0%) have non-empty execution profile
BOLT-INSTRUMENTER: Number of indirect call site descriptors: 138
BOLT-INSTRUMENTER: Number of indirect call target descriptors: 34272
BOLT-INSTRUMENTER: Number of function descriptors: 34272
BOLT-INSTRUMENTER: Number of branch counters: 7619071
BOLT-INSTRUMENTER: Number of ST leaf node counters: 5794873
BOLT-INSTRUMENTER: Number of direct call counters: 382932
BOLT-INSTRUMENTER: Total number of counters: 13796876
BOLT-INSTRUMENTER: Total size of counters: 110375008 bytes (static alloc memory)
BOLT-INSTRUMENTER: Total size of string table emitted: 2005871 bytes in file
BOLT-INSTRUMENTER: Total size of descriptors: 1233959600 bytes in file
BOLT-INSTRUMENTER: Profile will be saved to file /tmp/prof.fdata
BOLT-INFO: 7679781 instructions were shortened
BOLT-INFO: UCE removed 3 blocks and 136 bytes of code
BOLT-INFO: padding code to 0xb1200000 to accommodate hot text
BOLT-ERROR: JITLink failed: In graph in-memory object file, section .text.injected: relocation target 0xfffffffffffffffc (__bolt_instr_tables:0x0 + 0xfffffffffffffffc) is out of range of Delta32 fixup at address 0x0 (__bolt_instr_ind_call_handler, 0xb10be580 + 0x57)
```


Also tried bolt-19, same error

-----
```
System: Ubuntu 22.04.5 LTS
Bolt Version: bolt-22/unknown,now 1:22~++20251015042503+856555bfd843-1~exp1~20251015042630.2731 amd64  // Installed from http://apt.llvm.org/jammy/ llvm-toolchain-jammy main
Complier of the binary: Ubuntu clang version 22.0.0 (++20251015042503+856555bfd843-1~exp1~20251015042630.2731)
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to