+ cond FPC_USE_CPREFIX (needs also some RTL changes)

this allows to use unit global vars as DLL exports
    (the underline prefix seems needed by dlltool)
This commit is contained in:
pierre 1999-11-20 01:22:18 +00:00
parent 8025581bfd
commit 221382d99c
5 changed files with 57 additions and 9 deletions

View File

@ -189,7 +189,11 @@ implementation
begin
new(r);
reset_reference(r^);
r^.symbol:=newasmsymbol('U_'+upper(target_info.system_unit)+io[doread]);
r^.symbol:=newasmsymbol(
{$ifdef FPC_USE_CPREFIX}
target_os.Cprefix+
{$endif FPC_USE_CPREFIX}
'U_'+upper(target_info.system_unit)+io[doread]);
emit_ref_reg(A_LEA,S_L,r,R_EDI)
end;
@ -1428,7 +1432,12 @@ implementation
end.
{
$Log$
Revision 1.78 1999-11-09 22:54:45 peter
Revision 1.79 1999-11-20 01:22:18 pierre
+ cond FPC_USE_CPREFIX (needs also some RTL changes)
this allows to use unit global vars as DLL exports
(the underline prefix seems needed by dlltool)
Revision 1.78 1999/11/09 22:54:45 peter
* fixed wrong asm with inc(qword), but not it's not correctly supported
Revision 1.77 1999/11/06 14:34:17 peter

View File

@ -102,7 +102,11 @@ implementation
begin
new(r);
reset_reference(r^);
r^.symbol:=stringdup('U_'+upper(target_info.system_unit)+io[byte(doread)]);
r^.symbol:=stringdup(
{$ifdef FPC_USE_CPREFIX}
target_os.Cprefix+
{$endif FPC_USE_CPREFIX}
'U_'+upper(target_info.system_unit)+io[byte(doread)]);
exprasmlist^.concat(new(paicpu,op_ref_reg(A_LEA,S_L,r,R_A0)))
end;
@ -899,7 +903,12 @@ implementation
end.
{
$Log$
Revision 1.18 1999-09-16 23:05:51 florian
Revision 1.19 1999-11-20 01:22:18 pierre
+ cond FPC_USE_CPREFIX (needs also some RTL changes)
this allows to use unit global vars as DLL exports
(the underline prefix seems needed by dlltool)
Revision 1.18 1999/09/16 23:05:51 florian
* m68k compiler is again compilable (only gas writer, no assembler reader)
Revision 1.17 1999/08/25 11:59:50 jonas

View File

@ -2843,7 +2843,11 @@ procedure mov_reg_to_dest(p : ptree; s : topsize; reg : tregister);
begin
new(hr);
reset_reference(hr^);
hr^.symbol:=newasmsymbol('U_SYSWIN32_ISCONSOLE');
hr^.symbol:=newasmsymbol(
{$ifdef FPC_USE_CPREFIX}
target_os.Cprefix+
{$endif FPC_USE_CPREFIX}
'U_SYSWIN32_ISCONSOLE');
if apptype=at_cui then
exprasmlist^.insert(new(paicpu,op_const_ref(A_MOV,S_B,
1,hr)))
@ -3447,7 +3451,12 @@ procedure mov_reg_to_dest(p : ptree; s : topsize; reg : tregister);
end.
{
$Log$
Revision 1.60 1999-11-17 17:04:58 pierre
Revision 1.61 1999-11-20 01:22:18 pierre
+ cond FPC_USE_CPREFIX (needs also some RTL changes)
this allows to use unit global vars as DLL exports
(the underline prefix seems needed by dlltool)
Revision 1.60 1999/11/17 17:04:58 pierre
* Notes/hints changes
Revision 1.59 1999/11/15 14:04:00 pierre

View File

@ -561,6 +561,9 @@ begin
begin
{ Specific info, which can be used in Makefiles }
case More[1] of
{$ifdef FPC_USE_CPREFIX}
'C' : QuickInfo('use C prefix');
{$endif FPC_USE_CPREFIX}
'S' : begin
case More[2] of
'O' : QuickInfo(source_os.shortname);
@ -1072,6 +1075,10 @@ begin
def_symbol('SYSTEMTVARREC');
def_symbol('INCLUDEOK');
def_symbol('NEWMM');
{$ifdef FPC_USE_CPREFIX}
{ default on next round }
def_symbol('FPC_USE_CPREFIX');
{$endif FPC_USE_CPREFIX}
{ some stuff for TP compatibility }
{$ifdef i386}
@ -1269,7 +1276,12 @@ end;
end.
{
$Log$
Revision 1.36 1999-11-15 17:42:40 pierre
Revision 1.37 1999-11-20 01:22:19 pierre
+ cond FPC_USE_CPREFIX (needs also some RTL changes)
this allows to use unit global vars as DLL exports
(the underline prefix seems needed by dlltool)
Revision 1.36 1999/11/15 17:42:40 pierre
* -g disables reloc section for win32
Revision 1.35 1999/11/12 11:03:50 peter

View File

@ -1147,7 +1147,11 @@
prefix:='_';
unitsymtable,
globalsymtable :
prefix:='U_'+owner^.name^+'_';
prefix:=
{$ifdef FPC_USE_CPREFIX}
target_os.Cprefix+
{$endif FPC_USE_CPREFIX}
'U_'+owner^.name^+'_';
else
Message(sym_e_invalid_call_tvarsymmangledname);
end;
@ -2188,7 +2192,12 @@
{
$Log$
Revision 1.127 1999-11-17 17:05:04 pierre
Revision 1.128 1999-11-20 01:22:20 pierre
+ cond FPC_USE_CPREFIX (needs also some RTL changes)
this allows to use unit global vars as DLL exports
(the underline prefix seems needed by dlltool)
Revision 1.127 1999/11/17 17:05:04 pierre
* Notes/hints changes
Revision 1.126 1999/11/15 22:00:48 peter