[Bug debug/19124] [4.0 regression] gcc generates incorrect dwarf2 debug info

hjl at lucon dot org gcc-bugzilla@gcc.gnu.org
Thu Dec 30 21:01:00 GMT 2004


------- Additional Comments From hjl at lucon dot org  2004-12-30 21:01 -------
insn-preds.o was compiled with

stage2/xgcc -Bstage2/ -B/usr/gcc-4.0/i686-pc-linux-gnu/bin/ -c   -O2 -g -fomit-
frame-pointer -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -
Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros -Wold-style-
definition -Werror    -DHAVE_CONFIG_H    -I. -I. -
I/net/gnu/export/gnu/src/gcc/gcc/gcc -I/net/gnu/export/gnu/src/gcc/gcc/gcc/. -
I/net/gnu/export/gnu/src/gcc/gcc/gcc/../include -
I/net/gnu/export/gnu/src/gcc/gcc/gcc/../libcpp/include  insn-preds.c -o insn-
preds.o

It generates

 <1><418c>: Abbrev Number: 47 (DW_TAG_subprogram)
     DW_AT_sibling     : <41c6>
     DW_AT_external    : 1
     DW_AT_name        : (indirect string, offset: 0x3133): 
tls_symbolic_operand
     DW_AT_decl_file   : 1
     DW_AT_decl_line   : 471
     DW_AT_prototyped  : 1
     DW_AT_type        : <2c>
     DW_AT_low_pc      : 0x2f0
     DW_AT_high_pc     : 0x31c
 <2><41a6>: Abbrev Number: 48 (DW_TAG_formal_parameter)
     DW_AT_name        : op
     DW_AT_decl_file   : 1
     DW_AT_decl_line   : 470
     DW_AT_type        : <2dc>
     DW_AT_location    : 549    (location list)
 <2><41b5>: Abbrev Number: 49 (DW_TAG_formal_parameter)
     DW_AT_name        : (indirect string, offset: 0x44e5): mode
     DW_AT_decl_file   : 1
     DW_AT_decl_line   : 470
     DW_AT_type        : <6be>
     DW_AT_location    : 5a2    (location list)

    00000549 000002f0 000002fe (DW_OP_fbreg: 4)
    00000549 000002fe 00000300 (DW_OP_reg0)
    00000549 00000300 00000301 (DW_OP_fbreg: 4)
    00000549 00000301 0000030b (DW_OP_reg0)
    00000549 0000030b 00000311 (DW_OP_fbreg: 4)
    00000549 00000311 00000315 (DW_OP_reg0)
    00000549 00000315 0000031c (DW_OP_fbreg: 4)

    000005a2 000002f0 000002fe (DW_OP_fbreg: 8)
    000005a2 000002fe 0000031c (DW_OP_reg2)

There is no DW_AT_frame_base. According to DWARF 3 spec, DW_OP_fbreg needs
DW_AT_frame_base.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|patch                       |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19124



More information about the Gcc-bugs mailing list