Am 04.12.2021 um 14:04 schrieb Christo Crause via fpc-devel:
When compiling a simple test for esp32 (xtensa-freertos), the incorrect values for DW_AT_low_PC and DW_AT_high_PC are generated.  From my inspection of the generated assembler I cannot see anything wrong, but the values supplied by the linker are wrong.  Any ideas on how to fix this?

This can be seen below, where there is no overlap between the unit's low/high 
PC and main's low/high PC:

  <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
     <c>   DW_AT_name        : test.pp
     <14>   DW_AT_producer    : Free Pascal 3.3.1 2021/11/27
     <31>   DW_AT_comp_dir    : /home/christo/fpc/xtensa/examples/test/
     <59>   DW_AT_language    : 9 (ANSI Pascal)
     <5a>   DW_AT_identifier_case: 3 (case_insensitive)
     <5b>   DW_AT_stmt_list   : 0x0
     <5f>   DW_AT_low_pc      : 0x400e49e4
     <63>   DW_AT_high_pc     : 0x400e49e4
  <1><67>: Abbrev Number: 2 (DW_TAG_subprogram)
     <68>   DW_AT_name        : $main
     <6e>   DW_AT_prototyped  : 1
     <6f>   DW_AT_external    : 1
     <70>   DW_AT_low_pc      : 0x400d0a70
     <74>   DW_AT_high_pc     : 0x400d0ab3

 From the compiler generated assembly it appears that the labels for these 
values are correctly placed
(DEBUGSTART_$P$TEST placed at start of code):

.globl DEBUGSTART_$P$TEST
DEBUGSTART_$P$TEST:
# End asmlist al_begin
# Begin asmlist al_procedures

.section .text.n_main,"ax"
.balign 4
.globl main
main:
.globl PASCALMAIN
PASCALMAIN:
.Lc2:
#   Start of abi_windowed entry localsize=0

Below the label is used in the debug info section:

.section .debug_info
.Ldebug_info0:
.long .Ledebug_info0-.Lf2
.Lf2:
.short 3
.long .Ldebug_abbrev0
.byte 4
.uleb128 1
.ascii "test.pp\000"
.ascii "Free Pascal 3.3.1 2021/11/27\000"
.ascii "/home/christo/fpc/xtensa/examples/test/\000"
.byte 9
.byte 3
.long .Ldebug_line0
.long DEBUGSTART_$P$TEST
.long DEBUGEND_$P$TEST

How does the debug info section look like for a gcc generated program?
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to