fpc/compiler/systems
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
..
i_aix.pas
i_amiga.pas
i_android.pas Merged aarch64-android, x86_64-android targets and fixes for the Android target. 2018-12-13 18:08:42 +00:00
i_aros.pas
i_atari.pas
i_beos.pas
i_bsd.pas arm-netbsd: use HF ABI, needs proper alignment 2018-03-22 00:42:43 +00:00
i_embed.pas + initial (experimental) implementation of section-based smartlinking for i8086. 2018-06-11 16:56:33 +00:00
i_emx.pas
i_gba.pas
i_go32v2.pas Add tf_no_pic_supported to go32v2 target (was generating wrong code) 2018-05-23 21:12:56 +00:00
i_haiku.pas
i_jvm.pas
i_linux.pas
i_macos.pas
i_morph.pas
i_msdos.pas + initial (experimental) implementation of section-based smartlinking for i8086. 2018-06-11 16:56:33 +00:00
i_nativent.pas
i_nds.pas
i_nwl.pas
i_nwm.pas
i_os2.pas
i_palmos.pas palmos: turned off large object generation for palmos, fixed linking by skipping the unnecessary obj-res stage 2018-01-04 07:36:10 +00:00
i_sunos.pas
i_symbian.pas
i_watcom.pas
i_wdosx.pas
i_wii.pas
i_win16.pas + initial (experimental) implementation of section-based smartlinking for i8086. 2018-06-11 16:56:33 +00:00
i_win.pas * set localalignmin to 4 on x86_64-win64, there is no reason to leave it at 8 (same as linux) 2018-03-17 21:30:49 +00:00
mac_crea.txt
t_aix.pas renamed script unit to cscript to avoid namespace conflict with univint package on Darwin. this makes it possible to build the textmode IDE on Darwin 2017-11-17 11:27:19 +00:00
t_amiga.pas renamed script unit to cscript to avoid namespace conflict with univint package on Darwin. this makes it possible to build the textmode IDE on Darwin 2017-11-17 11:27:19 +00:00
t_android.pas Merged aarch64-android, x86_64-android targets and fixes for the Android target. 2018-12-13 18:08:42 +00:00
t_aros.pas renamed script unit to cscript to avoid namespace conflict with univint package on Darwin. this makes it possible to build the textmode IDE on Darwin 2017-11-17 11:27:19 +00:00
t_atari.pas atari: remove -sd vlink option. this stops the linker from merging the bss segment into the data segment shaving off about 8K from the Hello, world! size. the data segment is merged into a single one on atari anyway, so this argument is not needed 2017-12-27 01:01:41 +00:00
t_beos.pas renamed script unit to cscript to avoid namespace conflict with univint package on Darwin. this makes it possible to build the textmode IDE on Darwin 2017-11-17 11:27:19 +00:00
t_bsd.pas arm-netbsd: append -N to the command line. lets figure out later if this is the right solution here 2018-03-22 00:43:32 +00:00
t_embed.pas Make sure to align at the end of the .text, in case .data bytes will be placed there in flash. 2018-07-12 18:52:19 +00:00
t_emx.pas renamed script unit to cscript to avoid namespace conflict with univint package on Darwin. this makes it possible to build the textmode IDE on Darwin 2017-11-17 11:27:19 +00:00
t_gba.pas renamed script unit to cscript to avoid namespace conflict with univint package on Darwin. this makes it possible to build the textmode IDE on Darwin 2017-11-17 11:27:19 +00:00
t_go32v2.pas renamed script unit to cscript to avoid namespace conflict with univint package on Darwin. this makes it possible to build the textmode IDE on Darwin 2017-11-17 11:27:19 +00:00
t_haiku.pas renamed script unit to cscript to avoid namespace conflict with univint package on Darwin. this makes it possible to build the textmode IDE on Darwin 2017-11-17 11:27:19 +00:00
t_jvm.pas renamed script unit to cscript to avoid namespace conflict with univint package on Darwin. this makes it possible to build the textmode IDE on Darwin 2017-11-17 11:27:19 +00:00
t_linux.pas * Patch by Cyrax to allow creating map file on linux (bug ID 33982) 2018-07-14 08:12:38 +00:00
t_macos.pas macos: initial cross-linker support, based on the binutils in the Retro68 GNU binutils 2018-02-02 23:01:25 +00:00
t_morph.pas renamed script unit to cscript to avoid namespace conflict with univint package on Darwin. this makes it possible to build the textmode IDE on Darwin 2017-11-17 11:27:19 +00:00
t_msdos.pas * use uppercase object section names in the OMF linker script for matching the 2018-06-14 15:19:11 +00:00
t_nativent.pas
t_nds.pas renamed script unit to cscript to avoid namespace conflict with univint package on Darwin. this makes it possible to build the textmode IDE on Darwin 2017-11-17 11:27:19 +00:00
t_nwl.pas renamed script unit to cscript to avoid namespace conflict with univint package on Darwin. this makes it possible to build the textmode IDE on Darwin 2017-11-17 11:27:19 +00:00
t_nwm.pas renamed script unit to cscript to avoid namespace conflict with univint package on Darwin. this makes it possible to build the textmode IDE on Darwin 2017-11-17 11:27:19 +00:00
t_os2.pas renamed script unit to cscript to avoid namespace conflict with univint package on Darwin. this makes it possible to build the textmode IDE on Darwin 2017-11-17 11:27:19 +00:00
t_palmos.pas palmos: also pass --embedded-relocs to the linker. mimics what prc-tools GCC does 2018-01-04 08:27:23 +00:00
t_sunos.pas Remove abolute path for native linker, ld is in directory /usr/ccs/bin in Oracle Solaris 10 8/11 2018-08-01 06:44:26 +00:00
t_symbian.pas renamed script unit to cscript to avoid namespace conflict with univint package on Darwin. this makes it possible to build the textmode IDE on Darwin 2017-11-17 11:27:19 +00:00
t_watcom.pas renamed script unit to cscript to avoid namespace conflict with univint package on Darwin. this makes it possible to build the textmode IDE on Darwin 2017-11-17 11:27:19 +00:00
t_wdosx.pas
t_wii.pas renamed script unit to cscript to avoid namespace conflict with univint package on Darwin. this makes it possible to build the textmode IDE on Darwin 2017-11-17 11:27:19 +00:00
t_win16.pas + implemented the -Xg option for putting the debug information in a separate 2018-05-22 15:33:26 +00:00
t_win.pas * keep track of the temp position separately from the offset in references, 2018-04-22 17:03:16 +00:00