[fpc-devel] win64 dwarf patch

And3mD and3md at gmail.com
Fri Oct 15 20:58:08 CEST 2010


Hello,

I found something I think can be problem with lazarus on win64:

Revision 27315:


Index: trunk/ide/mainbase.pas
===================================================================
--- trunk/ide/mainbase.pas	(revision 27314)
+++ trunk/ide/mainbase.pas	(revision 27315)
@@ -1092,7 +1092,7 @@
        CurMenuItem.Caption :=  
SourceEditorManager.SourceEditors[i].PageName;
        CurMenuItem.MenuItem.Checked := SourceEditorManager.ActiveEditor =  
SourceEditorManager.SourceEditors[i] ;
        CurMenuItem.OnClick := @mnuWindowSourceItemClick;
-      CurMenuItem.Tag :=  
PtrInt(Pointer(SourceEditorManager.SourceEditors[i]));
+      CurMenuItem.Tag :=  
Integer(Pointer(SourceEditorManager.SourceEditors[i]));
        inc(ItemCount);
      end;
    end;


If Tag is Integer on 64bit then adding pointers to Tag is a bug.
Integer is 32bit in 64bit compiler:

http://wiki.freepascal.org/Integer

Greetings
Andrzej Kilijanski


Dnia 14-10-2010 o 00:26:16 Maxim Ganetsky <ganmax at narod.ru> napisał(a):

> 14.10.2010 1:52, Willibald Krenn пишет:
>> Am 13.10.2010 21:34, schrieb Willibald Krenn:
>>> Yes, your output seems to be fine! I'll try upgrading my gdb to a newer
>>> version - hope this helps. If this is working, then I think we should
>>> switch to DWARF2 on Win64 and close all related bugs in mantis. ;-)
>>
>> I upgraded my version of gdb and that fixed the problem. Small
>> disadvantage, though: DWARF debug info disables smart linking :-(.
>>
>> Anyway, while fpc and gdb are working now, Lazarus fails to pick up the
>> correct address if it is outside of the 32 bit range:
>>
>> <info address FPC_RAISEEXCEPTION>
>> &"info address FPC_RAISEEXCEPTION\n"
>> ~"Symbol \"FPC_RAISEEXCEPTION\" is at 0x100008a30 in a file compiled
>> without debugging.\n"
>> ^done
>> (gdb)
>> <-break-insert *35376>
>> ^done,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x0000000000008a30",at="",times="0",original-location="*35376"}
>>
>> (gdb)
>
> Please create a bug report for Lazarus with a test project.



More information about the fpc-devel mailing list