mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-14 15:09:14 +02:00
* palmos patch from mazen
git-svn-id: trunk@2400 -
This commit is contained in:
parent
a9dbab1035
commit
54d4e9e4b9
@ -44,6 +44,9 @@ implementation
|
||||
{$ifndef NOTARGETGBA}
|
||||
,t_gba
|
||||
{$endif}
|
||||
{$ifndef NOTARGETPALMOS}
|
||||
,t_palmos
|
||||
{$endif}
|
||||
|
||||
{**************************************
|
||||
Assemblers
|
||||
|
@ -39,6 +39,9 @@ implementation
|
||||
,t_linux
|
||||
{$endif}
|
||||
,t_amiga
|
||||
{$ifndef NOTARGETPALMOS}
|
||||
,t_palmos
|
||||
{$endif}
|
||||
|
||||
{**************************************
|
||||
Assembler Readers
|
||||
|
@ -32,15 +32,12 @@ unit i_palmos;
|
||||
system : system_m68k_PalmOS;
|
||||
name : 'PalmOS';
|
||||
shortname : 'PalmOS';
|
||||
flags : [tf_code_small,tf_static_a5_based];
|
||||
flags : [tf_code_small,tf_static_reg_based,tf_smartlink_sections];
|
||||
cpu : cpu_m68k;
|
||||
short_name : 'PALMOS';
|
||||
unit_env : 'PALMUNITS';
|
||||
extradefines : '';
|
||||
sharedlibext : '.so';
|
||||
staticlibext : '.a';
|
||||
exeext : '';
|
||||
defext : '';
|
||||
defext : '.def';
|
||||
scriptext : '.sh';
|
||||
smartext : '.sl';
|
||||
unitext : '.ppu';
|
||||
@ -49,27 +46,44 @@ unit i_palmos;
|
||||
objext : '.o';
|
||||
resext : '.res';
|
||||
resobjext : '.or';
|
||||
sharedlibext : '.so';
|
||||
staticlibext : '.a';
|
||||
staticlibprefix : 'libp';
|
||||
sharedlibprefix : 'lib';
|
||||
p_ext_support : false;
|
||||
sharedClibext : '.so';
|
||||
staticClibext : '.a';
|
||||
staticClibprefix : 'lib';
|
||||
sharedClibprefix : 'lib';
|
||||
Cprefix : '_';
|
||||
newline : #10;
|
||||
dirsep : '/';
|
||||
files_case_relevent : true;
|
||||
assem : as_gas;
|
||||
assemextern : as_gas;
|
||||
link : ld_m68k_palmos;
|
||||
linkextern : ld_m68k_palmos;
|
||||
ar : ar_m68k_ar;
|
||||
link : nil;
|
||||
linkextern : nil;
|
||||
ar : ar_gnu_ar;
|
||||
res : res_none;
|
||||
dbg : dbg_stabs;
|
||||
script : script_unix;
|
||||
endian : endian_big;
|
||||
stackalignment : 2;
|
||||
maxCrecordalignment : 4;
|
||||
alignment :
|
||||
(
|
||||
procalign : 4;
|
||||
loopalign : 4;
|
||||
jumpalign : 0;
|
||||
constalignmin : 0;
|
||||
constalignmax : 4;
|
||||
varalignmin : 0;
|
||||
varalignmax : 4;
|
||||
localalignmin : 0;
|
||||
localalignmax : 4;
|
||||
recordalignmin : 0;
|
||||
recordalignmax : 2;
|
||||
maxCrecordalign : 4
|
||||
);
|
||||
first_parm_offset : 8;
|
||||
stacksize : 8192;
|
||||
DllScanSupported:false;
|
||||
use_function_relative_addresses : false
|
||||
abi : abi_default;
|
||||
);
|
||||
|
||||
res_m68k_palmos_info : tresinfo =
|
||||
|
@ -73,7 +73,7 @@ Function TLinkerPalmOS.WriteResponseFile : Boolean;
|
||||
Var
|
||||
linkres : TLinkRes;
|
||||
i : longint;
|
||||
HPath : PStringQueueItem;
|
||||
HPath : TStringListItem;
|
||||
s : string;
|
||||
linklibc : boolean;
|
||||
begin
|
||||
@ -98,7 +98,7 @@ begin
|
||||
|
||||
{ add objectfiles, start with crt0 always }
|
||||
{ using crt0, we should stick C compatible }
|
||||
LinkRes.AddFileName(FindObjectFile('crt0',''));
|
||||
LinkRes.AddFileName(FindObjectFile('crt0','',false));
|
||||
|
||||
{ main objectfiles }
|
||||
while not ObjectFiles.Empty do
|
||||
@ -163,7 +163,7 @@ var
|
||||
i : longint;
|
||||
begin
|
||||
if not(cs_link_extern in aktglobalswitches) then
|
||||
Message1(exec_i_linking,current_module^.exefilename^);
|
||||
Message1(exec_i_linking,current_module.exefilename^);
|
||||
|
||||
{ Create some replacements }
|
||||
StripStr:='';
|
||||
@ -180,9 +180,9 @@ begin
|
||||
SplitBinCmd(Info.ExeCmd[i],binstr,cmdstr);
|
||||
if binstr<>'' then
|
||||
begin
|
||||
Replace(cmdstr,'$EXE',MaybeQuote(current_module.exefilename^));
|
||||
Replace(cmdstr,'$EXE',MaybeQuoted(current_module.exefilename^));
|
||||
Replace(cmdstr,'$OPT',Info.ExtraOptions);
|
||||
Replace(cmdstr,'$RES',maybequoted(outputexedir+Info.ResName));
|
||||
Replace(cmdstr,'$RES',MaybeQuoted(outputexedir+Info.ResName));
|
||||
Replace(cmdstr,'$STRIP',StripStr);
|
||||
Replace(cmdstr,'$SCRIPT',FindUtil('palm.ld'));
|
||||
Replace(cmdstr,'$APPNAME',palmos_applicationname);
|
||||
@ -206,7 +206,7 @@ end;
|
||||
|
||||
initialization
|
||||
{$ifdef m68k}
|
||||
RegisterTarget(target_m68k_palmos_info);
|
||||
RegisterTarget(system_m68k_palmos_info);
|
||||
RegisterRes(res_m68k_palmos_info);
|
||||
{$endif m68k}
|
||||
end.
|
||||
|
Loading…
Reference in New Issue
Block a user