mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-16 04:49:19 +02:00
*** empty log message ***
This commit is contained in:
parent
3413faf00d
commit
744d6d85b2
@ -55,10 +55,13 @@ unit agppcgas;
|
|||||||
var
|
var
|
||||||
i : longint;
|
i : longint;
|
||||||
begin
|
begin
|
||||||
for i:=0 to 31 do
|
if (target_info.system <> system_powerpc_darwin) then
|
||||||
AsmWriteln(#9'.set'#9'r'+tostr(i)+','+tostr(i));
|
begin
|
||||||
for i:=0 to 31 do
|
for i:=0 to 31 do
|
||||||
AsmWriteln(#9'.set'#9'f'+tostr(i)+','+tostr(i));
|
AsmWriteln(#9'.set'#9'r'+tostr(i)+','+tostr(i));
|
||||||
|
for i:=0 to 31 do
|
||||||
|
AsmWriteln(#9'.set'#9'f'+tostr(i)+','+tostr(i));
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
const
|
const
|
||||||
@ -82,7 +85,30 @@ unit agppcgas;
|
|||||||
'.stab','.stabstr','COMMON')
|
'.stab','.stabstr','COMMON')
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
as_ppc_gas_darwin_info : tasminfo =
|
||||||
|
(
|
||||||
|
id : as_darwin;
|
||||||
|
|
||||||
|
idtxt : 'AS-Darwin';
|
||||||
|
asmbin : 'as';
|
||||||
|
asmcmd : '-o $OBJ $ASM';
|
||||||
|
supported_target : system_any;
|
||||||
|
outputbinary: false;
|
||||||
|
allowdirect : true;
|
||||||
|
needar : true;
|
||||||
|
labelprefix_only_inside_procedure : false;
|
||||||
|
labelprefix : 'L';
|
||||||
|
comment : '# ';
|
||||||
|
secnames : ('',
|
||||||
|
'.text','.data','.text',
|
||||||
|
'','','','','','',
|
||||||
|
'.stab','.stabstr','COMMON')
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
symaddr2str: array[trefsymaddr] of string[3] = ('','@ha','@l');
|
symaddr2str: array[trefsymaddr] of string[3] = ('','@ha','@l');
|
||||||
|
symaddr2str_darwin: array[trefsymaddr] of string[4] = ('','ha16','lo16');
|
||||||
|
|
||||||
|
|
||||||
function getreferencestring(var ref : treference) : string;
|
function getreferencestring(var ref : treference) : string;
|
||||||
@ -97,10 +123,16 @@ unit agppcgas;
|
|||||||
internalerror(19991);
|
internalerror(19991);
|
||||||
if (symaddr = refs_full) then
|
if (symaddr = refs_full) then
|
||||||
s := ''
|
s := ''
|
||||||
else if not assigned(symbol) then
|
|
||||||
s := '('
|
|
||||||
else
|
else
|
||||||
s:='('+symbol.name;
|
begin
|
||||||
|
if target_info.system = system_powerpc_darwin then
|
||||||
|
s := symaddr2str_darwin[symaddr]
|
||||||
|
else
|
||||||
|
s :='';
|
||||||
|
s := s+'(';
|
||||||
|
if assigned(symbol) then
|
||||||
|
s:= s+symbol.name;
|
||||||
|
end;
|
||||||
if offset<0 then
|
if offset<0 then
|
||||||
s:=s+tostr(offset)
|
s:=s+tostr(offset)
|
||||||
else
|
else
|
||||||
@ -113,16 +145,23 @@ unit agppcgas;
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
if (symaddr <> refs_full) then
|
if (symaddr <> refs_full) then
|
||||||
s := s+')'+symaddr2str[symaddr];
|
begin
|
||||||
|
s := s+')';
|
||||||
|
if (target_info.system <> system_powerpc_darwin) then
|
||||||
|
s := s+symaddr2str[symaddr];
|
||||||
|
end;
|
||||||
|
|
||||||
if (index=NR_NO) and (base<>NR_NO) then
|
if (index=NR_NO) and (base<>NR_NO) then
|
||||||
begin
|
begin
|
||||||
if offset=0 then
|
if offset=0 then
|
||||||
begin
|
begin
|
||||||
if assigned(symbol) then
|
if assigned(symbol) then
|
||||||
s:=s+'+0'
|
begin
|
||||||
else
|
if target_info.system <> system_powerpc_darwin then
|
||||||
s:=s+'0';
|
s:=s+'+0'
|
||||||
|
end
|
||||||
|
else
|
||||||
|
s:=s+'0';
|
||||||
end;
|
end;
|
||||||
s:=s+'('+gas_regname(base)+')';
|
s:=s+'('+gas_regname(base)+')';
|
||||||
end
|
end
|
||||||
@ -330,10 +369,14 @@ unit agppcgas;
|
|||||||
|
|
||||||
begin
|
begin
|
||||||
RegisterAssembler(as_ppc_gas_info,TPPCGNUAssembler);
|
RegisterAssembler(as_ppc_gas_info,TPPCGNUAssembler);
|
||||||
|
RegisterAssembler(as_ppc_gas_darwin_info,TPPCGNUAssembler);
|
||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.38 2003-12-09 20:09:09 jonas
|
Revision 1.39 2004-01-04 21:12:47 jonas
|
||||||
|
*** empty log message ***
|
||||||
|
|
||||||
|
Revision 1.38 2003/12/09 20:09:09 jonas
|
||||||
* support writing of symbols with length 255
|
* support writing of symbols with length 255
|
||||||
|
|
||||||
Revision 1.37 2003/11/29 22:54:32 jonas
|
Revision 1.37 2003/11/29 22:54:32 jonas
|
||||||
|
@ -138,6 +138,7 @@ interface
|
|||||||
,as_i386_pecoffwdosx
|
,as_i386_pecoffwdosx
|
||||||
,as_m68k_mit
|
,as_m68k_mit
|
||||||
,as_powerpc_mpw
|
,as_powerpc_mpw
|
||||||
|
,as_darwin
|
||||||
);
|
);
|
||||||
|
|
||||||
tar = (ar_none
|
tar = (ar_none
|
||||||
@ -650,7 +651,10 @@ finalization
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.75 2003-12-20 12:38:51 florian
|
Revision 1.76 2004-01-04 21:12:47 jonas
|
||||||
|
*** empty log message ***
|
||||||
|
|
||||||
|
Revision 1.75 2003/12/20 12:38:51 florian
|
||||||
* some x86-64 compilation fixe
|
* some x86-64 compilation fixe
|
||||||
|
|
||||||
Revision 1.74 2003/11/29 15:53:06 florian
|
Revision 1.74 2003/11/29 15:53:06 florian
|
||||||
|
Loading…
Reference in New Issue
Block a user