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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -