Hi,

Στις 4/2/2021 11:10 μ.μ., ο/η Florian Klämpfl via fpc-devel έγραψε:
Am 04.02.21 um 00:28 schrieb Dimitrios Chr. Ioannidis via fpc-devel:

< snip >

This is most likely wrong. Can you please compile the unit with -al send the .s file? If it is too big, send it to me in private.

    Pointer Size:  4
  <0><103e>: Abbrev Number: 1 (DW_TAG_compile_unit)
     <103f>   DW_AT_name        : dwarf_DIE_ABBREV_Bug_used_unit.pas
     <1062>   DW_AT_producer    : Free Pascal 3.3.1 2021/02/03
     <107f>   DW_AT_comp_dir    : G:/Programming/dimitris/Projects/fpc_avr_dwarf_bug/
     <10b3>   DW_AT_language    : 9    (ANSI Pascal)
     <10b4>   DW_AT_identifier_case: 3  (case_insensitive)
     <10b5>   DW_AT_stmt_list   : 0x0
     <10b9>   DW_AT_low_pc      : 0x0
     <10bd>   DW_AT_high_pc     : 0x0
  <1><10c1>: Abbrev Number: 2 (DW_TAG_variable)
     <10c2>   DW_AT_name        : TMPARRAY
     <10cb>   DW_AT_location    : 207 byte block: 10 0 0 3 54 4d 50 41 52 52 41 59 0 4 2 e4 11 0 0 4 0 1 fb 11 0 0 0 5 c1 10 0 0 2 72 74 74 69 64 65 66 24 52 54 54 49 5f 24 44 57 41 52 46 5f 44 49 45 5f 41 42 42 52 45 56 5f 42 55 47 5f 55 53 45 44 5f 55 4e 49 54 5f 24 24 5f 54 4d 50 41 52 52 41 59 0 2a 11 0 0 6 24 52 54 54 49 44 45 46 24 52 54 54 49 5f 24 44 57 41 52 46 5f 44 49 45 5f 41 42 42 52 45 56 5f 42 55 47 5f 55 53 45 44 5f 55 4e 49 54 5f 24 24 5f 54 4d 50 41 52 52 41 59 0 15 0 5 ec 10 0 0 2 72 74 74 69 5f 6e 6f 72 6d 61 6c 5f 61 72 72 61 79 24 31 0 85 11 0 0 6 24 52 54 54 49 5f 4e 4f 52 4d 41 4c 5f 41 52 52 41 59 24 31 0

Compiled with : ppcrossavr.exe -MObjFPC -Tembedded -Pavr -CpAVR5 -WpATMEGA328p -al -Xm -gw2 -O1 dwarf_DIE_ABBREV_Bug.pas


dwarf_DIE_ABBREV_Bug.s

--------------------------------------------------------------------

    .file "dwarf_DIE_ABBREV_Bug.pas"
# Begin asmlist al_begin

.section .debug_line
.Ldebug_linesection0:
.Ldebug_line0:

.section .debug_abbrev
.Ldebug_abbrevsection0:
.Ldebug_abbrev0:

.section .text.b_DEBUGSTART_sPsDWARF_DIE_ABBREV_BUG,"ax"
.globl    DEBUGSTART_sPsDWARF_DIE_ABBREV_BUG
DEBUGSTART_sPsDWARF_DIE_ABBREV_BUG:
# End asmlist al_begin
# Begin asmlist al_procedures

.section .text.n_main,"ax"
.globl    main
main:
.globl    PASCALMAIN
PASCALMAIN:
.Ll1:
# [dwarf_DIE_ABBREV_Bug.pas]
# [9] begin
    call    FPC_INIT_FUNC_TABLE
.Ll2:
# [10] end.
    call    fpc_do_exit
.Lt1:
.Le0:
    .size    main, .Le0 - main
.Ll3:

.section .fpc.n_links,"aw"
    .short    DEBUGSTART_sPsDWARF_DIE_ABBREV_BUG
    .short    DEBUGEND_sPsDWARF_DIE_ABBREV_BUG
    .short    DEBUGSTART_sATMEGA328P
    .short    DEBUGEND_sATMEGA328P
    .short    DEBUGSTART_sDWARF_DIE_ABBREV_BUG_USED_UNIT
    .short    DEBUGEND_sDWARF_DIE_ABBREV_BUG_USED_UNIT

