Commit Graph

456 Commits

Author SHA1 Message Date
florian
49ff6f5126 * patch by Alfred to fix cross building to darwin, resolves #39109
git-svn-id: trunk@49572 -
2021-06-30 21:01:48 +00:00
nickysn
433050a2c4 * set EXEEXT to .wasm for the WASI target in fpcmake
git-svn-id: trunk@49552 -
2021-06-24 00:16:00 +00:00
svenbarth
d0b1402e10 * fix for Mantis #37252: apply patch by Bi0T1N to implement TThread.NameThreadForDebugging for Mac OS X 10.6 and newer (older versions don't provide the required functions)
git-svn-id: trunk@49323 -
2021-05-02 12:46:39 +00:00
florian
c3f95f65ed * improved system unit dependencies
git-svn-id: trunk@49251 -
2021-04-23 21:16:16 +00:00
Jonas Maebe
500e29e5e2 * regenerated with FreeBSD/AArch64 support
git-svn-id: trunk@49159 -
2021-04-10 08:19:40 +00:00
Jonas Maebe
7b5e58382b * regenerated
git-svn-id: trunk@49141 -
2021-04-08 19:50:37 +00:00
Jonas Maebe
0eb9dd3879 * Darwin support for printing line info for backtraces when using Dwarf,
based on patches by Colin Western, mantis #38483)
   o requires that the program/library is compiled with -Xg (or that
     dsymutil is run on it after compiling), and that the .dSYM bundle
     is in the same directory as the program/library
   o always use the "dl" unit in exeinfo for Darwin, as that's needed for
     dynamic library support, and this does not cause an extra dependency
     since on Darwin we always use libc
   o cleaned up the exeinfo unit for Darwin, and sped it up by using mmap
     instead of small reads
   o fixed unit dependencies for exeinfo, lineinfo and lnfodwarf in Darwin
     RTL Makefile
  * use the process address info from the original exe even when reading
    the debug information from an external file
  - removed outdated ifdef'd darwin code from dl.pp (no longer needed now
    that processaddress gets set correctly in exeinfo for that platform)

git-svn-id: trunk@49140 -
2021-04-08 19:50:34 +00:00
florian
e4cc8af8fc * Makefiles regenerated
git-svn-id: trunk@49124 -
2021-04-05 15:39:07 +00:00
florian
755c574a87 + lazarus project
git-svn-id: trunk@49119 -
2021-04-04 14:54:56 +00:00
marco
1edc9cd01b * patch from mantis 37205, add OS X sysctl constants
git-svn-id: trunk@49115 -
2021-04-03 19:42:11 +00:00
nickysn
ea8f068817 * regenerated makefiles after sync with trunk
git-svn-id: branches/wasm@48951 -
2021-03-13 21:52:13 +00:00
nickysn
e42330a7ad * synchronized with trunk
git-svn-id: branches/wasm@48949 -
2021-03-13 21:47:24 +00:00
pierre
e8fbe6696b Update Makefile's after commits 48929/48930
git-svn-id: trunk@48940 -
2021-03-12 13:23:41 +00:00
nickysn
1d9d1ab859 * regenerated makefiles
git-svn-id: branches/wasm@48369 -
2021-01-24 02:01:11 +00:00
nickysn
cf6c173653 * regenerated makefiles
git-svn-id: branches/wasm@47988 -
2021-01-02 22:25:27 +00:00
nickysn
a84b091b5e * makefiles regenerated after fpcmake update
git-svn-id: branches/wasm@47985 -
2021-01-02 22:15:42 +00:00
Jonas Maebe
514db355b1 * darwin/AArch64: always clear fpu exception flags regardless of the
triggered signal, as the kernel currently triggers SIGILL rather
    than SIGFPE for FPU exceptions

