* fix ifdef to define elf32

This commit is contained in:
peter 2003-03-25 19:27:45 +00:00
parent 732743c991
commit 8481a902fd

View File

@ -77,7 +77,7 @@ var
Executable Loaders
****************************************************************************}
{$if netbsd or freebsd or linux or sunos}
{$if defined(netbsd) or defined(freebsd) or defined(linux) or defined(sunos)}
{$define ELF32}
{$endif}
@ -551,136 +551,6 @@ end;
{$endif beos}
{$ifdef netware}
{the nlm format is not documented but we have the sources for
binutils ;-) }
function LoadNlmNetware:boolean;
type str255 = string [255];
Const NLM_FileBegin = 'NetWare Loadable Module'#$1A;
NLM_InternalFixedHdrSize = 130;
NLM_InternalVersionHdrSize = 32;
NLM_InternalExtHdrSize = 124;
var HdrChk : string[24];
name : string [30];
valid : boolean;
dataOffset,align:longint;
function getByte : byte;
var b : byte;
begin
blockread (f, b, 1);
getByte := b;
end;
procedure skip (bytes : integer);
begin
seek (f, filepos (f)+bytes);
end;
procedure skipLString;
begin
skip (getByte+1);
end;
function getNullString : str255;
var c : char;
s : str255;
begin
s := '';
c := char (getbyte);
while (c <> #0) do
begin
s := s + c;
c := char (getbyte);
end;
getNullString := s;
end;
function getFixString (Len : byte) : str255;
var i : byte;
s : string;
begin
s := '';
for i := 1 to Len do
s := s + char (getbyte);
getFixString := s;
end;
procedure getLongint (var l : longint);
begin
blockread (f, l, 4);
end;
begin
LoadNlmNetware:=false;
stabofs:=-1;
stabstrofs:=-1;
processaddress := System.NetwareCodeStartAddress;
setlength(HdrChk,24);
blockread (f,HdrChk[1],24);
if HdrChk <> NLM_FileBegin then exit;
Seek (f, NLM_InternalFixedHdrSize);
{Read the Variable header}
skipLString; {Description}
skip (4 {Stacksize} + 4{Reserved} +5{oldThreadName});
skipLString; {ScreenName}
skipLString; {threadName}
dataOffset := 0;
valid := true;
repeat
name := getFixString (8);
if (name = 'VeRsIoN#') then
Skip (NLM_InternalVersionHdrSize-8)
else
if (name = 'CoPyRiGh') then
begin
skip(2); // T=
skipLString; {Copyright}
end else
if (name = 'MeSsAgEs') then
skip (NLM_InternalExtHdrSize - 8)
else
if (name = 'CuStHeAd') then
begin
Skip(4); {hdrLength}
getLongint (dataOffset);
Skip(4+8); {dataLength(4), dataStamp(8) or hdrLength-4 ?}
valid := false;
end else
Valid := false;
until not valid;
if dataOffset = 0 then exit;
Seek (F, dataOffset);
Repeat
Name := GetNullString;
align := 4 - ((length (Name) + 1) MOD 4);
Skip (align);
if (Name = '.stab') then
begin
getLongint (stabofs);
getLongint (stabcnt); {stabLength}
stabcnt:=stabcnt div sizeof(tstab);
end else
if (Name = '.stabstr') then
begin
getLongint (stabStrOfs);
Skip (4); {stabStrLength}
if stabofs <> 0 then name := ''; {skip other sections}
end else
Skip (8);
until Name = '';
LoadNlmNetware := (stabofs<>-1) and (stabstrofs<>-1);
end;
{$endif}
{****************************************************************************
Executable Open/Close
****************************************************************************}
@ -741,13 +611,6 @@ begin
OpenStabs:=true;
exit;
end;
{$endif}
{$ifdef netware}
if LoadNlmNetware then
begin
OpenStabs := true;
exit;
end;
{$endif}
CloseStabs;
end;
@ -910,7 +773,6 @@ end;
initialization
BackTraceStrFunc:=@StabBackTraceStr;
opened := false;
finalization
if opened then
@ -919,9 +781,8 @@ finalization
end.
{
$Log$
Revision 1.17 2003-03-17 15:30:06 armin
+ netware support
+ opened was not initialized
Revision 1.18 2003-03-25 19:27:45 peter
* fix ifdef to define elf32
Revision 1.16 2003/03/17 14:30:11 peter
* changed address parameter/return values to pointer instead
@ -950,4 +811,3 @@ end.
* more Renamefest
}