* 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}
def_system_macro('FPC_HAS_LWSYNC');
{$endif}
def_system_macro('FPC_HAS_MEMBAR');
{$if defined(x86) or defined(arm)}
def_system_macro('INTERNAL_BACKTRACE');

View File

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

View File

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