git-svn-id: trunk@47858 -
2020-12-27 13:18:59 +00:00
pierre
68d3962889 Regenerate all Makefile's, and update utils/fpcm/fpcmake.inc and utils/fpcm/revision.inc after commit 47483
git-svn-id: trunk@47484 -
2020-11-20 14:03:57 +00:00
Károly Balogh
9d67adcbb6 * regenerated all Makefiles after Sinclair QL support was added
git-svn-id: trunk@47453 -
2020-11-19 02:58:27 +00:00
Jonas Maebe
629b2a8951 * regenerated
git-svn-id: trunk@47303 -
2020-11-03 21:34:30 +00:00
Jonas Maebe
24e188f0d2 * add missing unixutils -> baseunix dependency
git-svn-id: trunk@47302 -
2020-11-03 21:34:26 +00:00
Jonas Maebe
3e16ad9d6c * sysutils depends on initc
git-svn-id: trunk@47298 -
2020-11-03 21:34:10 +00:00
svenbarth
985c4fafeb * regenerate Makefiles after adding the softfpu units
git-svn-id: trunk@47188 -
2020-10-24 20:58:24 +00:00
svenbarth
707034b271 + add all softfpu units for various targets
git-svn-id: trunk@47187 -
2020-10-24 20:58:08 +00:00
Jonas Maebe
322d04cdee * regenerated after adding unixtype dependencies
git-svn-id: trunk@46990 -
2020-09-28 14:02:03 +00:00
Jonas Maebe
de095258a7 * add missing unixtype dependencies
git-svn-id: trunk@46989 -
2020-09-28 14:02:00 +00:00
pierre
ca40956a3a Regenerated all Makefile's
git-svn-id: trunk@46224 -
2020-08-04 10:19:49 +00:00
Jonas Maebe
fb23834367 * regenerated Makefiles again
git-svn-id: trunk@45766 -
2020-07-11 09:51:28 +00:00
Jonas Maebe
350d2d92f9 * regenerated Makesfiles
git-svn-id: trunk@45762 -
2020-07-10 22:08:30 +00:00
svenbarth
b3ddd4e786 * regenerate Makefiles
git-svn-id: trunk@45601 -
2020-06-06 17:18:48 +00:00
pierre
c77ef7d6dd Regenerate all Makefile's after change in utils/fpcm/fpcmake.ini to better support use of i386 compiler on x86_64 machines
git-svn-id: trunk@45356 -
2020-05-13 13:53:15 +00:00
nickysn
56b79257a1 * fixed fpmake invokation when building an i386-linux snapshot on a x86_64-linux host
git-svn-id: trunk@45298 -
2020-05-06 20:41:01 +00:00
nickysn
86643f8a34 * synchronized with trunk
git-svn-id: branches/z80@44981 -
2020-04-21 23:36:44 +00:00
svenbarth
184d6d61ed * regenerate makefiles
git-svn-id: trunk@44958 -
2020-04-21 06:09:20 +00:00
nickysn
d57ffc4745 * changed the object file format for z80-embedded and z80-zxspectrum to .rel
git-svn-id: branches/z80@44899 -
2020-04-20 23:36:15 +00:00
nickysn
2f68090dd6 * synchronized with trunk
git-svn-id: branches/z80@44898 -
2020-04-20 22:42:08 +00:00
pierre
cd6de6a4ca Regenerate all Makefiles
git-svn-id: trunk@44882 -
2020-04-20 13:58:47 +00:00
nickysn
0f323df7a3 * synchronized with trunk
git-svn-id: branches/z80@44873 -
2020-04-19 21:10:31 +00:00
Jonas Maebe
26ec913725 * regenerated makefiles
git-svn-id: trunk@44861 -
2020-04-19 17:33:47 +00:00
nickysn
b868d653bb * regenerated makefiles after sync with trunk
git-svn-id: branches/z80@44847 -
2020-04-19 13:00:50 +00:00
nickysn
daf22383b0 * makefiles regenerated with the zxspectrum target
+ added zxspectrum to ppudump

