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

    <tr>
        <th>Summary</th>
        <td>
            BOLT and FIPS enabled boring ssl
        </td>
    </tr>

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

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

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

<pre>
    When using borings which is FIPS enabled it stores it's internal integrity data in .text segment (static library):

https://github.com/google/boringssl/blob/6738d477b8763abf38f6d1b60b6d799167ce9c8c/crypto/fipsmodule/bcm.c#L208

Unfortunately BOLT is changing alignment of .text which makes this data invalid. When using -use-old-text building optimized binary fails with error:

BOLT-WARNING: unable to disassemble instruction at offset 0x9 (address 0x4b2769) in function self_test_ecdsa_key.kQx/1
llvm-bolt: /home/tomasz/wdir/llvm-project/bolt/lib/Core/BinaryFunction.cpp:2887: void llvm::bolt::BinaryFunction::setIgnored(): Assertion `CurrentState == State::Empty && "cannot ignore non-empty functions in current mode"' failed.

Is there anything quick we can do to fix it?

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx8VM1u5DYTfBrOpTEDidLo56DDeP3pg4HF5mcT7NGgyJbEmCIn7Jbt2acPKNmINwFykUiC1ayuYlER2ckjduJ8J873B7XyHGJHVF9jOAzB3LpvM3pYyfoJhhCtnwheZqtnsAT9w89fAb0aHBqwDMQhIoFlIWsC6xmjV24bTNHyDYxiBdbDifGVgXBa0DMI2RArthqcHaKKNyFbUVxEdi-yt-_MfKW0Jnsh-8nyvA4nHZY0CWFyKGT_Ro9cGrswCNlXddGYsq6Hpq4KNYxFM1YmH6psqEzdtnlVa2x1o4XsdbxdOQjZj_ZKSzDrXlMvJy1k8VlmzUc-v_sxRF69YnQ3uPvp829JDz0rPyWllLOT33oL41uzu2iLekICni29a_GsnDUn-CDzcSU8BmeOG25YrTNpOVzZLvY7GhisV_EGo7KO4MXyDBhjiP-QLJE6frv8-uXhy_9FcYF18wk4gLGkiHBJU-uJ46rZBg8q0R0JGbLXNrmijIlIBNlrOci6aoVsk3vj6ncAoRsfGYkfURtSj094Oz398ipkn-8cnHtejkNwnAgI2c9hSapyWBR9F7J_MTYK2W_brjH8gZo3I136OZss_BRigtxtPfdvJ5_09SqKi2yaOlV-DtZAKpIkKC5vB4ri8iNqXyPkh8mHiEbIZr9pcCHCuLUkquzTGiN6_sqKEURxL4p72CY7_n_LlW8gZCVkBUJKrbwPDHarCT74I2473lVKQQC914QlGBRSCllv9qE5fbTsIV0NjAjK33hOpv-5Wv0ELwhaeTAhuTfa15Swot8xB9MVpi1adcAur9qszZpzIQ9zh0N9bmSjZDFmQ1uWY5mrctSZHkydN6Y-2E5mssiaLM-rsjnL01Cch0ZnZaFKbKtKijLDRVl3StKeQpwOlmjFriqLPD84NaCj95cjdrvX60SizJwlpr9hbNlht6VEefPjs7GnFojcYY2u-4-gbwb_67JslChlPbH6KwAA__8NZpK8">