https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100767
--- Comment #1 from Richard Earnshaw <rearnsha at gcc dot gnu.org> --- The problem is that we call arm_configure_build_target() with arm_configure_build_target (&caller_target, caller_opts, &global_options_set, false); But that doesn't make sense in reality - global_options_set does not describe what options might have been set on a function compiled in a different LTO object. There does not appear to be a opts_set node on a tree object, so the question is how should this be managed in the general case. I think I can work around this in the current case, because arm_configure_build_target only uses the opts_set to decide which string options to parse and we can do that by checking the option itself for being non-null.