+ Register x86_64 Solaris

git-svn-id: trunk@14223 -
This commit is contained in:
pierre 2009-11-20 11:05:55 +00:00
parent 7686c36a62
commit db8f8e2637
2 changed files with 86 additions and 3 deletions

View File

@ -34,7 +34,10 @@ unit i_sunos;
system : system_i386_solaris;
name : 'Solaris for i386';
shortname : 'solaris';
flags : [tf_under_development,tf_files_case_sensitive,tf_use_function_relative_addresses,tf_smartlink_library,tf_has_winlike_resources];
flags : [tf_under_development,tf_needs_symbol_size,
tf_files_case_sensitive,tf_requires_proper_alignment,
tf_use_function_relative_addresses,
tf_smartlink_library,tf_has_winlike_resources];
cpu : cpu_i386;
unit_env : 'SOLARISUNITS';
extradefines : 'UNIX;LIBC;SUNOS;HASUNIX';
@ -90,13 +93,81 @@ unit i_sunos;
abi : abi_default;
);
system_x86_64_solaris_info : tsysteminfo =
(
system : system_x86_64_solaris;
name : 'Solaris for x86-64';
shortname : 'solaris';
flags : [tf_needs_symbol_size,tf_under_development,
tf_files_case_sensitive,tf_use_function_relative_addresses,
tf_requires_proper_alignment,tf_smartlink_library,
tf_has_winlike_resources];
cpu : cpu_x86_64;
unit_env : 'SOLARISUNITS';
extradefines : 'UNIX;LIBC;SUNOS;HASUNIX';
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{as_x86_64_elf64};
assemextern : as_gas;
link : nil;
linkextern : nil;
ar : ar_gnu_ar;
res : res_elf;
dbg : dbg_dwarf2;
script : script_unix;
endian : endian_little;
alignment :
(
procalign : 8;
loopalign : 4;
jumpalign : 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
varalignmax : 16;
localalignmin : 4;
localalignmax : 16;
recordalignmin : 0;
recordalignmax : 16;
maxCrecordalign : 8
);
first_parm_offset : 16;
stacksize : 8*1024*1024;
abi : abi_default
);
system_sparc_solaris_info : tsysteminfo =
(
system : system_sparc_solaris;
name : 'Solaris for SPARC';
shortname : 'solaris';
flags : [tf_needs_symbol_size,tf_under_development,tf_files_case_sensitive,tf_use_function_relative_addresses,
tf_requires_proper_alignment,tf_smartlink_library,tf_has_winlike_resources];
flags : [tf_needs_symbol_size,tf_under_development,
tf_files_case_sensitive,tf_use_function_relative_addresses,
tf_requires_proper_alignment,tf_smartlink_library,
tf_has_winlike_resources];
cpu : cpu_SPARC;
unit_env : 'SOLARISUNITS';
extradefines : 'UNIX;LIBC;SUNOS;HASUNIX';
@ -160,6 +231,11 @@ initialization
set_source_info(system_i386_solaris_info);
{$endif solaris}
{$endif CPU86}
{$ifdef CPUX86_64}
{$ifdef solaris}
set_source_info(system_x86_64_solaris_info);
{$endif solaris}
{$endif CPUX86_64}
{$ifdef CPUSparc}
{$ifdef solaris}
set_source_info(system_sparc_solaris_info);

View File

@ -466,6 +466,13 @@ initialization
RegisterTarget(system_i386_solaris_info);
{$endif i386}
{$ifdef x86_64}
RegisterExternalLinker(system_x86_64_solaris_info,TLinkersolaris);
RegisterImport(system_x86_64_solaris,TImportLibsolaris);
RegisterExport(system_x86_64_solaris,TExportLibsolaris);
RegisterTarget(system_x86_64_solaris_info);
{$endif x86_64}
{$ifdef sparc}
RegisterExternalLinker(system_sparc_solaris_info,TLinkersolaris);
RegisterImport(system_sparc_solaris,TImportLibsolaris);