svenbarth
e734ca7a9b
M68k: Fix passing of environment variables. Fixes the compiler not being able to execute the external assembler and linker.
...
* rtl/linux/m68k/prt0.as:
between the arguments and the environment variables is a NULL; keep this in mind when loading the address of the first environment variable.
git-svn-id: trunk@26851 -
2014-02-23 12:41:05 +00:00
Károly Balogh
c6d60979d2
set errno after syscalls. this fixes tiorte test at least. this code ideally should be in assembly, but it seems the assembler reader needs some fixing first...
...
git-svn-id: trunk@26828 -
2014-02-22 05:30:04 +00:00
svenbarth
1e48c7c930
Now that spilling correctly works on m68k we definitely need to store/restore the registers inside the FpSyscall functions. Fixes quite some tests.
...
* rtl/linux/m68k/syscall.inc:
Remove "assembler" modifier and instead use an inline asm block with an accurate list of modified registers so that the compiler correctly stores/restores them
git-svn-id: trunk@26804 -
2014-02-16 21:21:40 +00:00
sergei
ead8d0c1d4
* Clean up i386-Linux startup code for shared libraries:
...
* The initialization code is a normal function called by runtime linker, stack layout at process startup is irrelevant.
* Stack pointer can be replaced by frame pointer, they are just a few bytes away.
* IsLibrary is set to true in fpc_libinitializeunits and therefore assigning it here is redundant.
* The exitcode is passed as argument to haltproc, so messing with PIC is not necessary.
git-svn-id: trunk@26759 -
2014-02-13 04:54:21 +00:00
sergei
83fda1e6a9
* Frame size on MIPS must be divisible by 8, thanks to Vsevolod Alekseyev for spotting this.
...
git-svn-id: trunk@26734 -
2014-02-08 21:06:30 +00:00
yury
73c26bd6be
* mipsel-android: Regenerated makefiles. From now the mipsel-android target can be built and used.
...
git-svn-id: trunk@26705 -
2014-02-07 12:37:17 +00:00
Tomas Hajny
be6fdf21ce
+ character sets for central Europe added also to Makefiles as implicit units
...
git-svn-id: trunk@26527 -
2014-01-20 00:23:36 +00:00
marco
f09374a197
* winsock(and -2), sockets and gpm to rtl-extra.
...
git-svn-id: trunk@26426 -
2014-01-11 19:45:37 +00:00
marco
dea2c743d5
* Initial active version of
...
rtl-extra : objects matrix ucomplex
rtl-objpas: convutil(s) dateutil(s) stdconvs variants varutils
git-svn-id: trunk@26398 -
2014-01-05 19:20:15 +00:00
paul
14a34239cc
rtl: add cp856 to makefiles
...
git-svn-id: trunk@26387 -
2014-01-05 06:03:28 +00:00
marco
a001e12d04
* rtl-console initial version.
...
git-svn-id: trunk@26372 -
2014-01-03 22:19:02 +00:00
marco
ebe262762a
* Clean out of $i textrec and filerec includes that are redundant now that cpstrrtl exposes
...
those records via system.
git-svn-id: trunk@26356 -
2014-01-02 13:26:09 +00:00
sergei
62a5ba14a3
+ SPARC: support finalization routine supplied by dynamic linker.
...
+ Added "stack not executable" marker.
git-svn-id: trunk@26287 -
2013-12-26 09:09:23 +00:00
sergei
16156cbcd7
- SPARC RTL: removed assembler PIC/threadvar hacks.
...
git-svn-id: trunk@26260 -
2013-12-22 13:42:53 +00:00
marco
a8671e550e
* fix FPC_USE_LIBC for inotify and clock* functions, and always link librt when this unit is used under FPC_USE_LIBC.
...
make all building failed otherwise because fppkg seems to import unit linux somewhere.
git-svn-id: trunk@26199 -
2013-12-08 20:23:09 +00:00
marco
e93413fae7
* Initial FPC_USE_LIBC implementation of termios for Linux.
...
* Removed VER2_0 defines.
git-svn-id: trunk@26189 -
2013-12-06 15:00:55 +00:00
Jonas Maebe
5b58162d6b
* increased the size of tdirent to
...
a) compensate for the fact that the kernel assumes it's a multiple of 8
bytes
b) reduce the number of system calls we have to perform when walking a
directory
(fixes mantis #24885 and probably also #20125 and #23732 )
git-svn-id: trunk@26150 -
2013-11-27 22:57:17 +00:00
sergei
ca445577ff
- Linux RTL: MIPS no longer needs the softfloat code, don't compile it.
...
git-svn-id: trunk@25882 -
2013-10-30 12:25:11 +00:00
nickysn
714ca3a61d
* fixed the stack traces under linux (StackTop wasn't initialized)
...
git-svn-id: trunk@25861 -
2013-10-27 12:37:32 +00:00
sergei
a3364a4b80
- RTL, Linux/FreeBSD shared library startup: removed FPC_SHARED_LIB_EXIT label, it is a leftover from times when library startup code was erroneously halting owning process on exit.
...
git-svn-id: trunk@25737 -
2013-10-10 13:14:56 +00:00
nickysn
1bea98995b
* regenerated fpcmake makefiles after r25642
...
git-svn-id: trunk@25644 -
2013-10-05 10:11:27 +00:00
Jonas Maebe
de56f909d5
* synchronized with trunk up to and including r25430
...
git-svn-id: branches/cpstrrtl@25431 -
2013-09-06 10:09:26 +00:00
florian
7df123aa1e
* insert it statements for arm thumb2 in syscall assembler procedures
...
git-svn-id: trunk@25342 -
2013-08-23 15:22:38 +00:00
Jonas Maebe
29132f45b7
* synchronised with trunk up to r25167 (fixes glib compilation via r25164,
...
and occasional crashes in executeprocess on libc platforms via r25167)
git-svn-id: branches/cpstrrtl@25169 -
2013-07-24 14:24:49 +00:00
Jonas Maebe
da7a67bc74
+ FPCRTL_FILESYSTEM_SINGLE_BYTE_API define that is set for targets where we
...
use a single byte API for file system operations
+ FPCRTL_FILESYSTEM_TWO_BYTE_API define that is set for targets where we
use a single byte API for file system operations
o in principle, both can be set if both are supprted and implemented in
the RTL in order to minimise conversions depending on the scenario
git-svn-id: branches/cpstrrtl@24991 -
2013-06-27 21:37:39 +00:00
Jonas Maebe
81597bf171
* updated address of FSF (mantis #24646 , patch by Alexey Svistunov)
...
git-svn-id: trunk@24986 -
2013-06-27 14:01:18 +00:00
Jonas Maebe
ecd3cba02b
* synchronised with trunk up to r24912
...
o resolved conflict in updated morphos sysutils unit
o moved code that had been added to the now deleted sysunix.inc to the
unix-specific block of the fpwidestring unit's init code
git-svn-id: branches/cpstrrtl@24913 -
2013-06-17 20:50:02 +00:00
Jonas Maebe
78f94ab035
* made calls to seterrno position-independent
...
git-svn-id: trunk@24640 -
2013-05-30 12:23:50 +00:00
pierre
78a7043352
Regenerate all Makefiles with an up-to-date fpcmake binary (dummy commit)
...
git-svn-id: trunk@24367 -
2013-04-29 12:30:54 +00:00
florian
3d7033d81e
* Makefiles regenerated
...
git-svn-id: trunk@24325 -
2013-04-25 20:25:57 +00:00
paul
a592e77f35
rtl: add missing windows codepages (mantis #0024294 )
...
git-svn-id: trunk@24295 -
2013-04-22 01:48:12 +00:00
florian
308fb42f4b
* fix parameter handling in FPC_SYSCALL4 to FPC_SYSCALL6
...
git-svn-id: trunk@24193 -
2013-04-07 21:01:01 +00:00
florian
a86531c225
* load exit code in _haltproc for thumb
...
git-svn-id: trunk@24191 -
2013-04-07 21:00:54 +00:00
florian
5ee9fe75e9
* unicodenumtable is also an implicitly built unit
...
git-svn-id: trunk@24062 -
2013-03-29 18:48:59 +00:00
paul
d80f47a601
rtl: apply similar to r24022-r24026 changes made by Jonas to other targets
...
git-svn-id: trunk@24027 -
2013-03-28 02:37:17 +00:00
paul
8e0c211b9a
rtl: enable collations build for linux
...
git-svn-id: trunk@24020 -
2013-03-27 01:03:54 +00:00
florian
4328e8c7b8
* remove superfluous texts after endif
...
git-svn-id: trunk@23999 -
2013-03-25 17:55:17 +00:00
florian
a433d53117
+ linux syscalls for arm thumb
...
git-svn-id: trunk@23987 -
2013-03-24 21:39:34 +00:00
florian
9dc03c809e
+ in_edsp_test is only available if FPC_SYSTEM_FPC_MOVE is defined
...
git-svn-id: trunk@23985 -
2013-03-24 20:25:42 +00:00
florian
c7edbb70a6
* armv6-m support for linux rtl Makefile
...
git-svn-id: trunk@23982 -
2013-03-24 20:23:43 +00:00
florian
767e932e0e
+ arm-linux startup code for thumb
...
git-svn-id: trunk@23981 -
2013-03-24 20:23:00 +00:00
sergei
6f1997f5e5
+ MIPS: added profiling support
...
git-svn-id: trunk@23950 -
2013-03-21 13:40:50 +00:00
sergei
be1fcc8e3d
* Forgotten delay slot was causing exit code loss in most library-related tests.
...
git-svn-id: trunk@23874 -
2013-03-16 20:01:33 +00:00
sergei
0a155e3ae1
MIPS startup code:
...
- Removed tabs.
- Removed nonsense code involving $s7.
+ Call finalization procedure in the end, fixes webtbs/tw9089.
+ added non-executable stack marker.
git-svn-id: trunk@23842 -
2013-03-15 12:33:10 +00:00
paul
db357320d7
rtl: install all cpXXX .ppu and .o files
...
git-svn-id: trunk@23802 -
2013-03-12 11:44:15 +00:00
paul
5157304998
rtl: build fpwidestring for the same platforms as character unit
...
git-svn-id: trunk@23801 -
2013-03-12 03:23:08 +00:00
paul
e379daaf9c
compiler, rtl: move cpXXXX.pas files from compiler to RTL\charmaps directory and cleanup them, enable charmaps building for the majority of targets
...
git-svn-id: trunk@23799 -
2013-03-12 01:35:25 +00:00
yury
2b2a68446d
* Added new unit unixcp. It contains stuff from winiconv.inc - a table to map Windows code page identifiers to locale names on unix. Also GetSystemCodePage function in this unit can be used to detect which code page is used currently.
...
* Build unixcp for all unix-like systems.
* Use the unixcp unit in cwstring instead of winiconv.inc.
- Deleted winiconv.inc
- Reverted r22410,r22411,r22428. The compiler will use the unixcp unit to get a default code page for ansistrings.
git-svn-id: trunk@23670 -
2013-02-28 18:21:28 +00:00
florian
776f4cc18f
* build statement for the cpu unit, resolves #23910
...
git-svn-id: trunk@23629 -
2013-02-18 20:32:09 +00:00
florian
2a99cef7c3
* compile command for uuchar, resolves #23907
...
git-svn-id: trunk@23625 -
2013-02-17 16:13:54 +00:00
sergei
58f8a00814
* MIPS fppipe(): added error handling, and fixed parameter location (assembler procedures should not modify initial location of parameters, but one of MIPS code generator hacks copies parameters to stack. That hack is subject to remove).
...
git-svn-id: trunk@23610 -
2013-02-13 18:01:12 +00:00
yury
4758d513de
* Regenerated 2 makefiles for consistency.
...
git-svn-id: trunk@23605 -
2013-02-13 12:12:29 +00:00
yury
e88bc322bc
+ Merge the targetandroid branch. Support for arm and i386 android targets.
...
***************************************************************************
Revision: 23518
Author: yury
Date: 25 Jan 2013 0:14:31
Message:
* Build databases support for Android.
----
Modified : /branches/targetandroid/packages/dblib/fpmake.pp
Modified : /branches/targetandroid/packages/fcl-db/fpmake.pp
Revision: 23516
Author: yury
Date: 24 Jan 2013 23:08:12
Message:
* again made less complex for arm and sparc so it compiles there too without running out of registers.
----
Modified : /branches/targetandroid/tests/webtbs/tw2242.pp
Revision: 23515
Author: yury
Date: 24 Jan 2013 23:01:36
Message:
* Disabled the test for Android.
----
Modified : /branches/targetandroid/tests/webtbs/tw4038.pp
Revision: 23514
Author: yury
Date: 24 Jan 2013 22:32:39
Message:
* Disabled the test for Android.
----
Modified : /branches/targetandroid/tests/test/packages/webtbs/tw14265.pp
Revision: 23512
Author: yury
Date: 24 Jan 2013 12:30:07
Message:
* Allow passing of double quoted paths in TEST_OPT.
----
Modified : /branches/targetandroid/tests/Makefile
Modified : /branches/targetandroid/tests/Makefile.fpc
Revision: 23511
Author: yury
Date: 24 Jan 2013 12:29:01
Message:
* Fixed building of packages when cross-testing. Pass CROSSOPT to build packages in such case, otherwise options specified in TEST_OPT are used to build fpmake. The source compiler not always accepts target options. For example -Cfsoft option, often used for arm compiler, is not accepted by x86 compiler.
----
Modified : /branches/targetandroid/tests/tstunits/Makefile
Modified : /branches/targetandroid/tests/tstunits/Makefile.fpc
Revision: 23497
Author: yury
Date: 22 Jan 2013 19:10:54
Message:
* Reverted r23400 and r23401. Tomas has promised to commit more correct fix to trunk.
----
Modified : /branches/targetandroid/rtl/inc/fexpand.inc
Modified : /branches/targetandroid/tests/test/units/dos/tfexpand.pp
Revision: 23496
Author: yury
Date: 22 Jan 2013 19:05:51
Message:
* Disabled the test for Android.
----
Modified : /branches/targetandroid/tests/webtbs/tw0876.pp
Revision: 23495
Author: yury
Date: 22 Jan 2013 18:58:30
Message:
* Add %delfiles for proper clean-up.
----
Modified : /branches/targetandroid/tests/tbs/tb0582.pp
Modified : /branches/targetandroid/tests/test/tweaklib2.pp
Modified : /branches/targetandroid/tests/webtbs/tw12704b.pp
Modified : /branches/targetandroid/tests/webtbs/tw13628b.pp
Modified : /branches/targetandroid/tests/webtbs/tw14798.pp
Modified : /branches/targetandroid/tests/webtbs/tw16263b.pp
Modified : /branches/targetandroid/tests/webtbs/tw16949b.pp
Modified : /branches/targetandroid/tests/webtbs/tw2812.pp
Modified : /branches/targetandroid/tests/webtbs/tw3082.pp
Modified : /branches/targetandroid/tests/webtbs/tw3402.pp
Modified : /branches/targetandroid/tests/webtbs/tw6586b.pp
Modified : /branches/targetandroid/tests/webtbs/tw6822b.pp
Modified : /branches/targetandroid/tests/webtbs/tw7838b.pp
Modified : /branches/targetandroid/tests/webtbs/tw8730d.pp
Modified : /branches/targetandroid/tests/webtbs/tw9089c.pp
Revision: 23492
Author: yury
Date: 22 Jan 2013 16:43:42
Message:
* Turn off special handling of interrupt calling convention for i386-android.
----
Modified : /branches/targetandroid/compiler/i386/n386cal.pas
Modified : /branches/targetandroid/compiler/x86/cgx86.pas
Revision: 23491
Author: yury
Date: 22 Jan 2013 16:34:32
Message:
* Added %delfiles for proper clean-up.
----
Modified : /branches/targetandroid/tests/test/targ1b.pp
Modified : /branches/targetandroid/tests/test/tlib1b.pp
Modified : /branches/targetandroid/tests/test/tlib2b.pp
Modified : /branches/targetandroid/tests/test/tlibrary2.pp
Modified : /branches/targetandroid/tests/test/tlibrary3.pp
Modified : /branches/targetandroid/tests/test/units/sysutils/texec2.pp
Revision: 23490
Author: yury
Date: 22 Jan 2013 16:28:00
Message:
* These libs are for tests, that run only on windows. Mark libs for windows only as well.
----
Modified : /branches/targetandroid/tests/test/library/tlib3a.pp
Modified : /branches/targetandroid/tests/test/library/tlib3b.pp
Revision: 23489
Author: yury
Date: 22 Jan 2013 16:18:56
Message:
* Do not copy a library to a remote target if this library name is specified using %DELFILES directive.
----
Modified : /branches/targetandroid/tests/utils/dotest.pp
Revision: 23488
Author: yury
Date: 22 Jan 2013 15:47:52
Message:
* Implemented { %DELFILES file1 file2 ... } directive for tests. Primarily it is needed to delete shared libraries used by tests when TEST_DELTEMP=1. When testing on a real Android device, it is not good to run tests on flash memory partitions. Android devices have 1Mb RAM based tempfs partition for /tmp folder, which is ideal for running tests. Since 1Mb is very small size these days, it is needed to clean all test leftovers. Test shared libraries are the biggest leftovers and this new DELFILES directive will help to delete them.
* During remote execution, use && as a command separator after important commands such as CD to ensure that the command succeeded before running other commands. Group other commands using curly braces { }.
----
Modified : /branches/targetandroid/tests/readme.txt
Modified : /branches/targetandroid/tests/utils/dotest.pp
Modified : /branches/targetandroid/tests/utils/testu.pp
Revision: 23487
Author: yury
Date: 22 Jan 2013 13:16:22
Message:
* Define CExtended and clongdouble as double for Android.
----
Modified : /branches/targetandroid/compiler/psystem.pas
Modified : /branches/targetandroid/rtl/inc/ctypes.pp
Revision: 23486
Author: yury
Date: 22 Jan 2013 13:14:36
Message:
* Fixed compilation for case when extended <> cextended.
----
Modified : /branches/targetandroid/tests/test/cg/tcalext6.pp
Revision: 23485
Author: yury
Date: 22 Jan 2013 12:41:43
Message:
* More correct comparison of long double values for case when long double=double in C.
----
Modified : /branches/targetandroid/tests/test/cg/tcalext.pp
Revision: 23484
Author: yury
Date: 22 Jan 2013 11:53:41
Message:
* Do not pass -f switch for rm when testing via adb, since default android shell do not support -f switch.
----
Modified : /branches/targetandroid/tests/utils/dotest.pp
Revision: 23483
Author: yury
Date: 22 Jan 2013 11:47:31
Message:
* Added ICU version of Android 4.1.
* Increment by 2 when finding an unknown ICU version.
----
Modified : /branches/targetandroid/rtl/android/cwstring.pp
Revision: 23479
Author: yury
Date: 21 Jan 2013 14:29:40
Message:
* Add define for android.
----
Modified : /branches/targetandroid/tests/test/cg/tcalcst6.pp
Modified : /branches/targetandroid/tests/test/cg/tcalvar6.pp
Revision: 23478
Author: yury
Date: 21 Jan 2013 14:22:06
Message:
+ Added C object files for android-i386.
----
Added : /branches/targetandroid/tests/test/cg/obj/android/i386
Modified : /branches/targetandroid/tests/test/cg/obj/readme.txt
Revision: 23477
Author: yury
Date: 21 Jan 2013 14:08:25
Message:
* Add missing checks for android target.
----
Modified : /branches/targetandroid/compiler/aasmdata.pas
Modified : /branches/targetandroid/compiler/aggas.pas
Modified : /branches/targetandroid/compiler/expunix.pas
Modified : /branches/targetandroid/compiler/ncgld.pas
Modified : /branches/targetandroid/compiler/ogelf.pas
Modified : /branches/targetandroid/compiler/systems.pas
Modified : /branches/targetandroid/compiler/x86/agx86att.pas
Modified : /branches/targetandroid/compiler/x86/cgx86.pas
Modified : /branches/targetandroid/compiler/x86/rax86.pas
Revision: 23475
Author: yury
Date: 21 Jan 2013 13:51:09
Message:
* Set android-i368 stack alignment to 16.
----
Modified : /branches/targetandroid/compiler/systems/i_android.pas
Revision: 23474
Author: yury
Date: 21 Jan 2013 13:45:29
Message:
* Removed -z relro linker option, since it causes problems.
----
Modified : /branches/targetandroid/compiler/systems/t_android.pas
Revision: 23451
Author: yury
Date: 19 Jan 2013 1:32:26
Message:
* Pass some security switches to LD. They are passed by GCC.
* Removed unused function.
----
Modified : /branches/targetandroid/compiler/systems/t_android.pas
Revision: 23450
Author: yury
Date: 19 Jan 2013 1:27:45
Message:
* Fixed file description.
----
Modified : /branches/targetandroid/rtl/android/arm/dllprt0.as
Revision: 23449
Author: yury
Date: 19 Jan 2013 1:27:02
Message:
* Simplify arm startup code.
----
Modified : /branches/targetandroid/rtl/android/arm/prt0.as
Revision: 23448
Author: yury
Date: 19 Jan 2013 1:25:58
Message:
* Fixed file description.
----
Modified : /branches/targetandroid/rtl/android/i386/dllprt0.as
Modified : /branches/targetandroid/rtl/android/i386/prt0.as
Revision: 23447
Author: yury
Date: 19 Jan 2013 1:19:29
Message:
* Rewrite initialization code for i386-android. i386-android works.
----
Modified : /branches/targetandroid/rtl/android/i386/dllprt0.as
Modified : /branches/targetandroid/rtl/android/i386/prt0.as
Revision: 23441
Author: yury
Date: 18 Jan 2013 16:51:09
Message:
* Add android to supported targets for assemblers. It fixes assembling for i386-android.
----
Modified : /branches/targetandroid/compiler/arm/agarmgas.pas
Modified : /branches/targetandroid/compiler/i386/cpuelf.pas
Modified : /branches/targetandroid/compiler/x86/agx86att.pas
Revision: 23435
Author: yury
Date: 18 Jan 2013 0:46:23
Message:
* Enable safecall exception handling for arm-android.
----
Modified : /branches/targetandroid/compiler/systems/i_android.pas
Revision: 23434
Author: yury
Date: 18 Jan 2013 0:28:59
Message:
* Removed leftover from my experiments (calling directly pascal main).
----
Modified : /branches/targetandroid/rtl/android/arm/prt0.as
Revision: 23433
Author: yury
Date: 17 Jan 2013 23:43:09
Message:
* Uses SysUtils to make executable bigger. Otherwise string pointers for FindResource can be less than $10000. They are treated as IDs in such case and the test will fail.
----
Modified : /branches/targetandroid/tests/test/units/system/tres.pp
Revision: 23429
Author: yury
Date: 17 Jan 2013 18:49:23
Message:
* Thread safety.
----
Modified : /branches/targetandroid/rtl/android/cwstring.pp
Revision: 23427
Author: yury
Date: 17 Jan 2013 14:48:03
Message:
* Skip this test for android.
----
Modified : /branches/targetandroid/tests/test/textthr.pp
Revision: 23426
Author: yury
Date: 17 Jan 2013 14:21:51
Message:
* Fixed ifdefs linux to unix.
----
Modified : /branches/targetandroid/tests/test/tstring10.pp
Modified : /branches/targetandroid/tests/test/units/classes/tsetstream.pp
Modified : /branches/targetandroid/tests/test/units/dos/tdos.pp
Modified : /branches/targetandroid/tests/test/units/dos/tidos.pp
Revision: 23425
Author: yury
Date: 17 Jan 2013 14:20:56
Message:
* Enable more tests for android.
----
Modified : /branches/targetandroid/tests/test/packages/webtbs/tw14265.pp
Modified : /branches/targetandroid/tests/test/testfpuc.pp
Modified : /branches/targetandroid/tests/test/textthr.pp
Modified : /branches/targetandroid/tests/test/tlib2a.pp
Modified : /branches/targetandroid/tests/test/tlib2b.pp
Modified : /branches/targetandroid/tests/test/tpoll.pp
Modified : /branches/targetandroid/tests/test/tsafecall1.pp
Modified : /branches/targetandroid/tests/test/tsafecall2.pp
Modified : /branches/targetandroid/tests/test/tsafecall3.pp
Modified : /branches/targetandroid/tests/test/tsafecall4.pp
Modified : /branches/targetandroid/tests/test/units/system/tres.pp
Modified : /branches/targetandroid/tests/test/units/system/tres2.pp
Modified : /branches/targetandroid/tests/test/units/system/tres3.pp
Revision: 23424
Author: yury
Date: 17 Jan 2013 14:02:35
Message:
* Fixed AnsiStrLComp() and AnsiStrLIComp().
----
Modified : /branches/targetandroid/rtl/android/cwstring.pp
Revision: 23423
Author: yury
Date: 17 Jan 2013 13:49:55
Message:
* Fixed stupid copy-paste error.
----
Modified : /branches/targetandroid/rtl/android/cwstring.pp
Revision: 23409
Author: yury
Date: 16 Jan 2013 16:46:02
Message:
* Fixed conflict of native android and java android targets.
----
Modified : /branches/targetandroid/utils/fpcm/fpcmake.inc
Modified : /branches/targetandroid/utils/fpcm/fpcmake.ini
Revision: 23406
Author: yury
Date: 16 Jan 2013 15:33:50
Message:
* Set stackalign field.
----
Modified : /branches/targetandroid/compiler/systems/i_android.pas
Revision: 23404
Author: yury
Date: 16 Jan 2013 12:57:51
Message:
* Enable more tests for android.
----
Modified : /branches/targetandroid/tests/webtbs/tw0876.pp
Modified : /branches/targetandroid/tests/webtbs/tw12704a.pp
Modified : /branches/targetandroid/tests/webtbs/tw12704b.pp
Modified : /branches/targetandroid/tests/webtbs/tw16263a.pp
Modified : /branches/targetandroid/tests/webtbs/tw16263b.pp
Modified : /branches/targetandroid/tests/webtbs/tw16949a.pp
Modified : /branches/targetandroid/tests/webtbs/tw16949b.pp
Modified : /branches/targetandroid/tests/webtbs/tw6586a.pp
Modified : /branches/targetandroid/tests/webtbs/tw6586b.pp
Modified : /branches/targetandroid/tests/webtbs/tw6822c.pp
Modified : /branches/targetandroid/tests/webtbs/tw7838a.pp
Modified : /branches/targetandroid/tests/webtbs/tw7838b.pp
Modified : /branches/targetandroid/tests/webtbs/tw8730a.pp
Modified : /branches/targetandroid/tests/webtbs/tw8730b.pp
Modified : /branches/targetandroid/tests/webtbs/tw8730c.pp
Modified : /branches/targetandroid/tests/webtbs/tw8730d.pp
Modified : /branches/targetandroid/tests/webtbs/tw9089a.pp
Modified : /branches/targetandroid/tests/webtbs/tw9089b.pp
Modified : /branches/targetandroid/tests/webtbs/tw9089c.pp
Modified : /branches/targetandroid/tests/webtbs/tw9089d.pp
Modified : /branches/targetandroid/tests/webtbs/uw2364.pp
Revision: 23402
Author: yury
Date: 16 Jan 2013 12:50:52
Message:
* Use collation when comparing strings.
----
Modified : /branches/targetandroid/rtl/android/cwstring.pp
Revision: 23401
Author: yury
Date: 16 Jan 2013 12:41:32
Message:
* If there is no HOME directory, the current dir must be used.
----
Modified : /branches/targetandroid/tests/test/units/dos/tfexpand.pp
Revision: 23400
Author: yury
Date: 16 Jan 2013 12:40:25
Message:
* Fixed expanding ~ if there is no HOME env var set.
----
Modified : /branches/targetandroid/rtl/inc/fexpand.inc
Revision: 23391
Author: yury
Date: 15 Jan 2013 14:12:56
Message:
* Make sure that the thread has been started, before destroying the event.
----
Modified : /branches/targetandroid/tests/test/tbrtlevt.pp
Revision: 23390
Author: yury
Date: 15 Jan 2013 13:55:24
Message:
* Do not use DOS code pages for Android. Now all CP string tests pass on Android.
----
Modified : /branches/targetandroid/tests/test/tcpstr17.pp
Modified : /branches/targetandroid/tests/test/tcpstrconcat3.pp
Modified : /branches/targetandroid/tests/test/tcpstrconcatmulti.pp
Modified : /branches/targetandroid/tests/test/tcpstrconcatmulti2.pp
Revision: 23389
Author: yury
Date: 15 Jan 2013 13:53:50
Message:
* Use more common code pages 1251 and 1252 instead of old DOS code pages (not available on Android). There is Euro symbol character that has different code in 1251 and 1252 code pages. Use it for tests.
----
Modified : /branches/targetandroid/tests/test/tcpstr1.pp
Modified : /branches/targetandroid/tests/test/tcpstransistrcompare.pp
Modified : /branches/targetandroid/tests/test/tcpstransistrcompareequal.pp
Revision: 23386
Author: yury
Date: 15 Jan 2013 10:22:30
Message:
* Skip 2 tests for android, since they require local execution.
----
Modified : /branches/targetandroid/tests/test/tcpstr19.pp
Modified : /branches/targetandroid/tests/test/tcpstr9.pp
Revision: 23385
Author: yury
Date: 15 Jan 2013 10:20:43
Message:
* Fixed running library tests on android.
----
Modified : /branches/targetandroid/tests/utils/dotest.pp
Revision: 23382
Author: yury
Date: 14 Jan 2013 16:20:44
Message:
* Implemented Unicode string manager for Android. It uses ICU library libicuuc.so. Note: ICU on Android has limited number of code pages. So don't expect support for DOS code pages or other exotic code pages.
----
Modified : /branches/targetandroid/rtl/android/cwstring.pp
Revision: 23301
Author: yury
Date: 2 Jan 2013 20:47:09
Message:
* I've found that libc on Android does not implement widechar case functions such as towupper(). Such functions are just wrappers over regular char functions. Therefore the whole cwstring unit is useless for Android. For now I've added stub cwstring unit for Android and reverted all Android specific changes in unix/cwstring.pp. Later, Unicode manager for Androud should be implemented using libicuuc, which is default Android lib.
----
Added : /branches/targetandroid/rtl/android/cwstring.pp
Modified : /branches/targetandroid/rtl/unix/cwstring.pp
Revision: 23299
Author: yury
Date: 2 Jan 2013 19:38:08
Message:
* Android does not have libiconv, so don't use it in cwstring unit. For now support only UTF-8 code page in ansistrings. Later it is possible to use libicuuc for code page conversions on Android.
----
Modified : /branches/targetandroid/rtl/unix/cwstring.pp
Revision: 23298
Author: yury
Date: 2 Jan 2013 17:41:36
Message:
* Added uuchar unit to build for android.
----
Modified : /branches/targetandroid/rtl/android/Makefile
Modified : /branches/targetandroid/rtl/android/Makefile.fpc
Revision: 23289
Author: yury
Date: 2 Jan 2013 2:53:36
Message:
* Always specify dynamic linker name for executables.
----
Modified : /branches/targetandroid/compiler/systems/t_android.pas
Revision: 23288
Author: yury
Date: 2 Jan 2013 2:04:41
Message:
* Updated Makefile
----
Modified : /branches/targetandroid/rtl/android/Makefile
Revision: 23287
Author: yury
Date: 2 Jan 2013 2:03:42
Message:
* cprt0.as is not needed, since we link to libc always.
----
Modified : /branches/targetandroid/rtl/android/Makefile.fpc
Revision: 23286
Author: yury
Date: 2 Jan 2013 2:01:43
Message:
* cprt0.as is not needed, since we link to libc always.
----
Modified : /branches/targetandroid/rtl/android/Makefile.fpc
Deleted : /branches/targetandroid/rtl/android/arm/cprt0.as
Deleted : /branches/targetandroid/rtl/android/i386/cprt0.as
Revision: 23285
Author: yury
Date: 2 Jan 2013 1:59:48
Message:
* libctype is not needed, since only bionic is supported anyway.
----
Modified : /branches/targetandroid/compiler/systems/t_android.pas
Revision: 23284
Author: yury
Date: 2 Jan 2013 1:49:12
Message:
* Rework of Android startup code. It is needed to always link to libc on android to implement finalization and environment variables in shared libraries.
* Cleanup of Android linker.
* Use only INSERT command in the linker script to inject custom .fpc sections. Whole linker script duplication is nor needed anymore.
* Use BFD linker, since GOLD linker does not support INSERT command. Other incompatibilities may also exist.
* Enable tf_smartlink_sections for i386-android.
* i386-android is broken after this commit. Will be fixed later.
----
Modified : /branches/targetandroid/compiler/systems/i_android.pas
Modified : /branches/targetandroid/compiler/systems/t_android.pas
Modified : /branches/targetandroid/rtl/android/arm/dllprt0.as
Modified : /branches/targetandroid/rtl/android/arm/prt0.as
Revision: 23283
Author: yury
Date: 2 Jan 2013 1:48:07
Message:
* Enable weak externals for android.
----
Modified : /branches/targetandroid/compiler/systems.pas
Revision: 23236
Author: yury
Date: 28 Dec 2012 12:42:27
Message:
* Oops, wrong commit r23235. Reverted. Now correct: Fixed lineinfo for Android.
----
Modified : /branches/targetandroid/rtl/inc/exeinfo.pp
Modified : /branches/targetandroid/tests/test/units/sysutils/texec2.pp
Revision: 23235
Author: yury
Date: 28 Dec 2012 11:38:04
Message:
* Fixed lineinfo for Android.
----
Modified : /branches/targetandroid/tests/test/units/sysutils/texec2.pp
Revision: 23232
Author: yury
Date: 27 Dec 2012 22:52:26
Message:
* Fixed the test for android.
----
Modified : /branches/targetandroid/tests/test/units/dos/tdos2.pp
Revision: 23231
Author: yury
Date: 27 Dec 2012 22:51:32
Message:
+ Added C object files for arm-android.
----
Added : /branches/targetandroid/tests/test/cg/obj/android
Added : /branches/targetandroid/tests/test/cg/obj/android/arm
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/cpptcl1.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/cpptcl2.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/ctest.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/tcext3.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/tcext4.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/tcext5.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/tcext6.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/cpptcl1.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/cpptcl2.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/ctest.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/tcext3.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/tcext4.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/tcext5.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/tcext6.o
Revision: 23226
Author: yury
Date: 27 Dec 2012 10:17:06
Message:
* Support for running tests on a remote Android device using ADB.
----
Modified : /branches/targetandroid/tests/Makefile
Modified : /branches/targetandroid/tests/Makefile.fpc
Modified : /branches/targetandroid/tests/readme.txt
Modified : /branches/targetandroid/tests/tstunits/Makefile
Modified : /branches/targetandroid/tests/utils/dotest.pp
Revision: 22048
Author: tom_at_work
Date: 9 Aug 2012 17:13:51
Message:
re-apply the changes of r22045 to correct files after recent revert
----
Modified : /branches/targetandroid/rtl/android/arm/cprt0.as
Added : /branches/targetandroid/rtl/android/i386
Added : /branches/targetandroid/rtl/android/i386/cprt0.as
Added : /branches/targetandroid/rtl/android/i386/dllprt0.as
Added : /branches/targetandroid/rtl/android/i386/prt0.as
Revision: 22047
Author: tom_at_work
Date: 9 Aug 2012 16:57:34
Message:
- revert r22045: applied changes to wrong files, i.e. linux system files, instead of android ones
----
Modified : /branches/targetandroid/rtl/android/arm/cprt0.as
Modified : /branches/targetandroid/rtl/linux/i386/cprt0.as
Added : /branches/targetandroid/rtl/linux/i386/cprt21.as
Added : /branches/targetandroid/rtl/linux/i386/gprt21.as
Revision: 22045
Author: tom_at_work
Date: 9 Aug 2012 11:05:38
Message:
Made cprt0 startup files to compile. Static executables using them likely do not work though.
Removed obsolete startup files (?prt21*).
----
Modified : /branches/targetandroid/rtl/android/arm/cprt0.as
Modified : /branches/targetandroid/rtl/linux/i386/cprt0.as
Deleted : /branches/targetandroid/rtl/linux/i386/cprt21.as
Deleted : /branches/targetandroid/rtl/linux/i386/gprt21.as
Revision: 22044
Author: tom_at_work
Date: 9 Aug 2012 11:00:16
Message:
Updated systems/t_android to only recognize the "bionic" libc as valid libc.
Fix uninitialized defdynlinker variable when compiling i386-android causing garbage in the linker script.
----
Modified : /branches/targetandroid/compiler/systems/t_android.pas
Revision: 21296
Author: tom_at_work
Date: 15 May 2012 0:14:12
Message:
* basic android/x86 support
----
Modified : /branches/targetandroid/Makefile
Modified : /branches/targetandroid/compiler/Makefile
Modified : /branches/targetandroid/compiler/i386/cputarg.pas
Modified : /branches/targetandroid/compiler/systems/i_android.pas
Modified : /branches/targetandroid/compiler/systems/t_android.pas
Modified : /branches/targetandroid/compiler/systems.inc
Modified : /branches/targetandroid/compiler/systems.pas
Modified : /branches/targetandroid/compiler/utils/Makefile
Modified : /branches/targetandroid/compiler/utils/ppudump.pp
Modified : /branches/targetandroid/ide/Makefile
Modified : /branches/targetandroid/ide/compiler/Makefile
Modified : /branches/targetandroid/installer/Makefile
Modified : /branches/targetandroid/packages/Makefile
Modified : /branches/targetandroid/packages/fpmkunit/Makefile
Modified : /branches/targetandroid/rtl/Makefile
Modified : /branches/targetandroid/rtl/aix/Makefile
Modified : /branches/targetandroid/rtl/amiga/Makefile
Modified : /branches/targetandroid/rtl/android/Makefile
Modified : /branches/targetandroid/rtl/android/Makefile.fpc
Modified : /branches/targetandroid/rtl/beos/Makefile
Modified : /branches/targetandroid/rtl/darwin/Makefile
Modified : /branches/targetandroid/rtl/embedded/Makefile
Modified : /branches/targetandroid/rtl/emx/Makefile
Modified : /branches/targetandroid/rtl/freebsd/Makefile
Modified : /branches/targetandroid/rtl/gba/Makefile
Modified : /branches/targetandroid/rtl/go32v2/Makefile
Modified : /branches/targetandroid/rtl/haiku/Makefile
Modified : /branches/targetandroid/rtl/linux/Makefile
Modified : /branches/targetandroid/rtl/macos/Makefile
Modified : /branches/targetandroid/rtl/morphos/Makefile
Modified : /branches/targetandroid/rtl/nativent/Makefile
Modified : /branches/targetandroid/rtl/nds/Makefile
Modified : /branches/targetandroid/rtl/netbsd/Makefile
Modified : /branches/targetandroid/rtl/netware/Makefile
Modified : /branches/targetandroid/rtl/netwlibc/Makefile
Modified : /branches/targetandroid/rtl/openbsd/Makefile
Modified : /branches/targetandroid/rtl/os2/Makefile
Modified : /branches/targetandroid/rtl/palmos/Makefile
Modified : /branches/targetandroid/rtl/solaris/Makefile
Modified : /branches/targetandroid/rtl/symbian/Makefile
Modified : /branches/targetandroid/rtl/unix/x86.pp
Modified : /branches/targetandroid/rtl/wii/Makefile
Modified : /branches/targetandroid/rtl/win32/Makefile
Modified : /branches/targetandroid/rtl/win64/Makefile
Modified : /branches/targetandroid/rtl/wince/Makefile
Modified : /branches/targetandroid/utils/Makefile
Modified : /branches/targetandroid/utils/dxegen/Makefile
Modified : /branches/targetandroid/utils/fpcm/Makefile
Modified : /branches/targetandroid/utils/fpcm/fpcmmain.pp
Modified : /branches/targetandroid/utils/fpcmkcfg/Makefile
Modified : /branches/targetandroid/utils/fpcres/Makefile
Modified : /branches/targetandroid/utils/fpcreslipo/Makefile
Modified : /branches/targetandroid/utils/fpdoc/Makefile
Modified : /branches/targetandroid/utils/fpmc/Makefile
Modified : /branches/targetandroid/utils/fppkg/Makefile
Modified : /branches/targetandroid/utils/fprcp/Makefile
Modified : /branches/targetandroid/utils/h2pas/Makefile
Modified : /branches/targetandroid/utils/importtl/Makefile
Modified : /branches/targetandroid/utils/instantfpc/Makefile
Modified : /branches/targetandroid/utils/rmwait/Makefile
Modified : /branches/targetandroid/utils/tply/Makefile
Revision: 21066
Author: tom_at_work
Date: 26 Apr 2012 22:05:06
Message:
fix pthreads use with Android: it does not provide some functions. This patch is partially based on the bug report 0021525. Further, fix use of sem_timedwait in cthreads.pp since Android supports it.
----
Modified : /branches/targetandroid/rtl/linux/pthread.inc
Modified : /branches/targetandroid/rtl/unix/cthreads.pp
Revision: 21065
Author: tom_at_work
Date: 26 Apr 2012 16:15:52
Message:
bugfixes:
- do not compile ipc unit for android, not supported
- fix geterrnolocation external name
- implement dummy getdomainname; does not exist in android
- remove wrong 'if defined(android)' clauses
----
Modified : /branches/targetandroid/rtl/android/Makefile
Modified : /branches/targetandroid/rtl/android/Makefile.fpc
Modified : /branches/targetandroid/rtl/fpmake.pp
Modified : /branches/targetandroid/rtl/unix/cwstring.pp
Modified : /branches/targetandroid/rtl/unix/initc.pp
Modified : /branches/targetandroid/rtl/unix/ipc.pp
Modified : /branches/targetandroid/rtl/unix/unix.pp
Revision: 21063
Author: tom_at_work
Date: 26 Apr 2012 12:53:37
Message:
- missing makefile
----
Added : /branches/targetandroid/rtl/android/Makefile
Revision: 21062
Author: tom_at_work
Date: 26 Apr 2012 12:41:13
Message:
- commit missing new files
----
Added : /branches/targetandroid/compiler/systems/i_android.pas
Added : /branches/targetandroid/compiler/systems/t_android.pas
Added : /branches/targetandroid/rtl/android
Added : /branches/targetandroid/rtl/android/Makefile.fpc
Added : /branches/targetandroid/rtl/android/arm
Added : /branches/targetandroid/rtl/android/arm/cprt0.as
Added : /branches/targetandroid/rtl/android/arm/dllprt0.as
Added : /branches/targetandroid/rtl/android/arm/prt0.as
Revision: 21061
Author: tom_at_work
Date: 26 Apr 2012 12:36:42
Message:
- initial support for the android/arm target in the compiler; resulting .so's can be used for Android/ARM app development.
- basic rtl support using system calls
- fp(c)make/fppkg/makefile support
todo:
- revisit systems/t_android.pas: mostly duplicate with t_linux.pas, containing
lots of unnecessary code
- revisit rtl changes
- android ndk header translation import
- better app build/packaging support
- android/x86 support
----
Modified : /branches/targetandroid/Makefile
Modified : /branches/targetandroid/compiler/Makefile
Modified : /branches/targetandroid/compiler/aggas.pas
Modified : /branches/targetandroid/compiler/arm/cputarg.pas
Modified : /branches/targetandroid/compiler/compiler.pas
Modified : /branches/targetandroid/compiler/systems.inc
Modified : /branches/targetandroid/compiler/systems.pas
Modified : /branches/targetandroid/compiler/utils/Makefile
Modified : /branches/targetandroid/compiler/utils/ppudump.pp
Modified : /branches/targetandroid/ide/Makefile
Modified : /branches/targetandroid/ide/compiler/Makefile
Modified : /branches/targetandroid/installer/Makefile
Modified : /branches/targetandroid/packages/Makefile
Modified : /branches/targetandroid/packages/fpmkunit/Makefile
Modified : /branches/targetandroid/packages/fpmkunit/Makefile.fpc
Modified : /branches/targetandroid/packages/fpmkunit/src/fpmkunit.pp
Modified : /branches/targetandroid/packages/fppkg/src/fpmkunitsrc.inc
Modified : /branches/targetandroid/packages/gnome1/fpmake.pp
Modified : /branches/targetandroid/packages/gtk1/fpmake.pp
Modified : /branches/targetandroid/packages/gtk2/fpmake.pp
Modified : /branches/targetandroid/packages/imlib/fpmake.pp
Modified : /branches/targetandroid/packages/opengl/fpmake.pp
Modified : /branches/targetandroid/packages/sdl/fpmake.pp
Modified : /branches/targetandroid/rtl/Makefile
Modified : /branches/targetandroid/rtl/Makefile.fpc
Modified : /branches/targetandroid/rtl/aix/Makefile
Modified : /branches/targetandroid/rtl/amiga/Makefile
Modified : /branches/targetandroid/rtl/beos/Makefile
Modified : /branches/targetandroid/rtl/darwin/Makefile
Modified : /branches/targetandroid/rtl/embedded/Makefile
Modified : /branches/targetandroid/rtl/emx/Makefile
Modified : /branches/targetandroid/rtl/freebsd/Makefile
Modified : /branches/targetandroid/rtl/gba/Makefile
Modified : /branches/targetandroid/rtl/go32v2/Makefile
Modified : /branches/targetandroid/rtl/haiku/Makefile
Modified : /branches/targetandroid/rtl/linux/Makefile
Modified : /branches/targetandroid/rtl/macos/Makefile
Modified : /branches/targetandroid/rtl/morphos/Makefile
Modified : /branches/targetandroid/rtl/nativent/Makefile
Modified : /branches/targetandroid/rtl/nds/Makefile
Modified : /branches/targetandroid/rtl/netbsd/Makefile
Modified : /branches/targetandroid/rtl/netware/Makefile
Modified : /branches/targetandroid/rtl/netwlibc/Makefile
Modified : /branches/targetandroid/rtl/openbsd/Makefile
Modified : /branches/targetandroid/rtl/os2/Makefile
Modified : /branches/targetandroid/rtl/palmos/Makefile
Modified : /branches/targetandroid/rtl/solaris/Makefile
Modified : /branches/targetandroid/rtl/symbian/Makefile
Modified : /branches/targetandroid/rtl/unix/cwstring.pp
Modified : /branches/targetandroid/rtl/unix/initc.pp
Modified : /branches/targetandroid/rtl/unix/ipc.pp
Modified : /branches/targetandroid/rtl/unix/unix.pp
Modified : /branches/targetandroid/rtl/wii/Makefile
Modified : /branches/targetandroid/rtl/win32/Makefile
Modified : /branches/targetandroid/rtl/win64/Makefile
Modified : /branches/targetandroid/rtl/wince/Makefile
Modified : /branches/targetandroid/utils/Makefile
Modified : /branches/targetandroid/utils/dxegen/Makefile
Modified : /branches/targetandroid/utils/fpcm/Makefile
Modified : /branches/targetandroid/utils/fpcm/fpcmake.inc
Modified : /branches/targetandroid/utils/fpcm/fpcmake.ini
Modified : /branches/targetandroid/utils/fpcm/fpcmmain.pp
Modified : /branches/targetandroid/utils/fpcmkcfg/Makefile
Modified : /branches/targetandroid/utils/fpcmkcfg/fppkg.inc
Modified : /branches/targetandroid/utils/fpcres/Makefile
Modified : /branches/targetandroid/utils/fpcreslipo/Makefile
Modified : /branches/targetandroid/utils/fpdoc/Makefile
Modified : /branches/targetandroid/utils/fpmc/Makefile
Modified : /branches/targetandroid/utils/fppkg/Makefile
Modified : /branches/targetandroid/utils/fppkg/fppkg.pp
Modified : /branches/targetandroid/utils/fprcp/Makefile
Modified : /branches/targetandroid/utils/h2pas/Makefile
Modified : /branches/targetandroid/utils/importtl/Makefile
Modified : /branches/targetandroid/utils/instantfpc/Makefile
Modified : /branches/targetandroid/utils/rmwait/Makefile
Modified : /branches/targetandroid/utils/tply/Makefile
git-svn-id: trunk@23604 -
2013-02-13 12:00:15 +00:00
pierre
bb1e7646cb
* More changes to better obey ABI rules
...
git-svn-id: trunk@23588 -
2013-02-10 13:01:49 +00:00
pierre
f74954dd32
Correct code for shared library start
...
git-svn-id: trunk@23559 -
2013-02-01 21:14:44 +00:00
sergei
ea36d4996a
+ MIPS: In PIC mode, set $t9 to correct value before exiting SignalToRunError, without it any subsequent access to global variable will repeatedly crash.
...
+ Added alias name to SignalToRunError, to be consistent with other targets.
git-svn-id: trunk@23553 -
2013-01-31 21:44:06 +00:00
yury
8ae7c5784c
* Sync with trunk r23500.
...
git-svn-id: branches/targetandroid@23501 -
2013-01-23 07:53:13 +00:00
pierre
bb418a1c94
Try to convert dllprt0.as code to PIC
...
git-svn-id: trunk@23444 -
2013-01-18 15:02:26 +00:00
pierre
5d3a94f9e4
Regenerated after: Use -KPIC option for dllprt0.as for mips/mipsel
...
git-svn-id: trunk@23443 -
2013-01-18 15:01:45 +00:00
pierre
84d21fad21
Use -KPIC option for dllprt0.as for mips/mipsel
...
git-svn-id: trunk@23442 -
2013-01-18 15:01:22 +00:00
yury
2fc220cc6c
* Regenerated makefiles.
...
git-svn-id: branches/targetandroid@23410 -
2013-01-16 14:52:36 +00:00
yury
d26f0552a0
* Sync with trunk r23404.
...
* Regenerated makefiles.
git-svn-id: branches/targetandroid@23405 -
2013-01-16 13:21:51 +00:00
pierre
e7d1c468ca
Regenerated with Use -32 -mips32 option for mips/mipsel ASTARGET
...
git-svn-id: trunk@23351 -
2013-01-09 12:39:34 +00:00
pierre
bdadde3ea9
Use -32 -mips32 option for mips/mipsel ASTARGET
...
git-svn-id: trunk@23350 -
2013-01-09 12:39:16 +00:00
pierre
bba4932ef9
* Fix commit 23220, by moving declaration from syscallh.inc to syscall.inc
...
git-svn-id: trunk@23221 -
2012-12-25 22:54:49 +00:00
pierre
70a29668a4
Try to fix simply the fpc_threadvar_relocate_proc problem
...
git-svn-id: trunk@23220 -
2012-12-24 16:23:30 +00:00
sergei
f9dbcbd0c3
- Removed duplicate file header
...
git-svn-id: trunk@23199 -
2012-12-21 09:16:23 +00:00
sergei
278fbb742e
* mips-linux: call SetErrno in order to remove dependence on threadvar implementation details.
...
git-svn-id: trunk@23197 -
2012-12-21 04:42:41 +00:00
svenbarth
fdf6b17421
rtl/linux/m68k/prt0.as:
...
correctly calculate and pass on the addresses for the parameters and the environment; this way parameters can now be used, but reading environment variables still does not seem to work...
Note: the other assembler files (especially cprt0.as) were not adjusted and might not work at all
git-svn-id: trunk@22936 -
2012-11-05 21:12:09 +00:00
Jonas Maebe
20a6b7fa3d
* fixed compilation after introduction of nostackframe checks
...
git-svn-id: trunk@22767 -
2012-10-19 14:43:00 +00:00
svenbarth
f7c333cee0
Enabled signal handlers
...
git-svn-id: trunk@22752 -
2012-10-18 20:12:41 +00:00
svenbarth
7bc5995d4d
Implement SysCall interface for m68k-linux. This is especially useful for testing code using
...
QEMU's userspace emulation as no libraries are needed then.
git-svn-id: trunk@22750 -
2012-10-18 20:12:32 +00:00
svenbarth
322dbe5b65
Various adjustments to the RTL for m68k:
...
* enable the 6 parameter syscall variant (still everything dummied out though)
* add termios constants
* don't change signal handlers for now
* disable assembly set routines as set handling was changed
git-svn-id: trunk@22743 -
2012-10-18 20:12:02 +00:00
svenbarth
d5523e6af6
For now completely disable (I)MUL/(I)DIV support for Coldfire and pass through the RTL routines
...
(of which the names had changed from FPC_MUL_LONGWORD->FPC_MUL_DWORD and FPC_MOD_CARDINAL->
FPC_MOD_DWORD).
Also disable the usage of FPU opcodes for Coldfire.
git-svn-id: trunk@22739 -
2012-10-18 20:11:39 +00:00
svenbarth
81069a7eca
rtl/linux/m68k/prt0.as:
...
Add __stkptr variable
git-svn-id: trunk@22735 -
2012-10-18 20:11:21 +00:00
svenbarth
9a9d941ee1
rtl/m68k/sysnr.inc:
...
adjust syscalls just enough so that we don't have any duplicate symbols; the correctness will
be verified once we have linkable code
git-svn-id: trunk@22727 -
2012-10-18 20:10:38 +00:00
pierre
4295cc417e
Fix PIC instruction for syscalls
...
git-svn-id: trunk@22497 -
2012-09-28 14:47:54 +00:00
pierre
d95ff52463
Add PIC code
...
git-svn-id: trunk@22496 -
2012-09-28 13:52:02 +00:00
pierre
20c9d19764
Add PIC specific code
...
git-svn-id: trunk@22484 -
2012-09-27 15:50:31 +00:00
pierre
62356c0e17
+ add support for unlimited PIC mode
...
git-svn-id: trunk@22483 -
2012-09-27 15:50:02 +00:00
pierre
abef064786
Adapt TSigContext to structure found by debugging
...
git-svn-id: trunk@22482 -
2012-09-27 15:49:13 +00:00
pierre
5deddaec8c
Adapt TSigContext to structure found by debugging
...
git-svn-id: trunk@22481 -
2012-09-27 15:48:54 +00:00
pierre
333dec347c
Regenerate after: Use "-K PIC" for assembler call if pic mode is selected
...
git-svn-id: trunk@22480 -
2012-09-27 15:47:47 +00:00
pierre
543cf7e78b
Use "-K PIC" for assembler call if pic mode is selected
...
git-svn-id: trunk@22479 -
2012-09-27 15:47:31 +00:00
Jonas Maebe
598d2feeb6
+ rtldefs.inc file for every target that contains defines shared by multiple
...
RTL units. Comes with a FPCRTL_FILESYSTEM_UTF8 define that can be
activated for targets whose single byte filesystem interface enforces
UTF-8; included in inc/systemh.inc and unix/cwstring.pp until now
+ DefaultFileSystemCodePage variable that holds the code page used for
communicating with the OS single byte file system APIs, and for the
strings returned by those same APIs. Initialized with
o the result of GetACP in the system unit of Windows platforms, except for
WinCE which uses UTF-8 since its file system OS API calls already use
the UTF-16 versions
o CP_UTF8 on Unix platforms with FPCRTL_FILESYSTEM_UTF8 defined, and with
DefaultSystemCodePage on other Unix platforms
o DefaultSystemCodePage on Java/Android JVM targets
+ DefaultRTLFileSystemCodePage variable that holds the code page used to
encode strings returned by RTL routines that return filenames obtained
from OS API calls. By default the same as DefaultFileSystemCodePage on
all platforms. Separate from DefaultFileSystemCodePage for clarity on
platforms that may use either utf-16 or single byte OS API calls to
send/receive file names (such as most Windows platforms)
+ new scpFileSystemSingleByte enum that can be passed to
GetStandardCodePage() to get the default code page for OS single byte file
system APIs, with implementations for Unix and Windows
+ SetMultiByteFileSystemCodePage() procedure to override the value of
DefaultFileSystemCodePage
In principle, in the long run unchanged programs only using generic
ansistrings and unicodestrings should (mostly) behave the same as in
FPC 2.6.0 as far as RTL-level file system APIs are concerned if
they set DefaultFileSystemCodePage and DefaultRTLFileSystemCodePage
to DefaultSystemCodePage at the start of their execution
git-svn-id: branches/cpstrrtl@22466 -
2012-09-27 07:54:06 +00:00
paul
f338d5c338
rtl: set DefaultSystemCodePage on linux without cwstrings
...
git-svn-id: trunk@22411 -
2012-09-17 08:31:37 +00:00
Jonas Maebe
0ad1a26c61
* adjusted startup code so it guarantees 16 byte stack alignment on program
...
startup for Linux/i386 (since the code generator won't keep the 16 byte
alignment (yet?) for that platform, it won't make much difference in
practice)
git-svn-id: trunk@22383 -
2012-09-13 14:47:05 +00:00
marco
1a895a875b
* move fpgetenv(pchar) to unit system for syscall based *nix rtls.
...
It was already available for libc based *nix rtls
git-svn-id: trunk@22365 -
2012-09-10 09:21:56 +00:00
Jonas Maebe
c71cb9dc69
* fixed null termination of cmdline (based on patch by C Western,
...
mantis #22742 ) -- that function seems like a good candidate to
put in a shared include file though
git-svn-id: trunk@22270 -
2012-08-30 21:30:31 +00:00
tom_at_work
19238eafde
- revert r22045: applied changes to wrong files, i.e. linux system files, instead of android ones
...
git-svn-id: branches/targetandroid@22047 -
2012-08-09 13:57:34 +00:00
tom_at_work
810adb2f65
Merge with trunk r22040. Regenerated makefiles.
...
git-svn-id: branches/targetandroid@22046 -
2012-08-09 08:12:34 +00:00
tom_at_work
787ca1c0bc
Made cprt0 startup files to compile. Static executables using them likely do not work though.
...
Removed obsolete startup files (?prt21*).
git-svn-id: branches/targetandroid@22045 -
2012-08-09 08:05:38 +00:00
sergei
393f1d58ed
* Fixed register rsi being overwritten. It is used to pass argc into libc_start_main.
...
git-svn-id: trunk@22043 -
2012-08-09 07:34:49 +00:00
sergei
12dc48afbf
* Set errno using a call to seterrno, like it is done for i386 target. This removes most of assembler code together with PIC hacks and makes this part independent of threadvar implementation details.
...
git-svn-id: trunk@22042 -
2012-08-09 06:34:00 +00:00
masta
109eb8bf75
Add a couple of ARM Linux syscalls
...
This adds the following syscalls from Linux 3.5.0:
syscall_nr_preadv
syscall_nr_pwritev
syscall_nr_rt_tgsigqueueinfo
syscall_nr_perf_event_open
syscall_nr_recvmmsg
git-svn-id: trunk@21951 -
2012-07-22 22:58:16 +00:00
pierre
54bfc8156d
Fix termios constants for mips cpu, mostly using octal prefix
...
git-svn-id: trunk@21902 -
2012-07-12 13:11:13 +00:00
pierre
a311c53167
Replace HandleErrorFrame calls by HandleErrorAddrFrameInd where possible in common code (to allow correct backtrace for mips cpu)
...
git-svn-id: trunk@21900 -
2012-07-12 11:53:59 +00:00
pierre
d93282e16d
Values of TIOGWINSZ, TIOCSWINSZ, TIOCGPGRP and TIOCSPGRP for mipsel
...
git-svn-id: trunk@21886 -
2012-07-11 22:15:54 +00:00
pierre
c38b78ba65
+ Add missing implementation of pipe syscall
...
git-svn-id: trunk@21859 -
2012-07-11 07:48:54 +00:00
sergei
31f9a9d420
* Fixed label name in .globl and .type directives, was causing every library to contain an unwanted dynamic reference to "_start".
...
git-svn-id: trunk@21854 -
2012-07-10 17:12:34 +00:00
pierre
75420e78a8
Reset FPU exceptions and retrun after changing sigc_pc value if UContext is assigned
...
git-svn-id: trunk@21847 -
2012-07-10 13:34:25 +00:00
pierre
b0fcb8cb2f
Third field of SignalToRunError must be PUContext type
...
git-svn-id: trunk@21842 -
2012-07-10 10:06:02 +00:00
pierre
3ccfd2d74d
+ ESysERFKILL added
...
git-svn-id: trunk@21829 -
2012-07-09 13:45:20 +00:00
pierre
6bc339192d
MIPS system errors separated into errno-mips.inc file
...
git-svn-id: trunk@21827 -
2012-07-09 13:17:29 +00:00
tom_at_work
4150f0a2fb
Rebase with r21814
...
git-svn-id: branches/targetandroid@21815 -
2012-07-07 23:09:20 +00:00
florian
a553798151
* improved makefile rules for linux
...
git-svn-id: trunk@21813 -
2012-07-07 21:22:06 +00:00
pierre
645698183d
Integer Overflow signal must be mapped to error 215, not 205, which is for floating point overflow
...
git-svn-id: trunk@21807 -
2012-07-06 15:54:45 +00:00
pierre
32644a526c
Use CPUMIPS instead of MIPS conditional
...
git-svn-id: trunk@21806 -
2012-07-06 15:26:49 +00:00
pierre
8b65ef2d94
* Fix error in last commit for MIPS cpu
...
git-svn-id: trunk@21799 -
2012-07-06 06:14:07 +00:00
pierre
5fb3d1398a
+ Use SIZEOF_PTHREAD_XXX macros for /usr/include/bits/pthreadtypes.h for MIPS cpu
...
git-svn-id: trunk@21790 -
2012-07-05 21:00:09 +00:00
pierre
c156b5a8b2
First version working to link with shared c library
...
git-svn-id: trunk@21789 -
2012-07-05 20:58:27 +00:00
pierre
d8d7c38aec
* Use to call PASCALMAIN to allow linking with PIC Code
...
git-svn-id: trunk@21788 -
2012-07-05 20:57:25 +00:00
florian
e59861a5a3
* fix directories for ports unit
...
git-svn-id: trunk@21751 -
2012-07-01 17:34:01 +00:00
florian
b83948b009
* rules updated
...
git-svn-id: trunk@21745 -
2012-07-01 07:50:16 +00:00
sergei
185e34915c
- Removed level 2 comments and control characters in comments.
...
git-svn-id: trunk@21726 -
2012-06-27 20:04:39 +00:00
pierre
0cea493014
* Fix hidden parameter for fpsigprocmask for mips cpu (16 instead of 8)
...
git-svn-id: trunk@21723 -
2012-06-26 23:13:27 +00:00
pierre
5597af2279
* Try to adapt sigcontext record to MIPS linux system
...
git-svn-id: trunk@21714 -
2012-06-26 16:23:06 +00:00
pierre
262bf0fe6e
* Fix Sigcontext field order for MIPS CPU
...
git-svn-id: trunk@21713 -
2012-06-26 16:21:57 +00:00
pierre
022d842b06
* Fix SIGXXX constants for mips CPU
...
git-svn-id: trunk@21709 -
2012-06-25 23:15:34 +00:00
pierre
150578f2c0
+ Use SigContext sigc_sp and sigc_pc fields for HandleErrorAdrFrame parameters
...
git-svn-id: trunk@21703 -
2012-06-25 12:02:02 +00:00
pierre
0cf5b9abdb
+ Set __stkptr value
...
git-svn-id: trunk@21702 -
2012-06-25 11:59:27 +00:00
pierre
6b57f3a3d1
* Use include prt0.as for cprt0, gprt0 and dllprt0 as files
...
git-svn-id: trunk@21665 -
2012-06-20 20:27:55 +00:00
pierre
e4ebe2e52e
* Fix wrong .size for _synamic_start
...
git-svn-id: trunk@21664 -
2012-06-20 20:27:07 +00:00
pierre
61acf7de97
* Fix O_ constants for mips cpu
...
git-svn-id: trunk@21630 -
2012-06-17 12:40:14 +00:00
pierre
007ea17f36
* Move incorrect delay slot instruction before jump instruction
...
git-svn-id: trunk@21629 -
2012-06-17 12:39:39 +00:00
pierre
1c5babbeba
Fix SIG_MAXSIG const for cpumips
...
git-svn-id: trunk@21618 -
2012-06-14 23:38:40 +00:00
pierre
6ddb64e160
Fix sigactionreg record for cpumips
...
git-svn-id: trunk@21617 -
2012-06-14 23:38:02 +00:00
pierre
ff81623d2c
Fix fpsigaction call for cpumips
...
git-svn-id: trunk@21616 -
2012-06-14 23:37:25 +00:00
pierre
b5807cb907
Merge of 21562 by Foxsen, adapted to work for different ABIs
...
git-svn-id: trunk@21610 -
2012-06-14 15:04:53 +00:00
pierre
495a6cfebf
Merge of rev21558-59-60 by Foxsen
...
21558:
use inherited first_int_to_real to avoid mixing doubles and singles
it fixes the failure of test/cg/taddcurr.pp
21559:
set default round mode to round nearest instead of round to zero
it fix test/cg/taddcurr.pp
21560:
enable softfpu, default first_int_to_real depends on int64_to_float64/32 etc.
It is needed by the patch of r21558
git-svn-id: trunk@21601 -
2012-06-13 22:39:00 +00:00
Jonas Maebe
e7320ee729
* retry close() in fpclosedir() when it returns EINTR
...
git-svn-id: trunk@21548 -
2012-06-08 11:14:52 +00:00
pierre
68367ea82e
* Do not use lo(ofs) in fpmmap id TsysParam type is as large as off_t type and suppress warning
...
git-svn-id: trunk@21544 -
2012-06-08 09:53:36 +00:00
pierre
594a0e6217
* Adapt to mipsel compiler defining cpumipsel and cpumipsel32 but not cpumips anymore, one missing
...
git-svn-id: trunk@21543 -
2012-06-08 09:43:09 +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
pierre
160037eb9d
* Patch from Fuxin Zhang: Mips specific MAP_XXX constants
...
git-svn-id: trunk@21531 -
2012-06-07 23:05:27 +00:00
pierre
a9be2fd137
* Patch from Fuxin Zhang: Mips specific MAP_XXX constants
...
git-svn-id: trunk@21530 -
2012-06-07 23:05:11 +00:00
pierre
6a985f1ece
* Patch from Fuxin Zhang: Mips specific MAP_XXX constants
...
git-svn-id: trunk@21529 -
2012-06-07 23:04:51 +00:00
pierre
bd060f4627
Stat record matching closer system include file
...
git-svn-id: trunk@21528 -
2012-06-07 23:03:41 +00:00
pierre
a7c9e4768e
* Patch from Fuxin Zhang
...
git-svn-id: trunk@21527 -
2012-06-07 23:02:29 +00:00
Jonas Maebe
e0a2d43951
* fixed compilation command for mmx unit after r21405
...
git-svn-id: trunk@21427 -
2012-05-29 08:38:43 +00:00
florian
4890ec240e
* padding corrected
...
git-svn-id: trunk@21426 -
2012-05-29 05:38:47 +00:00
florian
181bc24945
* fix mips(el) stat record
...
git-svn-id: trunk@21418 -
2012-05-28 16:22:11 +00:00
florian
ff2469f533
* compile mipsel rtl always with -Ur
...
git-svn-id: trunk@21413 -
2012-05-28 14:18:59 +00:00
florian
48aae2d031
* fixed rules and dependencies for linux
...
git-svn-id: trunk@21405 -
2012-05-28 08:44:13 +00:00
tom_at_work
77a85b7448
* basic android/x86 support
...
git-svn-id: branches/targetandroid@21296 -
2012-05-14 21:14:12 +00:00
marco
a0becaa727
* fix size of pthread_rwlock_t. Mantis #21552 Fields are now opaque.
...
git-svn-id: trunk@21243 -
2012-05-05 22:04:08 +00:00
florian
48d3eb86a6
* fixes _haltproc, Hello world works on mipsel
...
git-svn-id: trunk@21125 -
2012-04-29 21:34:03 +00:00
florian
9c845e9f76
* put types unit into a shared rtl
...
git-svn-id: trunk@21117 -
2012-04-29 14:20:09 +00:00
Jonas Maebe
834026bfb5
* synchronised with trunk up to r21067
...
git-svn-id: branches/jvmbackend@21068 -
2012-04-26 21:24:20 +00:00
tom_at_work
bf2a01cfeb
fix pthreads use with Android: it does not provide some functions. This patch is partially based on the bug report 0021525. Further, fix use of sem_timedwait in cthreads.pp since Android supports it.
...
git-svn-id: branches/targetandroid@21066 -
2012-04-26 19:05:06 +00:00
tom_at_work
acbc94e0fd
- initial support for the android/arm target in the compiler; resulting .so's can be used for Android/ARM app development.
...
- basic rtl support using system calls
- fp(c)make/fppkg/makefile support
todo:
- revisit systems/t_android.pas: mostly duplicate with t_linux.pas, containing
lots of unnecessary code
- revisit rtl changes
- android ndk header translation import
- better app build/packaging support
- android/x86 support
git-svn-id: branches/targetandroid@21061 -
2012-04-26 09:36:42 +00:00
pierre
1b3fd997fc
+ Regenerate all Makefiles's after adding x86_64 netbsd target
...
git-svn-id: trunk@21031 -
2012-04-24 23:15:18 +00:00
florian
4934a42389
* avoid assembler warning about missing eol at eof
...
git-svn-id: trunk@20957 -
2012-04-21 18:23:18 +00:00
florian
d681ad612b
+ several redirection include files for mipsel/mipsel-linux
...
git-svn-id: trunk@20956 -
2012-04-21 18:21:09 +00:00
pierre
f4b437288e
Added errors 127 to 133 for Sparc
...
git-svn-id: trunk@20935 -
2012-04-19 15:04:22 +00:00
pierre
94c8a75efd
syscall 280 is __NR_tee for sparc CPU
...
git-svn-id: trunk@20922 -
2012-04-18 15:54:34 +00:00
pierre
80838aa2dd
EDEADLOCK is same as EDEADLK, error number 58 does not exist in Linux
...
git-svn-id: trunk@20920 -
2012-04-18 15:39:12 +00:00
pierre
8e25bedde3
Use separate sparc include and add missing error numbers
...
git-svn-id: trunk@20915 -
2012-04-18 10:32:32 +00:00
pierre
75ca260090
Separate sparc specific system error numbers into new include file
...
git-svn-id: trunk@20912 -
2012-04-18 10:29:10 +00:00
Tomas Hajny
d442d14e0c
+ FileNameCasePreserving added - see #18066 in Mantis
...
git-svn-id: trunk@20894 -
2012-04-15 20:56:13 +00:00
Jonas Maebe
aee5380ae0
* merged trunk up to r20882
...
o support for the new codepage-aware ansistrings in the jvm branch
o empty ansistrings are now always represented by a nil pointer rather than
by an empty string, because an empty string also has a code page which
can confuse code (although this will make ansistrings harder to use
in Java code)
o more string helpers code shared between the general and jvm rtl
o support for indexbyte/word in the jvm rtl (warning: first parameter
is an open array rather than an untyped parameter there, so
indexchar(pcharvar^,10,0) will be equivalent to
indexchar[pcharvar^],10,0) there, which is different from what is
intended; changing it to an untyped parameter wouldn't help though)
o default() support is not yet complete
o calling fpcres is currently broken due to limitations in
sysutils.executeprocess() regarding handling unix quoting and
the compiler using the same command lines for scripts and directly
calling external programs
o compiling the Java compiler currently requires adding ALLOW_WARNINGS=1
to the make command line
git-svn-id: branches/jvmbackend@20887 -
2012-04-15 15:54:10 +00:00
Jonas Maebe
44bd889b9b
* regenerated Makefiles with AIX support
...
git-svn-id: trunk@20812 -
2012-04-11 18:03:57 +00:00
pierre
2c4d8cc9d9
Add x86_64-openbsd target in Makefiles
...
git-svn-id: trunk@20723 -
2012-04-06 16:49:08 +00:00
florian
6278c2473e
* version updated
...
git-svn-id: trunk@20397 -
2012-02-22 17:47:54 +00:00
florian
16e79969aa
* started to fix simple mips syscalls
...
* corrected SA_* values
git-svn-id: trunk@20326 -
2012-02-12 18:20:43 +00:00
florian
c19b0ac189
* Fppwrite fixed after yesterday's mess
...
git-svn-id: trunk@20282 -
2012-02-08 21:29:54 +00:00
florian
d8c377bfed
* completed termios constants for mips, some need to be checked on a real mips-linux system, see custom warning
...
git-svn-id: trunk@20281 -
2012-02-08 21:29:10 +00:00
florian
f927198c2a
+ gas for mips is by default little endian, so pass the endianess
...
git-svn-id: trunk@20280 -
2012-02-08 21:28:22 +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
c44ce80585
* harmless deprecated warning, just in case.
...
I get warnings while compiling. Is oldfpccall still live?
git-svn-id: trunk@20274 -
2012-02-07 10:55:11 +00:00
florian
a2009af76e
* updated MIPS code so the compiler gets through the system unit
...
git-svn-id: trunk@20259 -
2012-02-05 08:14:46 +00:00
pierre
30d9afe879
Add mipsel file including mips counterparts
...
git-svn-id: trunk@20256 -
2012-02-04 22:29:04 +00:00
florian
8b339ded7a
* started to fix the mips(el) linux rtl
...
git-svn-id: trunk@20255 -
2012-02-04 21:25:53 +00:00
florian
5a64b05cb4
* put generic mips code into mips dir
...
git-svn-id: trunk@20254 -
2012-02-04 20:14:41 +00:00
florian
2c76472bd5
* start to fix mips(el) startup code
...
git-svn-id: trunk@20253 -
2012-02-04 20:11:51 +00:00
florian
76d29ff172
* some Makefiles regenerated to support mips-linux
...
git-svn-id: trunk@20244 -
2012-02-04 09:50:03 +00:00
marco
60c1b263d6
* add public alias to getrlimit
...
git-svn-id: trunk@19878 -
2011-12-21 14:05:52 +00:00
florian
c7f846ebd5
+ added missing syscalls so sparc-linux rtl compiles again
...
git-svn-id: trunk@19790 -
2011-12-09 20:35:11 +00:00
michael
0bdccfa2b0
* Added clock_getres, clock_gettime, clock_settime calls
...
git-svn-id: trunk@19789 -
2011-12-09 16:30:23 +00:00
michael
2d7dbacee0
* Added inotify calls
...
git-svn-id: trunk@19788 -
2011-12-09 16:05:35 +00:00
florian
9426cac1b0
* rebuilt Makefiles
...
git-svn-id: trunk@19748 -
2011-12-04 15:34:01 +00:00
Jonas Maebe
715c819ff7
- removed "packed" from record types that should/need not be packed
...
git-svn-id: trunk@19613 -
2011-11-08 23:13:16 +00:00
florian
d6e429e871
* .lpi version update
...
git-svn-id: trunk@19557 -
2011-10-30 14:24:03 +00:00
paul
1ccf16358c
rtl: init widestring and unitcodestring managers before initialization of Standard IO files (stdin,stdout,stderr)
...
git-svn-id: trunk@19542 -
2011-10-25 02:29:29 +00:00
paul
3e29f0b179
rtl: make cwstring.pp dependent of dynlibs, load iconvctl dynamically
...
git-svn-id: trunk@19538 -
2011-10-25 01:25:23 +00:00
paul
9d509e5897
rtl: try to fix linux makefile
...
git-svn-id: trunk@19186 -
2011-09-23 00:55:53 +00:00
paul
f8e82b9d4e
rtl: try to fix linux makefile
...
git-svn-id: trunk@19185 -
2011-09-23 00:42:51 +00:00
paul
67ae360a2b
rtl: enable character.pas building for win64 and linux
...
git-svn-id: trunk@19184 -
2011-09-23 00:37:00 +00:00
marco
07fabab526
* fpgetsid, Mantis #20329
...
git-svn-id: trunk@19178 -
2011-09-22 13:21:38 +00:00
tom_at_work
9ce34c63c9
Fix shared library loading and unloading for Linux platforms. Shared library initialization and finalization are now called correctly at program startup for compile-time linked dynamic libraries on powerpc-/powerpc64-/arm-/i386- and x86_64-linux.
...
Every startup code must now provide an additional entry point called "_dynamic_start" that is set as new the entry point if the program links to a Pascal shared library. Its purpose is to set up an exit hook usually passed via a register, which should be called during program finalization if non-nil.
We use this additional entry point because this register only has meaningful content when there are any compile-time linked shared libraries, otherwise it often contains random garbage. The difference between the _dynamic_start and the original code is minimal; actually in all implementations the _dynamic_start code passes on control to the old startup code, so we use an additional entry point instead of an additional startup file.
Detailed changes and fixes list:
compiler:
always link to the dynamic loader (ld.so) when compiling shared libraries. Fixes crashes in the loader during shared library finalization on some Linuxes
remove additional ENTRY() section in arm linker script
select either _dynamic_start or _start as entry point depending on whether this is a static or dynamic executable
powerpc*:
do not set System.isLibrary in startup code, it will be set during library initialization anyway
trap in case of reaching code locations that should not be reached instead of looping (possibly endlessly)
powerpc:
register atexit() function pointer if supplied to the executable and call it during shutdown
correctly set argc/argv/envp in shared library code and return correctly to the caller after initialization
pass on exitcode in shared library haltproc
use the more recent exit_group system call if available for shutdown
powerpc64
fix .ptrgl stub, do not set the environment register to the value of the GOT entry in the function descriptor
arm
do not set System.isLibrary in startup code, it will be set during library initialization anyway
reload exitcode to pass to shutdown
mips,mipsel,sparc
added stubs to allow correct linking
git-svn-id: trunk@19036 -
2011-09-08 21:17:35 +00:00
pierre
4b743a7a61
* IsLibrary is a byte-sized boolean, thus use stb instruction to set value
...
git-svn-id: trunk@19022 -
2011-09-07 21:57:37 +00:00
pierre
958425157f
* Try to implement dllprt0 for linux powerpc processor
...
git-svn-id: trunk@19009 -
2011-09-07 12:53:50 +00:00
florian
b17a9385e5
* use generic first_int_to_real 64 bit values on sparc
...
* compile part of softfpu into the system unit as consequence of using the generic first_int_to_real
git-svn-id: trunk@18961 -
2011-09-03 19:58:32 +00:00
pierre
f0aa48b083
* Remove use of direct U_UNIT_NAME or TC_UNIT_NAME
...
symbols in assembler sources.
Added to corresponding system variables or typed constants a
public name 'operatingsystem_XXX' alias and used that alias in assembler
source.
git-svn-id: trunk@18943 -
2011-09-02 12:51:48 +00:00
Jonas Maebe
28c20cfc5e
* the default string type for the JVM target is no longer automatically
...
unicodestring = java.lang.String. The reason this was the default in
the past is that this was the first string type that was implemented,
and without it being the default most code involving string operations
would fail. Now the default strings types are the same as for other
targets
+ new {$modeswitch unicodestrings} directive, that when activated
*together* with {$h+},
1) changes char into an alias for widechar
2) changes string into an alias for unicodestring
3) changes the preferred string evaluation type (in case of uncertainty)
to unicodestring
{$modeswitch unicodestrings} with {$h-} does not change anything at all
regarding the string type (it still changes the char type)
+ new uuchar unit that redefines char as widechar, and which is automatically
included by the compiler if {$modeswitch unicodestrings} is enabled
git-svn-id: branches/jvmbackend@18781 -
2011-08-20 08:35:47 +00:00
pierre
1c2a5f9819
+ Update all Makefile's modified by
...
change in utils/fpcm/fpcmake.ini in prevous commit.
Adapt also other files to that change:
* compiler/globals.pas: Replace $FPCTARGET by os_string if
tf_use_8_3 flag is set for target_info also.
* tests/Makefile.fpc: Modify TEST_TARGETSUFFIX in the same way
as TARGETSUFFIX was modified in previous commit.
* tests/utils/dotest.pp:
+ New variable UseOSOnly, set to true if only target OS name
should be used for subdirectories.
git-svn-id: trunk@18228 -
2011-08-16 20:10:19 +00:00
florian
b5ebe6307f
* fix got loading si_c32, resolves #19520 (still uses the call/pop approach because it is faster on modern CPUs)
...
git-svn-id: trunk@18224 -
2011-08-16 18:45:39 +00:00
marco
39d7bb511d
* Regenned all makefiles before 2.6.x branching.
...
git-svn-id: trunk@18073 -
2011-08-03 13:41:52 +00:00
marco
2c00a2a0b3
* fixed FPC_USE_LIBC building for Linux and exception handling (mantis #13450 )
...
- fixed a platform modifier in ipc.pp
- fixed different layout sigaction record in libc. (field order)
- fixed many bad use_libc fixes in linux. Most of these were only checked
for compilation, not linking. (e.g. futex doesn't link)
git-svn-id: trunk@18042 -
2011-07-31 23:36:17 +00:00
marco
f411f08629
* declared external fpc_geteipasebx , with local suffix to avoid clashes.
...
Still not the whole potatoe though.
git-svn-id: trunk@17682 -
2011-06-07 15:12:31 +00:00
marco
cdb4975530
* killed fpc_geteipbasebx in the startup code, mantis #19504
...
git-svn-id: trunk@17680 -
2011-06-06 20:26:22 +00:00
marco
f34ffd02c9
* fix for 19114. Deal with empty arguments more graciously by quoting them.
...
git-svn-id: trunk@17272 -
2011-04-08 14:41:36 +00:00
florian
00768bea47
* fix compilation of dllprt0.as for older arm assemblers without push support
...
git-svn-id: trunk@17254 -
2011-04-05 19:42:36 +00:00
tom_at_work
b0bd6a13ec
Fixed argc/argv/envp for arm/linux shared libraries. They are by default in registers a1/a2/a3 as per ABI: the first arguments when calling a method (in this case the FPC_SHARED_LIB_START) are passed via registers, not on the stack.
...
git-svn-id: trunk@17033 -
2011-02-27 17:22:29 +00:00
ivost
d4cde5eaa2
* added syscall_nr_futex = 142 for sparc architecture
...
git-svn-id: trunk@16994 -
2011-02-24 10:51:54 +00:00
tom_at_work
a8bf34d3fc
Correctly return to caller in ARM/Linux shared library startup code instead of fall-through to system exit.
...
git-svn-id: trunk@16982 -
2011-02-23 09:41:19 +00:00
tom_at_work
56d30e7da0
Set up environment variables and call Pascal initialization in arm/linux shared library initialization
...
git-svn-id: trunk@16981 -
2011-02-22 22:32:44 +00:00
Jonas Maebe
0da9d36116
* fixed internal assembler for x86-64 so that it correctly handles
...
relocations for addr_pic_no_got references (do not go via the GOT)
* fixed code generator so that it generates addr_pic_no_got references
also for platforms that use the internal assembler (this will break linking
of some tests that check static data > 2GB on Linux/x86-64, but they were
already broken before as well because we don't use the "huge" x86-64
execution model)
* fixed x86-64 Linux syscall code to not expect GOT-based relocations for
the system unit's errno variable (it's an implementation-only variable)
git-svn-id: trunk@16717 -
2011-01-06 09:28:25 +00:00
Jonas Maebe
1f61b5b30c
* reverted the rtl patches from r14184, because they cause an endless
...
loop when attempting to terminate a process via the RTL compiled into
a Linux shared library (mantis #17383 )
* call FPC_LIB_EXIT (the internal/generic RTL finalisation routine) instead
of FPC_SHARED_LIB_EXIT (the Linux-specific "process exit" code for shared
libraries) as "fini" routine (fixes #14958 again after reverting r14184)
git-svn-id: trunk@16418 -
2010-11-24 15:33:29 +00:00
Jonas Maebe
0cb2fa1baf
+ semtimedop() for Linux, marked as "platform" (last part of patch from
...
mantis #14075 )
git-svn-id: trunk@16339 -
2010-11-13 18:37:43 +00:00
Jonas Maebe
36aa39cc38
o fixed several Linux ipc bugs, based on patch by Ruben Chaer/
...
Pablo Alfaro (mantis #14075 , also fixes #13363 ):
* ipc msgtyp is clong, not cint
* TIPC_Perm and TSEMid_ds are different on 64 bit systems
* fixed passing semun arguments (have to be passed by value, not reference)
* fixed the order of parameters to msg* syscalls, and don't use
TIPC_Kludge for msgrcv syscall (only for ipccall.inc variants)
* use new operation variants on 64 bit platforms in ipccall.inc
* introduced use kernel_mode/uid/gid_t types for use by the Linux ipc
records
* fixed type of TSEMid_ds.sem_base for Darwin
* added {$packrecords c} to ipc unit, and {$packrecords 4} around
certain structs for Darwin as in the C headers
* fixed passing semun argument to semctl for libc platforms (by
value, not reference)
git-svn-id: trunk@16336 -
2010-11-13 16:58:23 +00:00
florian
747b93b7ec
+ cpu unit for x86-64 containing a CAS128 implementation
...
git-svn-id: trunk@16284 -
2010-11-01 08:20:31 +00:00
tom_at_work
5f3aaf1e60
* minor changes to the startup code: use exit_group syscall to exit, minor cleanup
...
* add _haltproc symbol to shared library startup code
git-svn-id: trunk@16258 -
2010-10-29 19:58:51 +00:00
tom_at_work
7f9dedec99
Moved global variables from .text section to .bss in ppc/linux startup code, improves position independency
...
git-svn-id: trunk@16210 -
2010-10-23 20:07:36 +00:00
tom_at_work
9a969c18cd
Startup files fixes for ppc/ppc64
...
* startup code in c/g/prt0.as does not contain .text references anymore
* fixed shared library startup code for ppc64: startup and shutdown code is properly called, making the tlibrary2 test succeed now
git-svn-id: trunk@16199 -
2010-10-22 23:19:23 +00:00
daniel
3307d98c40
- Revert micro-exe mode for now.
...
git-svn-id: trunk@16170 -
2010-10-15 16:49:48 +00:00
daniel
2139a229d3
+ If no unit is used, no symbol inside the system unit is used,
...
and no language features requiring initialization are used,
do not initialize units, but just configure the fpu and
signal handlers.
git-svn-id: trunk@16124 -
2010-10-10 17:40:39 +00:00
daniel
f4ec65add8
- Remove unused variable fpustate.
...
git-svn-id: trunk@16123 -
2010-10-10 15:09:05 +00:00
mazen
b127fc154a
* Fixed spell error revealed by lintian.
...
git-svn-id: trunk@16094 -
2010-10-06 20:33:57 +00:00
Jonas Maebe
eda7a8d672
* replaced the "quick exit" instruction sequences from the syscall variants
...
lacking "nostackframe" with branches to an exit label, because in that
case the compiler-generated exit code must be executed to balance the
stack (only done for EABI; should probably also be done for OABI, but
I can't test that)
git-svn-id: trunk@16073 -
2010-10-01 15:06:57 +00:00
Jonas Maebe
8b0301409a
+ i386/iphonesim target for the new iPhoneSimulator in Xcode 3.2.4 and
...
later: the same as i386/darwin, except
a) uses the non-fragile Objective-C ABI/runtime
b) does not require stubs for direct calls/jumps (not required for
i386/darwin under 10.6 and later either, but still generated
there for backwards compatibility)
c) only the same packages are enabled as for ARM/Darwin
d) MacOSAll is compiled specifically for the iPhoneSimulator SDK
This target also defines the symbol "darwin" apart from the target
name "iphonesim" for source code compatibility reasons.
git-svn-id: trunk@16065 -
2010-09-29 21:56:47 +00:00
Jonas Maebe
84cc38f4af
* moved {$asmmode att} to top of file (mantis #17377 )
...
git-svn-id: trunk@15961 -
2010-09-09 19:46:59 +00:00
florian
ac51f535ae
* support of data > 2 GB on x86_64-linux with PIC by picifing the startup code, resolves #17236
...
* fixed some small issues in the startup files
git-svn-id: trunk@15907 -
2010-08-25 19:43:29 +00:00
Jonas Maebe
d8032f6366
- disabled modify_ldt for non-x86 platforms, since it does not exist there
...
(mantis #17100 )
* also use a syscall to call modify_ldt when FPC_USE_LIBC is defined,
because it's not exported as a function from libc
git-svn-id: trunk@15838 -
2010-08-17 21:34:09 +00:00
florian
7dc4b6ecc1
+ adds mcount calls to syscall assembler helpers for i386 and x86-64, resolves #17140
...
git-svn-id: trunk@15812 -
2010-08-15 09:11:06 +00:00
daniel
da77c0c190
+ Add libc version of futex
...
git-svn-id: trunk@15811 -
2010-08-14 19:34:05 +00:00
daniel
6f2b097d63
+ Add futex
...
git-svn-id: trunk@15747 -
2010-08-08 14:24:46 +00:00
florian
786c4e206f
* enables compilation of iso7185 unit on all targets
...
git-svn-id: trunk@15730 -
2010-08-06 17:45:42 +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
joost
3e165e2dcf
* Fixed compilation on Linux after r15557
...
git-svn-id: trunk@15560 -
2010-07-12 21:38:55 +00:00
florian
3668be7ee4
* minimal implementation by Benjamin 'BeRo' Rosseaux
...
git-svn-id: trunk@15484 -
2010-06-27 11:07:35 +00:00
florian
5692c9e787
* tabs by spaces replaced
...
git-svn-id: trunk@15483 -
2010-06-27 11:04:27 +00:00
micha
87ef559542
* rtl: fix i386-linux uclibc atexit functionality (call exit instead of _exit)
...
git-svn-id: trunk@15110 -
2010-04-03 13:18:10 +00:00
marco
30207d73ea
* epoll_oneshot constant, mantis 15732
...
git-svn-id: trunk@14931 -
2010-02-20 22:24:01 +00:00
Jonas Maebe
d2a7a4c627
* fixed signal return trampolines for ARM EABI (mantis #15803 )
...
git-svn-id: trunk@14922 -
2010-02-18 20:53:28 +00:00
marco
b8d5a8f44c
* Linux specific time_t fixes. Also tested with -dFPC_USE_LIBC and more problem fixed.
...
git-svn-id: trunk@14586 -
2010-01-09 22:02:36 +00:00
marco
5d87461507
* moves the alias "TTime = time_t" from ptypes.inc to unixtype.pp.
...
This means it is not aliased in the body of the system unit (which causes
trouble with the delphi type of the same name), but baseunix/unix/unixtype
will containue to export the type.
git-svn-id: trunk@14584 -
2010-01-09 16:05:42 +00:00
florian
1d1e62fcd0
* .lpi version update
...
git-svn-id: trunk@14522 -
2010-01-02 15:54:39 +00:00
florian
b42b96752c
* linux rtl contains target cpu specific files
...
git-svn-id: trunk@14480 -
2009-12-26 20:41:26 +00:00
florian
9e59c6dec7
* more mipsel code
...
git-svn-id: trunk@14340 -
2009-12-06 12:12:15 +00:00
florian
28ac4a8dda
* several mips/mipsel related stuff fixed
...
* regenerated linux makefile to support mipsel
git-svn-id: trunk@14278 -
2009-11-27 15:10:56 +00:00
florian
80fc5f05dc
+ system unit part of David Zhang's MIPS port
...
git-svn-id: trunk@14268 -
2009-11-24 21:26:36 +00:00
Jonas Maebe
38c09952a3
* don't exit the program in the exit code of shared libraries under Linux
...
(mantis #14958 )
git-svn-id: trunk@14184 -
2009-11-15 13:50:14 +00:00
marco
778505701c
* set/getrlimit now also visible in baseunix when syscalls are used.
...
on systems that force ugetrlimit, use that transparently. (since
ugetrlimit is not posix in theory or practice, we can't export it),
resolves 13916
git-svn-id: trunk@13903 -
2009-10-17 19:14:09 +00:00
marco
5121f470a2
* moved ugetrlimit to the implementation (as linux specific call it shouldn't be exported)
...
* syscall implementation for FreeBSD of get/setrlimit
git-svn-id: trunk@13875 -
2009-10-16 18:47:43 +00:00
Jonas Maebe
92ff07deaf
* several fixes by Pierre Pede (parts of his patch to mantis #12492 )
...
o fixed gprof under linux/i386
o fixed pic-compilation of the linux/i386 rtl
o initialisation of linux shared libraries is now possible with pic-code
git-svn-id: trunk@13703 -
2009-09-12 21:57:41 +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
marco
bafbe5a451
* socket ->fpsocket
...
git-svn-id: trunk@13505 -
2009-08-09 10:30:15 +00:00
Jonas Maebe
e246cac3ac
* regenerated using latest fpcmake
...
git-svn-id: trunk@13487 -
2009-08-02 18:40:14 +00:00