Commit Graph

13161 Commits

Author SHA1 Message Date
marco
04f9d8b350 * problems reported by nanobit mantis #34850 corrected.
- (probably Copy and paste) error  in emrpolyline16
    - EMREXTCREATEFONTINDIRECTW.elfw  is of a W type
    - a few missing ^ pointer to's. 
  

git-svn-id: trunk@40842 -
2019-01-11 14:01:15 +00:00
Károly Balogh
a6aa3cc092 haiku: removed old i386 specific syscalls assembler code and no-libc startup code, copied from the BeOS port initially, and was never in use on Haiku. kept the libc-version of assembly startup code for now for reference.
git-svn-id: trunk@40831 -
2019-01-10 07:34:52 +00:00
Károly Balogh
fa624e1ba5 haiku: i386 build fix
git-svn-id: trunk@40830 -
2019-01-10 06:55:41 +00:00
Károly Balogh
cc68e36efc haiku: made signal handling properly support x86_64 as well, and sync'd SigContextRec and related structures with current Haiku code
git-svn-id: trunk@40829 -
2019-01-10 06:47:24 +00:00
Károly Balogh
72ee37e03b haiku: fix clib value in sysos.inc
git-svn-id: trunk@40828 -
2019-01-10 06:44:44 +00:00
Károly Balogh
9c2b113497 haiku: added cpu specific signal handler register contexts
git-svn-id: trunk@40827 -
2019-01-10 06:44:16 +00:00
Károly Balogh
93ee468fcb haiku: zapped the old bethreads unit. it's apparently just an ancient version of cthreads, and haiku seems to use cthreads itself since day one.
git-svn-id: trunk@40826 -
2019-01-10 04:20:04 +00:00
Károly Balogh
8b424b0867 haiku: copyright header for suuid.inc, minor cleanups, no functional change
git-svn-id: trunk@40825 -
2019-01-10 04:17:24 +00:00
Károly Balogh
c061f1480a haiku: zapped syscalls support code, using the syscall interface directly on Haiku is discouraged, and it was never really supported with FPC
git-svn-id: trunk@40824 -
2019-01-10 03:53:44 +00:00
Károly Balogh
e547dfa837 haiku: update baseunix unit, remove syscalls code, flock() and nanosleep() is actually supported on Haiku for a long time now, so lets use it
git-svn-id: trunk@40823 -
2019-01-10 03:51:35 +00:00
Károly Balogh
66dc27d6b6 haiku: cleaned up the decade old leftovers from 1.x and early 2.x times from system unit, mainly old bits of heap management no longer in use, old defines and workarounds, also added a copyright header.
git-svn-id: trunk@40822 -
2019-01-10 03:45:25 +00:00
pierre
193df0204a Add x86_64-haiku target to some Makefile's
git-svn-id: trunk@40820 -
2019-01-09 22:43:56 +00:00
pierre
3a52fdf997 Add FPC_SYSTEM_EXIT_NO_RETURN macro for embedded target
git-svn-id: trunk@40801 -
2019-01-07 21:41:18 +00:00
Károly Balogh
d6891557d3 haiku: add sighnd.inc for x86_64, the i386 version with minimal changes, probably needs to be better adapted for 64bit
git-svn-id: trunk@40793 -
2019-01-07 13:47:46 +00:00
Károly Balogh
1a26c381f9 haiku: cleanup of some interface definitions, verify structures against the actual haiku code, so it should work both on 32bit and 64bit
git-svn-id: trunk@40792 -
2019-01-07 13:01:08 +00:00
Károly Balogh
9ce876e2ae haiku: move i386 also to internal sysinit
git-svn-id: trunk@40791 -
2019-01-07 12:58:02 +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
olivier
4d7c0ce1b3 * Haiku : adjust alignment of records the C way.
This should fix Haiku on 32 bits CPU while not breaking the 64 bits version.