git-svn-id: branches/z80@44820 -
2020-04-19 01:56:06 +00:00
Jonas Maebe
4b59bcb0ca * regenerated makefiles
git-svn-id: trunk@44793 -
2020-04-18 16:08:25 +00:00
florian
5bab6201d5 * rebuild Makefiles
git-svn-id: trunk@44679 -
2020-04-10 19:42:14 +00:00
Jonas Maebe
c8307d4022 * use getpagesize function instead of reading external variables to restore
ability to compile against SDKs < OS X 10.9 (mantis #36653)

git-svn-id: trunk@44396 -
2020-03-29 14:52:49 +00:00
florian
43dc4c7ea0 * regenerated Makefiles
git-svn-id: trunk@44333 -
2020-03-21 20:59:59 +00:00
pierre
a09e40945c Regenerate all Makefile's after commit #43472
git-svn-id: trunk@43478 -
2019-11-15 14:47:02 +00:00
pierre
5ed7bd35df Update all trunk/fpcsrc Makefile's after commit 42749
git-svn-id: trunk@42750 -
2019-08-20 15:58:10 +00:00
Jonas Maebe
693e72ade3 * Darwin now uses Mach VM calls for memory allocation instead of mmap/munmap
+ added sysrealloc support for Darwin (Darwin does not have mremap)

git-svn-id: trunk@42729 -
2019-08-18 15:55:07 +00:00
Jonas Maebe
9e9a982bfe * synchronised with trunk till r42095
git-svn-id: branches/debug_eh@42096 -
2019-05-18 18:43:51 +00:00
Jonas Maebe
ad6897ffd8 * fixed Darwin/AArch64 flt/int-div-by-zero error codes (fix for 42045, as
noted by AlexeyT)

git-svn-id: trunk@42064 -
2019-05-14 19:19:19 +00:00
Jonas Maebe
1b6425176b * synchronised with trunk till r42049
git-svn-id: branches/debug_eh@42050 -
2019-05-12 18:44:05 +00:00
Jonas Maebe
5c20481c7b * fixed floating point div-by-zero RTE code on Darwin (208 instead of 200,
fixes webtbs/tw32671)

git-svn-id: trunk@42045 -
2019-05-12 14:28:55 +00:00
pierre
83d72bdf19 Use TIOCtlRequest type for local variable nr inside TCSetAttr function
git-svn-id: trunk@42024 -
2019-05-10 07:23:31 +00:00
Jonas Maebe
128bf046b4 * regenerated Makefiles with LLVM bitcode installation support
git-svn-id: branches/debug_eh@41914 -
2019-04-20 18:56:45 +00:00
pierre
74fed2a4cd Regenerate Makefile's after fpcmake change in commit #41721
git-svn-id: trunk@41723 -
2019-03-17 14:45:03 +00:00
nickysn
178217821c + added sortbase as a dependency to unit fgl in the makefiles
git-svn-id: trunk@41180 -
2019-02-02 23:22:09 +00:00
nickysn
248fd313f8 + introduced unit SortBase, which implements the foundation for pluggable
sorting algorithms. A default QuickSort implementation is provided by the
  unit. Other units can be added, to provide other sorting algorithms (e.g.
  HeapSort, MergeSort, IntroSort, etc.)
* TList and TFPList updated to use the current default sorting algorithm defined
  in SortBase for their .Sort method.

git-svn-id: trunk@41167 -
2019-02-02 20:06:50 +00:00
pierre
e30aa5945d Fix i386-darwin rtl build failure
git-svn-id: trunk@40778 -
2019-01-06 10:18:32 +00:00
Jonas Maebe
f20e7bc193 * only adjust the stack pointer of the signal context if it's aligned (it
may still be unaligned in case the signal got raised in a leaf function)

git-svn-id: trunk@40771 -
2019-01-05 16:26:26 +00:00
Károly Balogh
5182dc37af haiku-x86_64: regenerated all Makefiles, take 2
git-svn-id: trunk@40758 -
2019-01-04 03:18:42 +00:00
yury
a29290202f * Regenerated makefiles to support x86_64-android.
git-svn-id: trunk@39958 -
2018-10-17 17:12:20 +00:00
yury
8c59eb1ce5 * Regenerated makefiles to support aarch64-android.
git-svn-id: trunk@39863 -
2018-10-06 09:36:03 +00:00
pierre
fe61157cae Update all rtl Makefile's
git-svn-id: trunk@39824 -
2018-09-27 06:55:12 +00:00
Jeppe Johansen
2aaf481d89 Regenerated makefiles.
git-svn-id: branches/laksen/riscv_new@39476 -
2018-07-20 10:40:57 +00:00
pierre
81a14c5a5a Remove obsolete -DNOMOUSE (used only in packages/rtl-console)
git-svn-id: trunk@39428 -
2018-07-10 10:25:58 +00:00
nickysn
65d8836952 * updated dependencies of unit ports (objpas and x86 is no longer required on
certain platforms) and regenerated makefiles

