Commit Graph

12944 Commits

Author SHA1 Message Date
yury
2d48bc8b9c * Regenerated makefiles.
git-svn-id: branches/fixes_3_2@40541 -
2018-12-13 18:18:24 +00:00
yury
0654857ce1 Merged aarch64-android, x86_64-android targets and fixes for the Android target.
Revision(s) 39739, 39749, 39860, 39862, 39865, 39869, 39871, 39903, 39905, 39917, 39956, 39959-39960, 39969, 39971, 39980, 39987, 40198-40201, 40472, 40532, 40535-40536 from trunk:
* 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.
........
* 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
........
* 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.
........
+ Added support for the aarch64-android target.
........
* Set ICU data dir if it is not set by the system. It fixes issues on newer Android versions.
* Added more predefined ICU versions.
........
* android: Use the current dir as temp.
........
* Corrected TUContext record for aarch64-linux and aarch64-android. It fixes obtaining of an address of the instruction where a signal has thrown.
........
* Enabled safecall support for aarch64 to be on par with other cpus.
........
* 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.
........
* Use syscall_nr_renameat for android.
........
+ added support for x86_64-android target.
........
+ Added the auto-generated list syscalls for mips64-android. It will be needed when mips64 is supported.
........
* x86_64-android requires sigreturn for proper signal handling.
........
* Register external gas assembler for aarch64-android and x86_64-android.
........
* Enabled compilation of the cpu unit for arm-android and x86_64-android.
........
* ucnv_open() must be called with some SSE exception masked on x86_64-android.
* Call u_init() during initialization.
........
* Create the ".note.gnu.build-id" section for android. It fixes debugging of shared libs in Android Studio.
........
* android: Removed cwstring from the uses clause of the unix unit. Use cwstring indirectly. It allows to avoid using cwstring if needed.
........
* ICU v3.8 on Android 1.5-2.1 is buggy and can't be unloaded properly.
........
* Fixed locale detection on new Android versions.
........
* Fixed obtaining a time zone information for 64-bit android.
........
* Since Android 8 the net.dnsX properties can't be read. Use Google Public DNS servers.

........
* android: Use libc for sockets since the "accept" syscall is blocked by SECCOMP, but the "accept4" alternative is not available on old Android versions (2.3 and older). 
........
* android: Regenerated syscalls.
........
* 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: branches/fixes_3_2@40540 -
2018-12-13 18:08:42 +00:00
marco
1f921d4ac0 --- Merging r39866 into '.':
U    rtl/unix/sysutils.pp
--- Recording mergeinfo for merge of r39866 into '.':
 U   .
--- Merging r39870 into '.':
U    utils/bin2obj.pp
--- Recording mergeinfo for merge of r39870 into '.':
 G   .
--- Merging r39973 into '.':
U    packages/fcl-image/src/fpimage.pp
--- Recording mergeinfo for merge of r39973 into '.':
 G   .
--- Merging r39995 into '.':
U    packages/gmp/src/gmp.pas
U    rtl/objpas/math.pp
--- Recording mergeinfo for merge of r39995 into '.':
 G   .
--- Merging r40215 into '.':
U    packages/paszlib/src/zipper.pp
--- Recording mergeinfo for merge of r40215 into '.':
 G   .

# revisions: 39866,39870,39973,39995,40215,

git-svn-id: branches/fixes_3_2@40528 -
2018-12-11 21:19:56 +00:00
marco
fa58ed1df7 --- Merging r39691 into '.':
U    packages/chm/src/chmcmd.lpi
--- Recording mergeinfo for merge of r39691 into '.':
 U   .
--- Merging r39758 into '.':
U    packages/fcl-base/src/fpexprpars.pp
--- Recording mergeinfo for merge of r39758 into '.':
 G   .
--- Merging r39831 into '.':
U    packages/fcl-net/src/ssockets.pp
--- Recording mergeinfo for merge of r39831 into '.':
 G   .
--- Merging r39840 into '.':
U    rtl/inc/fexpand.inc
U    tests/test/units/dos/tfexpand.pp
--- Recording mergeinfo for merge of r39840 into '.':
 G   .
--- Merging r39843 into '.':
U    rtl/objpas/sysutils/syshelp.inc
--- Recording mergeinfo for merge of r39843 into '.':
 G   .

# revisions: 39691,39758,39831,39840,39843

git-svn-id: branches/fixes_3_2@40527 -
2018-12-11 20:17:15 +00:00
marco
3ecb0ecc11 --- Merging r39992 into '.':
U    rtl/objpas/math.pp
--- Recording mergeinfo for merge of r39992 into '.':
 U   .
--- Merging r39994 into '.':
U    packages/rtl-objpas/src/inc/stdconvs.pp
G    rtl/objpas/math.pp
--- Recording mergeinfo for merge of r39994 into '.':
 G   .

