+ FPC_ARMEB and CPUARMEB similiar to FPC_ARMEL and CPUARMEL

git-svn-id: trunk@12907 -
This commit is contained in:
florian 2009-03-17 13:43:24 +00:00
parent 0efd37a4c9
commit 6e8a6790d1
3 changed files with 72 additions and 2 deletions

View File

@ -94,9 +94,13 @@
{$define cpuneedsdiv32helper}
{$define cputargethasfixedstack}
{ inherit FPC_ARMEL? }
{$if defined(CPUARMEL) and not(defined(FPC_OARM))}
{$if defined(CPUARMEL) and not(defined(FPC_OARM)) and not(defined(FPC_ARMEB))}
{$define FPC_ARMEL}
{$endif}
{ inherit FPC_ARMEB? }
{$if defined(CPUARMEB) and not(defined(FPC_OARM)) and not(defined(FPC_ARMEL))}
{$define FPC_ARMEB}
{$endif}
{$endif arm}
{$ifdef m68k}

View File

@ -40,8 +40,9 @@ program pp;
EXTERN_MSG Don't compile the msgfiles in the compiler, always
use external messagefiles, default for TP
FPC_ARMEL create an arm eabi compiler
FPC_ARMEB create an arm big endian compiler
FPC_OARM create an arm oabi compiler, only needed when the host
compiler is ARMEL
compiler is ARMEL or ARMEB
-----------------------------------------------------------------
cpuflags The target processor has status flags (on by default)
cpufpemu The target compiler will also support emitting software

View File

@ -600,6 +600,70 @@ unit i_linux;
abi : abi_eabi
);
{$else FPC_ARMEL}
{$ifdef FPC_ARMEB}
system_arm_linux_info : tsysteminfo =
(
system : system_arm_Linux;
name : 'Linux for ARMEB';
shortname : 'Linux';
flags : [tf_needs_symbol_size,tf_needs_symbol_type,tf_files_case_sensitive,
tf_use_function_relative_addresses,tf_requires_proper_alignment,
tf_smartlink_sections,tf_smartlink_library,tf_has_winlike_resources];
cpu : cpu_arm;
unit_env : 'LINUXUNITS';
extradefines : 'UNIX;HASUNIX;CPUARMEB';
exeext : '';
defext : '.def';
scriptext : '.sh';
smartext : '.sl';
unitext : '.ppu';
unitlibext : '.ppl';
asmext : '.s';
objext : '.o';
resext : '.res';
resobjext : '.or';
sharedlibext : '.so';
staticlibext : '.a';
staticlibprefix : 'libp';
sharedlibprefix : 'lib';
sharedClibext : '.so';
staticClibext : '.a';
staticClibprefix : 'lib';
sharedClibprefix : 'lib';
importlibprefix : 'libimp';
importlibext : '.a';
Cprefix : '';
newline : #10;
dirsep : '/';
assem : as_gas;
assemextern : as_gas;
link : nil;
linkextern : nil;
ar : ar_gnu_ar;
res : res_elf;
dbg : dbg_stabs;
script : script_unix;
endian : endian_big;
alignment :
(
procalign : 4;
loopalign : 4;
jumpalign : 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;
varalignmax : 4;
localalignmin : 4;
localalignmax : 8;
recordalignmin : 0;
recordalignmax : 4;
maxCrecordalign : 4
);
first_parm_offset : 8;
stacksize : 8*1024*1024;
abi : abi_default
);
{$else FPC_ARMEB}
system_arm_linux_info : tsysteminfo =
(
system : system_arm_Linux;
@ -662,6 +726,7 @@ unit i_linux;
stacksize : 8*1024*1024;
abi : abi_default
);
{$endif FPC_ARMEB}
{$endif FPC_ARMEL}
implementation