git-svn-id: trunk@40766 -
2019-01-05 02:36:34 +00:00
Károly Balogh
fa4502387b haiku: more fixes of base OS types for 64bit, the compiler itself works natively now at least somewhat
git-svn-id: trunk@40764 -
2019-01-04 06:34:56 +00:00
Károly Balogh
634503591b haiku: code cleanup, fixed off-by-one buffer size and removed 'packed' for the TAlternateSignalStack
git-svn-id: trunk@40763 -
2019-01-04 05:10:50 +00:00
Károly Balogh
1a4b8bfa27 haiku: do not use a packed record to define the signal stack and sigactionrec
git-svn-id: trunk@40762 -
2019-01-04 05:09:03 +00:00
Károly Balogh
82cdd6cec0 haiku: use some of the right ptypes for 64bit CPUs
git-svn-id: trunk@40761 -
2019-01-04 05:04:59 +00:00
Károly Balogh
3508ad0d20 haiku: properly pass on the exitcode to the haltproc on x86_64
git-svn-id: trunk@40760 -
2019-01-04 04:08:00 +00:00
Károly Balogh
d19cb0ee4c haiku: Makefile.fpc update for x86_64 support
git-svn-id: trunk@40759 -
2019-01-04 03:34:20 +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
Károly Balogh
a6cd62b358 haiku: enable usestime for x86_64 as well
git-svn-id: trunk@40755 -
2019-01-04 02:46:27 +00:00
Károly Balogh
efba70f82b haiku: pascal sysinit code for haiku, will be needed for x86_64, nice to have for i386
git-svn-id: trunk@40754 -
2019-01-04 02:44:39 +00:00
florian
91a0de27aa * pass -meabi=5 when calling the assembler in the linux rtl Makefile, non-eabi target are not supported for years already, so this should cause little problems
git-svn-id: trunk@40738 -
2019-01-01 19:29:43 +00:00
svenbarth
81fa0924d8 * an exception does not need to inherit from Exception, so declare that as such for the thread queue entry for the sake of clarity
git-svn-id: trunk@40652 -
2018-12-25 23:30:38 +00:00
svenbarth
3e0da1ef1c * fix for Mantis #34640: don't access the thread queue entry directly after it was added to the queue if it's a Queue()d entry instead of a Synchronize()d one
git-svn-id: trunk@40651 -
2018-12-25 23:30:35 +00:00
Jonas Maebe
4f72edcdd5 + LLVM support for the FMA intrinsics
git-svn-id: trunk@40604 -
2018-12-21 20:57:19 +00:00
Jonas Maebe
2330164ee2 + internal sqrt support for LLVM (faster on all platforms, necessary on
platforms that don't have RTL support for it, as the the generic
    fpc_sqrt_real just calls runerror)

git-svn-id: trunk@40575 -
2018-12-16 20:44:41 +00:00
michael
d49510cc8c * Fix bug #0034499
git-svn-id: trunk@40548 -
2018-12-14 10:00:44 +00:00
yury
f7efca92ec * android: Disabled usage of the "pselect6" and "ppoll" syscalls for arm-android. These syscalls are not available on old Android versions (2.3 or older).
git-svn-id: trunk@40536 -
2018-12-12 14:04:57 +00:00
yury
a2a59bcb7d * android: Regenerated syscalls.
git-svn-id: trunk@40535 -
2018-12-12 13:47:40 +00:00
michael
93ec37a4bc Added overloads UintToStr for Delphi compatbibility (bug ID 0034690)
git-svn-id: trunk@40529 -
2018-12-12 08:29:24 +00:00
nickysn
da5868b668 + added method TBits.CopyBits for fast copying
git-svn-id: trunk@40524 -
2018-12-11 15:52:09 +00:00
marco
ea2a606b16 * some constants for solaris. Mantis #34668
git-svn-id: trunk@40513 -
2018-12-09 16:53:34 +00:00
Jonas Maebe
14f3676b2a + llvm_lifetime_start/llvm_lifetime_end intrinsic declarations
git-svn-id: trunk@40500 -
2018-12-08 15:31:45 +00:00
florian
32121de8ae * do not call InitTLS when a compiler is used which does not include the abi tag section
git-svn-id: trunk@40468 -
2018-12-04 21:25:48 +00:00
Jonas Maebe
122d0d36d6 + volatile() expression that marks an expression as volatile
* disable matching volatile references in the assembler optimisers, so they
    can't be removed (more conservative than needed, but better than removing
    too many)
   o the CSE optimiser will ignore them by default, because they're an unknown
     inline node for it
  * also removed no longer used fpc_in_move_x and fpc_in_fillchar_x inline node
    identifiers from rtl/inc/innr.inc, and placed fpc_in_unaligned_x at the
    right place

git-svn-id: trunk@40465 -
2018-12-04 19:53:20 +00:00
florian
eeadf618b8 + abi tag for i386
* arm abi tag moved into pascal file

