mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-06-05 15:38:46 +02:00
+ more darwin i386 support
git-svn-id: trunk@2596 -
This commit is contained in:
parent
23868147a6
commit
c5243db965
@ -257,7 +257,8 @@ implementation
|
|||||||
case target_info.system of
|
case target_info.system of
|
||||||
system_i386_OS2,
|
system_i386_OS2,
|
||||||
system_i386_EMX : ;
|
system_i386_EMX : ;
|
||||||
system_powerpc_darwin :
|
system_powerpc_darwin,
|
||||||
|
system_i386_darwin:
|
||||||
begin
|
begin
|
||||||
if atype=sec_stub then
|
if atype=sec_stub then
|
||||||
AsmWrite('.section ');
|
AsmWrite('.section ');
|
||||||
@ -272,7 +273,7 @@ implementation
|
|||||||
AsmWrite(', "a", @progbits');
|
AsmWrite(', "a", @progbits');
|
||||||
sec_stub :
|
sec_stub :
|
||||||
begin
|
begin
|
||||||
if target_info.system=system_powerpc_darwin then
|
if (target_info.system in [system_powerpc_darwin,system_i386_darwin]) then
|
||||||
AsmWrite(',__symbol_stub1,symbol_stubs,pure_instructions,16');
|
AsmWrite(',__symbol_stub1,symbol_stubs,pure_instructions,16');
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -473,7 +474,7 @@ implementation
|
|||||||
begin
|
begin
|
||||||
if tai_align(hp).aligntype>1 then
|
if tai_align(hp).aligntype>1 then
|
||||||
begin
|
begin
|
||||||
if target_info.system <> system_powerpc_darwin then
|
if not(target_info.system in [system_powerpc_darwin,system_i386_darwin]) then
|
||||||
begin
|
begin
|
||||||
AsmWrite(#9'.balign '+tostr(tai_align(hp).aligntype));
|
AsmWrite(#9'.balign '+tostr(tai_align(hp).aligntype));
|
||||||
if tai_align(hp).use_op then
|
if tai_align(hp).use_op then
|
||||||
@ -506,7 +507,7 @@ implementation
|
|||||||
|
|
||||||
ait_datablock :
|
ait_datablock :
|
||||||
begin
|
begin
|
||||||
if target_info.system=system_powerpc_darwin then
|
if target_info.system in [system_powerpc_darwin,system_i386_darwin] then
|
||||||
begin
|
begin
|
||||||
{On Mac OS X you can't have common symbols in a shared
|
{On Mac OS X you can't have common symbols in a shared
|
||||||
library, since those are in the TEXT section and the text section is
|
library, since those are in the TEXT section and the text section is
|
||||||
|
@ -1690,8 +1690,7 @@ implementation
|
|||||||
{ call startup helpers from main program }
|
{ call startup helpers from main program }
|
||||||
if (current_procinfo.procdef.proctypeoption=potype_proginit) then
|
if (current_procinfo.procdef.proctypeoption=potype_proginit) then
|
||||||
begin
|
begin
|
||||||
if ((target_info.system = system_powerpc_darwin) or
|
if (target_info.system in [system_powerpc_darwin,system_i386_darwin,system_powerpc_macos]) and
|
||||||
(target_info.system = system_powerpc_macos)) and
|
|
||||||
not(current_module.islibrary) then
|
not(current_module.islibrary) then
|
||||||
begin
|
begin
|
||||||
{ the parameters are already in the right registers }
|
{ the parameters are already in the right registers }
|
||||||
|
@ -253,10 +253,8 @@ implementation
|
|||||||
asmlist[i]:=Taasmoutput.create;
|
asmlist[i]:=Taasmoutput.create;
|
||||||
|
|
||||||
{ PIC data }
|
{ PIC data }
|
||||||
{$ifdef powerpc}
|
if (target_info.system in [system_powerpc_darwin,system_i386_darwin]) then
|
||||||
if target_info.system=system_powerpc_darwin then
|
|
||||||
asmlist[al_picdata].concat(tai_directive.create(asd_non_lazy_symbol_pointer,''));
|
asmlist[al_picdata].concat(tai_directive.create(asd_non_lazy_symbol_pointer,''));
|
||||||
{$endif powerpc}
|
|
||||||
|
|
||||||
{ Resource strings }
|
{ Resource strings }
|
||||||
cresstr.resourcestrings:=Tresourcestrings.Create;
|
cresstr.resourcestrings:=Tresourcestrings.Create;
|
||||||
|
@ -942,7 +942,7 @@ implementation
|
|||||||
include(vs.varoptions,vo_is_C_var);
|
include(vs.varoptions,vo_is_C_var);
|
||||||
|
|
||||||
if (is_dll) and
|
if (is_dll) and
|
||||||
(target_info.system = system_powerpc_darwin) then
|
(target_info.system in [system_powerpc_darwin,system_i386_darwin]) then
|
||||||
C_Name := target_info.Cprefix+C_Name;
|
C_Name := target_info.Cprefix+C_Name;
|
||||||
|
|
||||||
if export_var then
|
if export_var then
|
||||||
|
Loading…
Reference in New Issue
Block a user