[fpc-devel] win64 dwarf patch

Pierre Free Pascal pierre at freepascal.org
Wed Oct 13 10:56:21 CEST 2010



> -----Message d'origine-----
> De : fpc-devel-bounces at lists.freepascal.org [mailto:fpc-devel-
> bounces at lists.freepascal.org] De la part de Willibald Krenn
> Envoyé : Wednesday, October 13, 2010 2:54 AM
> À : FPC developers' list
> Objet : Re: [fpc-devel] win64 dwarf patch
> 
> Am 13.10.2010 01:40, schrieb Willibald Krenn:
> > Hi,
> >
> > After adding 'tf_dwarf_only_local_labels' to the

 Hi Willi,
I tested and committed this change as rev 16151
in trunk, thanks for this!

> > flags in i_win.pas (line 105) dwarf2 seems to be working. (Even
> without
> > -WB00400000).
> 
> Additional remark: The -WB option is still needed, otherwise, e.g.,
> 'disas' is not working correctly in gdb.

  What version of the win64 GDB are you using?
I am using a recently generated from GDB cvs HEAD
and I get this:

C:\cygwin\home\pierre\pas\trunk\fpcsrc\compiler>gdb64 ./ppcx64.exe
GNU gdb (GDB) 7.2.50.20100928-cvs
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-w64-mingw32".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from C:\cygwin\home\pierre\pas\trunk\fpcsrc\compiler/./ppcx64.ex
e...done.
(gdb) inf fun err
All functions matching regular expression "err":

File system.pp:
procedure fpc_abstracterrorintern;
(gdb) disas main
Dump of assembler code for function main:
   0x0000000100001850 <+0>:     push   %rbp
   0x0000000100001851 <+1>:     mov    %rsp,%rbp
   0x0000000100001854 <+4>:     sub    $0x40,%rsp
   0x0000000100001858 <+8>:     callq  0x10000af60 <fpc_initializeunits>
   0x000000010000185d <+13>:    mov    0x1cd8cc(%rip),%rax        # 0x1001cf130
<TC_SYSTEM_EXITPROC>
   0x0000000100001864 <+20>:    mov    %rax,0x23d795(%rip)        # 0x10023f000
<U_P$PP_OLDEXIT>

Note that I didn't use the -WB option, so that 
the default 0x100000000 is used, but this 
doesn't seem to generate disassembly problems.

  Thanks again for the 'tf_dwarf_only_local_labels' fix.

Pierre




More information about the fpc-devel mailing list