# revisions: 39992,39994

git-svn-id: branches/fixes_3_2@40526 -
2018-12-11 19:50:27 +00:00
marco
9712af7fc4 --- Merging r39984 into '.':
U    rtl/objpas/types.pp
--- Recording mergeinfo for merge of r39984 into '.':
 U   .

# revisions: 39984

git-svn-id: branches/fixes_3_2@40525 -
2018-12-11 17:20:15 +00:00
marco
e1d32d0fef # revisions: 39793,39850,39852,39910,40020,40021,40022,40024,40096
git-svn-id: branches/fixes_3_2@40097 -
2018-10-30 13:11:14 +00:00
marco
edf32cd5dc The Important Ones:
- 39683, 39684, 39685, 39686 (rework of Interface Method RTTI)
- 39687, 39688, 39689, 39690, 39709, 39710 (change of PPU version)

git-svn-id: branches/fixes_3_2@39809 -
2018-09-26 12:50:46 +00:00
marco
d8cd1baf82 --- Merging r39670 into '.':
U    rtl/wince/wininc/defines.inc
U    rtl/win/wininc/defines.inc
--- Recording mergeinfo for merge of r39670 into '.':
 U   .

# revisions: 39670

git-svn-id: branches/fixes_3_2@39791 -
2018-09-22 10:40:11 +00:00
marco
36b61f985f --- Merging r39707 into '.':
U    packages/chm/src/chmreader.pas
--- Recording mergeinfo for merge of r39707 into '.':
 U   .
--- Merging r39708 into '.':
U    packages/chm/src/chmwriter.pas
U    packages/chm/src/chmfilewriter.pas
--- Recording mergeinfo for merge of r39708 into '.':
 G   .
--- Merging r39743 into '.':
U    rtl/objpas/sysutils/finah.inc
--- Recording mergeinfo for merge of r39743 into '.':
 G   .
--- Merging r39744 into '.':
U    packages/fcl-image/src/fpimage.pp
--- Recording mergeinfo for merge of r39744 into '.':
 G   .
--- Merging r39784 into '.':
 U   utils/data2inc.exm
--- Recording mergeinfo for merge of r39784 into '.':
 G   .

# revisions: 39707,39708,39743,39744,39784

git-svn-id: branches/fixes_3_2@39790 -
2018-09-22 09:48:07 +00:00
marco
c5e1d72b71 --- Merging r39666 into '.':
U    packages/fcl-registry/src/winreg.inc
--- Recording mergeinfo for merge of r39666 into '.':
 U   .
--- Merging r39667 into '.':
U    packages/fcl-registry/src/registry.pp
--- Recording mergeinfo for merge of r39667 into '.':
 G   .
--- Merging r39673 into '.':
U    rtl/inc/systemh.inc
--- Recording mergeinfo for merge of r39673 into '.':
 G   .
--- Merging r39675 into '.':
U    rtl/win/wininc/defines.inc
U    rtl/win/wininc/redef.inc
--- Recording mergeinfo for merge of r39675 into '.':
 G   .
--- Merging r39676 into '.':
U    packages/fcl-image/src/fpreadpng.pp
--- Recording mergeinfo for merge of r39676 into '.':
 G   .

# revisions: 39666,39667,39673,39675,39676

git-svn-id: branches/fixes_3_2@39677 -
2018-08-28 11:36:33 +00:00
marco
cdd16222d4 --- Merging r39657 into '.':
U    packages/fcl-fpcunit/src/exampletests/money.pp
--- Recording mergeinfo for merge of r39657 into '.':
 U   .
--- Merging r39658 into '.':
U    packages/fcl-registry/src/regini.inc
U    packages/fcl-registry/src/xregreg.inc
--- Recording mergeinfo for merge of r39658 into '.':
 G   .
--- Merging r39659 into '.':
G    packages/fcl-registry/src/xregreg.inc
--- Recording mergeinfo for merge of r39659 into '.':
 G   .
--- Merging r39660 into '.':
U    packages/fcl-fpcunit/src/DUnitCompatibleInterface.inc
--- Recording mergeinfo for merge of r39660 into '.':
 G   .
--- Merging r39662 into '.':
U    rtl/inc/systemh.inc
--- Recording mergeinfo for merge of r39662 into '.':
 G   .
--- Merging r39663 into '.':
D    rtl/linux/oldlinux.pp
--- Recording mergeinfo for merge of r39663 into '.':
 G   .

# revisions: 39657,39658,39659,39660,39662,39663