git-svn-id: trunk@39373 -
2018-07-04 00:33:12 +00:00
pierre
d6be56e225 Regenerated Makefile's after addition of ppas and ppaslink script removal in rev 38745
git-svn-id: trunk@38750 -
2018-04-12 15:23:03 +00:00
pierre
595938637e Add explicit FPC_SYSTEM_OPT variable that is only used for compilation of system units, thus allowing to explicitly pass -Sf option
git-svn-id: trunk@37890 -
2018-01-02 16:50:58 +00:00
florian
5bedaf11f4 * fpcmake.inc and Makefiles renerated after last commit
git-svn-id: trunk@37834 -
2017-12-27 15:08:18 +00:00
pierre
d18627f0af * Update all fpcsrc Makefile's using latest fpcmake version 2017-09-21 rev 37286
git-svn-id: trunk@37462 -
2017-10-16 00:27:27 +00:00
Károly Balogh
04dee0fc04 regenerated Makefiles for m68k-macos target
git-svn-id: trunk@37034 -
2017-08-22 11:16:42 +00:00
nickysn
748428b637 + support the KOI8-R and KOI8-U Cyrillic encodings
git-svn-id: trunk@36445 -
2017-06-07 13:51:53 +00:00
nickysn
fce5fbd726 + added cp3021 (Bulgarian MIK) code page support
git-svn-id: trunk@36444 -
2017-06-07 13:19:20 +00:00
nickysn
396eebbfb5 + added support for iso8859-[3,4,6,7,8,9,10,11,13,14,15,16]
* charmap .txt files in rtl/ucmaps for iso8859-[1,2,5] also updated

git-svn-id: trunk@36425 -
2017-06-05 16:36:24 +00:00
nickysn
35be7348fb + added code pages 737, 775, 857, 860, 861, 862, 863, 864, 865 and 869
git-svn-id: trunk@36423 -
2017-06-05 14:25:15 +00:00
nickysn
ef25c33d69 + added cp855 to the implicit unit list in the rtl makefiles
git-svn-id: trunk@36421 -
2017-06-05 12:19:01 +00:00
pierre
17b2671213 Regenerate all Makefile's after changes related to FPCDIR checks
git-svn-id: trunk@35833 -
2017-04-18 14:15:47 +00:00
Jonas Maebe
5850963ea9 - removed double compilation commands for two units
git-svn-id: trunk@35154 -
2016-12-18 13:57:19 +00:00
Jonas Maebe
5dfaecdbcf - removed duplicate (differing) rule for ctypes unit
git-svn-id: trunk@34989 -
2016-11-27 16:16:04 +00:00
florian
44e5667372 * fix darwin rtl makefile for make 3.82, partly based on work by Alfred, resolves #30964
git-svn-id: trunk@34981 -
2016-11-27 12:27:25 +00:00
nickysn
5306ee552b * regenerated makefiles with latest fpcmake
git-svn-id: trunk@34008 -
2016-06-18 01:00:45 +00:00
nickysn
a58dd988a4 * regenerate makefiles after the fpcmake update
git-svn-id: trunk@34002 -
2016-06-17 22:05:59 +00:00
Jonas Maebe
728efedcf3 * fixed sysinit unit dependencies
git-svn-id: trunk@33955 -
2016-06-12 09:20:46 +00:00
svenbarth
ca07a4f86f Merged revision(s) 32491-32492 from branches/svenbarth/packages:
Adjust non-Windows resources to work with indirect main information as well.

rtl/inc/systemh.inc, TEntryInformation:
  + new cross platform field ResLocation which stores the pointer to the resources
rtl/inc/intres.inc:
  * change the type of ResHeader from PResHdr to PPResHdr (and adjust code that uses it accordingly; Note: the first dereferencing is assumed to be always valid!)
  * adjust declaration of ResHeader depending on whether indirect main information is used or not
rtl/darwin/sysinit.pas & rtl/linux/si_impl.inc:
  * pass the location of the resources through SysInitEntryInformation
rtl/bsd/system.pp & rtl/linux/system.pp:
  + new public variable FPCResLocation which is setup by SysEntry
rtl/win32/sysinit.inc:
  * initialize ResLocation of SysInitEntryInformation as Nil
rtl/win32/system.pp:
  * initialize ResLocation of EntryInformation as Nil
........
For systems that support both internal and external resources (in this case only Darwin ones) we need to generate the FPC_RESLOCATION symbol always, because the SysInit unit is resource type agnostic.

ngenutil.pas, tnodeutils:
  * InsertResourceInfo: generate FPC_RESLOCATION symbol pointing to 0 in case the program is compiled on Darwin with resources set to external ones (-We)

git-svn-id: trunk@33952 -
2016-06-12 09:08:17 +00:00
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
Jonas Maebe
2e64c63993 * fixed dependencies for lineinfo unit after r33007
* also made lnfodwrf dependent on lineinfo for all platforms,
    because both units implicitly depend on the exeinfo unit
    and if both are compiled at the same time they can fall
    over each other while writing its .ppu or .s file

