The sources of the Free Pascal compiler, RTL, packages and utilities. See https://www.freepascal.org/ for more info.
Go to file
magorium 41a48fe385 AROS: Use structure spinlock for SMP enabled build (ABI/BC break)
This commit will add an additional spinlock field to record structures
TMsgPort and TSemaphoreRequest for a SMP enabled build.

This will break ABI and Binary Compatibility between ABIv0 and ABIv1 and for
ABIv1 (for a SMP enabled build).

Recompilation in such case is required as both record structures TMsgPort and
TSemaphoreRequest are embedded in other record structures which causes a
myriad of changes to those records including different record sizes and other
field offsets.

Note that SMP is currently only available for ABIv1 and afaik only supported
for AROS target x86_64 while AROS target i386 has initial support for SMP
(but not actively enabled).

SMP enabled build can be 'activated' by defining AROS_PLATFORM_SMP and
AROSEXEC_SMP.
2022-06-26 19:03:18 +00:00
.gitlab Add two more templates to show the possibilities 2021-10-06 17:26:28 +00:00
compiler * do not optimize away +0.0 if no fastmath is passed as -0.0+(+0.0)=+0.0 2022-06-25 21:39:57 +02:00
installer * regenerate makefiles with latest fpcmake 2022-05-24 14:01:59 +03:00
packages AROS: Use structure spinlock for SMP enabled build (ABI/BC break) 2022-06-26 19:03:18 +00:00
rtl AROS: Use structure spinlock for SMP enabled build (ABI/BC break) 2022-06-26 19:03:18 +00:00
tests * Restore display of exception type. fix issue #39811 2022-06-25 14:49:44 +02:00
utils webidl: wasmjob: split unit 2022-06-24 19:51:32 +02:00
.gitattributes Use pascal hunk for diff output for pascal source files 2021-09-06 23:31:20 +02:00
.gitconfig * + .gitconfig with configuration for better diffing, needs a 2021-09-18 14:26:18 +02:00
.gitignore * add .prg extension to be ignored by git. this is used on Atari and a number of 8 bit platforms for executables 2022-03-05 17:14:08 +01:00
.gitlab-ci.yml + use linux tag in gitlab-ci.yml 2022-02-04 22:18:33 +01:00
fpmake_add1.inc
fpmake_proc1.inc
fpmake.pp
LICENSE
Makefile * compile always with -CX -XX for Z80 2022-04-24 21:38:41 +02:00
Makefile.fpc * include installer building in zipinstall make target when building for relevant OS targets 2021-11-04 02:25:06 +01:00
README.md

FPC Source code repository

Synopsis

This repository contains the sources of the Free Pascal compiler distribution.

It contains

  • The compiler sources in the directory compiler.
  • The run-time library in the directory rtl.
  • The packages distributed with the compiler in the directory packages.
  • Several utilities in the directory utils.
  • The compiler testsuite in the directory tests.

License

The compiler is licensed under GPL v2, the run-time files are licensed under modified LGPL. Both can be found in the LICENSE file, and the file rtl/COPYING.txt

Documentation

Extensive documentation can be found on the documentation website.