fpc/packages/base/libc
Jonas Maebe c13ff3729b * Merged 2.3 branch changes:
+ darwin/ppc64 support
    + val/str/read(ln)/write(ln) support for enums
    + simple cse at the node tree level
    + if-node simplify support
    + simple ssa support for memory locations
    + support for optional overflow/rangecheck boolean parameters for
      operators
    * a lot of unification of the ppc32/ppc64 code generators


........
r6380 | jonas | 2007-02-08 21:25:36 +0100 (Thu, 08 Feb 2007) | 4 lines
Changed paths:
   M /branches/fpc_2_3/compiler/ncgld.pas
   M /branches/fpc_2_3/compiler/tgobj.pas
   A /branches/fpc_2_3/tests/webtbs/tw8283.pp

  + support for replacing the memory location of a temp (including
    local variables) with that of another temp to avoid unnecessary
    copies (mantis #8283)

........
r6381 | jonas | 2007-02-08 22:53:36 +0100 (Thu, 08 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/nflw.pas
   A /branches/fpc_2_3/tests/webtbs/tw8282.pp

  + simplify support for ifn (based on patch by Florian)

........
r6386 | peter | 2007-02-09 13:48:53 +0100 (Fri, 09 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/htypechk.pas
   M /branches/fpc_2_3/compiler/ncal.pas
   M /branches/fpc_2_3/compiler/symconst.pas

  * overflow,rangecheck optional parameters for operators, patch from 8281

........
r6391 | jonas | 2007-02-09 23:52:13 +0100 (Fri, 09 Feb 2007) | 4 lines
Changed paths:
   M /branches/fpc_2_3/compiler/powerpc/agppcgas.pas
   M /branches/fpc_2_3/compiler/powerpc64/cpunode.pas
   D /branches/fpc_2_3/compiler/powerpc64/nppcinl.pas
   M /branches/fpc_2_3/compiler/ppcgen/ngppcinl.pas

  * merged fsqrt(s) support to common powerpc unit, activate for ppc32
    if -Op970 is used (still default for ppc64, since default cpu there
    is already ppc970)

........
r6394 | jonas | 2007-02-10 18:58:47 +0100 (Sat, 10 Feb 2007) | 4 lines
Changed paths:
   M /branches/fpc_2_3/compiler/powerpc/cgcpu.pas
   M /branches/fpc_2_3/compiler/powerpc64/cgcpu.pas
   M /branches/fpc_2_3/compiler/ppcgen/cgppc.pas

  * adapted a_jmp_name for darwin/ppc64
  * merged g_intf_wrapper for ppc32 and ppc64, and added darwin/ppc64
    support to it

........
r6396 | jonas | 2007-02-10 20:16:06 +0100 (Sat, 10 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/cgobj.pas

  + darwin/ppc64 support for g_indirect_sym_load

........
r6397 | jonas | 2007-02-10 20:22:49 +0100 (Sat, 10 Feb 2007) | 4 lines
Changed paths:
   M /branches/fpc_2_3/compiler/powerpc/cgcpu.pas
   M /branches/fpc_2_3/compiler/powerpc64/cgcpu.pas
   M /branches/fpc_2_3/compiler/ppcgen/cgppc.pas

  + darwin/ppc64 support to ppc64's fixref
  * moved ppc32 a_load_store to cgppc and use it for darwin/ppc64 as
    well (its relocatable symbols are only 32 bits large)

........
r6399 | jonas | 2007-02-10 22:02:37 +0100 (Sat, 10 Feb 2007) | 4 lines
Changed paths:
   M /branches/fpc_2_3/compiler/systems.pas

  + system_x86_64_darwin identifier
  + set default source system for system_x86_64_darwin and
    system_powerpc64_darwin

........
r6404 | jonas | 2007-02-10 23:01:23 +0100 (Sat, 10 Feb 2007) | 5 lines
Changed paths:
   M /branches/fpc_2_3/compiler/aasmdata.pas
   M /branches/fpc_2_3/compiler/aggas.pas
   M /branches/fpc_2_3/compiler/cgobj.pas
   M /branches/fpc_2_3/compiler/cgutils.pas
   M /branches/fpc_2_3/compiler/cresstr.pas
   M /branches/fpc_2_3/compiler/dbgdwarf.pas
   M /branches/fpc_2_3/compiler/dbgstabs.pas
   M /branches/fpc_2_3/compiler/ncgutil.pas
   M /branches/fpc_2_3/compiler/ogelf.pas
   M /branches/fpc_2_3/compiler/pdecvar.pas
   M /branches/fpc_2_3/compiler/pmodules.pas
   M /branches/fpc_2_3/compiler/symdef.pas
   M /branches/fpc_2_3/compiler/systems.pas

  + system_x86_64_darwin identifier
  + systems_darwin set which collects all darwin variants
  + added support for darwin/ppc64 and darwin/x86_64 where needed in
    the generic code

........
r6406 | jonas | 2007-02-10 23:24:32 +0100 (Sat, 10 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/cgobj.pas

  * ifdef cpu64 -> ifdef cpu64bit

........
r6409 | jonas | 2007-02-11 00:34:04 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/pdecvar.pas

  * fixed ppc64 compilation

........
r6413 | jonas | 2007-02-11 12:41:27 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/rtl/bsd/system.pp
   M /branches/fpc_2_3/rtl/darwin/powerpc/sig_cpu.inc
   M /branches/fpc_2_3/rtl/darwin/signal.inc

  + darwin/ppc64 support for signal routines

........
r6415 | jonas | 2007-02-11 13:54:53 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/systems/i_linux.pas

  * set abi of linux/ppc64 to abi_powerpc_sysv

........
r6416 | jonas | 2007-02-11 13:55:51 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/powerpc64/cputarg.pas
   M /branches/fpc_2_3/compiler/systems/i_bsd.pas
   M /branches/fpc_2_3/compiler/systems/t_bsd.pas

  + darwin/ppc64 source and target information

........
r6418 | jonas | 2007-02-11 14:19:55 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/rtl/powerpc64/math.inc

  * darwin/ppc64 compilation fixes

........
r6419 | jonas | 2007-02-11 14:22:22 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/powerpc/cgcpu.pas
   M /branches/fpc_2_3/compiler/powerpc64/cgcpu.pas
   M /branches/fpc_2_3/compiler/ppcgen/cgppc.pas

  * darwin/ppc64 needs the 32 bit version of a_loadaddr_ref_reg

........
r6420 | jonas | 2007-02-11 14:22:55 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/utils/fpcm/fpcmmain.pp

  + darwin/ppc64 support

........
r6426 | jonas | 2007-02-11 16:13:19 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/powerpc64/rappcgas.pas

  * fixed refaddr parsing for darwin/ppc64

........
r6427 | jonas | 2007-02-11 16:14:21 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/powerpc/agppcgas.pas
   M /branches/fpc_2_3/compiler/powerpc64/agppcgas.pas
   A /branches/fpc_2_3/compiler/ppcgen/agppcutl.pas

  * moved ppc32/ppc64 assembler writer helpers to a common unit

........
r6430 | jonas | 2007-02-11 17:53:23 +0100 (Sun, 11 Feb 2007) | 4 lines
Changed paths:
   D /branches/fpc_2_3/rtl/darwin/powerpc/sig_cpu.inc
   D /branches/fpc_2_3/rtl/darwin/powerpc/sighnd.inc
   A /branches/fpc_2_3/rtl/darwin/powerpc64
   A /branches/fpc_2_3/rtl/darwin/powerpc64/sig_cpu.inc
   A /branches/fpc_2_3/rtl/darwin/powerpc64/sighnd.inc
   A /branches/fpc_2_3/rtl/darwin/ppcgen
   A /branches/fpc_2_3/rtl/darwin/ppcgen/ppchnd.inc (from /branches/fpc_2_3/rtl/darwin/powerpc/sighnd.inc:6422)
   A /branches/fpc_2_3/rtl/darwin/ppcgen/sig_ppc.inc (from /branches/fpc_2_3/rtl/darwin/powerpc/sig_cpu.inc:6422)
   M /branches/fpc_2_3/rtl/darwin/signal.inc

  * fixed ppc/ppc64 signal include handling (both real files are in
    ppcgen, dummies in powerpc and powerpc64 which include those files)
    (1st step because pre-commit filter can't handle replaced files)

........
r6431 | jonas | 2007-02-11 17:53:47 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   A /branches/fpc_2_3/rtl/darwin/powerpc/sig_cpu.inc
   A /branches/fpc_2_3/rtl/darwin/powerpc/sighnd.inc

  * second step of signal include patch

........
r6432 | jonas | 2007-02-11 19:00:12 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/systems/t_bsd.pas

  * changed darwin checks to use systems_darwin constant

........
r6433 | jonas | 2007-02-11 19:05:38 +0100 (Sun, 11 Feb 2007) | 3 lines
Changed paths:
   M /branches/fpc_2_3/compiler/powerpc64/cgcpu.pas

  * handle non-multiple-of-4 offsets with 64 bit loads/stores for
    darwin/ppc64

........
r6434 | jonas | 2007-02-11 19:05:56 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   D /branches/fpc_2_3/compiler/powerpc/agppcgas.pas
   D /branches/fpc_2_3/compiler/powerpc64/agppcgas.pas
   A /branches/fpc_2_3/compiler/ppcgen/agppcgas.pas (from /branches/fpc_2_3/compiler/ppcgen/agppcutl.pas:6427)
   D /branches/fpc_2_3/compiler/ppcgen/agppcutl.pas

  * completely merged ppc assembler writers

........
r6435 | jonas | 2007-02-11 19:06:40 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/rtl/darwin/console.pp
   M /branches/fpc_2_3/rtl/darwin/termiosproc.inc

  * fixed 64 bit compilation

........
r6436 | jonas | 2007-02-11 19:09:28 +0100 (Sun, 11 Feb 2007) | 3 lines
Changed paths:
   M /branches/fpc_2_3/packages/extra/Makefile.fpc

  * universal interfaces aren't 64 bit ready yet -> only compile for
    darwin/ppc and darwin/i386

........
r6438 | jonas | 2007-02-11 19:22:34 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   A /branches/fpc_2_3/tests/test/cg/obj/darwin/powerpc64
   A /branches/fpc_2_3/tests/test/cg/obj/darwin/powerpc64/ctest.o
   A /branches/fpc_2_3/tests/test/cg/obj/darwin/powerpc64/tcext3.o
   A /branches/fpc_2_3/tests/test/cg/obj/darwin/powerpc64/tcext4.o
   A /branches/fpc_2_3/tests/test/cg/obj/darwin/powerpc64/tcext5.o

  + compiled for darwin/ppc64

........
r6439 | jonas | 2007-02-11 20:24:42 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/ppcgen/cgppc.pas

  * patch from Thomas to fix linux/ppc64

........
r6440 | jonas | 2007-02-11 20:25:15 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/systems.pas

  * fixed setting source OS for darwin/ppc64

........
r6444 | florian | 2007-02-11 22:24:20 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/globtype.pas
   M /branches/fpc_2_3/compiler/nopt.pas
   M /branches/fpc_2_3/compiler/nutils.pas
   M /branches/fpc_2_3/compiler/optcse.pas
   M /branches/fpc_2_3/compiler/psub.pas

+ first node cse implementation

........
r6445 | jonas | 2007-02-11 22:30:07 +0100 (Sun, 11 Feb 2007) | 6 lines
Changed paths:
   M /branches/fpc_2_3/compiler/cresstr.pas

  * hack to work around strange darwin/ppc64 linker bug: it seems to
    have problems if you put a global symbol at the end of a section
    without any data following (at least in case of the resource strings
    section) -> add dummy byte at the end for darwin/ppc64 (otherwise
    it messes up the address of the first symbol stub entry)

........
r6449 | jonas | 2007-02-11 23:23:44 +0100 (Sun, 11 Feb 2007) | 4 lines
Changed paths:
   M /branches/fpc_2_3/compiler/systems/i_bsd.pas

  * cpupowerpc is defined for both ppc32 and ppc64 ->
    changed to cpupowerpc32 to avoid defining source
    wrongly on ppc64

........
r6450 | jonas | 2007-02-11 23:26:34 +0100 (Sun, 11 Feb 2007) | 3 lines
Changed paths:
   M /branches/fpc_2_3/compiler/ppcgen/ngppcset.pas

  * disable jump tables for darwin/ppc64 for now, don't work
    yet for some reason

........
r6451 | florian | 2007-02-11 23:54:37 +0100 (Sun, 11 Feb 2007) | 3 lines
Changed paths:
   M /branches/fpc_2_3/compiler/ncal.pas
   M /branches/fpc_2_3/compiler/nutils.pas
   M /branches/fpc_2_3/compiler/optcse.pas

* improved cse
* better complexity calculation for subscript nodes with classes or interfaces

........
r6456 | jonas | 2007-02-12 19:33:22 +0100 (Mon, 12 Feb 2007) | 4 lines
Changed paths:
   M /branches/fpc_2_3/compiler/nutils.pas

  + support for notn,shln,shrn,equaln,unequaln,gtn,gten,ltn,lten in
    node_cplexity()
  * mark muln,divn,modn as more complex

........
r6469 | jonas | 2007-02-13 15:56:01 +0100 (Tue, 13 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/optcse.pas

  * fixed when cross-compiling a 64 bit compiler from a 32 bit platform

........
r6471 | jonas | 2007-02-13 16:17:16 +0100 (Tue, 13 Feb 2007) | 3 lines
Changed paths:
   M /branches/fpc_2_3/compiler/powerpc64/cputarg.pas

  * include stabs support (can work on darwin/ppc64, but doesn't work
    yet)

........
r6473 | jonas | 2007-02-13 16:45:48 +0100 (Tue, 13 Feb 2007) | 3 lines
Changed paths:
   M /branches/fpc_2_3/compiler/powerpc64/cgcpu.pas
   M /branches/fpc_2_3/compiler/powerpc64/cpupara.pas

  * R2 is a volatile and usable register under darwin/ppc64
  * R13 is a reserved non-volatile register under darwin/ppc64 (tls)

........
r6479 | jonas | 2007-02-13 20:40:50 +0100 (Tue, 13 Feb 2007) | 3 lines
Changed paths:
   M /branches/fpc_2_3/compiler/systems/i_bsd.pas

  * maxCrecordalign seems to have to be 8 rather 4, in spite of what
    the ABI docs say (although they are contradictory to some extent)

........
r6487 | jonas | 2007-02-14 15:57:40 +0100 (Wed, 14 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/tests/webtbs/tw8153a.pp

  * fixed for darwin/ppc64

........
r6488 | jonas | 2007-02-14 15:58:56 +0100 (Wed, 14 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/tests/webtbs/tw7851a.pp

  * fixed for darwin/ppc64

........
r6494 | jonas | 2007-02-15 19:36:55 +0100 (Thu, 15 Feb 2007) | 3 lines
Changed paths:
   M /branches/fpc_2_3/compiler/systems/i_bsd.pas

  * set default debug info for darwin/ppc64 to dwarf2 since
    it works better than stabs currently

........
r6500 | jonas | 2007-02-15 21:38:16 +0100 (Thu, 15 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/version.pas

  * updated version to 2.3.0

........
r6505 | jonas | 2007-02-15 22:39:28 +0100 (Thu, 15 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/version.pas

  * changed version to 2.3.1

........
r6511 | jonas | 2007-02-16 15:17:24 +0100 (Fri, 16 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/powerpc64/itcpugas.pas

  * system_powerpc_darwin -> system_powerpc64_darwin

........
r6546 | daniel | 2007-02-18 15:48:54 +0100 (Sun, 18 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/ncginl.pas
   M /branches/fpc_2_3/compiler/ncgld.pas
   M /branches/fpc_2_3/compiler/ncgrtti.pas
   M /branches/fpc_2_3/compiler/ncnv.pas
   M /branches/fpc_2_3/compiler/ninl.pas
   M /branches/fpc_2_3/compiler/nld.pas
   M /branches/fpc_2_3/compiler/nutils.pas
   M /branches/fpc_2_3/compiler/pinline.pas
   M /branches/fpc_2_3/rtl/inc/astrings.inc
   M /branches/fpc_2_3/rtl/inc/compproc.inc
   M /branches/fpc_2_3/rtl/inc/sstrings.inc
   M /branches/fpc_2_3/rtl/inc/text.inc
   M /branches/fpc_2_3/rtl/inc/wstrings.inc

  + Val/str/read/write support for enumeration types.

........
r6547 | daniel | 2007-02-18 17:01:20 +0100 (Sun, 18 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/rtl/inc/sstrings.inc

  * Fix val code that I broke.

........
r6571 | daniel | 2007-02-20 09:27:44 +0100 (Tue, 20 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/rtl/inc/astrings.inc
   M /branches/fpc_2_3/rtl/inc/sstrings.inc
   M /branches/fpc_2_3/rtl/inc/text.inc
   M /branches/fpc_2_3/rtl/inc/wstrings.inc

  * o2s -> ord2str, s2o -> str2ord

........
r6572 | daniel | 2007-02-20 09:33:30 +0100 (Tue, 20 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/ncgld.pas
   M /branches/fpc_2_3/compiler/ncgrtti.pas
   M /branches/fpc_2_3/compiler/ninl.pas
   M /branches/fpc_2_3/compiler/nld.pas

  * o2s -> ord2str, s2o -> str2ord

........
r6574 | daniel | 2007-02-20 12:07:58 +0100 (Tue, 20 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/rtl/inc/compproc.inc

  * o2s -> ord2str, s2o -> str2ord

........
r6578 | daniel | 2007-02-20 22:18:49 +0100 (Tue, 20 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/rtl/inc/text.inc

  * Change longint to valsint.

........
r6579 | daniel | 2007-02-20 22:29:09 +0100 (Tue, 20 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/ninl.pas

  * Handle ordinal currency types.

........
r6580 | jonas | 2007-02-20 22:29:11 +0100 (Tue, 20 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/ncgrtti.pas

  * fixed compilation for cpurequiresproperalignment

........
r6581 | jonas | 2007-02-20 22:30:21 +0100 (Tue, 20 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/ninl.pas

  * fixed typo

........
r6582 | daniel | 2007-02-20 22:36:19 +0100 (Tue, 20 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/ninl.pas

  * Set is_real to true.

........
r6590 | jonas | 2007-02-21 20:23:54 +0100 (Wed, 21 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/systems/i_bsd.pas

  * set tf_dwarf_only_local_labels for darwin/ppc64

git-svn-id: trunk@6720 -
2007-03-04 20:16:57 +00:00
..
aineth.inc + Fix for var argument instead of pointer, reported by zephod@skynet.be 2005-05-04 07:58:05 +00:00
aioh.inc * truncate log 2005-02-14 17:13:06 +00:00
aliasesh.inc * truncate log 2005-02-14 17:13:06 +00:00
allocah.inc * truncate log 2005-02-14 17:13:06 +00:00
argph.inc - reverted r4880 (wrong varargs reform) and r4838 (wrong removal of 2006-10-14 17:39:00 +00:00
argzh.inc * truncate log 2005-02-14 17:13:06 +00:00
asocketh.inc * truncate log 2005-02-14 17:13:06 +00:00
asockiosh.inc * truncate log 2005-02-14 17:13:06 +00:00
bconfnameh.inc * truncate log 2005-02-14 17:13:06 +00:00
bdirenth.inc * truncate log 2005-02-14 17:13:06 +00:00
bdlfcnh.inc * truncate log 2005-02-14 17:13:06 +00:00
bfcntlh.inc * truncate log 2005-02-14 17:13:06 +00:00
bfenvh.inc * truncate log 2005-02-14 17:13:06 +00:00
binh.inc * truncate log 2005-02-14 17:13:06 +00:00
bipch.inc * truncate log 2005-02-14 17:13:06 +00:00
bmmanh.inc * truncate log 2005-02-14 17:13:06 +00:00
bmsqh.inc * truncate log 2005-02-14 17:13:06 +00:00
bnetdbh.inc * truncate log 2005-02-14 17:13:06 +00:00
bpollh.inc * truncate log 2005-02-14 17:13:06 +00:00
bresourceh.inc + Removed last VER1_0 defines 2005-06-09 19:18:53 +00:00
bschedh.inc * truncate log 2005-02-14 17:13:06 +00:00
bselecth.inc * truncate log 2005-02-14 17:13:06 +00:00
bsemh.inc * truncate log 2005-02-14 17:13:06 +00:00
bshmh.inc * truncate log 2005-02-14 17:13:06 +00:00
bsockaddrh.inc * truncate log 2005-02-14 17:13:06 +00:00
bsocket.inc + Initial implementation 2003-06-26 08:31:12 +00:00
bsocketh.inc + Last Borland Compatibility fixes 2005-08-11 17:28:04 +00:00
bstatfsh.inc * truncate log 2005-02-14 17:13:06 +00:00
bstath.inc * truncate log 2005-02-14 17:13:06 +00:00
bstatvfsh.inc * truncate log 2005-02-14 17:13:06 +00:00
bstroptsh.inc * truncate log 2005-02-14 17:13:06 +00:00
btermiosh.inc * truncate log 2005-02-14 17:13:06 +00:00
btimeh.inc * truncate log 2005-02-14 17:13:06 +00:00
buioh.inc * truncate log 2005-02-14 17:13:06 +00:00
bustath.inc * truncate log 2005-02-14 17:13:06 +00:00
butmph.inc * truncate log 2005-02-14 17:13:06 +00:00
butmpxh.inc * truncate log 2005-02-14 17:13:06 +00:00
butsnameh.inc * truncate log 2005-02-14 17:13:06 +00:00
bwaitflags.inc + Initial implementation 2003-06-26 08:31:12 +00:00
bwaitflagsh.inc * truncate log 2005-02-14 17:13:06 +00:00
bwaitstatus.inc + Initial implementation 2003-06-26 08:31:12 +00:00
bwaitstatush.inc * truncate log 2005-02-14 17:13:06 +00:00
cerrno.inc * truncate log 2005-02-14 17:13:06 +00:00
crypth.inc * libc patches from Almindor 2005-09-23 12:18:50 +00:00
ctypeh.inc * truncate log 2005-02-14 17:13:06 +00:00
dirent.inc + Initial implementation 2003-06-26 08:31:12 +00:00
direnth.inc + Last Borland Compatibility fixes 2005-08-11 17:28:04 +00:00
dlfcnh.inc * libc patches from Almindor 2005-09-23 12:18:50 +00:00
endianh.inc * truncate log 2005-02-14 17:13:06 +00:00
envzh.inc * truncate log 2005-02-14 17:13:06 +00:00
errh.inc * truncate log 2005-02-14 17:13:06 +00:00
errnoh.inc * truncate log 2005-02-14 17:13:06 +00:00
errorh.inc * truncate log 2005-02-14 17:13:06 +00:00
fcntlh.inc - reverted r4880 (wrong varargs reform) and r4838 (wrong removal of 2006-10-14 17:39:00 +00:00
fenvh.inc * truncate log 2005-02-14 17:13:06 +00:00
fileh.inc * truncate log 2005-02-14 17:13:06 +00:00
fmtmsgh.inc * truncate log 2005-02-14 17:13:06 +00:00
fnmatchh.inc * truncate log 2005-02-14 17:13:06 +00:00
fpmake.inc + Initial implementation 2005-06-17 16:52:17 +00:00
fpmake.pp + Initial implementation 2005-06-17 16:52:17 +00:00
fstabh.inc * truncate log 2005-02-14 17:13:06 +00:00
gconfigh.inc * truncate log 2005-02-14 17:13:06 +00:00
gconvh.inc * truncate log 2005-02-14 17:13:06 +00:00
getopth.inc * truncate log 2005-02-14 17:13:06 +00:00
glibc_versionh.inc * truncate log 2005-02-14 17:13:06 +00:00
globh.inc * truncate log 2005-02-14 17:13:06 +00:00
glue.inc * fixed psize_t 2005-10-01 20:49:15 +00:00
grph.inc * truncate log 2005-02-14 17:13:06 +00:00
h2p * remove $Log 2005-06-07 09:47:55 +00:00
h2p1.sed + Initial implementation 2003-06-26 08:31:12 +00:00
h2p2.sed + Initial implementation 2003-06-26 08:31:12 +00:00
iconvh.inc + Initial implementation 2003-06-26 08:31:12 +00:00
igmph.inc * truncate log 2005-02-14 17:13:06 +00:00
inttypesh.inc + Initial implementation 2003-06-26 08:31:12 +00:00
ioctl_typesh.inc * truncate log 2005-02-14 17:13:06 +00:00
ioctlsh.inc * truncate log 2005-02-14 17:13:06 +00:00
kerneldefs.pp * log and id tags removed 2005-05-21 09:42:41 +00:00
kernelioctl.pp * truncate log 2005-02-14 17:13:06 +00:00
kioctlsh.inc * truncate log 2005-02-14 17:13:06 +00:00
langinfoh.inc * truncate log 2005-02-14 17:13:06 +00:00
lib_namesh.inc + Initial implementation 2003-06-26 08:31:12 +00:00
libc.pp * Redirected libc pthread_cond_t type to unixtype 2007-01-12 20:36:24 +00:00
libgenh.inc * truncate log 2005-02-14 17:13:06 +00:00
libintlh.inc * truncate log 2005-02-14 17:13:06 +00:00
libio.inc * truncate log 2005-02-14 17:13:06 +00:00
libioh.inc * truncate log 2005-02-14 17:13:06 +00:00
limitsh.inc + Removed last VER1_0 defines 2005-06-09 19:18:53 +00:00
local_limh.inc + Initial implementation 2003-06-26 08:31:12 +00:00
localeh.inc * truncate log 2005-02-14 17:13:06 +00:00
Makefile * Merged 2.3 branch changes: 2007-03-04 20:16:57 +00:00
Makefile.fpc + support for make -jX by marking all Makefiles that need to be executed 2007-01-27 11:05:18 +00:00
malloch.inc * truncate log 2005-02-14 17:13:06 +00:00
mcheckh.inc * truncate log 2005-02-14 17:13:06 +00:00
mntenth.inc * truncate log 2005-02-14 17:13:06 +00:00
monetaryh.inc - reverted r4880 (wrong varargs reform) and r4838 (wrong removal of 2006-10-14 17:39:00 +00:00
nashh.inc * truncate log 2005-02-14 17:13:06 +00:00
nath.inc * truncate log 2005-02-14 17:13:06 +00:00
nax25h.inc * truncate log 2005-02-14 17:13:06 +00:00
nech.inc * truncate log 2005-02-14 17:13:06 +00:00
netdbh.inc * truncate log 2005-02-14 17:13:06 +00:00
netherh.inc * truncate log 2005-02-14 17:13:06 +00:00
nethernet.inc + Initial implementation 2003-06-26 08:31:12 +00:00
netherneth.inc * truncate log 2005-02-14 17:13:06 +00:00
nicmp6.inc + Initial implementation 2003-06-26 08:31:12 +00:00
nicmp6h.inc * truncate log 2005-02-14 17:13:06 +00:00
nif_arph.inc * truncate log 2005-02-14 17:13:06 +00:00
nif_ether.inc * truncate log 2005-02-14 17:13:06 +00:00
nif_etherh.inc + Initial implementation 2003-06-26 08:31:12 +00:00
nif_fddih.inc * truncate log 2005-02-14 17:13:06 +00:00
nif_packeth.inc * truncate log 2005-02-14 17:13:06 +00:00
nif_ppp.inc + Initial implementation 2003-06-26 08:31:12 +00:00
nif_ppph.inc * truncate log 2005-02-14 17:13:06 +00:00
nif_shaperh.inc * truncate log 2005-02-14 17:13:06 +00:00
nif_trh.inc * truncate log 2005-02-14 17:13:06 +00:00
nifh.inc * truncate log 2005-02-14 17:13:06 +00:00
nigmph.inc * truncate log 2005-02-14 17:13:06 +00:00
nin_systmh.inc * truncate log 2005-02-14 17:13:06 +00:00
nin.inc + Initial implementation 2003-06-26 08:31:12 +00:00
ninh.inc * truncate log 2005-02-14 17:13:06 +00:00
nip6h.inc * truncate log 2005-02-14 17:13:06 +00:00
nip_icmp.inc * truncate log 2005-02-14 17:13:06 +00:00
nip_icmph.inc * truncate log 2005-02-14 17:13:06 +00:00
nip.inc + Initial implementation 2003-06-26 08:31:12 +00:00
niph.inc + Wrong size for flags fields as reported by zephod@skynet.be 2005-05-04 08:05:10 +00:00
nipxh.inc * truncate log 2005-02-14 17:13:06 +00:00
nl_typesh.inc * truncate log 2005-02-14 17:13:06 +00:00
nnetromh.inc * truncate log 2005-02-14 17:13:06 +00:00
npacketh.inc * truncate log 2005-02-14 17:13:06 +00:00
nroseh.inc * truncate log 2005-02-14 17:13:06 +00:00
nroute.inc + Initial implementation 2003-06-26 08:31:12 +00:00
nrouteh.inc * truncate log 2005-02-14 17:13:06 +00:00
nssh.inc * truncate log 2005-02-14 17:13:06 +00:00
ntcph.inc * truncate log 2005-02-14 17:13:06 +00:00
nudph.inc * truncate log 2005-02-14 17:13:06 +00:00
nupdh.inc initial import 2005-05-16 18:37:41 +00:00
pathsh.inc + Initial implementation 2003-06-26 08:31:12 +00:00
posix1_limh.inc + Initial implementation 2003-06-26 08:31:12 +00:00
posix2_limh.inc * truncate log 2005-02-14 17:13:06 +00:00
posixopth.inc + Initial implementation 2003-06-26 08:31:12 +00:00
printfh.inc * truncate log 2005-02-14 17:13:06 +00:00
proutedh.inc * truncate log 2005-02-14 17:13:06 +00:00
prwhodh.inc * truncate log 2005-02-14 17:13:06 +00:00
ptalkdh.inc * truncate log 2005-02-14 17:13:06 +00:00
pthread.inc + Added missing criticalsection handlers 2005-08-27 09:45:39 +00:00
pthreadh.inc + Added missing criticalsection handlers 2005-08-27 09:45:39 +00:00
pthreadtypesh.inc * Redirected libc pthread_cond_t type to unixtype 2007-01-12 20:36:24 +00:00
ptimedh.inc * truncate log 2005-02-14 17:13:06 +00:00
ptyh.inc * truncate log 2005-02-14 17:13:06 +00:00
pwdh.inc * truncate log 2005-02-14 17:13:06 +00:00
README * remove $Log 2005-06-07 09:47:55 +00:00
regexh.inc * truncate log 2005-02-14 17:13:06 +00:00
regexph.inc * truncate log 2005-02-14 17:13:06 +00:00
saccth.inc * truncate log 2005-02-14 17:13:06 +00:00
schedh.inc + Initial implementation 2003-06-26 08:31:12 +00:00
searchh.inc * truncate log 2005-02-14 17:13:06 +00:00
semaphoreh.inc - reverted r4880 (wrong varargs reform) and r4838 (wrong removal of 2006-10-14 17:39:00 +00:00
sfsuidh.inc * truncate log 2005-02-14 17:13:06 +00:00
sgttyh.inc * truncate log 2005-02-14 17:13:06 +00:00
shadowh.inc * truncate log 2005-02-14 17:13:06 +00:00
sigactionh.inc + made sigaction record more kylix like 2005-09-17 20:14:31 +00:00
sigcontexth.inc * truncate log 2005-02-14 17:13:06 +00:00
siginfoh.inc + Last Borland Compatibility fixes 2005-08-11 17:28:04 +00:00
signalh.inc + Fixed declaration of sisigemptyset and friends to use param by ref 2006-05-13 20:25:10 +00:00
signumh.inc + Initial implementation 2003-06-26 08:31:12 +00:00
sigseth.inc + Last Borland Compatibility fixes 2005-08-11 17:28:04 +00:00
sigstackh.inc * truncate log 2005-02-14 17:13:06 +00:00
sigthreadh.inc * truncate log 2005-02-14 17:13:06 +00:00
sioctlh.inc - reverted r4880 (wrong varargs reform) and r4838 (wrong removal of 2006-10-14 17:39:00 +00:00
sipch.inc * truncate log 2005-02-14 17:13:06 +00:00
skdaemonh.inc * truncate log 2005-02-14 17:13:06 +00:00
sklogh.inc * truncate log 2005-02-14 17:13:06 +00:00
smmaph.inc * fixed library name for shm_unlink,shm_open as per mariano podesta's suggestion. 2006-04-09 21:34:16 +00:00
smounth.inc + Initial implementation 2003-06-26 08:31:12 +00:00
smsgh.inc * truncate log 2005-02-14 17:13:06 +00:00
spawnh.inc * truncate log 2005-02-14 17:13:06 +00:00
spermh.inc * truncate log 2005-02-14 17:13:06 +00:00
spollh.inc * truncate log 2005-02-14 17:13:06 +00:00
sptraceh.inc - reverted r4880 (wrong varargs reform) and r4838 (wrong removal of 2006-10-14 17:39:00 +00:00
squota.inc + Initial implementation 2003-06-26 08:31:12 +00:00
squotah.inc * truncate log 2005-02-14 17:13:06 +00:00
sraw.inc * truncate log 2005-02-14 17:13:06 +00:00
srawh.inc * truncate log 2005-02-14 17:13:06 +00:00
srebooth.inc * truncate log 2005-02-14 17:13:06 +00:00
sresourceh.inc * truncate log 2005-02-14 17:13:06 +00:00
sscsi_ioctlh.inc * truncate log 2005-02-14 17:13:06 +00:00
sscsih.inc * truncate log 2005-02-14 17:13:06 +00:00
sselect.inc + Fixed some differences with Kylix libc 2005-08-09 19:03:25 +00:00
sselecth.inc + Fixed some differences with Kylix libc 2005-08-09 19:03:25 +00:00
ssemh.inc - reverted r4880 (wrong varargs reform) and r4838 (wrong removal of 2006-10-14 17:39:00 +00:00
ssendfileh.inc * truncate log 2005-02-14 17:13:06 +00:00
ssgh.inc * truncate log 2005-02-14 17:13:06 +00:00
sshmh.inc * truncate log 2005-02-14 17:13:06 +00:00
ssocketh.inc + Added overloaded calls with untyped buffer for send/recv calls. As reported by zephod@skynet.be 2005-05-04 08:08:44 +00:00
sstat.inc * another bunch of *stat* wrappers 2005-09-29 21:06:25 +00:00
sstatfsh.inc * truncate log 2005-02-14 17:13:06 +00:00
sstath.inc * another bunch of *stat* wrappers 2005-09-29 21:06:25 +00:00
sstatvfsh.inc * truncate log 2005-02-14 17:13:06 +00:00
sswaph.inc * truncate log 2005-02-14 17:13:06 +00:00
ssysctlh.inc * truncate log 2005-02-14 17:13:06 +00:00
ssysinfoh.inc * truncate log 2005-02-14 17:13:06 +00:00
ssyslog.inc + Initial implementation 2003-06-26 08:31:12 +00:00
ssyslogh.inc * truncate log 2005-02-14 17:13:06 +00:00
stdinth.inc + Removed last VER1_0 defines 2005-06-09 19:18:53 +00:00
stdio_exth.inc * truncate log 2005-02-14 17:13:06 +00:00
stdio_limh.inc * truncate log 2005-02-14 17:13:06 +00:00
stdioh.inc - reverted r4880 (wrong varargs reform) and r4838 (wrong removal of 2006-10-14 17:39:00 +00:00
stdlib.inc + Initial implementation 2003-06-26 08:31:12 +00:00
stdlibh.inc + Removed VER1_0 defines 2005-05-19 21:14:45 +00:00
stime.inc * truncate log 2005-02-14 17:13:06 +00:00
stimebh.inc * truncate log 2005-02-14 17:13:06 +00:00
stimeh.inc * gettimeofday(var tv;var tz) overload added 2005-10-20 06:13:13 +00:00
stringh.inc * truncate log 2005-02-14 17:13:06 +00:00
stroptsh.inc * truncate log 2005-02-14 17:13:06 +00:00
sttydefaults.inc + Initial implementation 2003-06-26 08:31:12 +00:00
sttydefaultsh.inc * truncate log 2005-02-14 17:13:06 +00:00
sucontexth.inc * truncate log 2005-02-14 17:13:06 +00:00
suioh.inc * truncate log 2005-02-14 17:13:06 +00:00
sun.inc + Initial implementation 2003-06-26 08:31:12 +00:00
sunh.inc * truncate log 2005-02-14 17:13:06 +00:00
suserh.inc * truncate log 2005-02-14 17:13:06 +00:00
sustath.inc * truncate log 2005-02-14 17:13:06 +00:00
sutsnameh.inc * truncate log 2005-02-14 17:13:06 +00:00
svlimith.inc * truncate log 2005-02-14 17:13:06 +00:00
svtimesh.inc * truncate log 2005-02-14 17:13:06 +00:00
swaith.inc * truncate log 2005-02-14 17:13:06 +00:00
sysexitsh.inc * truncate log 2005-02-14 17:13:06 +00:00
syslogh.inc * truncate log 2005-02-14 17:13:06 +00:00
systypeshh.inc + Last Borland Compatibility fixes 2005-08-11 17:28:04 +00:00
termios.inc + Initial implementation 2003-06-26 08:31:12 +00:00
termiosh.inc + Initial implementation 2003-06-26 08:31:12 +00:00
time.inc + Initial implementation 2003-06-26 08:31:12 +00:00
timeh.inc * solved bug #3860 with a union 2005-04-15 10:17:55 +00:00
timesh.inc * truncate log 2005-02-14 17:13:06 +00:00
timexh.inc + Last Borland Compatibility fixes 2005-08-11 17:28:04 +00:00
ttyenth.inc * truncate log 2005-02-14 17:13:06 +00:00
types.inc + Fixed some differences with Kylix libc 2005-08-09 19:03:25 +00:00
typesh.inc + Last Borland Compatibility fixes 2005-08-11 17:28:04 +00:00
ucontexth.inc - reverted r4880 (wrong varargs reform) and r4838 (wrong removal of 2006-10-14 17:39:00 +00:00
ulimith.inc - reverted r4880 (wrong varargs reform) and r4838 (wrong removal of 2006-10-14 17:39:00 +00:00
unistdh.inc - reverted r4880 (wrong varargs reform) and r4838 (wrong removal of 2006-10-14 17:39:00 +00:00
utimeh.inc + Initial implementation 2003-06-26 08:31:12 +00:00
utmph.inc * truncate log 2005-02-14 17:13:06 +00:00
utmpxh.inc * truncate log 2005-02-14 17:13:06 +00:00
wcharh.inc - reverted r4880 (wrong varargs reform) and r4838 (wrong removal of 2006-10-14 17:39:00 +00:00
wctypeh.inc * truncate log 2005-02-14 17:13:06 +00:00
wordexph.inc * truncate log 2005-02-14 17:13:06 +00:00
wordsizeh.inc + Initial implementation 2003-06-26 08:31:12 +00:00
xlocaleh.inc * truncate log 2005-02-14 17:13:06 +00:00
xopen_limh.inc + Initial implementation 2003-06-26 08:31:12 +00:00

This is the FPC translation of the C library header files.
This unit is meant to
- Give full access to the GNU libc library functionality.
- Be compatible to Borland's Libc.pas unit.

There will often exist 2 versions of a function call: one with a 
pointer type argument - this is  the straight translation of a libc call.
One is with a var/const argument, this is a more 'pascal' like call,
which is usually also the way Borland did it.

Each C header file has been translated to an .inc file. 
The translation of header file xxx.h is named xxxh.inc. 
If macros were converted, they are in a file xxx.inc

All files are included in libc.pp and their origin is noted there.

the file glue.inc is meant to form a bridge between the pascal
and C types, and to take care of some problems in the ordering 
of the header files.

The translation was done on a SuSE 8.1 machine:
Kernel version: 2.4.18
glibc version: 2.3

Note on the Libc errno variable. On recent systems the errno symbol is no
longer published in libc. It has been replaced by a __errno_location
pointer, with a macro in the C header files to mask this. The pascal 
Libc files assume this by default. This also means you cannot set the 
errno value directly, you must use the 'seterrno' procedure for that.
(see errno.inc)

The old mechanism of a published errno libc variable is still available 
by setting the LIBC_OLDERRNO define when compiling the libc units.

Michael.