-
Notifications
You must be signed in to change notification settings - Fork 8.1k
perf: fix LTO build with gcc (hybrid VM) #23602
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: PHP-8.4
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -1689,6 +1689,8 @@ EOF | |
| # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC | ||
| # -F/path gives path to uninstalled frameworks, gcc on darwin | ||
| # @file GCC response files | ||
| # -ffixed-*, -fno-lto GCC LTO register reservations and cancellation | ||
| -ffixed-*|-fno-lto| \ | ||
|
Comment on lines
+1692
to
+1693
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We should avoid modifying
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The changes are required there too, -ffixed is missing. (-fno-lto isn't required, I've only added it because -flto is in the line above, so passing
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @petk @NattyNarwhal do you have thoughts about the ltmain.sh changes?
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Next time libtool gets updated, it'll get clobbered. If this is a bug in libtool, we could carry it locally (and ship patches that could be applied), but you should probably seek to upstream it there.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
| -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ | ||
| -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) | ||
|
|
||
|
|
||

There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I m certain powerpc is correct, I was digging a bit about riscv64 and it looks correct too according to this doc, those registers are equivalent to s2/s3 confirmed with the gcc header (see REGISTER_NAMES/ADDITIONAL_REGISTER_NAMES).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I certainly hope they're correct, because otherwise php would crash, I copied them from
php-src/Zend/zend_execute.c
Line 52 in 810a9e5