mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-19 14:19:31 +02:00
* endian fixes
This commit is contained in:
parent
ff12c6c54f
commit
f85bec0291
@ -242,6 +242,7 @@ implementation
|
||||
{$ifdef Test_Double_checksum}
|
||||
comphook,
|
||||
{$endif def Test_Double_checksum}
|
||||
systems,
|
||||
crc;
|
||||
|
||||
{*****************************************************************************
|
||||
@ -718,22 +719,20 @@ begin
|
||||
{ update size (w/o header!) in the header }
|
||||
header.size:=bufstart-sizeof(tppuheader);
|
||||
{ set the endian flag }
|
||||
{$IFDEF SOURCE_BIG_ENDIAN}
|
||||
header.flags := header.flags or uf_big_endian;
|
||||
{$ENDIF}
|
||||
{$IFDEF SOURCE_LITTLE_ENDIAN}
|
||||
header.flags := header.flags or uf_little_endian;
|
||||
{$ENDIF}
|
||||
{ Now swap the header in the correct endian (always little endian) }
|
||||
{$IFDEF SOURCE_BIG_ENDIAN}
|
||||
header.compiler := SwapWord(header.compiler);
|
||||
header.cpu := SwapWord(header.cpu);
|
||||
header.target := SwapWord(header.target);
|
||||
header.flags := SwapLong(header.flags);
|
||||
header.size := SwapLong(header.size);
|
||||
header.checksum := SwapLong(header.checksum);
|
||||
header.interface_checksum := SwapLong(header.interface_checksum);
|
||||
{$ENDIF}
|
||||
if source_info.endian = endian_little then
|
||||
header.flags := header.flags or uf_little_endian
|
||||
else
|
||||
begin
|
||||
header.flags := header.flags or uf_big_endian;
|
||||
{ Now swap the header in the correct endian (always little endian) }
|
||||
header.compiler := SwapWord(header.compiler);
|
||||
header.cpu := SwapWord(header.cpu);
|
||||
header.target := SwapWord(header.target);
|
||||
header.flags := SwapLong(header.flags);
|
||||
header.size := SwapLong(header.size);
|
||||
header.checksum := SwapLong(header.checksum);
|
||||
header.interface_checksum := SwapLong(header.interface_checksum);
|
||||
end;
|
||||
{ write header and restore filepos after it }
|
||||
opos:=filepos(f);
|
||||
seek(f,0);
|
||||
@ -986,7 +985,10 @@ end;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.35 2003-05-23 17:03:51 peter
|
||||
Revision 1.36 2003-05-24 13:37:10 jonas
|
||||
* endian fixes
|
||||
|
||||
Revision 1.35 2003/05/23 17:03:51 peter
|
||||
* write header for crc_only
|
||||
|
||||
Revision 1.34 2003/04/25 20:59:34 peter
|
||||
|
Loading…
Reference in New Issue
Block a user