mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-06-17 23:58:20 +02:00
Merged revision(s) 28689 from branches/svenbarth/packages:
Extract functionality that is shared between the metadata files for units (PPU) and for packages (PCP) into a parent class called tentryfile + add new unit entfile which contains the new tentryfile class and related types and constants * ppu.pas: - remove methods, fields, types and constants which were moved to entfile.pas * replace the parts of tppuheader shared with tentryheader by a field of type tentryheader fppu.pas, pmodules.pas, utils/ppumove.pp, utils/ppuutils/ppudump.pp: + add entfile to uses * adjust access to common header fields node.pas, symdef.pas, symsym.pas, symtable.pas, wpoinfo.pas, utils/ppufiles.pp: + add entfile to uses ........ git-svn-id: trunk@32976 -
This commit is contained in:
parent
7f0b676af1
commit
02e56f410d
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -167,6 +167,7 @@ compiler/defcmp.pas svneol=native#text/plain
|
|||||||
compiler/defutil.pas svneol=native#text/plain
|
compiler/defutil.pas svneol=native#text/plain
|
||||||
compiler/dirparse.pas svneol=native#text/plain
|
compiler/dirparse.pas svneol=native#text/plain
|
||||||
compiler/elfbase.pas svneol=native#text/plain
|
compiler/elfbase.pas svneol=native#text/plain
|
||||||
|
compiler/entfile.pas svneol=native#text/plain
|
||||||
compiler/export.pas svneol=native#text/plain
|
compiler/export.pas svneol=native#text/plain
|
||||||
compiler/expunix.pas svneol=native#text/plain
|
compiler/expunix.pas svneol=native#text/plain
|
||||||
compiler/finput.pas svneol=native#text/plain
|
compiler/finput.pas svneol=native#text/plain
|
||||||
|
1150
compiler/entfile.pas
Normal file
1150
compiler/entfile.pas
Normal file
File diff suppressed because it is too large
Load Diff
@ -118,7 +118,8 @@ uses
|
|||||||
scanner,
|
scanner,
|
||||||
aasmbase,ogbase,
|
aasmbase,ogbase,
|
||||||
parser,
|
parser,
|
||||||
comphook;
|
comphook,
|
||||||
|
entfile;
|
||||||
|
|
||||||
|
|
||||||
var
|
var
|
||||||
@ -217,7 +218,7 @@ var
|
|||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
{ check the target processor }
|
{ check the target processor }
|
||||||
if tsystemcpu(ppufile.header.cpu)<>target_cpu then
|
if tsystemcpu(ppufile.header.common.cpu)<>target_cpu then
|
||||||
begin
|
begin
|
||||||
ppufile.free;
|
ppufile.free;
|
||||||
ppufile:=nil;
|
ppufile:=nil;
|
||||||
@ -225,7 +226,7 @@ var
|
|||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
{ check target }
|
{ check target }
|
||||||
if tsystem(ppufile.header.target)<>target_info.system then
|
if tsystem(ppufile.header.common.target)<>target_info.system then
|
||||||
begin
|
begin
|
||||||
ppufile.free;
|
ppufile.free;
|
||||||
ppufile:=nil;
|
ppufile:=nil;
|
||||||
@ -234,7 +235,7 @@ var
|
|||||||
end;
|
end;
|
||||||
{$ifdef i8086}
|
{$ifdef i8086}
|
||||||
{ check i8086 memory model flags }
|
{ check i8086 memory model flags }
|
||||||
if ((ppufile.header.flags and uf_i8086_far_code)<>0) xor
|
if ((ppufile.header.common.flags and uf_i8086_far_code)<>0) xor
|
||||||
(current_settings.x86memorymodel in [mm_medium,mm_large,mm_huge]) then
|
(current_settings.x86memorymodel in [mm_medium,mm_large,mm_huge]) then
|
||||||
begin
|
begin
|
||||||
ppufile.free;
|
ppufile.free;
|
||||||
@ -242,7 +243,7 @@ var
|
|||||||
Message(unit_u_ppu_invalid_memory_model,@queuecomment);
|
Message(unit_u_ppu_invalid_memory_model,@queuecomment);
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
if ((ppufile.header.flags and uf_i8086_far_data)<>0) xor
|
if ((ppufile.header.common.flags and uf_i8086_far_data)<>0) xor
|
||||||
(current_settings.x86memorymodel in [mm_compact,mm_large]) then
|
(current_settings.x86memorymodel in [mm_compact,mm_large]) then
|
||||||
begin
|
begin
|
||||||
ppufile.free;
|
ppufile.free;
|
||||||
@ -250,7 +251,7 @@ var
|
|||||||
Message(unit_u_ppu_invalid_memory_model,@queuecomment);
|
Message(unit_u_ppu_invalid_memory_model,@queuecomment);
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
if ((ppufile.header.flags and uf_i8086_huge_data)<>0) xor
|
if ((ppufile.header.common.flags and uf_i8086_huge_data)<>0) xor
|
||||||
(current_settings.x86memorymodel=mm_huge) then
|
(current_settings.x86memorymodel=mm_huge) then
|
||||||
begin
|
begin
|
||||||
ppufile.free;
|
ppufile.free;
|
||||||
@ -258,7 +259,7 @@ var
|
|||||||
Message(unit_u_ppu_invalid_memory_model,@queuecomment);
|
Message(unit_u_ppu_invalid_memory_model,@queuecomment);
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
if ((ppufile.header.flags and uf_i8086_cs_equals_ds)<>0) xor
|
if ((ppufile.header.common.flags and uf_i8086_cs_equals_ds)<>0) xor
|
||||||
(current_settings.x86memorymodel=mm_tiny) then
|
(current_settings.x86memorymodel=mm_tiny) then
|
||||||
begin
|
begin
|
||||||
ppufile.free;
|
ppufile.free;
|
||||||
@ -270,7 +271,7 @@ var
|
|||||||
{$ifdef cpufpemu}
|
{$ifdef cpufpemu}
|
||||||
{ check if floating point emulation is on?
|
{ check if floating point emulation is on?
|
||||||
fpu emulation isn't unit levelwise because it affects calling convention }
|
fpu emulation isn't unit levelwise because it affects calling convention }
|
||||||
if ((ppufile.header.flags and uf_fpu_emulation)<>0) xor
|
if ((ppufile.header.common.flags and uf_fpu_emulation)<>0) xor
|
||||||
(cs_fp_emulation in current_settings.moduleswitches) then
|
(cs_fp_emulation in current_settings.moduleswitches) then
|
||||||
begin
|
begin
|
||||||
ppufile.free;
|
ppufile.free;
|
||||||
@ -281,7 +282,7 @@ var
|
|||||||
{$endif cpufpemu}
|
{$endif cpufpemu}
|
||||||
|
|
||||||
{ Load values to be access easier }
|
{ Load values to be access easier }
|
||||||
flags:=ppufile.header.flags;
|
flags:=ppufile.header.common.flags;
|
||||||
crc:=ppufile.header.checksum;
|
crc:=ppufile.header.checksum;
|
||||||
interface_crc:=ppufile.header.interface_checksum;
|
interface_crc:=ppufile.header.interface_checksum;
|
||||||
indirect_crc:=ppufile.header.indirect_checksum;
|
indirect_crc:=ppufile.header.indirect_checksum;
|
||||||
@ -1243,14 +1244,14 @@ var
|
|||||||
{ flush to be sure }
|
{ flush to be sure }
|
||||||
ppufile.flush;
|
ppufile.flush;
|
||||||
{ create and write header }
|
{ create and write header }
|
||||||
ppufile.header.size:=ppufile.size;
|
ppufile.header.common.size:=ppufile.size;
|
||||||
ppufile.header.checksum:=ppufile.crc;
|
ppufile.header.checksum:=ppufile.crc;
|
||||||
ppufile.header.interface_checksum:=ppufile.interface_crc;
|
ppufile.header.interface_checksum:=ppufile.interface_crc;
|
||||||
ppufile.header.indirect_checksum:=ppufile.indirect_crc;
|
ppufile.header.indirect_checksum:=ppufile.indirect_crc;
|
||||||
ppufile.header.compiler:=wordversion;
|
ppufile.header.common.compiler:=wordversion;
|
||||||
ppufile.header.cpu:=word(target_cpu);
|
ppufile.header.common.cpu:=word(target_cpu);
|
||||||
ppufile.header.target:=word(target_info.system);
|
ppufile.header.common.target:=word(target_info.system);
|
||||||
ppufile.header.flags:=flags;
|
ppufile.header.common.flags:=flags;
|
||||||
ppufile.header.deflistsize:=current_module.deflist.count;
|
ppufile.header.deflistsize:=current_module.deflist.count;
|
||||||
ppufile.header.symlistsize:=current_module.symlist.count;
|
ppufile.header.symlistsize:=current_module.symlist.count;
|
||||||
ppufile.writeheader;
|
ppufile.writeheader;
|
||||||
@ -1349,14 +1350,14 @@ var
|
|||||||
|
|
||||||
{ create and write header, this will only be used
|
{ create and write header, this will only be used
|
||||||
for debugging purposes }
|
for debugging purposes }
|
||||||
ppufile.header.size:=ppufile.size;
|
ppufile.header.common.size:=ppufile.size;
|
||||||
ppufile.header.checksum:=ppufile.crc;
|
ppufile.header.checksum:=ppufile.crc;
|
||||||
ppufile.header.interface_checksum:=ppufile.interface_crc;
|
ppufile.header.interface_checksum:=ppufile.interface_crc;
|
||||||
ppufile.header.indirect_checksum:=ppufile.indirect_crc;
|
ppufile.header.indirect_checksum:=ppufile.indirect_crc;
|
||||||
ppufile.header.compiler:=wordversion;
|
ppufile.header.common.compiler:=wordversion;
|
||||||
ppufile.header.cpu:=word(target_cpu);
|
ppufile.header.common.cpu:=word(target_cpu);
|
||||||
ppufile.header.target:=word(target_info.system);
|
ppufile.header.common.target:=word(target_info.system);
|
||||||
ppufile.header.flags:=flags;
|
ppufile.header.common.flags:=flags;
|
||||||
ppufile.writeheader;
|
ppufile.writeheader;
|
||||||
|
|
||||||
ppufile.closefile;
|
ppufile.closefile;
|
||||||
@ -1391,7 +1392,7 @@ var
|
|||||||
if (pu.u.interface_crc<>pu.interface_checksum) or
|
if (pu.u.interface_crc<>pu.interface_checksum) or
|
||||||
(pu.u.indirect_crc<>pu.indirect_checksum) or
|
(pu.u.indirect_crc<>pu.indirect_checksum) or
|
||||||
(
|
(
|
||||||
((ppufile.header.flags and uf_release)=0) and
|
((ppufile.header.common.flags and uf_release)=0) and
|
||||||
(pu.u.crc<>pu.checksum)
|
(pu.u.crc<>pu.checksum)
|
||||||
) then
|
) then
|
||||||
begin
|
begin
|
||||||
|
@ -497,7 +497,7 @@ interface
|
|||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
verbose,ppu,comphook,
|
verbose,entfile,comphook,
|
||||||
symconst,
|
symconst,
|
||||||
nutils,nflw,
|
nutils,nflw,
|
||||||
defutil;
|
defutil;
|
||||||
|
@ -41,7 +41,7 @@ implementation
|
|||||||
aasmtai,aasmdata,aasmcpu,aasmbase,
|
aasmtai,aasmdata,aasmcpu,aasmbase,
|
||||||
cgbase,cgobj,ngenutil,
|
cgbase,cgobj,ngenutil,
|
||||||
nbas,nutils,ncgutil,
|
nbas,nutils,ncgutil,
|
||||||
link,assemble,import,export,gendef,ppu,comprsrc,dbgbase,
|
link,assemble,import,export,gendef,entfile,ppu,comprsrc,dbgbase,
|
||||||
cresstr,procinfo,
|
cresstr,procinfo,
|
||||||
pexports,
|
pexports,
|
||||||
objcgutl,
|
objcgutl,
|
||||||
@ -1475,28 +1475,28 @@ type
|
|||||||
Exit;
|
Exit;
|
||||||
end;
|
end;
|
||||||
{ No .o file generated for this ppu, just skip }
|
{ No .o file generated for this ppu, just skip }
|
||||||
if (inppu.header.flags and uf_no_link)<>0 then
|
if (inppu.header.common.flags and uf_no_link)<>0 then
|
||||||
begin
|
begin
|
||||||
inppu.free;
|
inppu.free;
|
||||||
Result:=true;
|
Result:=true;
|
||||||
Exit;
|
Exit;
|
||||||
end;
|
end;
|
||||||
{ Already a lib? }
|
{ Already a lib? }
|
||||||
if (inppu.header.flags and uf_in_library)<>0 then
|
if (inppu.header.common.flags and uf_in_library)<>0 then
|
||||||
begin
|
begin
|
||||||
inppu.free;
|
inppu.free;
|
||||||
Comment(V_Error,'PPU is already in a library : '+PPUFn);
|
Comment(V_Error,'PPU is already in a library : '+PPUFn);
|
||||||
Exit;
|
Exit;
|
||||||
end;
|
end;
|
||||||
{ We need a static linked unit }
|
{ We need a static linked unit }
|
||||||
if (inppu.header.flags and uf_static_linked)=0 then
|
if (inppu.header.common.flags and uf_static_linked)=0 then
|
||||||
begin
|
begin
|
||||||
inppu.free;
|
inppu.free;
|
||||||
Comment(V_Error,'PPU is not static linked : '+PPUFn);
|
Comment(V_Error,'PPU is not static linked : '+PPUFn);
|
||||||
Exit;
|
Exit;
|
||||||
end;
|
end;
|
||||||
{ Check if shared is allowed }
|
{ Check if shared is allowed }
|
||||||
if tsystem(inppu.header.target) in [system_i386_go32v2] then
|
if tsystem(inppu.header.common.target) in [system_i386_go32v2] then
|
||||||
begin
|
begin
|
||||||
Comment(V_Error,'Shared library not supported for ppu target, switching to static library');
|
Comment(V_Error,'Shared library not supported for ppu target, switching to static library');
|
||||||
MakeStatic:=true;
|
MakeStatic:=true;
|
||||||
@ -1509,11 +1509,11 @@ type
|
|||||||
outppu.createfile;
|
outppu.createfile;
|
||||||
{ Create new header, with the new flags }
|
{ Create new header, with the new flags }
|
||||||
outppu.header:=inppu.header;
|
outppu.header:=inppu.header;
|
||||||
outppu.header.flags:=outppu.header.flags or uf_in_library;
|
outppu.header.common.flags:=outppu.header.common.flags or uf_in_library;
|
||||||
if MakeStatic then
|
if MakeStatic then
|
||||||
outppu.header.flags:=outppu.header.flags or uf_static_linked
|
outppu.header.common.flags:=outppu.header.common.flags or uf_static_linked
|
||||||
else
|
else
|
||||||
outppu.header.flags:=outppu.header.flags or uf_shared_linked;
|
outppu.header.common.flags:=outppu.header.common.flags or uf_shared_linked;
|
||||||
{ read until the object files are found }
|
{ read until the object files are found }
|
||||||
untilb:=iblinkunitofiles;
|
untilb:=iblinkunitofiles;
|
||||||
repeat
|
repeat
|
||||||
|
1097
compiler/ppu.pas
1097
compiler/ppu.pas
File diff suppressed because it is too large
Load Diff
@ -1194,7 +1194,8 @@ implementation
|
|||||||
fmodule,
|
fmodule,
|
||||||
{ other }
|
{ other }
|
||||||
gendef,
|
gendef,
|
||||||
fpccrc
|
fpccrc,
|
||||||
|
entfile
|
||||||
;
|
;
|
||||||
|
|
||||||
{****************************************************************************
|
{****************************************************************************
|
||||||
|
@ -497,7 +497,9 @@ implementation
|
|||||||
aasmtai,aasmdata,
|
aasmtai,aasmdata,
|
||||||
{ codegen }
|
{ codegen }
|
||||||
paramgr,
|
paramgr,
|
||||||
procinfo
|
procinfo,
|
||||||
|
{ ppu }
|
||||||
|
entfile
|
||||||
;
|
;
|
||||||
|
|
||||||
{****************************************************************************
|
{****************************************************************************
|
||||||
|
@ -28,9 +28,7 @@ interface
|
|||||||
{ common }
|
{ common }
|
||||||
cutils,cclasses,globtype,tokens,
|
cutils,cclasses,globtype,tokens,
|
||||||
{ symtable }
|
{ symtable }
|
||||||
symconst,symbase,symtype,symdef,symsym,
|
symconst,symbase,symtype,symdef,symsym;
|
||||||
{ ppu }
|
|
||||||
ppu;
|
|
||||||
|
|
||||||
|
|
||||||
{****************************************************************************
|
{****************************************************************************
|
||||||
@ -438,7 +436,9 @@ implementation
|
|||||||
{ module }
|
{ module }
|
||||||
fmodule,
|
fmodule,
|
||||||
{ codegen }
|
{ codegen }
|
||||||
procinfo
|
procinfo,
|
||||||
|
{ ppu }
|
||||||
|
entfile
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ Program ppufiles;
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
dos,
|
dos,
|
||||||
ppu;
|
ppu,entfile;
|
||||||
|
|
||||||
const
|
const
|
||||||
Version = 'Version 1.00';
|
Version = 'Version 1.00';
|
||||||
|
@ -39,7 +39,7 @@ uses
|
|||||||
{$else unix}
|
{$else unix}
|
||||||
dos,
|
dos,
|
||||||
{$endif unix}
|
{$endif unix}
|
||||||
cutils,ppu,systems,
|
cutils,ppu,entfile,systems,
|
||||||
getopts;
|
getopts;
|
||||||
|
|
||||||
const
|
const
|
||||||
@ -274,7 +274,7 @@ begin
|
|||||||
Exit;
|
Exit;
|
||||||
end;
|
end;
|
||||||
{ No .o file generated for this ppu, just skip }
|
{ No .o file generated for this ppu, just skip }
|
||||||
if (inppu.header.flags and uf_no_link)<>0 then
|
if (inppu.header.common.flags and uf_no_link)<>0 then
|
||||||
begin
|
begin
|
||||||
inppu.free;
|
inppu.free;
|
||||||
If Not Quiet then
|
If Not Quiet then
|
||||||
@ -283,21 +283,21 @@ begin
|
|||||||
Exit;
|
Exit;
|
||||||
end;
|
end;
|
||||||
{ Already a lib? }
|
{ Already a lib? }
|
||||||
if (inppu.header.flags and uf_in_library)<>0 then
|
if (inppu.header.common.flags and uf_in_library)<>0 then
|
||||||
begin
|
begin
|
||||||
inppu.free;
|
inppu.free;
|
||||||
Error('Error: PPU is already in a library : '+PPUFn,false);
|
Error('Error: PPU is already in a library : '+PPUFn,false);
|
||||||
Exit;
|
Exit;
|
||||||
end;
|
end;
|
||||||
{ We need a static linked unit }
|
{ We need a static linked unit }
|
||||||
if (inppu.header.flags and uf_static_linked)=0 then
|
if (inppu.header.common.flags and uf_static_linked)=0 then
|
||||||
begin
|
begin
|
||||||
inppu.free;
|
inppu.free;
|
||||||
Error('Error: PPU is not static linked : '+PPUFn,false);
|
Error('Error: PPU is not static linked : '+PPUFn,false);
|
||||||
Exit;
|
Exit;
|
||||||
end;
|
end;
|
||||||
{ Check if shared is allowed }
|
{ Check if shared is allowed }
|
||||||
if tsystem(inppu.header.target) in [system_i386_go32v2] then
|
if tsystem(inppu.header.common.target) in [system_i386_go32v2] then
|
||||||
begin
|
begin
|
||||||
Writeln('Warning: shared library not supported for ppu target, switching to static library');
|
Writeln('Warning: shared library not supported for ppu target, switching to static library');
|
||||||
MakeStatic:=true;
|
MakeStatic:=true;
|
||||||
@ -310,11 +310,11 @@ begin
|
|||||||
outppu.createfile;
|
outppu.createfile;
|
||||||
{ Create new header, with the new flags }
|
{ Create new header, with the new flags }
|
||||||
outppu.header:=inppu.header;
|
outppu.header:=inppu.header;
|
||||||
outppu.header.flags:=outppu.header.flags or uf_in_library;
|
outppu.header.common.flags:=outppu.header.common.flags or uf_in_library;
|
||||||
if MakeStatic then
|
if MakeStatic then
|
||||||
outppu.header.flags:=outppu.header.flags or uf_static_linked
|
outppu.header.common.flags:=outppu.header.common.flags or uf_static_linked
|
||||||
else
|
else
|
||||||
outppu.header.flags:=outppu.header.flags or uf_shared_linked;
|
outppu.header.common.flags:=outppu.header.common.flags or uf_shared_linked;
|
||||||
{ read until the object files are found }
|
{ read until the object files are found }
|
||||||
untilb:=iblinkunitofiles;
|
untilb:=iblinkunitofiles;
|
||||||
repeat
|
repeat
|
||||||
|
@ -31,6 +31,7 @@ uses
|
|||||||
constexp,
|
constexp,
|
||||||
symconst,
|
symconst,
|
||||||
ppu,
|
ppu,
|
||||||
|
entfile,
|
||||||
systems,
|
systems,
|
||||||
globals,
|
globals,
|
||||||
globtype,
|
globtype,
|
||||||
@ -2555,9 +2556,9 @@ begin
|
|||||||
toaddr :
|
toaddr :
|
||||||
begin
|
begin
|
||||||
Write(['Address : ',getaword]);
|
Write(['Address : ',getaword]);
|
||||||
if tsystemcpu(ppufile.header.cpu)=cpu_i386 then
|
if tsystemcpu(ppufile.header.common.cpu)=cpu_i386 then
|
||||||
Write([' (Far: ',getbyte<>0,')']);
|
Write([' (Far: ',getbyte<>0,')']);
|
||||||
if tsystemcpu(ppufile.header.cpu)=cpu_i8086 then
|
if tsystemcpu(ppufile.header.common.cpu)=cpu_i8086 then
|
||||||
if getbyte<>0 then
|
if getbyte<>0 then
|
||||||
Write([' (Far: TRUE, Segment=',getaword,')'])
|
Write([' (Far: TRUE, Segment=',getaword,')'])
|
||||||
else
|
else
|
||||||
@ -2585,7 +2586,7 @@ begin
|
|||||||
write ([space,' DefaultConst : ']);
|
write ([space,' DefaultConst : ']);
|
||||||
readderef('');
|
readderef('');
|
||||||
if (vo_has_mangledname in varoptions) then
|
if (vo_has_mangledname in varoptions) then
|
||||||
if tsystemcpu(ppufile.header.cpu)=cpu_jvm then
|
if tsystemcpu(ppufile.header.common.cpu)=cpu_jvm then
|
||||||
writeln([space,'AMangledname : ',getansistring])
|
writeln([space,'AMangledname : ',getansistring])
|
||||||
else
|
else
|
||||||
writeln([space,'SMangledname : ',getstring]);
|
writeln([space,'SMangledname : ',getstring]);
|
||||||
@ -2765,7 +2766,7 @@ begin
|
|||||||
write ([space,' Pointed Type : ']);
|
write ([space,' Pointed Type : ']);
|
||||||
readderef('',TPpuPointerDef(def).Ptr);
|
readderef('',TPpuPointerDef(def).Ptr);
|
||||||
writeln([space,' Has Pointer Math : ',(getbyte<>0)]);
|
writeln([space,' Has Pointer Math : ',(getbyte<>0)]);
|
||||||
if tsystemcpu(ppufile.header.cpu) in [cpu_i8086,cpu_i386,cpu_x86_64] then
|
if tsystemcpu(ppufile.header.common.cpu) in [cpu_i8086,cpu_i386,cpu_x86_64] then
|
||||||
begin
|
begin
|
||||||
write([space,' X86 Pointer Type : ']);
|
write([space,' X86 Pointer Type : ']);
|
||||||
b:=getbyte;
|
b:=getbyte;
|
||||||
@ -2989,7 +2990,7 @@ begin
|
|||||||
writeln([space,' Range : ',arrdef.RangeLow,' to ',arrdef.RangeHigh]);
|
writeln([space,' Range : ',arrdef.RangeLow,' to ',arrdef.RangeHigh]);
|
||||||
write ([space,' Options : ']);
|
write ([space,' Options : ']);
|
||||||
readarraydefoptions(arrdef);
|
readarraydefoptions(arrdef);
|
||||||
if tsystemcpu(ppufile.header.cpu)=cpu_i8086 then
|
if tsystemcpu(ppufile.header.common.cpu)=cpu_i8086 then
|
||||||
writeln([space,' Huge : ',(getbyte<>0)]);
|
writeln([space,' Huge : ',(getbyte<>0)]);
|
||||||
readsymtable('symbols', arrdef);
|
readsymtable('symbols', arrdef);
|
||||||
end;
|
end;
|
||||||
@ -3000,7 +3001,7 @@ begin
|
|||||||
readcommondef('Procedure definition',defoptions,def);
|
readcommondef('Procedure definition',defoptions,def);
|
||||||
read_abstract_proc_def(calloption,procoptions,TPpuProcDef(def));
|
read_abstract_proc_def(calloption,procoptions,TPpuProcDef(def));
|
||||||
if (po_has_mangledname in procoptions) then
|
if (po_has_mangledname in procoptions) then
|
||||||
if tsystemcpu(ppufile.header.cpu)=cpu_jvm then
|
if tsystemcpu(ppufile.header.common.cpu)=cpu_jvm then
|
||||||
writeln([space,' Mangled name : ',getansistring])
|
writeln([space,' Mangled name : ',getansistring])
|
||||||
else
|
else
|
||||||
writeln([space,' Mangled name : ',getstring]);
|
writeln([space,' Mangled name : ',getstring]);
|
||||||
@ -3017,7 +3018,7 @@ begin
|
|||||||
write ([space,' SymOptions : ']);
|
write ([space,' SymOptions : ']);
|
||||||
readsymoptions(space+' ');
|
readsymoptions(space+' ');
|
||||||
writeln ([space,' Synthetic kind : ',Synthetic2Str(ppufile.getbyte)]);
|
writeln ([space,' Synthetic kind : ',Synthetic2Str(ppufile.getbyte)]);
|
||||||
if tsystemcpu(ppufile.header.cpu)=cpu_powerpc then
|
if tsystemcpu(ppufile.header.common.cpu)=cpu_powerpc then
|
||||||
begin
|
begin
|
||||||
{ library symbol for AmigaOS/MorphOS }
|
{ library symbol for AmigaOS/MorphOS }
|
||||||
write ([space,' Library symbol : ']);
|
write ([space,' Library symbol : ']);
|
||||||
@ -3086,7 +3087,7 @@ begin
|
|||||||
{ parast }
|
{ parast }
|
||||||
readsymtable('parast',TPpuProcDef(def));
|
readsymtable('parast',TPpuProcDef(def));
|
||||||
delete(space,1,4);
|
delete(space,1,4);
|
||||||
if tsystemcpu(ppufile.header.cpu)=cpu_jvm then
|
if tsystemcpu(ppufile.header.common.cpu)=cpu_jvm then
|
||||||
readderef('');
|
readderef('');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -3342,7 +3343,7 @@ begin
|
|||||||
readsymtable('elements',enumdef);
|
readsymtable('elements',enumdef);
|
||||||
delete(space,1,4);
|
delete(space,1,4);
|
||||||
end;
|
end;
|
||||||
if tsystemcpu(ppufile.header.cpu)=cpu_jvm then
|
if tsystemcpu(ppufile.header.common.cpu)=cpu_jvm then
|
||||||
begin
|
begin
|
||||||
write([space,' Class def : ']);
|
write([space,' Class def : ']);
|
||||||
readderef('');
|
readderef('');
|
||||||
@ -3681,13 +3682,13 @@ begin
|
|||||||
Writeln('-------');
|
Writeln('-------');
|
||||||
with ppufile.header do
|
with ppufile.header do
|
||||||
begin
|
begin
|
||||||
Writeln(['Compiler version : ',ppufile.header.compiler shr 14,'.',
|
Writeln(['Compiler version : ',ppufile.header.common.compiler shr 14,'.',
|
||||||
(ppufile.header.compiler shr 7) and $7f,'.',
|
(ppufile.header.common.compiler shr 7) and $7f,'.',
|
||||||
ppufile.header.compiler and $7f]);
|
ppufile.header.common.compiler and $7f]);
|
||||||
WriteLn(['Target processor : ',Cpu2Str(cpu)]);
|
WriteLn(['Target processor : ',Cpu2Str(common.cpu)]);
|
||||||
WriteLn(['Target operating system : ',Target2Str(target)]);
|
WriteLn(['Target operating system : ',Target2Str(common.target)]);
|
||||||
Writeln(['Unit flags : ',PPUFlags2Str(flags)]);
|
Writeln(['Unit flags : ',PPUFlags2Str(common.flags)]);
|
||||||
Writeln(['FileSize (w/o header) : ',size]);
|
Writeln(['FileSize (w/o header) : ',common.size]);
|
||||||
Writeln(['Checksum : ',hexstr(checksum,8)]);
|
Writeln(['Checksum : ',hexstr(checksum,8)]);
|
||||||
Writeln(['Interface Checksum : ',hexstr(interface_checksum,8)]);
|
Writeln(['Interface Checksum : ',hexstr(interface_checksum,8)]);
|
||||||
Writeln(['Indirect Checksum : ',hexstr(indirect_checksum,8)]);
|
Writeln(['Indirect Checksum : ',hexstr(indirect_checksum,8)]);
|
||||||
@ -3700,8 +3701,8 @@ begin
|
|||||||
begin
|
begin
|
||||||
CurUnit.Crc:=checksum;
|
CurUnit.Crc:=checksum;
|
||||||
CurUnit.IntfCrc:=interface_checksum;
|
CurUnit.IntfCrc:=interface_checksum;
|
||||||
CurUnit.TargetCPU:=Cpu2Str(cpu);
|
CurUnit.TargetCPU:=Cpu2Str(common.cpu);
|
||||||
CurUnit.TargetOS:=Target2Str(target);
|
CurUnit.TargetOS:=Target2Str(common.target);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{read the general stuff}
|
{read the general stuff}
|
||||||
@ -3783,7 +3784,7 @@ begin
|
|||||||
Writeln('Implementation symtable');
|
Writeln('Implementation symtable');
|
||||||
Writeln('----------------------');
|
Writeln('----------------------');
|
||||||
readsymtableoptions('implementation');
|
readsymtableoptions('implementation');
|
||||||
if (ppufile.header.flags and uf_local_symtable)<>0 then
|
if (ppufile.header.common.flags and uf_local_symtable)<>0 then
|
||||||
begin
|
begin
|
||||||
if (verbose and v_defs)<>0 then
|
if (verbose and v_defs)<>0 then
|
||||||
begin
|
begin
|
||||||
|
@ -73,7 +73,8 @@ implementation
|
|||||||
uses
|
uses
|
||||||
globals,
|
globals,
|
||||||
symdef,
|
symdef,
|
||||||
verbose;
|
verbose,
|
||||||
|
entfile;
|
||||||
|
|
||||||
procedure tunitwpoinfo.clearderefinfo;
|
procedure tunitwpoinfo.clearderefinfo;
|
||||||
begin
|
begin
|
||||||
|
Loading…
Reference in New Issue
Block a user