+ more symbian stuff from Felipe Monteiro de Carvalho

git-svn-id: trunk@7057 -
This commit is contained in:
florian 2007-04-03 15:46:43 +00:00
parent 38f8edae01
commit ef5c7a595d
4 changed files with 67 additions and 18 deletions

1
.gitattributes vendored
View File

@ -5254,6 +5254,7 @@ rtl/symbian/sysdir.inc svneol=native#text/plain
rtl/symbian/sysfile.inc svneol=native#text/plain
rtl/symbian/sysheap.inc svneol=native#text/plain
rtl/symbian/sysos.inc svneol=native#text/plain
rtl/symbian/sysosh.inc svneol=native#text/plain
rtl/symbian/system.pp svneol=native#text/plain
rtl/symbian/systhrd.inc svneol=native#text/plain
rtl/ucmaps/8859-1.txt svneol=native#text/plain

View File

@ -58,7 +58,7 @@ unit i_symbian;
Cprefix : '_';
newline : #13#10;
dirsep : '\';
assem : as_i386_pecoff;
assem : as_gas;
assemextern : as_gas;
link : nil;
linkextern : nil;

34
rtl/symbian/sysosh.inc Normal file
View File

@ -0,0 +1,34 @@
{
This file is part of the Free Pascal run time library.
Copyright (c) 2007 by contributors of the Free Pascal Compiler
This file implements all the base types and limits required
for a minimal POSIX compliant subset required to port the compiler
to a new OS.
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
{Platform specific information}
type
THandle = Longint;
TThreadID = THandle;
{ pthread_mutex_t }
PRTLCriticalSection = ^TRTLCriticalSection;
TRTLCriticalSection = record
__m_reserved: longint;
__m_count: longint;
__m_owner: pointer;
__m_kind: longint;
__m_lock: record
__status: sizeint;
__spinlock: longint;
end;
end;

View File

@ -152,31 +152,39 @@ begin
end;
{*****************************************************************************
Exit code and Entry Point
System Dependent Exit code
*****************************************************************************}
procedure PascalMain; stdcall; external name 'PASCALMAIN';
procedure fpc_do_exit; stdcall; external name 'FPC_DO_EXIT';
//procedure PascalMain; stdcall; external name 'PASCALMAIN';
//procedure fpc_do_exit; stdcall; external name 'FPC_DO_EXIT';
Procedure system_exit;
begin
end;
var
{ value of the stack segment
to check if the call stack can be written on exceptions }
_SS : Cardinal;
function Pascal_E32Main: Integer; cdecl; [public, alias: '_Pascal_E32Main'];
var
ST : pointer;
begin
IsLibrary := false;
// PascalMain;
{ if we pass here there was no error }
system_exit;
end;
procedure SysInitStdIO;
begin
end;
procedure _E32Startup; stdcall; public name '_E32Startup';
begin
IsLibrary:=false;
PascalMain;
{ if we pass here there was no error }
fpc_do_exit;
end;
{*****************************************************************************
Process routines
*****************************************************************************}
(* ProcessID cached to avoid repeated calls to GetCurrentProcess. *)
var
@ -192,5 +200,11 @@ begin
result := stklen;
end;
{
const
Exe_entry_code : pointer = @Exe_entry;
Dll_entry_code : pointer = @Dll_entry;
}
begin
end.