- removed aitconst_indirect_symbol, replaced with tai_directive

(patch by Dmitry Boyarintsev, mantis #15050)

git-svn-id: trunk@14157 -
This commit is contained in:
Jonas Maebe 2009-11-12 19:39:41 +00:00
parent 851b00f8e9
commit f7360d47c5
6 changed files with 10 additions and 24 deletions

View File

@ -99,7 +99,6 @@ interface
aitconst_rva_symbol, aitconst_rva_symbol,
aitconst_secrel32_symbol, aitconst_secrel32_symbol,
{ darwin only } { darwin only }
aitconst_indirect_symbol,
{ From gcc/config/darwin.c (darwin_asm_output_dwarf_delta): { From gcc/config/darwin.c (darwin_asm_output_dwarf_delta):
*** ***
Output a difference of two labels that will be an assembly time Output a difference of two labels that will be an assembly time
@ -432,7 +431,6 @@ interface
constructor Create_sym_offset(_sym:tasmsymbol;ofs:aint); constructor Create_sym_offset(_sym:tasmsymbol;ofs:aint);
constructor Create_rel_sym(_typ:taiconst_type;_sym,_endsym:tasmsymbol); constructor Create_rel_sym(_typ:taiconst_type;_sym,_endsym:tasmsymbol);
constructor Create_rva_sym(_sym:tasmsymbol); constructor Create_rva_sym(_sym:tasmsymbol);
constructor Create_indirect_sym(_sym:tasmsymbol);
constructor Createname(const name:string;ofs:aint); constructor Createname(const name:string;ofs:aint);
constructor ppuload(t:taitype;ppufile:tcompilerppufile);override; constructor ppuload(t:taitype;ppufile:tcompilerppufile);override;
procedure ppuwrite(ppufile:tcompilerppufile);override; procedure ppuwrite(ppufile:tcompilerppufile);override;
@ -1236,13 +1234,6 @@ implementation
end; end;
constructor tai_const.Create_indirect_sym(_sym:tasmsymbol);
begin
self.create_sym_offset(_sym,0);
consttype:=aitconst_indirect_symbol;
end;
constructor tai_const.Createname(const name:string;ofs:aint); constructor tai_const.Createname(const name:string;ofs:aint);
begin begin
self.create_sym_offset(current_asmdata.RefAsmSymbol(name),ofs); self.create_sym_offset(current_asmdata.RefAsmSymbol(name),ofs);
@ -1295,7 +1286,6 @@ implementation
result:=4; result:=4;
aitconst_64bit : aitconst_64bit :
result:=8; result:=8;
aitconst_indirect_symbol,
aitconst_secrel32_symbol, aitconst_secrel32_symbol,
aitconst_rva_symbol : aitconst_rva_symbol :
if target_info.system=system_x86_64_win64 then if target_info.system=system_x86_64_win64 then

View File

@ -214,7 +214,7 @@ implementation
ait_const2str : array[aitconst_128bit..aitconst_darwin_dwarf_delta32] of string[20]=( ait_const2str : array[aitconst_128bit..aitconst_darwin_dwarf_delta32] of string[20]=(
#9'.fixme128'#9,#9'.quad'#9,#9'.long'#9,#9'.short'#9,#9'.byte'#9, #9'.fixme128'#9,#9'.quad'#9,#9'.long'#9,#9'.short'#9,#9'.byte'#9,
#9'.sleb128'#9,#9'.uleb128'#9, #9'.sleb128'#9,#9'.uleb128'#9,
#9'.rva'#9,#9'.secrel32'#9,#9'.indirect_symbol'#9,#9'.quad'#9,#9'.long'#9 #9'.rva'#9,#9'.secrel32'#9,#9'.quad'#9,#9'.long'#9
); );
{****************************************************************************} {****************************************************************************}
@ -828,7 +828,6 @@ implementation
aitconst_8bit, aitconst_8bit,
aitconst_rva_symbol, aitconst_rva_symbol,
aitconst_secrel32_symbol, aitconst_secrel32_symbol,
aitconst_indirect_symbol,
aitconst_darwin_dwarf_delta32, aitconst_darwin_dwarf_delta32,
aitconst_darwin_dwarf_delta64: aitconst_darwin_dwarf_delta64:
begin begin

View File

@ -3816,9 +3816,9 @@ implementation
l:=current_asmdata.DefineAsmSymbol('L'+symname+'$non_lazy_ptr',AB_LOCAL,AT_DATA); l:=current_asmdata.DefineAsmSymbol('L'+symname+'$non_lazy_ptr',AB_LOCAL,AT_DATA);
current_asmdata.asmlists[al_picdata].concat(tai_symbol.create(l,0)); current_asmdata.asmlists[al_picdata].concat(tai_symbol.create(l,0));
if not(weak) then if not(weak) then
current_asmdata.asmlists[al_picdata].concat(tai_const.create_indirect_sym(current_asmdata.RefAsmSymbol(symname))) current_asmdata.asmlists[al_picdata].concat(tai_directive.Create(asd_indirect_symbol,current_asmdata.RefAsmSymbol(symname).Name))
else else
current_asmdata.asmlists[al_picdata].concat(tai_const.create_indirect_sym(current_asmdata.WeakRefAsmSymbol(symname))); current_asmdata.asmlists[al_picdata].concat(tai_directive.Create(asd_indirect_symbol,current_asmdata.WeakRefAsmSymbol(symname).Name));
{$ifdef cpu64bitaddr} {$ifdef cpu64bitaddr}
current_asmdata.asmlists[al_picdata].concat(tai_const.create_64bit(0)); current_asmdata.asmlists[al_picdata].concat(tai_const.create_64bit(0));
{$else cpu64bitaddr} {$else cpu64bitaddr}

View File

@ -438,10 +438,10 @@ interface
const const
ait_const2str : array[aitconst_128bit..aitconst_indirect_symbol] of string[20]=( ait_const2str : array[aitconst_128bit..aitconst_secrel32_symbol] of string[20]=(
#9'FIXME_128BIT'#9,#9'FIXME_64BIT'#9,#9'DD'#9,#9'DW'#9,#9'DB'#9, #9'FIXME_128BIT'#9,#9'FIXME_64BIT'#9,#9'DD'#9,#9'DW'#9,#9'DB'#9,
#9'FIXME_SLEB128BIT'#9,#9'FIXME_ULEB128BIT'#9, #9'FIXME_SLEB128BIT'#9,#9'FIXME_ULEB128BIT'#9,
#9'RVA'#9,#9'SECREL32'#9,#9'FIXMEINDIRECT'#9 #9'RVA'#9,#9'SECREL32'#9
); );
procedure T386NasmAssembler.WriteSection(atype:TAsmSectiontype;const aname:string); procedure T386NasmAssembler.WriteSection(atype:TAsmSectiontype;const aname:string);
@ -678,8 +678,7 @@ interface
aitconst_16bit, aitconst_16bit,
aitconst_8bit, aitconst_8bit,
aitconst_rva_symbol, aitconst_rva_symbol,
aitconst_secrel32_symbol, aitconst_secrel32_symbol :
aitconst_indirect_symbol :
begin begin
AsmWrite(ait_const2str[tai_const(hp).consttype]); AsmWrite(ait_const2str[tai_const(hp).consttype]);
l:=0; l:=0;

View File

@ -879,8 +879,7 @@ interface
aitconst_32bit, aitconst_32bit,
aitconst_16bit, aitconst_16bit,
aitconst_8bit, aitconst_8bit,
aitconst_rva_symbol, aitconst_rva_symbol :
aitconst_indirect_symbol :
begin begin
AsmWrite(ait_const2str[consttype]); AsmWrite(ait_const2str[consttype]);
l:=0; l:=0;

View File

@ -419,10 +419,10 @@ implementation
end; end;
const const
ait_const2str : array[aitconst_128bit..aitconst_indirect_symbol] of string[20]=( ait_const2str : array[aitconst_128bit..aitconst_secrel32_symbol] of string[20]=(
#9''#9,#9'DQ'#9,#9'DD'#9,#9'DW'#9,#9'DB'#9, #9''#9,#9'DQ'#9,#9'DD'#9,#9'DW'#9,#9'DB'#9,
#9'FIXMESLEB',#9'FIXEMEULEB', #9'FIXMESLEB',#9'FIXEMEULEB',
#9'DD RVA'#9,#9'DD SECREL32'#9,#9'FIXMEINDIRECT'#9 #9'DD RVA'#9,#9'DD SECREL32'#9
); );
Function PadTabs(const p:string;addch:char):string; Function PadTabs(const p:string;addch:char):string;
@ -598,8 +598,7 @@ implementation
aitconst_16bit, aitconst_16bit,
aitconst_8bit, aitconst_8bit,
aitconst_rva_symbol, aitconst_rva_symbol,
aitconst_secrel32_symbol, aitconst_secrel32_symbol :
aitconst_indirect_symbol :
begin begin
AsmWrite(ait_const2str[consttype]); AsmWrite(ait_const2str[consttype]);
l:=0; l:=0;