| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
"PushAllRegistersAndIterateStack" is implemented in assembly and called from "stack.cc" via 'extern "C"'. [1] However, LTO does not work well with symbol usage from assembly. [2] This change workarounds the issue by disabling LTO for the target. With GCC 10 and "./configure --enable-lto", compilation succeeds after this change. [1] v8/v8@c10863153 [2] https://gcc.gnu.org/wiki/LinkTimeOptimizationFAQ#Symbol_usage_from_assembly_language Refs: #35957 Refs: #38335 Signed-off-by: Jesse Chan <jc@linux.com>
There was a problem hiding this comment.
lgtm if CI is OK
Sorry, something went wrong.
There was a problem hiding this comment.
LGTM, although the conditional is probably redundant.
Sorry, something went wrong.
| ], | ||
| 'conditions': [ | ||
| ['enable_lto=="true"', { | ||
| 'cflags_cc': [ '-fno-lto' ], |
There was a problem hiding this comment.
This could be set regardless of the enable_lto setting?
Sorry, something went wrong.
There was a problem hiding this comment.
Technically, yes, at least for GCC. But I am not sure about MSVC or Clang. Since enable_lto implies some other conditions, I think it is better to have this conditional.
Sorry, something went wrong.
Sorry, something went wrong.
Sorry, something went wrong.
Sorry, something went wrong.
"PushAllRegistersAndIterateStack" is implemented in assembly and called from "stack.cc" via 'extern "C"'. [1] However, LTO does not work well with symbol usage from assembly. [2] This change workarounds the issue by disabling LTO for the target. With GCC 10 and "./configure --enable-lto", compilation succeeds after this change. [1] v8/v8@c10863153 [2] https://gcc.gnu.org/wiki/LinkTimeOptimizationFAQ#Symbol_usage_from_assembly_language Refs: #35957 Refs: #38335 Signed-off-by: Jesse Chan <jc@linux.com> PR-URL: #38346 Refs: #35957 Refs: #38335 Reviewed-By: Khaidi Chu <i@2333.moe> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
"PushAllRegistersAndIterateStack" is implemented in assembly and called from "stack.cc" via 'extern "C"'. [1] However, LTO does not work well with symbol usage from assembly. [2] This change workarounds the issue by disabling LTO for the target. With GCC 10 and "./configure --enable-lto", compilation succeeds after this change. [1] v8/v8@c10863153 [2] https://gcc.gnu.org/wiki/LinkTimeOptimizationFAQ#Symbol_usage_from_assembly_language Refs: #35957 Refs: #38335 Signed-off-by: Jesse Chan <jc@linux.com> PR-URL: #38346 Refs: #35957 Refs: #38335 Reviewed-By: Khaidi Chu <i@2333.moe> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
| Back | FazBrowse Home | New Git URL |
"PushAllRegistersAndIterateStack" is implemented in assembly and
called from "stack.cc" via 'extern "C"'. [1]
However, LTO does not work well with symbol usage from assembly. [2]
This change workarounds the issue by disabling LTO for the target.
With GCC 10 and "./configure --enable-lto", compilation succeeds
after this change.
[1] v8/v8@c10863153
[2] https://gcc.gnu.org/wiki/LinkTimeOptimizationFAQ#Symbol_usage_from_assembly_language
Refs: #35957
Refs: #38335
Signed-off-by: Jesse Chan jc@linux.com