[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug default/20323] void* idiom for intel, PGI DWARF confuses subsequent parameter handling
https://sourceware.org/bugzilla/show_bug.cgi?id=20323
--- Comment #2 from dodji at redhat dot com ---
What I read from looking at the debug info generated for the jemalloc binary
generated using the PGI compiler is that there is no parameter for the deallocx
function:
PGI:
[ 502] subprogram
external (flag)
name (string) "dallocx"
decl_file (data1) 1
decl_line (data2) 2477
low_pc (addr) +0x00000000000132d0 <dallocx>
high_pc (addr) +0x000000000001334a <__dallocxEND>
frame_base (block1)
[ 0] reg6
Whereas for for GCC, the debug info says dallocx has two parameters. The first
one is of type pointer to void, and the second one is of type int.
[ 4a9f] subprogram
external (flag_present)
name (strp) "dallocx"
decl_file (data1) 1
decl_line (data2) 2477
prototyped (flag_present)
low_pc (addr) +0x000000000000ca20 <dallocx>
high_pc (data8) 1449 (+0x000000000000cfc9)
frame_base (exprloc)
[ 0] call_frame_cfa
GNU_all_tail_call_sites (flag_present)
sibling (ref4) [ 54c5]
[ 4abd] formal_parameter
name (string) "ptr"
decl_file (data1) 1
decl_line (data2) 2477
type (ref4) [ f6]
location (sec_offset) location list [ 47f6]
[ 4acd] formal_parameter
name (strp) "flags"
decl_file (data1) 1
decl_line (data2) 2477
type (ref4) [ 46]
location (sec_offset) location list [ 4996]
[...]
[ f6] pointer_type
byte_size (data1) 8
[...]
[ 46] base_type
byte_size (data1) 4
encoding (data1) signed (5)
name (string) "int"
That is why abidiff says that the dallocx function lost its two parameters when
comparing the one compiled with GCC against the one compiled with PGI.
So I would argue that the PGI compiler does not emit the description of the
parameters of the dallocx function and it should.
--
You are receiving this mail because:
You are on the CC list for the bug.