[fpc-devel] Re: FPC unit symbol checksum woes

Adriaan van Os fpc at microbizz.nl
Wed Sep 3 12:06:09 CEST 2008


Florian Klaempfl wrote:
> Adriaan van Os schrieb:
> 
>>  Interface definitions
>>  ----------------------
>> @@ -86,9 +92,10 @@
>>              Level : 2
>>              Class : (24) Nil
>>            Procsym : (26) SymId 57
>> -         File Pos : 1 (94,10)
>> +         File Pos : 1 (3411,10)

Are you sure ?

For example, in the ppudump of the .ppu.intf file, we find the FilePos of the procedure declaration 
in the interface section

Interface definitions
----------------------
** Definition Id 0 **
Procedure definition
       Type symbol : (0) Nil
        DefOptions :
         DefStates :
       Return type : (4) Unit 0, DefId 3
          Fpu used : 0
        TypeOption : Procedure
        CallOption : MWPascal
           Options : Global
            Number : 65535
             Level : 2
             Class : (13) Nil
           Procsym : (15) SymId 33
          File Pos : 1 (17,11)
        SymOptions : Public
         Import Nr : 0
     ------ parast ------
     ------ parast ------
     Symtable datasize : 0
     Symtable alignment: 0

whereas in the ppudump of the .ppu file, we read the FilePos of the same procedure in the 
implementation section

Interface definitions
----------------------
** Definition Id 0 **
Procedure definition
       Type symbol : (0) Nil
        DefOptions :
         DefStates :
       Return type : (4) Unit 0, DefId 3
          Fpu used : 0
        TypeOption : Procedure
        CallOption : MWPascal
           Options : Global
            Number : 65535
             Level : 2
             Class : (13) Nil
           Procsym : (15) SymId 33
          File Pos : 1 (20,11)
        SymOptions : Public
         Import Nr : 0
        Alias names : _AZK_ALLASSIGNZMELEZ
     ------ parast ------
     ------ parast ------
     Symtable datasize : 0
     Symtable alignment: 0

....
procedure AllAssignZMELEZ;

implementation
procedure AllAssignZMELEZ;
.....

For this unit, the checksums do match.

Header
-------
Compiler version        : 2.3.1
Target processor        : i386
Target operating system : Darwin-i386
Unit flags              : little_endian
FileSize (w/o header)   : 1809
Checksum                : FE3E2A08
Interface Checksum      : 24A9FEDB
Definitions stored      : 0
Symbols stored          : 0

Header
-------
Compiler version        : 2.3.1
Target processor        : i386
Target operating system : Darwin-i386
Unit flags              : static_linked, little_endian, local_threadvars, local_symtable
FileSize (w/o header)   : 2310
Checksum                : FE3E2A08
Interface Checksum      : 24A9FEDB
Definitions stored      : 3
Symbols stored          : 52

Regards,

Adriaan van Os



More information about the fpc-devel mailing list