On 8/22/24 09:11, Richard Biener wrote:
> On Thu, 22 Aug 2024, Bernd Edlinger wrote:
>> --- a/gcc/dwarf2out.cc
>> +++ b/gcc/dwarf2out.cc
>> @@ -10374,7 +10374,7 @@ dwarf2out_maybe_output_loclist_view_pair 
>> (dw_loc_list_ref curr)
>>  #ifdef DW_LLE_view_pair
>>    dw2_asm_output_data (1, DW_LLE_view_pair, "DW_LLE_view_pair");
>>  
>> -  if (dwarf2out_as_locview_support)
>> +  if (dwarf2out_as_locview_support && dwarf2out_as_loc_support)
> 
> I'm wondering about these hunks - dwarf2out_as_loc_support indicates
> the assembler supports .loc and dwarf2out_as_locview_support
> indicates it supports location views within .loc, it's odd to have
> dwarf2out_as_locview_support set but not dwarf2out_as_loc_support.
> 
> How does this happen?  May I suggest to adjust
> dwarf2out_default_as_locview_support to require
> dwarf2out_default_as_loc_support?
> 
This broke bootstrap of the V1 version, because in 
libstdc++-v3/src/c++11/Makefile.am
we have:

cxx11-ios_failure-lt.s: cxx11-ios_failure.cc
        $(LTCXXCOMPILE) -gno-as-loc-support -S $< -o tmp-cxx11-ios_failure-lt.s
        -test -f tmp-cxx11-ios_failure-lt.o && mv -f tmp-cxx11-ios_failure-lt.o 
tmp-cxx11-ios_failure-lt.s
        $(rewrite_ios_failure_typeinfo) tmp-$@ > $@
        -rm -f tmp-$@

and the -gno-as-loc-support combined with the default value of 
-gas-locview-support
broke this generated assembler file, and it caused lots of:
Error: leb128 operand is an undefined symbol: .LVUxxx

I guess that -gno-as-loc-support should imply -gno-as-locview-support unless 
explicitly
given on the command line, but I am not sure what to do if explicit 
-gno-as-loc-support
and -gas-locview-support options are given, probably just output a warning, and 
ignore the
-gas-locview-support ?


Thanks
Bernd.

Reply via email to