fpc/rtl/bsd
svenbarth f406867100 Merged revision(s) 31929-31931,32547 from branches/svenbarth/packages:
Switch Mac OS X to indirect entry information.

compiler/systems/t_bsd.pas, TLinkerBSD:
  + implement InitSysInitUnitName
compiler/system.pas:
  * systems_internal_sysinit: add Darwin systems
compiler/hlcgobj.pas, thlcgobj:
  * gen_proc_symbol_end: for Darwin systems don't directly call PascalMain for libraries, but FPC_LIBMAIN instead
rtl/darwin:
  + add sysinit.pas unit which contains the executable and library entry points for Darwin
rtl/darwin/Makefile.fpc:
  * add sysinit unit
rtl/bsd/sysosh.inc:
  + add a Darwin specific TPlatformEntryInformation (could probably be used for all Unix systems...)
rtl/bsd/system.pp:
  * define FPC_HAS_INDIRECT_MAIN_INFORMATION for Darwin systems once we're no longer bootstrapping with 2.6.x
  + add EntryInformation variable (this could maybe moved to system.inc...)
  + add new procedure SysEntry that is called from the entrypoint and which sets up necessary information required by other parts of the RTL
  * the old FPC_SYSTEMMAIN is still in place for bootstrapping
rtl/inc/systemh.inc, TEntryInformation:
  * PascalMain is cdecl on non-Windows systems (ToDo: really?)
rtl/inc/system.inc:
  * initialstklen is provided by the indirect entry information, so no external here
........
Fix bootstrapping.

rtl/darwin/sysinit.pas:
  * enable the code only when no longer bootstrapping with 2.6.x
........
Fix bootstrapping.

rtl/objpas/objpas.pp:
  * define FPC_HAS_INDIRECT_MAIN_INFORMATION for Darwin only while not bootstrapping with 2.6.x
........
rtl/darwin/sysinit.pas:
  * reference PASCALMAIN correctly (I wonder how this even worked previously :/ )

git-svn-id: trunk@33949 -
2016-06-11 20:29:51 +00:00
..
i386 * i386-*bsd: cleaned out handwritten assembler threadvar access from syscall code. 2014-04-28 06:21:54 +00:00
powerpc * updated address of FSF (mantis #24646, patch by Alexey Svistunov) 2013-06-27 14:01:18 +00:00
x86_64 * x86_64-*bsd: cleaned out handwritten assembler threadvar access from syscall code. 2014-05-15 16:29:50 +00:00
bsd.pas
bunxfunch.inc
bunxsysc.inc Pipe syscall for DragonFly also uses EAX:EDX for result, like FreeBSD 2015-07-14 21:58:27 +00:00
osdefs.inc * updated address of FSF (mantis #24646, patch by Alexey Svistunov) 2013-06-27 14:01:18 +00:00
osmacro.inc * updated address of FSF (mantis #24646, patch by Alexey Svistunov) 2013-06-27 14:01:18 +00:00
osmain.inc
ossysc.inc * fixed dirent handling for DragonFly BSD (patch by John Marino, 2015-12-24 10:54:47 +00:00
ostypes.inc * fixed dirent handling for DragonFly BSD (patch by John Marino, 2015-12-24 10:54:47 +00:00
readme.txt
suuid.inc
sysctl.pp * first dragonfly patch (existing most). Mantis #27091 2014-12-07 20:27:02 +00:00
sysos.inc * fix for mantis #25931 return error 5 on EBUSY and ENOTDIR 2016-03-17 21:14:07 +00:00
sysosh.inc Merged revision(s) 31929-31931,32547 from branches/svenbarth/packages: 2016-06-11 20:29:51 +00:00
system.pp Merged revision(s) 31929-31931,32547 from branches/svenbarth/packages: 2016-06-11 20:29:51 +00:00
unxsysch.inc

{
    $Id: readme.txt,v 1.2 2002/10/27 11:58:30 marco Exp $
    This file is part of the Free Pascal run time librar~y.
    Copyright (c) 2000 by Marco van de Voort
    member of the Free Pascal development team.

    Filellist and some notes about the *BSD RTL architecture.

    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.

 **********************************************************************}

*BSD commonly means FreeBSD, OpenBSD and NetBSD, but since Apple's Darwin
	has a FreeBSD userland, I also add Darwin to it. At least Darwin's
	userland seems to be compatible enough to be included, despite its
	internal Mach architecture.

Common *BSD files:

bsd.pa		BSD specific syscall functions
bsdmacro.inc		The POSIX mode_t (IS_DIR etc) and exit macro's.
bsdsysc.inc		The base syscalls for *BSD system unit.
			  including a few that are _not_ posix, but still
			  required in the system unit. All routines have
			  a public alias.
bsdsysch.inc		EXTERNAL declarations for the non-posix calls in
			bsdsysc.inc (to import them into e.g. Unix)
bsdtypes.inc		some non POSIX BSD types required for the
			syscalls and base functions.
bsdfuncs.inc		POSIX syscalls and functions that are not needed
			for system.
osposix.inc		The implementation of unit posix, redirects to libc
			 or bsdtypes.inc (via aliases)
osposixh.inc		The headers of unit posix.
sysctl.pp		Some basic sysctl headers, needed for implementation
			of POSIX functions.
sysposix.inc		BSD specific part of the implementation
i386/syscall.inc	The primitives for performing syscalls
i386/syscallh.inc	Headers to syscall.inc
powerpc/syscall.inc	likewise for PPC.