.section .text.n_FPC_INIT_FUNC_TABLE,"ax"
.globl    FPC_INIT_FUNC_TABLE
FPC_INIT_FUNC_TABLE:
    ret

.section .text.n_FPC_FINALIZE_FUNC_TABLE,"ax"
.globl    FPC_FINALIZE_FUNC_TABLE
FPC_FINALIZE_FUNC_TABLE:
    ret
# End asmlist al_procedures
# Begin asmlist al_globals

.section .bss.n_u_spsdwarf_die_abbrev_bug_ss_aarray,"aw",%nobits
# [7] aArray: tmpArray;
    .size U_sPsDWARF_DIE_ABBREV_BUG_ss_AARRAY,4
U_sPsDWARF_DIE_ABBREV_BUG_ss_AARRAY:
    .zero 4

.section .data.n_INITFINAL
.globl    INITFINAL
INITFINAL:
    .byte    0,0
.Le1:
    .size    INITFINAL, .Le1 - INITFINAL

.section .data.n_FPC_THREADVARTABLES
.globl    FPC_THREADVARTABLES
FPC_THREADVARTABLES:
    .long    0
.Le2:
    .size    FPC_THREADVARTABLES, .Le2 - FPC_THREADVARTABLES

.section .data.n_FPC_RESOURCESTRINGTABLES
.globl    FPC_RESOURCESTRINGTABLES
FPC_RESOURCESTRINGTABLES:
    .short    0
.Le3:
    .size    FPC_RESOURCESTRINGTABLES, .Le3 - FPC_RESOURCESTRINGTABLES

.section .data.n_FPC_WIDEINITTABLES
.globl    FPC_WIDEINITTABLES
FPC_WIDEINITTABLES:
    .short    0
.Le4:
    .size    FPC_WIDEINITTABLES, .Le4 - FPC_WIDEINITTABLES

.section .data.n_FPC_RESSTRINITTABLES
.globl    FPC_RESSTRINITTABLES
FPC_RESSTRINITTABLES:
    .short    0
.Le5:
    .size    FPC_RESSTRINITTABLES, .Le5 - FPC_RESSTRINITTABLES

.section .fpc.n_version,"aw"
__fpc_ident:
    .ascii    "FPC 3.3.1 [2021/02/04] for avr - embedded"
.Le6:
    .size    __fpc_ident, .Le6 - __fpc_ident

.section .data.n___stklen
.globl    __stklen
__stklen:
    .short    1024
.Le7:
    .size    __stklen, .Le7 - __stklen

.section .data.n___heapsize
.globl    __heapsize
__heapsize:
    .short    128
.Le8:
    .size    __heapsize, .Le8 - __heapsize

.section .bss.n___fpc_initialheap,"aw",%nobits
    .globl __fpc_initialheap
    .size __fpc_initialheap,128
__fpc_initialheap:
    .zero 128

.section .data.n___fpc_valgrind
.globl    __fpc_valgrind
__fpc_valgrind:
    .byte    0
.Le9:
    .size    __fpc_valgrind, .Le9 - __fpc_valgrind
# End asmlist al_globals
# Begin asmlist al_dwarf_info

.section .debug_info
.Ldebug_info0:
    .long    .Ledebug_info0-.Lf2
.Lf2:
    .short    2
    .long    .Ldebug_abbrev0
    .byte    4
    .uleb128    1
    .ascii    "dwarf_DIE_ABBREV_Bug.pas\000"
    .ascii    "Free Pascal 3.3.1 2021/02/04\000"
    .ascii "G:/Programming/dimitris/Projects/fpc_avr_dwarf_bug/"
    .ascii    "\000"
    .byte    9
    .byte    3
    .long    .Ldebug_line0
    .long    DEBUGSTART_sPsDWARF_DIE_ABBREV_BUG
    .long    DEBUGEND_sPsDWARF_DIE_ABBREV_BUG
# Syms - Begin Staticsymtable
# Symbol SYSTEM
# Symbol OBJPAS
# Symbol ATMEGA328P
# Symbol DWARF_DIE_ABBREV_BUG_USED_UNIT
# Symbol DWARF_DIE_ABBREV_BUG
# Symbol main
# Symbol AARRAY
    .uleb128    2
    .ascii    "AARRAY\000"
    .byte    5
    .byte    3
    .long    U_sPsDWARF_DIE_ABBREV_BUG_ss_AARRAY
    .long    DBG_sDWARF_DIE_ABBREV_BUG_USED_UNIT_ss_TMPARRAY
