mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-19 05:09:07 +02:00
* fixed sparc bootstrap
* use -Av9 assembler option so it accepts the memory barrier opcodes git-svn-id: trunk@8244 -
This commit is contained in:
parent
98ad33a0c7
commit
e205481027
@ -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');
|
||||||
|
@ -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';
|
||||||
|
@ -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}
|
||||||
|
Loading…
Reference in New Issue
Block a user