|
@@ -1665,6 +1665,13 @@ const pemagic : array[0..3] of byte = (
|
|
strname : string;
|
|
strname : string;
|
|
auxrec : array[0..17] of byte;
|
|
auxrec : array[0..17] of byte;
|
|
objsec : TObjSection;
|
|
objsec : TObjSection;
|
|
|
|
+
|
|
|
|
+ { keeps string manipulations out of main routine }
|
|
|
|
+ procedure UnsupportedSymbolType;
|
|
|
|
+ begin
|
|
|
|
+ Comment(V_Fatal,'Unsupported COFF symbol type '+tostr(sym.typ)+' at index '+tostr(symidx)+' while reading '+InputFileName);
|
|
|
|
+ end;
|
|
|
|
+
|
|
begin
|
|
begin
|
|
with TCoffObjData(objdata) do
|
|
with TCoffObjData(objdata) do
|
|
begin
|
|
begin
|
|
@@ -1738,8 +1745,7 @@ const pemagic : array[0..3] of byte = (
|
|
end;
|
|
end;
|
|
COFF_SYM_SECTION :
|
|
COFF_SYM_SECTION :
|
|
begin
|
|
begin
|
|
- if sym.section=0 then
|
|
|
|
- InputError('Failed reading coff file, illegal section');
|
|
|
|
|
|
+ { GetSection checks that index is in range }
|
|
objsec:=GetSection(sym.section);
|
|
objsec:=GetSection(sym.section);
|
|
if assigned(objsec) then
|
|
if assigned(objsec) then
|
|
begin
|
|
begin
|
|
@@ -1757,7 +1763,7 @@ const pemagic : array[0..3] of byte = (
|
|
COFF_SYM_FILE :
|
|
COFF_SYM_FILE :
|
|
;
|
|
;
|
|
else
|
|
else
|
|
- internalerror(200602232);
|
|
|
|
|
|
+ UnsupportedSymbolType;
|
|
end;
|
|
end;
|
|
FSymTbl^[symidx]:=objsym;
|
|
FSymTbl^[symidx]:=objsym;
|
|
{ read aux records }
|
|
{ read aux records }
|