# Syms - End Staticsymtable
# Procdef $main; StdCall;
    .uleb128    3
    .ascii    "main\000"
    .byte    1
    .byte    1
    .long    main
    .long    .Lt1
    .byte    0
# Defs - Begin unit SYSTEM has index 1
# Defs - End unit SYSTEM has index 1
# Defs - Begin unit OBJPAS has index 2
# Defs - End unit OBJPAS has index 2
# Defs - Begin unit INTRINSICS has index 4
# Defs - End unit INTRINSICS has index 4
# Defs - Begin unit ATMEGA328P has index 3
# Defs - End unit ATMEGA328P has index 3
# Defs - Begin unit DWARF_DIE_ABBREV_BUG_USED_UNIT has index 5
# Defs - End unit DWARF_DIE_ABBREV_BUG_USED_UNIT has index 5
# Defs - Begin Staticsymtable
# Defs - End Staticsymtable
    .byte    0
.Ledebug_info0:
# End asmlist al_dwarf_info
# Begin asmlist al_dwarf_abbrev

.section .debug_abbrev
# Abbrev 1
    .uleb128    1
    .uleb128    17
    .byte    1
    .uleb128    3
    .uleb128    8
    .uleb128    37
    .uleb128    8
    .uleb128    27
    .uleb128    8
    .uleb128    19
    .uleb128    11
    .uleb128    66
    .uleb128    11
    .uleb128    16
    .uleb128    6
    .uleb128    17
    .uleb128    1
    .uleb128    18
    .uleb128    1
    .byte    0
    .byte    0
# Abbrev 2
    .uleb128    2
    .uleb128    52
    .byte    0
    .uleb128    3
    .uleb128    8
    .uleb128    2
    .uleb128    10
    .uleb128    73
    .uleb128    16
    .byte    0
    .byte    0
# Abbrev 3
    .uleb128    3
    .uleb128    46
    .byte    1
    .uleb128    3
    .uleb128    8
    .uleb128    39
    .uleb128    12
    .uleb128    63
    .uleb128    12
    .uleb128    17
    .uleb128    1
    .uleb128    18
    .uleb128    1
    .byte    0
    .byte    0
    .byte    0
# End asmlist al_dwarf_abbrev
# Begin asmlist al_dwarf_line

.section .debug_line
# === header start ===
    .long    .Ledebug_line0-.Lf3
.Lf3:
    .short    2
    .long    .Lehdebug_line0-.Lf4
.Lf4:
    .byte    1
    .byte    1
    .byte    1
    .byte    255
    .byte    13
    .byte    0
    .byte    1
    .byte    1
    .byte    1
    .byte    1
    .byte    0
    .byte    0
    .byte    0
    .byte    1
    .byte    0
    .byte    0
    .byte    1
# include_directories
    .byte    0
# file_names
    .ascii    "dwarf_DIE_ABBREV_Bug.pas\000"
    .uleb128    0
    .uleb128    0
    .uleb128    0
    .byte    0
.Lehdebug_line0:
# === header end ===
# function: main
# function: PASCALMAIN
# [9:1]
    .byte    0
    .uleb128    5
    .byte    2
    .long    .Ll1
    .byte    5
    .uleb128    1
    .byte    20
# [10:1]
    .byte    2
    .uleb128    .Ll2-.Ll1
    .byte    13
    .byte    0
    .uleb128    5
    .byte    2
    .long    .Ll3
    .byte    0
    .byte    1
    .byte    1
# ###################
.Ledebug_line0:
# End asmlist al_dwarf_line
# Begin asmlist al_dwarf_aranges

.section .debug_aranges
    .long    .Learanges0-.Lf1
.Lf1:
    .short    2
    .long    .Ldebug_info0
    .byte    4
    .byte    0
    .long    0
    .long    main
    .long    .Lt1-main
    .byte    0
    .byte    0
.Learanges0:
# End asmlist al_dwarf_aranges
# Begin asmlist al_dwarf_ranges

.section .debug_ranges
# End asmlist al_dwarf_ranges
# Begin asmlist al_end

.section .text.z_DEBUGEND_sPsDWARF_DIE_ABBREV_BUG,"ax"
.globl    DEBUGEND_sPsDWARF_DIE_ABBREV_BUG
DEBUGEND_sPsDWARF_DIE_ABBREV_BUG:
# End asmlist al_end
--------------------------------------------------------------------

regards,

--

Dimitrios Chr. Ioannidis

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to