https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81307

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org,
                   |                            |jan.kratochvil at redhat dot 
com,
                   |                            |palves at redhat dot com

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
For the N_SLINE stuff, I guess something like:
--- dbxout.c.jj 22017-07-29 09:50:38.000000000 +0200
+++ dbxout.c 2017-07-31 14:30:00.474385901 +0200
@@ -1273,7 +1273,8 @@ dbxout_source_line (unsigned int lineno,
 #ifdef DBX_OUTPUT_SOURCE_LINE
   DBX_OUTPUT_SOURCE_LINE (asm_out_file, lineno, dbxout_source_line_counter);
 #else
-  if (DBX_LINES_FUNCTION_RELATIVE)
+  if (DBX_LINES_FUNCTION_RELATIVE
+      && in_cold_section_p == first_function_block_is_cold)
     {
       char begin_label[20];
       dbxout_begin_stabn_sline (lineno);

could cure that part.  No idea how the debugger finds out if it is absolute or
relative though.
Then there is DBX_BLOCKS_FUNCTION_RELATIVE macro which decides if N_LBRAC or
N_RBRAC should be relative to start of function or not.  Again, no idea how the
debugger finds out if it is relative or absolute.
So I guess we need help from the debugger folks here...

Reply via email to