git-svn-id: trunk@33039 -
2016-02-01 22:52:50 +00:00
Jonas Maebe
a228a3bf4c * fixed parallel building for i386 after r32857
git-svn-id: trunk@32886 -
2016-01-07 22:06:27 +00:00
florian
c9204f6c5e + added explicit rules for the iso7186 unit for the bsd targets
* fixed FreeBSD Makefile to work with make 3.82

git-svn-id: trunk@32433 -
2015-11-21 14:43:54 +00:00
Jonas Maebe
4d53455379 * the "types" unit depends on "math" since r32333 -> updated Makefiles
git-svn-id: trunk@32337 -
2015-11-15 19:38:49 +00:00
florian
70b8789262 o basic extended pascal support:
+ automatically loaded helper unit
  * Makefiles adapted
  * mode switch
  * mode switches reorganized
+ TimeStamp support

git-svn-id: trunk@32330 -
2015-11-15 15:13:36 +00:00
nickysn
2e3cb70489 * regenerated makefiles after adding the win16 target
git-svn-id: trunk@31525 -
2015-09-05 11:02:54 +00:00
Jonas Maebe
89418d23e5 * regenerated Makefiles with Linux/AArch64 support
git-svn-id: trunk@30891 -
2015-05-20 20:15:10 +00:00
Jonas Maebe
fa328436ab * regenerated for iphonesim/x86-64
git-svn-id: trunk@29974 -
2015-02-23 22:56:41 +00:00
Jonas Maebe
3d01d4ceb1 * regenerated with Darwin/AArch64 support
git-svn-id: trunk@29950 -
2015-02-23 22:54:53 +00:00
Jonas Maebe
5a8959381c + Darwin/AArch64 support
git-svn-id: trunk@29934 -
2015-02-23 22:53:50 +00:00
Jonas Maebe
44f5f435ba + Darwin/AArch64 support for handling hardware exceptions
git-svn-id: trunk@29900 -
2015-02-23 22:51:54 +00:00
Jonas Maebe
146e3bcb9e * synchronised with trunk till r29513
git-svn-id: branches/blocks@29516 -
2015-01-21 23:28:34 +00:00
marco
d407b668d1 * version updated to 3.1.1
git-svn-id: trunk@29399 -
2015-01-04 21:09:04 +00:00
Jonas Maebe
6fb86a34bb * the i386/x86-64 cpu units depend on objpas
git-svn-id: trunk@29310 -
2014-12-21 15:08:16 +00:00
Jonas Maebe
bd09b88a5b + support for http://en.wikipedia.org/wiki/Blocks_(C_language_extension)
o blocks are implemented as a variation of procedure variables
   o declaration of a block variable: "test: procedure(c: char) is block;"
     (C equivalent: (void)(^test)(char c) )
   o the compiler automatically converts procedures/functions whose address
     is passed to a block parameter or assigned to a block variable into
     a "block". This consists of
    1) generating a block descriptor (containing the size of the "block
       literal" (see below) and the signature of the invocation function
       encoded as an Objective-C selector)
    2) generating a wrapper function around the original funcion (with C
       calling convention), that has an extra first hidden parameter
       (marked as vo_is_parentfp in the compiler) whose type is a pointer
       to the describing "block literal"
    3) generating the "block literal", which contains a pointer to an
       external variable indicating whether this block captures context or
       not, some flags (see compiler/blockutl.get_block_literal_flags for
       info), a pointer to the wrapper function and a pointer to the
       descriptor. In the future, it will also contain captured variables.
   o right now, only global procedures/functions can be converted to blocks
     (because they don't require state capturing). The next steps are (Object
     Pascal) methods (not Objective-C methods, because Objective-C method
     procvars don't exist) and finally nested functions
   o on Mac OS X, the functionality will only work on Mac OS X 10.7 and later,
     because we have to use the so-called "ABI.2010.3.16" to ensure that
     our blocks aren't called as variadic functions by the runtime (which
     came out after the Mac OS X 10.6 release)
   o while the currently implemented functionality does not require any
     library support at all, there's no use enabling it on other platforms
     because unless it has been confirmed to work with a blocks runtime,
     there's no point in using blocks (they're just somewhat bulky procvars
     right now). Enabling it on other platforms (in combination with the
     GNUStep Objective-C run time), should simply be a matter of adding
     the right {$linklib xxx} statement to rtl/inc/blockrtl.pp file, adding
     that file to Makefile.fpc for that platform and adding that platform
     to the compiler/systems.systems_blocks_supported set

git-svn-id: branches/blocks@28232 -
2014-07-18 09:15:22 +00:00