[Bug debug/81307] [8 regression] g++.dg/debug/debug9.C -gstabs FAILs
hubicka at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Jul 8 10:52:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81307
Jan Hubicka <hubicka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2017-07-08
Ever confirmed|0 |1
--- Comment #1 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
debug9 contains EH cleanup that is (as intended) moved to the .unlikely
section. So I suppose this is just pre-existing bug of stabs WRT partitining.
There seems to be some support for partitioned functions in dbxout.c, so I
guess this is intended to work.
The offloaded region looks as follows:
ain.cold.1:
.L4:
.cfi_def_cfa_offset 32
.cfi_offset 3, -16
leaq 15(%rsp), %rdi
call _ZN1sD1Ev
.L5:
.stabn 68,0,24,.LM6-.LFBB1
^^^^^ this is the label on beggining of main
.LM6:
leaq 13(%rsp), %rdi
call _ZN1sD1Ev
movq %rbx, %rdi
.LEHB3:
call _Unwind_Resume
.LEHE3:
I am not really familiar with stabs. The directive seems to be:
/* Line number in text segment. Desc is the line number;
value is corresponding address. */
__define_stab (N_SLINE, 0x44, "SLINE")
and it seems it is always output as relative from beginning of function which
is controlled by DBX_LINES_FUNCTION_RELATIVE macro.
I wonder if we can move start of the function to cold segment here or do
something meaningful here.
Of course we can also just output sorry when both stabs and bb partitining are
requested (bcause -gstabs probably ought not to silently disable bb
partitioning and chance generated code)
Honza
More information about the Gcc-bugs
mailing list