On 10/19/21 11:12, Richard Biener wrote:
On Fri, Oct 15, 2021 at 5:22 PM Martin Liška <mli...@suse.cz> wrote:
All right, and there's second part that moves the code
from toplev.c to opts.c (finish_options) as I've done in the original version.
The patch also handles PR102766 where nvptx.c target sets:
debug_nonbind_markers_p = 0;
So the easiest approach is marking the flag as set in global_options_set,
I haven't found a better approach :/ Reason is that nvptx_option_override
is called before finish_options.
So currently nvptx_option_override is called before we do this code
blob (it's called at the beginning of process_options).
Yes, happens early in process_options.
Why's the solution not to move this setting to finish_options as well?
I would like to, but the option detection depends on target hooks and some
debuginfo
functionality, leading to:
g++ -no-pie -g -DIN_GCC -fPIC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions
-fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings
-Wcast-qual -Wno-error=format-diag -Wmissing-format-attribute
-Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros
-Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -static-libstdc++
-static-libgcc -o Tlto-wrapper \
lto-wrapper.o collect-utils.o ggc-none.o libcommon-target.a libcommon.a
../libcpp/libcpp.a ../libbacktrace/.libs/libbacktrace.a
../libiberty/pic/libiberty.a ../libdecnumber/libdecnumber.a
/home/marxin/Programming/gcc/gcc/opts.c:1382: error: undefined reference to
'dwarf2out_default_as_loc_support()'
/home/marxin/Programming/gcc/gcc/opts.c:1384: error: undefined reference to
'dwarf2out_default_as_locview_support()'
/home/marxin/Programming/gcc/gcc/opts.c:1409: error: undefined reference to
'targetm'
Or can we do better?
(and disabling it along var-tracking when we end with no -g in process_options)
IMHO the target should have the last say, so the hook should be invoked
after we are finished overriding stuff and finish_options should be
_only_ doing diagnostics and disabling stuff we cannot handle.
Well, that sounds good, but we are quite far from that :/
Martin
Richard.
Patch can bootstrap on x86_64-linux-gnu and survives regression tests.
Ready to be installed?
Thanks,
Martin