* fixed sparc bootstrap

* use -Av9 assembler option so it accepts the memory barrier opcodes

git-svn-id: trunk@8244 -
This commit is contained in:
Jonas Maebe 2007-08-08 09:48:37 +00:00
parent 98ad33a0c7
commit e205481027
3 changed files with 8 additions and 1 deletions

View File

@ -2049,6 +2049,7 @@ begin
{$ifdef powerpc64} {$ifdef powerpc64}
def_system_macro('FPC_HAS_LWSYNC'); def_system_macro('FPC_HAS_LWSYNC');
{$endif} {$endif}
def_system_macro('FPC_HAS_MEMBAR');
{$if defined(x86) or defined(arm)} {$if defined(x86) or defined(arm)}
def_system_macro('INTERNAL_BACKTRACE'); def_system_macro('INTERNAL_BACKTRACE');

View File

@ -224,7 +224,7 @@ implementation
id : as_ggas; id : as_ggas;
idtxt : 'GAS'; idtxt : 'GAS';
asmbin : 'gas'; asmbin : 'gas';
asmcmd : '-o $OBJ $ASM'; asmcmd : '-Av9 -o $OBJ $ASM';
supported_target : system_any; supported_target : system_any;
flags : [af_allowdirect,af_needar,af_smartlink_sections]; flags : [af_allowdirect,af_needar,af_smartlink_sections];
labelprefix : '.L'; labelprefix : '.L';

View File

@ -522,9 +522,11 @@ const
procedure ReadBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif} procedure ReadBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif}
asm asm
{$ifdef FPC_HAS_MEMBAR}
ba,pt .L1 ba,pt .L1
membar LoadLoad membar LoadLoad
.L1: .L1:
{$endif}
end; end;
procedure ReadDependencyBarrier;{$ifdef SYSTEMINLINE}inline;{$endif} procedure ReadDependencyBarrier;{$ifdef SYSTEMINLINE}inline;{$endif}
@ -534,16 +536,20 @@ end;
procedure ReadWriteBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif} procedure ReadWriteBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif}
asm asm
{$ifdef FPC_HAS_MEMBAR}
ba,pt .L1 ba,pt .L1
membar LoadLoad + LoadStore + StoreLoad + StoreStore membar LoadLoad + LoadStore + StoreLoad + StoreStore
.L1: .L1:
{$endif}
end; end;
procedure WriteBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif} procedure WriteBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif}
asm asm
{$ifdef FPC_HAS_MEMBAR}
ba,pt .L1 ba,pt .L1
stbar stbar
.L1: .L1:
{$endif}
end; end;
{$endif} {$endif}