diff options
author | Bernd Edlinger <bernd.edlinger@hotmail.de> | 2024-08-24 08:37:53 +0200 |
---|---|---|
committer | Bernd Edlinger <bernd.edlinger@hotmail.de> | 2024-08-26 15:41:06 +0200 |
commit | eb63f9580f0220e347034ef337dbc93d12931d6c (patch) | |
tree | b7d61d394cadb58c047eaa400a78491069eb835b | |
parent | a8260ebeae0f817bc7adf99cf62b604b1e2d3895 (diff) | |
download | gcc-eb63f9580f0220e347034ef337dbc93d12931d6c.zip gcc-eb63f9580f0220e347034ef337dbc93d12931d6c.tar.gz gcc-eb63f9580f0220e347034ef337dbc93d12931d6c.tar.bz2 |
Fix bootstap-errors due to enabling -gvariable-location-views
This recent change triggered various bootstap-errors, mostly on
x86 targets because line info advance address entries were output
in the wrong section table.
The switch to the wrong line table happened in dwarfout_set_ignored_loc.
It must use the same section as the earlier called
dwarf2out_switch_text_section.
But also ft32-elf was affected, because the assembler choked on
something simple as ".2byte .LM2-.LM1", but fortunately it is
able to use native location views, the configure test was just
not executed because the ft32 "nop" instruction was missing.
gcc/ChangeLog:
PR debug/116470
* configure.ac: Add the "nop" instruction for cpu type ft32.
* configure: Regenerate.
* dwarf2out.cc (dwarf2out_set_ignored_loc): Use the correct
line info section.
-rwxr-xr-x | gcc/configure | 2 | ||||
-rw-r--r-- | gcc/configure.ac | 2 | ||||
-rw-r--r-- | gcc/dwarf2out.cc | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/gcc/configure b/gcc/configure index 557ea5f..3d301b6 100755 --- a/gcc/configure +++ b/gcc/configure @@ -31398,7 +31398,7 @@ esac case "$cpu_type" in aarch64 | alpha | arc | arm | avr | bfin | cris | csky | i386 | loongarch | m32c \ | m68k | microblaze | mips | nds32 | nios2 | pa | riscv | rs6000 | score | sparc \ - | visium | xstormy16 | xtensa) + | visium | xstormy16 | xtensa | ft32) insn="nop" ;; ia64 | s390) diff --git a/gcc/configure.ac b/gcc/configure.ac index eaa01d0..8a2d2b0 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -5610,7 +5610,7 @@ esac case "$cpu_type" in aarch64 | alpha | arc | arm | avr | bfin | cris | csky | i386 | loongarch | m32c \ | m68k | microblaze | mips | nds32 | nios2 | pa | riscv | rs6000 | score | sparc \ - | visium | xstormy16 | xtensa) + | visium | xstormy16 | xtensa | ft32) insn="nop" ;; ia64 | s390) diff --git a/gcc/dwarf2out.cc b/gcc/dwarf2out.cc index 633900b..3f040da 100644 --- a/gcc/dwarf2out.cc +++ b/gcc/dwarf2out.cc @@ -28939,7 +28939,7 @@ dwarf2out_set_ignored_loc (unsigned int line, unsigned int column, dw_fde_ref fde = cfun->fde; fde->ignored_debug = false; - set_cur_line_info_table (function_section (fde->decl)); + set_cur_line_info_table (current_function_section ()); dwarf2out_source_line (line, column, filename, 0, true); } |