GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||
GeezerVison is showing github.com — gh-101525: Check whether to skip functions with computed gotos during BOLT runs by stratakis · Pull Request #140250 · python/cpython Conversation
|
|
With GCC when the -pack-relative-relocs linker flag is used, BOLT fails again on the same functions. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
cc @corona10 |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
241a541 to
41d3a75
Compare
…during BOLT runs With LLVM >= 21.1.0 BOLT can handle computed gotos in PIC compiled code. However depending on the combination of --with-lto, --enable-shared, --enable-optmizations and using packed rellocations on the linker build configs might still need to skip functions containing computed gotos.
41d3a75 to
33effce
Compare
|
I've rebased to add various edge cases and combinations. Initially I just removed the --skip-funcs flag to test what works and what not. Tested combinations of --with-lto, --enable-optimizations, --enable-shared and packed-relocations which made things weirder. Overall out of 32 different build configs that I've tested, 8 didn't work, reported here: #141775. While I think I caught all the edge cases, at least for these combinations, 3 builds configs actually break with this change: GCC shared build with packed relocs: Clang shared build with packed relocs: Clang shared build with LTO and packed relocs: |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Would you mind to add a NEWS entry in the Build category? You can use blurb-it online service or blurb command line: https://devguide.python.org/. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
… gotos during BOLT runs Address review comments
… gotos during BOLT runs Regenerate configure
|
Added some fixups commits. However some builds are breaking by this change as mentioned in #140250 (comment) so I think it would be ideal to have BOLT fixed first before. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
This PR is stale because it has been open for 30 days with no activity. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.