https://sourceware.org/bugzilla/show_bug.cgi?id=29450
--- Comment #3 from Sergei Trofimovich <slyich at gmail dot com> ---
gas-2.39 started adding 0-sized DIE for function without a .size marking:
$ cat crti.S.S
.section .init,"ax",@progbits
.p2align 2
.globl _init
.hidden _init
.type _init, @function
_init:
.section
.text.__x86.get_pc_thunk.bx,"axG",@progbits,__x86.get_pc_thunk.bx,comdat
.globl __x86.get_pc_thunk.bx
.hidden __x86.get_pc_thunk.bx
.p2align 4
.type __x86.get_pc_thunk.bx,@function
__x86.get_pc_thunk.bx:
ud2
.size __x86.get_pc_thunk.bx, . - __x86.get_pc_thunk.bx
.previous
ud2
$ as-2.39 --gdwarf2 --32 -o crti.o crti.S.S
$ readelf -aW --debug-dump crti.o
<0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
<c> DW_AT_stmt_list : (data4) 0x0
<10> DW_AT_ranges : (data4) 0x0
<14> DW_AT_name : (strp) (offset: 0x0): crti.S.S
<18> DW_AT_comp_dir : (strp) (offset: 0x9):
/home/slyfox/dev/bugs/binutils-2.39-crti-size/delta
<1c> DW_AT_producer : (strp) (offset: 0x3d): GNU AS 2.39
<20> DW_AT_language : (data2) 32769 (MIPS assembler)
<1><22>: Abbrev Number: 2 (DW_TAG_subprogram)
<23> DW_AT_name : (strp) (offset: 0x49): _init
<27> DW_AT_external : (flag) 1
<28> DW_AT_low_pc : (addr) 0x0
<2c> DW_AT_high_pc : (addr) 0x0
<1><30>: Abbrev Number: 2 (DW_TAG_subprogram)
<31> DW_AT_name : (strp) (offset: 0x4f): __x86.get_pc_thunk.bx
<35> DW_AT_external : (flag) 1
<36> DW_AT_low_pc : (addr) 0x0
<3a> DW_AT_high_pc : (addr) 0x2
<1><3e>: Abbrev Number: 0
$ as-2.38 --gdwarf2 --32 -o crti.o crti.S.S
$ readelf -aW --debug-dump crti.o
<0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
<c> DW_AT_stmt_list : (data4) 0x0
<10> DW_AT_ranges : (data4) 0x0
<14> DW_AT_name : (strp) (offset: 0x0): crti.S.S
<18> DW_AT_comp_dir : (strp) (offset: 0x9):
/home/slyfox/dev/bugs/binutils-2.39-crti-size/delta
<1c> DW_AT_producer : (strp) (offset: 0x3d): GNU AS 2.38
<20> DW_AT_language : (data2) 32769 (MIPS assembler)
Not sure if it's a discrepancy in binutils.
--
You are receiving this mail because:
You are on the CC list for the bug.