* mcount for linux fixed

* push/pop edx for mcount
This commit is contained in:
peter 2004-03-10 22:52:03 +00:00
parent 164a5bb1d4
commit 970d84f86d

View File

@ -1573,8 +1573,7 @@ unit cgx86;
system_i386_freebsd,
system_i386_netbsd,
// system_i386_openbsd,
system_i386_wdosx,
system_i386_linux:
system_i386_wdosx :
begin
Case target_info.system Of
system_i386_freebsd : mcountprefix:='.';
@ -1589,11 +1588,15 @@ unit cgx86;
list.concat(Tai_label.Create(pl));
list.concat(Tai_const.Create_32bit(0));
list.concat(Tai_section.Create(sec_code));
list.concat(Taicpu.Op_reg(A_PUSH,S_L,NR_EDX));
list.concat(Taicpu.Op_sym_ofs_reg(A_MOV,S_L,pl,0,NR_EDX));
a_call_name(list,target_info.Cprefix+mcountprefix+'mcount');
include(rg[R_INTREGISTER].used_in_proc,RS_EDX);
list.concat(Taicpu.Op_reg(A_POP,S_L,NR_EDX));
end;
system_i386_linux:
a_call_name(list,target_info.Cprefix+'mcount');
system_i386_go32v2,system_i386_watcom:
begin
a_call_name(list,'MCOUNT');
@ -1788,7 +1791,11 @@ unit cgx86;
end.
{
$Log$
Revision 1.117 2004-03-06 20:35:20 florian
Revision 1.118 2004-03-10 22:52:03 peter
* mcount for linux fixed
* push/pop edx for mcount
Revision 1.117 2004/03/06 20:35:20 florian
* fixed arm compilation
* cleaned up code generation for exported linux procedures