[Bug debug/102373] New: Segmentation fault in dwarf2out.c, line 32744
danglin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Sep 16 17:32:33 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102373
Bug ID: 102373
Summary: Segmentation fault in dwarf2out.c, line 32744
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: debug
Assignee: unassigned at gcc dot gnu.org
Reporter: danglin at gcc dot gnu.org
Target Milestone: ---
Host: hppa64-hp-hpux*
Target: hppa64-hp-hpux*
Build: hppa64-hp-hpux*
Created attachment 51471
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51471&action=edit
Fix NULL pointer dereference
The fault occurs on trunk with the following:
int
main (void)
{
return 0;
}
/home/dave/gnu/gcc/objdir64/./gcc/cc1 -fpreprocessed xxx.i -quiet -dumpbase xxx
.c -dumpbase-ext .c -g -O2 -version -fno-checking -o xxx.s
GNU C17 (GCC) version 12.0.0 20210907 (experimental) (hppa64-hp-hpux11.11)
compiled by GNU C version 12.0.0 20210907 (experimental), GMP version
6.
1.1, MPFR version 3.1.5, MPC version 1.0.3, isl version isl-0.22.1-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C17 (GCC) version 12.0.0 20210907 (experimental) (hppa64-hp-hpux11.11)
compiled by GNU C version 12.0.0 20210907 (experimental), GMP version
6.
1.1, MPFR version 3.1.5, MPC version 1.0.3, isl version isl-0.22.1-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 64b9df7c6b0f1e93f698a828b6c17964
xxx.c:5:1: internal compiler error: Segmentation fault
5 | }
| ^
(gdb) r
Starting program: /home/dave/gnu/gcc/objdir64/gcc/cc1 -fpreprocessed xxx.i
-quiet -dumpbase xxx.c -dumpbase-ext .c -g -O2 -version -fno-checking -o xxx.s
GNU C17 (GCC) version 12.0.0 20210907 (experimental) (hppa64-hp-hpux11.11)
compiled by GNU C version 12.0.0 20210907 (experimental), GMP version
6.1.1, MPFR version 3.1.5, MPC version 1.0.3, isl version isl-0.22.1-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C17 (GCC) version 12.0.0 20210907 (experimental) (hppa64-hp-hpux11.11)
compiled by GNU C version 12.0.0 20210907 (experimental), GMP version
6.1.1, MPFR version 3.1.5, MPC version 1.0.3, isl version isl-0.22.1-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 64b9df7c6b0f1e93f698a828b6c17964
Program received signal SIGSEGV, Segmentation fault.
0x40000000006939b4 in dwarf2out_early_finish (
filename=0x8000000100313eb0 "xxx.c") at ../../gcc/gcc/dwarf2out.c:32744
32744 producer_string = gen_producer_string (lang_hooks.name,
(gdb) disass
Dump of assembler code for function dwarf2out_early_finish(char const*):
0x40000000006938c8 <+0>: std rp,-10(sp)
0x40000000006938cc <+4>: addil L%-16800,dp,r1
0x40000000006938d0 <+8>: ldo 180(sp),sp
0x40000000006938d4 <+12>: std r13,-c8(sp)
0x40000000006938d8 <+16>: ldd 2b0(r1),r13
0x40000000006938dc <+20>: addil L%-16000,dp,r1
0x40000000006938e0 <+24>: std r7,-98(sp)
0x40000000006938e4 <+28>: ldd 230(r1),r7
0x40000000006938e8 <+32>: std r6,-90(sp)
0x40000000006938ec <+36>: std r18,-f0(sp)
0x40000000006938f0 <+40>: std r17,-e8(sp)
0x40000000006938f4 <+44>: std r16,-e0(sp)
0x40000000006938f8 <+48>: std r15,-d8(sp)
0x40000000006938fc <+52>: std r14,-d0(sp)
0x4000000000693900 <+56>: std r12,-c0(sp)
0x4000000000693904 <+60>: std r11,-b8(sp)
0x4000000000693908 <+64>: std r10,-b0(sp)
0x400000000069390c <+68>: std r9,-a8(sp)
0x4000000000693910 <+72>: std r8,-a0(sp)
0x4000000000693914 <+76>: std r5,-88(sp)
0x4000000000693918 <+80>: std r4,-80(sp)
0x400000000069391c <+84>: std r3,-78(sp)
---Type <return> to continue, or q <return> to quit---
0x4000000000693920 <+88>: ldb 0(r13),r19
0x4000000000693924 <+92>: std r19,-108(sp)
0x4000000000693928 <+96>: ldb 0(r7),ret0
0x400000000069392c <+100>: cmpib,<> 0,ret0,0x4000000000695434
<dwarf2out_early_finish(char const*)+7020>
0x4000000000693930 <+104>: copy r26,r6
0x4000000000693934 <+108>: ldi 1,ret0
0x4000000000693938 <+112>: stb ret0,0(r13)
0x400000000069393c <+116>: addil L%-16000,dp,r1
0x4000000000693940 <+120>: ldd 238(r1),r11
0x4000000000693944 <+124>: ldd 0(r11),r26
0x4000000000693948 <+128>: cmpb,*= r0,r26,0x4000000000694c60
<dwarf2out_early_finish(char const*)+5016>
0x400000000069394c <+132>: ldo -30(sp),ret1
0x4000000000693950 <+136>: copy dp,r4
0x4000000000693954 <+140>: ldo -30(sp),ret1
0x4000000000693958 <+144>: b,l 0x4000000000640ec0 <get_AT(die_struct*,
dwarf_attribute)>,rp
0x400000000069395c <+148>: ldi 25,r25
0x4000000000693960 <+152>: copy r4,dp
0x4000000000693964 <+156>: addil L%-27800,dp,r1
0x4000000000693968 <+160>: ldd 440(r1),r31
0x400000000069396c <+164>: addil L%-27800,dp,r1
---Type <return> to continue, or q <return> to quit---
0x4000000000693970 <+168>: copy ret0,r3
0x4000000000693974 <+172>: ldd 4b8(r1),r9
0x4000000000693978 <+176>: ldw 13ec(r9),ret0
0x400000000069397c <+180>: cmpib,= 0,ret0,0x4000000000693a90
<dwarf2out_early_finish(char const*)+456>
0x4000000000693980 <+184>: ldd 0(r31),r26
0x4000000000693984 <+188>: addil L%-15000,dp,r1
0x4000000000693988 <+192>: copy r1,ret0
0x400000000069398c <+196>: ldd 40(ret0),r31
0x4000000000693990 <+200>: ldw 0(r31),r24
0x4000000000693994 <+204>: addil L%-15000,dp,r1
0x4000000000693998 <+208>: ldd 48(r1),ret0
0x400000000069399c <+212>: copy dp,r4
0x40000000006939a0 <+216>: ldo -30(sp),ret1
0x40000000006939a4 <+220>: b,l 0x4000000000699178 <.stub+256>,rp
0x40000000006939a8 <+224>: ldd 0(ret0),r25
0x40000000006939ac <+228>: copy r4,dp
0x40000000006939b0 <+232>: copy ret0,r26
=> 0x40000000006939b4 <+236>: ldd 18(r3),r31
Problem is call to get_AT has returned NULL.
More information about the Gcc-bugs
mailing list