git-svn-id: trunk@40454 -
2018-12-02 22:56:12 +00:00
florian
90557f2e62 * properly calcualte aligncount as proposed by Jeppe, should resolve #33323
git-svn-id: trunk@40449 -
2018-12-02 14:49:24 +00:00
florian
31ae109a31 * properly initialize phdr and phnum
git-svn-id: trunk@40448 -
2018-12-02 08:49:03 +00:00
pierre
c2e46dc8fc Add classes unit
git-svn-id: trunk@40358 -
2018-11-20 22:02:59 +00:00
pierre
04debba9de Fix arm-android compilation by prepending syscall_nr_ prefix also to __ARM_NR_XXX arm specific linux syscalls
git-svn-id: trunk@40300 -
2018-11-13 11:11:49 +00:00
florian
72416edcc4 + support for tlsm_general on i386-linux
git-svn-id: trunk@40281 -
2018-11-11 17:32:20 +00:00
florian
063415fa72 + i386-linux support for tls-based threadvars
git-svn-id: trunk@40272 -
2018-11-07 22:03:02 +00:00
florian
9c041afc7c * disable generic threadvar handling if section thread vars are available
git-svn-id: trunk@40270 -
2018-11-07 22:03:01 +00:00
florian
e949276d9d * basic implementation for pure pascal programs to allocate tls space
git-svn-id: trunk@40268 -
2018-11-07 22:02:59 +00:00
florian
9f16c34329 + initial work for tls-based threadvar support on arm-linux
git-svn-id: trunk@40267 -
2018-11-07 22:02:58 +00:00
yury
e63433c88c * Fixed obtaining a time zone information for 64-bit android.
git-svn-id: trunk@40201 -
2018-11-03 14:33:41 +00:00
yury
d27c16f024 * ICU v3.8 on Android 1.5-2.1 is buggy and can't be unloaded properly.
git-svn-id: trunk@40199 -
2018-11-03 13:56:27 +00:00
yury
b717a149b6 * android: Removed cwstring from the uses clause of the unix unit. Use cwstring indirectly. It allows to avoid using cwstring if needed.
git-svn-id: trunk@40198 -
2018-11-03 12:34:59 +00:00
yury
a19528efa1 * Fixed warnings.
git-svn-id: trunk@40188 -
2018-11-02 19:22:46 +00:00
yury
78a26e53f8 * Fixed warnings.
git-svn-id: trunk@40187 -
2018-11-02 19:04:52 +00:00
yury
a077e0dd90 * Fixed comparison.
git-svn-id: trunk@40186 -
2018-11-02 19:04:26 +00:00
marco
f8050815ea * pre shutdown constants + in general those series of constants refreshed
git-svn-id: trunk@40096 -
2018-10-30 09:03:46 +00:00
michael
3b1622f10a * Add GetTypeKind
git-svn-id: trunk@40060 -
2018-10-28 10:47:57 +00:00
pierre
f4d19402f4 Add missing dirs_wdosx
git-svn-id: trunk@40025 -
2018-10-24 21:11:45 +00:00
pierre
f76e3dc705 Add missing unicode related units to netware OS
git-svn-id: trunk@40014 -
2018-10-22 21:14:59 +00:00
florian
33463c8698 * moved align helper so it actually gets inlined
git-svn-id: trunk@40011 -
2018-10-21 20:50:21 +00:00
pierre
044c835197 Add explicit typecast to avoid range ccheck error
git-svn-id: trunk@40002 -
2018-10-20 22:30:20 +00:00
michael
863ede7dc6 * Add QWord version of Max (Delphi compatibility, bug ID #34364)
git-svn-id: trunk@39995 -
2018-10-20 12:28:56 +00:00
michael
ab159c638c * Move consts to stdconv
git-svn-id: trunk@39994 -
2018-10-20 12:18:16 +00:00
michael
407753ea10 * Add constants for powers of 10 and 2. use integer/int64 where possible
git-svn-id: trunk@39992 -
2018-10-20 10:40:12 +00:00
florian
edd72ca6d2 * few inline directives added to types, resolves #34424
git-svn-id: trunk@39984 -
2018-10-18 19:35:56 +00:00
yury
d021c8c699 * ucnv_open() must be called with some SSE exception masked on x86_64-android.
* Call u_init() during initialization.

git-svn-id: trunk@39980 -
2018-10-18 16:14:42 +00:00
yury
9199d1935a * Enabled compilation of the cpu unit for arm-android and x86_64-android.
git-svn-id: trunk@39971 -
2018-10-18 13:01:36 +00:00
yury
d1b1655441 * x86_64-android requires sigreturn for proper signal handling.
git-svn-id: trunk@39960 -
2018-10-17 17:53:57 +00:00
yury
7ddf0a635c + Added the auto-generated list syscalls for mips64-android. It will be needed when mips64 is supported.
git-svn-id: trunk@39959 -
2018-10-17 17:16:05 +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
e367577bf1 + added support for x86_64-android target.
git-svn-id: trunk@39956 -
2018-10-17 16:56:27 +00:00
Jonas Maebe
fbfc98a600 * changed definitino of Objective-C BOOL type to Boolean8 where
appropriate
  * changed all Boolean types in the Cocoa headers to BOOL (rest of
    mantis #34411)

git-svn-id: trunk@39950 -
2018-10-16 21:14:26 +00:00
Jonas Maebe
0b246f3dbd * converted Boolean8 to an internal type, and mapped Boolean to the
new internal pasbool1(type) (part of mantis #34411)
   o apply the _Bool x86-64 parameter passing rules only to pasbool1

git-svn-id: trunk@39949 -
2018-10-16 21:14:18 +00:00
yury
5fc2ea362f * Use syscall_nr_renameat for android.
git-svn-id: trunk@39917 -
2018-10-12 15:07:55 +00:00
yury
9d7308df42 * Android: Reworked the startup code to use no assembly instructions. Generic assembler startup files contains only section data and are compiled for each CPU.
* Android: argc and argv are correct for shared libraries.

git-svn-id: trunk@39905 -
2018-10-08 16:48:41 +00:00
yury
42c46207cd * Corrected TUContext record for aarch64-linux and aarch64-android. It fixes obtaining of an address of the instruction where a signal has thrown.
git-svn-id: trunk@39871 -
2018-10-06 18:36:02 +00:00
yury
19fa828466 * android: Use the current dir as temp.
git-svn-id: trunk@39869 -
2018-10-06 15:20:20 +00:00
yury
5e92e2d23f * Fixed crash in DiskFree() and DiskSize() on Unices due to out of bound read of the DriveStr[] array in rare cases.
git-svn-id: trunk@39866 -
2018-10-06 13:52:56 +00:00
yury
212eca24d1 * Set ICU data dir if it is not set by the system. It fixes issues on newer Android versions.
* Added more predefined ICU versions.

git-svn-id: trunk@39865 -
2018-10-06 13:28:37 +00:00
yury
8c59eb1ce5 * Regenerated makefiles to support aarch64-android.
git-svn-id: trunk@39863 -
2018-10-06 09:36:03 +00:00
yury
671d31df1d + Added support for the aarch64-android target.
git-svn-id: trunk@39862 -
2018-10-06 09:33:09 +00:00
yury
23006d16f5 * Fixed UnhookSignal when RTL_SIGDEFAULT is passed. The bug have caused crash on aarch64-android due to out of bounds read of the rtlsig2ossig[] array.
git-svn-id: trunk@39860 -
2018-10-05 18:33:55 +00:00
michael
a7278c1806 * Fix split, last term of length 1 is sometimes missed
git-svn-id: trunk@39843 -
2018-09-30 09:18:21 +00:00
Tomas Hajny
62b57e81cd * FExpand / ExpandFileName behaviour updated according to discussion in bug #34166
git-svn-id: trunk@39840 -
2018-09-28 22:57:57 +00:00
pierre
fe61157cae Update all rtl Makefile's
git-svn-id: trunk@39824 -
2018-09-27 06:55:12 +00:00
svenbarth
cc354f9d72 * have the fpc_*_copy compiler intrinsics reference the intrinsic symbol they belong to
git-svn-id: trunk@39816 -
2018-09-26 21:33:46 +00:00
florian
51644f497b * fixes broken compilation after merging
git-svn-id: trunk@39815 -
2018-09-26 20:22:13 +00:00
florian
a34d4e715c Merged riscv_new branch
git-svn-id: trunk@39813 -
2018-09-26 19:49:08 +00:00
pierre
0e6c072365 define iconv_is_in_libc by default for netbsd OS (can be disabled by adding -dDISABLE_ICONV_LIBC option
git-svn-id: trunk@39801 -
2018-09-24 22:20:30 +00:00
Jeppe Johansen
2b4532d3fa asm-generic syscalls only selectively include nr_renameat. Instead nr_renameat2 seems to be the new default.
git-svn-id: branches/laksen/riscv_new@39795 -
2018-09-22 12:34:48 +00:00
Jeppe Johansen
74a7963d58 Redo overflow checking code.
Fix shift operators in case of unsigned subreg operations. There should be no sign extension here.
Add some unittest implementations that test stack execution and writing to readonly constants.

git-svn-id: branches/laksen/riscv_new@39762 -
2018-09-16 18:37:59 +00:00
yury
15476898ca * Re-generated lists of android syscalls by a new script. The lists are more correct now. The script's location: https://svn.freepascal.org/svn/fpcbuild/scripts/android
git-svn-id: trunk@39749 -
2018-09-12 16:54:52 +00:00
marco
7833dbf6a4 * uppercase relative_P_ath. Mantis #34262
git-svn-id: trunk@39743 -
2018-09-12 11:24:19 +00:00
yury
3a2884df70 * Android: The list of supported syscalls has been auto-generated directly from android sources for each CPU.
* Minor adjustments to make all compilable with the proper list of Android syscalls.

git-svn-id: trunk@39739 -
2018-09-11 16:10:50 +00:00
pierre
32001975bf * Add PAGESIZE local constant.
+ Set LAST_PAGE_GENERATES_SIGNAL macro for linux powerpc/powerpc64.
  + Use page_size for StackBottom computation.
  + Use LAST_PAGE_GENERATES_SIGNAL in StackBottom computation.

git-svn-id: trunk@39736 -
2018-09-11 13:13:50 +00:00
pierre
16e2bdad5a Avoid wrap on 32-bit system for StackTop calculation
git-svn-id: trunk@39735 -
2018-09-11 13:10:59 +00:00
pierre
70fae803ce Increase default trace size to 16
git-svn-id: trunk@39734 -
2018-09-11 13:08:51 +00:00
pierre
b279f24f26 Add FPC_SOFT_FPUX80 and FPC_SOFT_FPU128 define handling
git-svn-id: trunk@39732 -
2018-09-11 08:02:48 +00:00
pierre
b219fa9023 pass -D__I8086_SMARTLINK_SECTIONS__ to nasm if FPCOPT contains -dTEST_I8086_SMARTLINK_SECTIONS
git-svn-id: trunk@39726 -
2018-09-10 13:30:42 +00:00
Jeppe Johansen
ba8245dccb argc is a longint.
git-svn-id: branches/laksen/riscv_new@39696 -
2018-09-01 19:46:04 +00:00
svenbarth
a076677336 * instead of a flags field generate a table with all Initialize operators of all fields (nested or not, parent class or not) for class types; objects and records don't use this (yet)
git-svn-id: trunk@39690 -
2018-08-29 19:21:35 +00:00
svenbarth
2e1327b6b2 * use pooled constant references for the parameter locations as more often than not they're equal between multiple methdos (e.g. the Self argument is always the same)
* using this the TypInfo unit can navigate interface methods and VMT method parameters much more quickly as the latter have a constant size now

git-svn-id: trunk@39686 -
2018-08-29 19:20:31 +00:00
svenbarth
029ec93df6 * use pooled constant references for the names of VMT methods in the RTTI
git-svn-id: trunk@39685 -
2018-08-29 19:20:27 +00:00
svenbarth
228d3252cc * use pooled constant references for the parameter names of VMT methods in the RTTI
git-svn-id: trunk@39684 -
2018-08-29 19:20:24 +00:00
marco
0b9ee238b5 * windows unit enhancements from mantis #34184
git-svn-id: trunk@39675 -
2018-08-27 18:11:40 +00:00
svenbarth
d9cb5c4502 + add a Boolean8 alias for Boolean for symmetry's sake (fixes Mantis #34058)
git-svn-id: trunk@39673 -
2018-08-24 15:53:10 +00:00
svenbarth
d8f024a490 * improve DirectoryExists() and FileExists() based on patch by Serge Anvarov in Mantis #32370 so that they also support files/directories that aren't accessible (e.g. the page file) as well as FollowLink = False
git-svn-id: trunk@39672 -
2018-08-24 15:34:09 +00:00
svenbarth
e110d90127 + implement FileGetSymLinkTarget() based on patch by Serge Anvarov in Mantis #32370
git-svn-id: trunk@39671 -
2018-08-24 15:34:04 +00:00
svenbarth
b9721003f0 + add missing defines
git-svn-id: trunk@39670 -
2018-08-24 15:33:55 +00:00
svenbarth
09e5f463dc + add Delphi-compatible FileGetSymLinkTarget functions to all platforms (currently returns False on all platforms); this also includes TSymLinkRec variants for both RawByteString and UnicodeString
git-svn-id: trunk@39669 -
2018-08-24 15:33:45 +00:00
svenbarth
92dcdd8b5b + add Delphi compatible FollowLink parameter (default is True) to FileExists and DirectoryExists; support for it is up to each target
git-svn-id: trunk@39668 -
2018-08-24 15:33:09 +00:00
marco
315fe21718 * deprecations, remove oldlinux.
git-svn-id: trunk@39663 -
2018-08-23 07:57:56 +00:00
marco
096e7d7513 * add prawbytestring.
git-svn-id: trunk@39662 -
2018-08-22 12:26:42 +00:00
marco
1e60364572 * another stat file cleanup.
git-svn-id: trunk@39655 -
2018-08-20 14:27:59 +00:00
florian
70b2e11e6a * fix SetRoundingMode on RiscV64
git-svn-id: branches/laksen/riscv_new@39646 -
2018-08-19 15:26:44 +00:00
florian
4f052e4f90 o fix several issues with floating point exceptions
+ mask underflow and precision on startup
  + check for floating point exceptions after inlined float routine helpers
  - do not check for floating point exceptions after floating point moves 

git-svn-id: branches/laksen/riscv_new@39645 -
2018-08-19 15:26:00 +00:00
marco
bffbff73e1 * remove deprecated parts linux stat records (FPC 1.0 leftovers)
git-svn-id: trunk@39644 -
2018-08-19 15:10:22 +00:00
marco
15fcd0ab61 * remove old ifdefs
git-svn-id: trunk@39642 -
2018-08-19 14:54:58 +00:00
florian
203409ab48 * fixed floating point exception masking support for RiscV64
git-svn-id: branches/laksen/riscv_new@39638 -
2018-08-19 10:55:41 +00:00
marco
98f00acb06 * trunk to 3.3.1
git-svn-id: trunk@39635 -
2018-08-18 15:47:44 +00:00
marco
d143ab60e1 * regenned makefile without date/rev components for easier merging.
git-svn-id: trunk@39630 -
2018-08-18 15:06:25 +00:00
florian
a825a66d01 * IntPower inverts the base first for negative exponents and multiplies then, resolves #34124
git-svn-id: trunk@39621 -
2018-08-16 20:45:35 +00:00
pierre
e4346b264f Add missing alignment in DynArrayIndex function
git-svn-id: trunk@39586 -
2018-08-07 16:34:57 +00:00
pierre
bc75e8547e Improve detect_linuxvcs to allow parsing of /proc/PID/stat even with spaces in exe name
git-svn-id: trunk@39579 -
2018-08-06 16:10:28 +00:00
pierre
76d3893d78 Changes for symbian target OS, adding most of standard units, as empty stubs
git-svn-id: trunk@39578 -
2018-08-06 15:16:55 +00:00
pierre
d0a7e29052 Add character, fpwidestring, unicodedata and unicodenumtable units to allow compilation of uregexpr unit from package regexpr
git-svn-id: trunk@39576 -
2018-08-06 12:23:08 +00:00
pierre
805aaf18d6 Add character, fpwidestring, unicodedata and unicodenumtable units to Makefile to allow compilation of uregexpr unit from pacakge regexpr
git-svn-id: trunk@39575 -
2018-08-06 10:12:37 +00:00
pierre
394b353c34 Add character, fpwidestring, unicodedata and unicodenumtable units to builrtl to allow compilation of uregexpr unit from pacakge regexpr
git-svn-id: trunk@39574 -
2018-08-06 10:11:58 +00:00
pierre
2ad89601e1 Add character, fpwidestring, unicodedata and unicodenumtable units to allow compilation of uregexpr unit from pacakge regexpr
git-svn-id: trunk@39573 -
2018-08-06 09:42:02 +00:00
michael
ab84f09591 * Fix bug #39521. Generic functions only in trunk
git-svn-id: trunk@39525 -
2018-07-29 21:43:03 +00:00
Jeppe Johansen
f781c8942e Write real atomic operations, and add memory barrier operations.
Add support for fence, and acquire/release syntax to assembler reader.
Fix broken register aliases.

git-svn-id: branches/laksen/riscv_new@39524 -
2018-07-29 16:43:09 +00:00
Jeppe Johansen
f2670bc8fb Fix missing alignment call.
git-svn-id: branches/laksen/riscv_new@39523 -
2018-07-29 14:18:19 +00:00
Jeppe Johansen
90d5f5e760 Added library search paths.
Removed GP and TP from allocatable registers for now. GP should not be overwritten.
Ported dllprt0.as
Fixed register usage in cprt0.as

git-svn-id: branches/laksen/riscv_new@39522 -
2018-07-29 13:08:15 +00:00
michael
1e3f44965f * Added generic IfThen, as proposed by Thaddy de Koning, bug id #34012
git-svn-id: trunk@39521 -
2018-07-29 09:35:54 +00:00
Jeppe Johansen
27ab039366 Fixed _fini and _init references in cprt0.as
Add RiscV to fcl-res and fpcres.
Check that constant is a valid imm12 when doing overflow checking.

git-svn-id: branches/laksen/riscv_new@39494 -
2018-07-23 11:40:55 +00:00
Jeppe Johansen
b98eb3daa9 Changed order in stack unravelling RTL code, to match the most common cases.
Fixed unsigned conditions for branch conditions.
Added some additional const loading cases.
Changed the temporary register used during calls because it could otherwise clash with the argument passing registers.

git-svn-id: branches/laksen/riscv_new@39492 -
2018-07-23 01:11:31 +00:00
florian
65a415c13e * fix assembling with official binutils
* fix compilation on 32 bit hosts
+ compile with -Sew

git-svn-id: branches/laksen/riscv_new@39482 -
2018-07-22 13:10:24 +00:00
marco
a94205280c * fixes mantis 34008, some copy paste errors in -A and -W suffixes.
Note that the enumfont* functions seem to use the var prototypes, while only redef functions should use them. Probably not worth breaking compat for though (in since 2016)

git-svn-id: trunk@39480 -
2018-07-21 12:29:18 +00:00
Jeppe Johansen
dcb0f4fdb5 Fixed setjmp that overwrote a callee save register.
Disable relaxation for the gp load part of the prt0 code.
Fixed up some syscall definitions.

git-svn-id: branches/laksen/riscv_new@39478 -
2018-07-20 15:00:14 +00:00
Jeppe Johansen
2aaf481d89 Regenerated makefiles.
git-svn-id: branches/laksen/riscv_new@39476 -
2018-07-20 10:40:57 +00:00
Jeppe Johansen
6352328f3a Update packages with information about RiscV.
Fix g_external_wrapper, since it uses a register.
Fixed calling of gas.
Ported cprt0.

git-svn-id: branches/laksen/riscv_new@39475 -
2018-07-20 10:40:28 +00:00
Jeppe Johansen
ceb38833f2 Added RiscV32/64 target, from a cleaned up version of branches/laksen/riscv/trunk.
git-svn-id: branches/laksen/riscv_new@39474 -
2018-07-20 08:21:15 +00:00
svenbarth
38c30a557d * deprecate MaxGListSize; it's no longer used by the generic types
git-svn-id: trunk@39465 -
2018-07-17 19:30:29 +00:00
svenbarth
2ec7a5acff * change declaration of TTypeList from a static array to a pointer to T as the static array might breach the
limits for static arrays if the used type is too large (especially on 32-bit systems); as FPC supports indexing
of typed pointers like arrays this should be mostly backwards compatible

git-svn-id: trunk@39464 -
2018-07-17 19:30:26 +00:00
michael
53e10c99d4 * Fix bug #33984, fix for correct string definition in unicodestringreplace
git-svn-id: trunk@39452 -
2018-07-14 16:27:52 +00:00
nickysn
374a8281e7 + added unit ports for win16
git-svn-id: trunk@39441 -
2018-07-12 14:24:46 +00:00
nickysn
a8f466c400 * updated the CSeg, DSeg and SSeg rtl functions on i8086 to use the new x86
intrinsics for reading the segment registers

git-svn-id: trunk@39434 -
2018-07-11 14:34:05 +00:00