Commit Graph

35 Commits

Author SHA1 Message Date
marco
7201fbe85e # revisions: 43880,44093
git-svn-id: branches/fixes_3_2@45533 -
2020-05-30 16:02:35 +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
Károly Balogh
a3a7285df4 linux: an attempt to clean up and fix syscall calling conventions for ftruncate64, pread64 and pwrite64 on platforms which use aligned register pairs to pass the 64bit parameters
git-svn-id: trunk@37719 -
2017-12-12 02:39:45 +00:00
yury
af0fdea815 * Android: Include list of supported syscalls for each CPU.
Adjust Linux RTL to work with supported Android syscalls. 
  It should fix issues with Android 8.

git-svn-id: trunk@37480 -
2017-10-17 18:15:02 +00:00
marco
2221e4e4bd * fix timespec=nil for -dgeneric_linux_syscalls (aarch64) case.
git-svn-id: trunk@33392 -
2016-03-30 19:21:05 +00:00
Jonas Maebe
e54d0a41af * fixed ppoll for infinite timeouts (patch by Edmund Grimley Evans)
git-svn-id: trunk@31042 -
2015-06-13 21:02:02 +00:00
Jonas Maebe
4fa2edc638 + Linux/AArch64 RTL support (patch by Edmund Grimley Evans)
o uses new generic Linux syscall numbers, used for recent architectures

git-svn-id: trunk@30895 -
2015-05-23 21:04:08 +00:00
pierre
651589c9a4 * Adapt to mipsel compiler defining cpumipsel and cpumipsel32 but not cpumips anymore
git-svn-id: trunk@21542 -
2012-06-08 09:34:36 +00:00
florian
c19b0ac189 * Fppwrite fixed after yesterday's mess
git-svn-id: trunk@20282 -
2012-02-08 21:29:54 +00:00
pierre
f3b921d281 Fix missing close brace introduced in commit 20277
git-svn-id: trunk@20278 -
2012-02-08 08:28:27 +00:00
florian
806ae36100 * some mips rtl compilation issues fixed
git-svn-id: trunk@20277 -
2012-02-07 22:07:13 +00:00
marco
07fabab526 * fpgetsid, Mantis #20329
git-svn-id: trunk@19178 -
2011-09-22 13:21:38 +00:00
daniel
1009a84e25 + Add modify_ldt to linux unit
+ Add sched_yield to linux unit
  - Remove clone for m68k from linux unit (unimplemented assembler section)
  + Add fpsigtimedwait to baseunix unit

git-svn-id: trunk@15602 -
2010-07-18 21:53:26 +00:00
michael
e8a375c774 * Patch from Henry Vermaak to fix EABI kernel API for arm.
git-svn-id: trunk@13563 -
2009-08-20 08:00:50 +00:00
florian
6dc51122e7 * fixes fpsigsuspend call at least on i386-linux
git-svn-id: trunk@13433 -
2009-07-24 16:30:32 +00:00
micha
4594758ae5 + add poll support for unix
git-svn-id: trunk@12128 -
2008-11-16 17:05:47 +00:00
micha
923e5eff19 * fix lstat syscall for linux/powerpc64 (lstat64 is only for 32 bit platforms)
git-svn-id: trunk@12122 -
2008-11-16 14:22:36 +00:00
Jonas Maebe
7aee2f3d71 * moved fplstat(ansistring,pstat) overload to bunxovl(h).inc, so all
platforms have (fixes compilation for FPC_USE_LIBC platforms after
    r11681)

git-svn-id: trunk@11693 -
2008-09-02 10:14:45 +00:00
florian
447e963e88 * armel and little/big endian support
git-svn-id: trunk@9152 -
2007-11-07 20:41:27 +00:00
micha
1a0a2c8adc * fix lstat for x86_64 linux syscall, has no 32 bit variant
git-svn-id: trunk@6625 -
2007-02-24 09:42:27 +00:00
micha
c771059cf9 * fix lstat 64 bit for linux syscall (patch from Lloyd Park)
git-svn-id: trunk@6622 -
2007-02-23 22:25:39 +00:00
micha
0043aff24d * fix linux/sysutils 64 bit file handling: make off_t 64 bit
git-svn-id: trunk@5152 -
2006-11-01 16:32:12 +00:00
Almindor
827abd27d7 * adds fpgetcwd support to sysdir.inc and fixes compilation
git-svn-id: trunk@2969 -
2006-03-19 17:10:04 +00:00
Almindor
4afe7ef0c9 * Simplified and fixed (previous mistake..) select/newselect
git-svn-id: trunk@2885 -
2006-03-12 13:25:02 +00:00
Almindor
8924d3f37a * linux-i386 uses new_select now too
git-svn-id: trunk@2884 -
2006-03-12 13:03:33 +00:00
Vincent Snijders
b0a394edfc fixed typo
git-svn-id: trunk@2732 -
2006-03-04 13:34:07 +00:00
marco
24c0b496dd * commit of the syscall based linux support for pwrite/writev, still under
{$ifdef linux}. This to fix x86_64 breakage.

git-svn-id: trunk@2731 -
2006-03-04 12:40:45 +00:00
daniel
740c68106b + Add pread/pwrite system calls
* Optimize video using pwrite

git-svn-id: trunk@2705 -
2006-02-27 23:18:35 +00:00
peter
4ace790492 * remove $Log
git-svn-id: trunk@231 -
2005-06-07 09:47:55 +00:00
fpc
790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3 initial import
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
florian
314fe14247 + routines in baseunix can be overriden by processor specifics in bsyscall.inc 2005-03-03 20:58:38 +00:00
florian
a6b7be5ca1 + sparc specific pipe implementation 2005-03-03 20:13:44 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
peter
ae8b7b153b * include file cleanup 2005-02-13 20:01:37 +00:00