git-svn-id: branches/fixes_3_2@39665 -
2018-08-24 07:56:16 +00:00
marco
f53309b61c --- Merging r39644 into '.':
U    rtl/linux/arm/stat.inc
U    rtl/linux/m68k/stat.inc
U    rtl/linux/aarch64/stat.inc
U    rtl/linux/powerpc64/stat.inc
U    rtl/linux/i386/stat.inc
U    rtl/linux/x86_64/stat.inc
--- Recording mergeinfo for merge of r39644 into '.':
 U   .
--- Merging r39651 into '.':
U    packages/fcl-process/src/process.pp
U    packages/fcl-process/src/processunicode.pp
U    packages/fcl-process/src/processbody.inc
--- Recording mergeinfo for merge of r39651 into '.':
 G   .
--- Merging r39655 into '.':
U    rtl/linux/powerpc/stat.inc
--- Recording mergeinfo for merge of r39655 into '.':
 G   .

# revisions: 39644,39651,39655

git-svn-id: branches/fixes_3_2@39656 -
2018-08-20 14:29:10 +00:00
marco
6c18952679 * merge ver2_ and ver3_0_0 deprecations
* remove mergeinfo from rtl/

git-svn-id: branches/fixes_3_2@39643 -
2018-08-19 14:57:51 +00:00
marco
340c62d2e7 more version updates
git-svn-id: branches/fixes_3_2@39634 -
2018-08-18 15:26:38 +00:00
marco
bceb71bf9f * version to 3.2.0-beta
git-svn-id: branches/fixes_3_2@39633 -
2018-08-18 15:25:41 +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
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
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
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
nickysn
9272bf59b2 + added x86 (i8086, i386 and x86_64) intrinsics fpc_x86_get_cs/ss/ds/es/fs/gs
for getting the value of x86 segment registers

git-svn-id: trunk@39433 -
2018-07-11 14:19:40 +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
db0b6adef8 + add the ports[] access to the go32v2 system unit as well
git-svn-id: trunk@39423 -
2018-07-09 16:26:52 +00:00
nickysn
62fe6cb5d3 + integrated the port access via Port[] in the i8086-msdos system unit to ease
porting TP7 code. The ports unit also remains for compatibility with code that
  has already been ported to FPC.

git-svn-id: trunk@39422 -
2018-07-09 15:40:12 +00:00
nickysn
8e6205aca6 * changed the visibility of the writeport and readport methods in the ports unit
objects to private (since they should be accessed only through the default
  indexed property)

git-svn-id: trunk@39421 -
2018-07-09 14:55:20 +00:00
nickysn
7df861487b * use include files in the unix ports unit as well
+ add portsh.inc and ports.inc for x86_64 as well

git-svn-id: trunk@39420 -
2018-07-09 14:42:01 +00:00
nickysn
3673f03841 * set the stdcall calling convention explicitly for each method, that requires
it, instead of using {$calling stdcall} in the go32v2 ports unit

git-svn-id: trunk@39402 -
2018-07-06 15:59:26 +00:00
nickysn
0ea3570b96 * moved the interface and implementation parts of the go32v2 ports unit to
include files portsh.inc and ports.inc in the i386 rtl directory

git-svn-id: trunk@39397 -
2018-07-06 15:52:18 +00:00
nickysn
5318a04a5b * moved the interface and implementation parts of the i8086-msdos ports unit to
include files portsh.inc and ports.inc in the i8086 rtl directory

git-svn-id: trunk@39396 -
2018-07-06 15:41:44 +00:00
pierre
18cc1f1709 Try to implement CheckPointer exclusion range for FreeBSD OS
git-svn-id: trunk@39394 -
2018-07-06 09:08:54 +00:00
pierre
7d96c2a368 Add --32 or --64 to GNU assembler call for i386 or x86_64 cpu
git-svn-id: trunk@39393 -
2018-07-06 09:06:19 +00:00
nickysn
5a84f21ba1 + use the new cli/sti intrinsics in go32.enable and go32.disable
git-svn-id: trunk@39389 -
2018-07-04 17:02:07 +00:00
nickysn
ff2fff365f + added x86 compiler intrinsics fpc_x86_sti and fpc_x86_cli, which generate the
'sti' and 'cli' instructions

git-svn-id: trunk@39388 -
2018-07-04 16:48:34 +00:00
nickysn
de3d14b606 + enabled the port intrinsics in the go32v2 unit ports as well
git-svn-id: trunk@39387 -
2018-07-04 16:05:58 +00:00
nickysn
25cd354f87 * updated the go32 unit port access functions to use the new x86 port access
compiler intrinsics

git-svn-id: trunk@39385 -
2018-07-04 15:47:15 +00:00
michael
844a9b0ca6 * Actually observe TStringStream.OwnsEncoding in destructor
git-svn-id: trunk@39379 -
2018-07-04 11:03:21 +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