<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/102359>102359</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Crash while optimizing Linux Kernel with BOLT
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            BOLT
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          Cerberios
      </td>
    </tr>
</table>

<pre>
    Hello there! I am not a programmer, but want to use kernel optimized with BOLT
I got some bug, please look over, may be it will help to prettify LLVM project
---
PERF2BOLT: Starting data aggregation job for /usr/src/linux/perf.data
PERF2BOLT: spawning perf job to read branch events
PERF2BOLT: spawning perf job to read mem events
PERF2BOLT: spawning perf job to read process events
PERF2BOLT: spawning perf job to read task events
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 0xffffffff83800000, offset 0xffffffff83800000
BOLT-INFO: static input executable detected
BOLT-INFO: disabling -align-macro-fusion in non-relocation mode
BOLT-INFO: enabling lite mode
BOLT-ERROR: symbol seen in the middle of the function srso_untrain_ret/1(*2). Skipping.
BOLT-ERROR: symbol seen in the middle of the function retbleed_untrain_ret/1(*2). Skipping.
BOLT-INFO: pre-processing profile using perf data aggregator
BOLT-WARNING: build-id will not be checked because we could not read one from input binary
PERF2BOLT: waiting for perf task events collection to finish...
PERF2BOLT: parsing perf-script task events output
PERF2BOLT: input binary is associated with 0 PID(s)
PERF2BOLT: waiting for perf events collection to finish...
PERF2BOLT: parse branch events...
PERF2BOLT: read 15715699 samples and 501543825 LBR entries
PERF2BOLT: 0 samples (0.0%) were ignored
PERF2BOLT: traces mismatching disassembled function contents: 0 (0.0%)
PERF2BOLT: out of range traces involving unknown regions: 485862005 (100.0%)
PERF2BOLT: waiting for perf mem events collection to finish...
perf2bolt: /usr/local/sources/llvm-project/bolt/lib/Rewrite/LinuxKernelRewriter.cpp:367: void {anonymous}::LinuxKernelRewriter::processLKBugTable(): Assertion `BC.getBinaryFunctionContainingAddress(RefAddress) && "__bug_table entries should point to a function"' failed.
 #0 0x00005ae7b33d03e2 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/local/bin/llvm-bolt+0xdc93e2)
 #1 0x00005ae7b33cd64f llvm::sys::RunSignalHandlers() (/usr/local/bin/llvm-bolt+0xdc664f)
 #2 0x00005ae7b33cd795 SignalHandler(int) Signals.cpp:0:0
 #3 0x00007da2f6c50420 (/usr/lib64/libc.so.6+0x45420)
 #4 0x00007da2f6caac0b pthread_kill (/usr/lib64/libc.so.6+0x9fc0b)
 #5 0x00007da2f6c50376 raise (/usr/lib64/libc.so.6+0x45376)
 #6 0x00007da2f6c338b7 abort (/usr/lib64/libc.so.6+0x288b7)
 #7 0x00007da2f6c337db (/usr/lib64/libc.so.6+0x287db)
 #8 0x00007da2f6c46616 (/usr/lib64/libc.so.6+0x3b616)
 #9 0x00005ae7b34ca289 (anonymous namespace)::LinuxKernelRewriter::preCFGInitializer() LinuxKernelRewriter.cpp:0:0
#10 0x00005ae7b34cb8fd llvm::bolt::MetadataManager::runInitializersPreCFG() (/usr/local/bin/llvm-bolt+0xec48fd)
#11 0x00005ae7b34976f4 llvm::bolt::RewriteInstance::run() (/usr/local/bin/llvm-bolt+0xe906f4)
#12 0x00005ae7b292a553 main (/usr/local/bin/llvm-bolt+0x323553)
#13 0x00007da2f6c35400 (/usr/lib64/libc.so.6+0x2a400)
#14 0x00007da2f6c354b9 __libc_start_main (/usr/lib64/libc.so.6+0x2a4b9)
#15 0x00005ae7b29c9ee5 _start (/usr/local/bin/llvm-bolt+0x3c2ee5)
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.  Program arguments: perf2bolt -p /usr/src/linux/perf.data -o ./perf.fdata /usr/src/linux/vmlinux
Aborted
---
Linux thinkbox 6.10.3-gentoo-simple-gcc #1 SMP PREEMPT_DYNAMIC Sun Aug  4 09:00:09 EEST 2024 x86_64 13th Gen Intel(R) Core(TM) i5-1335U GenuineIntel GNU/Linux
---
ldd (Gentoo 2.39-r9 (patchset 9)) 2.39
sys-libs/glibc: 2.39-r9::gentoo
sh bash 5.2_p32
ld GNU ld (Gentoo 2.43 p1) 2.43.0
app-misc/pax-utils:        1.3.7::gentoo
app-shells/bash: 5.2_p32::gentoo
dev-build/autoconf:        2.13-r8::gentoo, 2.72-r1::gentoo
dev-build/automake:        1.16.5-r2::gentoo, 1.17-r1::gentoo
dev-build/cmake: 3.30.2::gentoo
dev-build/libtool: 2.4.7-r4::gentoo
dev-build/make: 4.4.1-r1::gentoo
dev-build/meson: 1.5.1::gentoo
dev-java/java-config:      2.3.4::gentoo
dev-lang/perl: 5.40.0::gentoo
dev-lang/python:           3.11.9_p1::gentoo, 3.12.5::gentoo
dev-lang/rust: 1.79.0::gentoo
dev-util/ccache: 4.10.1::gentoo
sys-apps/baselayout:       2.15::gentoo
sys-apps/openrc: 0.54.2::gentoo
sys-apps/sandbox: 2.39::gentoo
sys-devel/binutils:        2.42-r2::gentoo, 2.43::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/clang: 18.1.8::gentoo
sys-devel/gcc: 13.3.1_p20240802::gentoo
sys-devel/gcc-config: 2.11::gentoo
sys-devel/lld:             18.1.8::gentoo
sys-devel/llvm: 18.1.8-r2::leorepo
sys-kernel/linux-headers:  6.9::gentoo (virtual/os-headers)
---
I follow the manual at:
https://github.com/llvm/llvm-project/blob/main/bolt/docs/OptimizingLinux.md
---
Thank You!

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykWFtT47gS_jXmpcsuWb7EeeAhMGSW2mGGAvac2qeUbLcdLbLkkmQu--tPSXZCDGFg5qSKIna6v_7Ud5sZw1uJeBpkZ0H25YQNdqv06TnqEjVX5qRU9fPpHyiEArtFjQGN4RJYB1JZYNBr1WrWdagDeg7lYOGRSQtWwWAQ7lFLFKB6yzv-L9bwyO0Wzn58uwvIl4CsLqFVFozqEMqhdQi9QGYQhFL3oB5G1I49Q4nALTxyIWCLoncGeo3W8uYZvn37z5Uj8g9WdsQNw3D8cn1xs6beXrKCW8u05bKFmlkGrG01tsxyJeEfVUKjNAR0PRgd0LXRVUDXgsvhKaDrHnUTOaUjoKZnj9KBOiEPZBVoZDWUmslqC_iA0ppf0uyw-x21XqsKjfkdVcvM_UzPqYSX39c_nN4d0y1aYLracouVHTS6209FvsnTI_LuAh5QG66kuw6S80HeS_Uog-TiiHzDtbHAhFAVsLrW7hDcAHkiR4QrjcxHUeLjLv1gi6xGDZaVAoHZPQp5aqZPkRTEfVxCqaYxaI_9-NacsczyCrjsBwv4hNUwGqnReQLrIyo1N6wUjmLIBG9l2LFKq7AZnD-AS5BKhhqFqsbs61SNR2BQTiiCW3wtdHFz8-PG83vuSiXAIHpou0XoeF0LBNX4q2aQlTdjtFGbQVrNuNxotAFdxwEtArqiAV1GcHvP-57LNvr_zGi0pUCsf9XU7ti9xnDKZJ-qWjVcIAxmn7iz8lX6AOO_q5vvl9-_Ophy4KIOeT32DNesSoRqi9U91lBixVx_ekSo1CBq_7svBCURGq26KeAll0w_HymlR8Z9Erqu4UkdVBBUSggcvWEVNFxys42i6AhMz_T-XKGpNO_tDEkNth_sEcVDeq5WmDGq4szueiyB68svAS1MQJefof9bzHHe444LerfG2SLO8uUSDOt6gQaYrCEjcZYmBc3g29kNoLSa47G2RfZaAS1IRAKaBXQJj6gReCuV3lXhTMtqVqGBjpuO2Wrr-z43zBjsSoH1S8JWSlrf-LypQxNHUNVgXcZrJlvcmeDyQYkHZ2DqcqCx5Up6xLTIipwSkjnkmPwM-01QXubAzwPjhGmphPXNdjfDXH8RbpapQVdo3B3x0IW7QUnXXsNNuTKg6xt81NxiQNff3NT700_u6aaOqr4PklWSL5yFB8VrCBZnTCr53KnBBIsvQbIKktUR1fGHqaC__Xk2tHeuf_pusHRoK2NQ-4MFOTk7j1q0Zz6t11OAzpW0jLu5tRq7ekCLG2z2F0sIaB7QHAJKN5tyaDdjh54SCszWl3iv-LiYsH3oA0oDuoCGcYH15EsIaELc6CGEZAwXZZLUJEEKznnjYcyzGb9cay7trWXV_Z3LhIAWL0KaPW6UsRpZ5-mdA5d2JFu8CVHJ5S48Y1DOyFNdLROk-0xxvOI5r6rO0-YYr5tB3vJWMvEHk7VAbUZv_4LpPE-bmWn62vRimcHMSECL6YTjbTMlDfF_e6BkAlrUjDZ5lZGUkjkxXubp-L-KjIpyTynNUkpmjNI5EGMVKaG3W9dvNveu6X-MumwqUs5Qs9f0kkUOmnGDnyKZLPIZXD6HS5KiXAArlbafgKNFUS5mcIvXcIu6_BTQop4fs5gDpXke558ASso8nh9wOcuLtGK08Hm27w0gWYem9-Wx_LBL4Pn666XkljPB__U55RLq_Y50kFyuPsgrNmXR1AcFMrXIIFldoWVujbhikrU783qQB7bNtWfzi6WDVVo09d5FjtS8atPlIm_So6Sms11KY5mscE_qVyksSd6kMwqz6qVLyrIsgY5x-WnQhCZZlsxAX1VykqXkM5VMWUrIDCh9A1QuYbNxahvjntk2b6m-B10uZ9DZ_ODVEjGDEfTzR68o4sHI_naxur0AM5Qdd0_A5dCCxt6VtFWwtbb3XZiuA7puud0OZVSpbkJ9O4S5MYMfzn4l4rISQ41-o640M1soWXXv94xpPvlxA_XQufQfb5EI4Hp6EGK6HbrdNrPfCyDsP3y2hVBBtLvR-DvvqDx04zdvfOWa2W4B2z93-4oFu-XyvlRPkEcxiZKwRWmVCg1321zYVtU41G6vruH65uLi6vpu8-Xv76ury3O4HSSshhYgBeLaBvGVvoSLi9s7oISm09MnxIndwleUcCktCrcauFo5V9qN47srd8GzME6S7C8nNnCJXhK-fv9rt-y8Ii_q2iXHV88WaJQsQ-3Lr3eLpHty9ElGl_63Ucc8m1Dw0gWydUnp3D9pjnU8nn0SdmE1W8giuukTurPqKIGY204T6OPRVJpEU6tjfR923LiY9OwpHCwXPt7TJ46SaPHWqtMyWxTCkXT2ncqOwhvpGh9C_wwV0DUbrKqUbA5s0ChOQl3M9Og50GhBQx1_DNexe5xRjvMoCzV9DRhH8eJDwGqHlkQJiT44jOClVUqMAUqjRajTnyvswNMojeIPuXRoxpcecZRF78j-wx5YQNfuX-j8ytu9K2iURO_wEUy2Y32KMXKpe5j4qeiz3Y5kXj5JFMfRctPHrz2dRDGNsp_i6cHY8WiL5XumXTK6kFSs2k5ui8kxR7iKYX0_JSMK9qwG-8KVRvERMgdKqkepfZ2RKEuPRf1A2DBZl-ppV5XHZWt8wGkIvC4pGqX0SHa6ovwc1kGcs2NePtSpvLudn4sojoqfC7eV90GcREkUb3rXGklB3vHGgdIBIRrF78RnJy9EPc8i-BS3acmZZPf-E6jcwHyRH18T7yZMOL7MG92fR7Ngud74wLUd_LRWZi-7m877Jn4JjRJCPY6vqpgcmABm9zPzl-d0KVTpm4HfEKZH51pVLrt-jO-3uWz9OIm61-PwbsvkPfythoDG452T-jSpl8mSneBpvKAJyWOSxifb0yTBBLO0iDOCWNKGZA3F1K1GdRHXJTvhp1OMF5SQlMTRosiSosprki_SuK7rICXYMS4id4JI6fbE7xinMaFJtjwRrERh_Pt-Or56oDTIvpzo03HtGVoTpERwY80LguVW4Om530get1zg7p0-l-24nsO4n7-84T8ZtDj9_XVoYvtwSv8XAAD__zjEfH8">