Commit Graph

11792 Commits

Author SHA1 Message Date
michael
fde42ca8ef * Type helpers, compatible to Delphi XE 8
git-svn-id: trunk@32262 -
2015-11-07 09:40:54 +00:00
marco
d95b95e648 * fix for #28940 also add PSizeUint
git-svn-id: trunk@32257 -
2015-11-06 15:54:54 +00:00
marco
266ebc351b * remove some deprecated functions. Most have alternatives since at least 2.4, and more often 2.2
I left getdomainname in "unix" for now, I don't know the exact status.

git-svn-id: trunk@32255 -
2015-11-06 14:55:38 +00:00
Jonas Maebe
0c904e92ff * moved TResourceStringRecord from the objpas to the system unit so it can be
used in the compiler when emitting resourcestrings

git-svn-id: trunk@32208 -
2015-10-30 20:45:19 +00:00
Jonas Maebe
deef6953f9 * fixed compilation after r30351 (mantis #27918)
git-svn-id: trunk@32184 -
2015-10-28 21:49:29 +00:00
Jonas Maebe
f0c0b00467 * avoid threadvar memory leaks for external hooked threads if the tlskey
thread data is finalised by libpthread before the CleanupKey routine
    is called (based on patch by Derek, mantis #28806)

git-svn-id: trunk@32168 -
2015-10-27 21:52:05 +00:00
nickysn
e2ed8f2251 * fixed various procvars being casted to pointer instead of codepointer in the rtl
git-svn-id: trunk@32167 -
2015-10-27 17:25:27 +00:00
Jonas Maebe
80902035e0 * moved excepth.inc include from the system unit implementation to interface
so that we can still find the type definitions in it once we don't store
    the entire implementation symtable to the ppu anymore

git-svn-id: trunk@32151 -
2015-10-25 19:21:54 +00:00
nickysn
3d2919acae + added an i8086 asm optimized implementation of fpc_pchar_length
git-svn-id: trunk@32113 -
2015-10-21 13:21:04 +00:00
nickysn
db7b743139 * yet another longint replaced with objpasint in fpc_shortstr_compare_equal
git-svn-id: trunk@32098 -
2015-10-19 16:53:40 +00:00
nickysn
b561b3c2ba * use objpasint (generates better code on 16-bit and 8-bit cpus) instead of
longint in several generic shortstr helpers

git-svn-id: trunk@32097 -
2015-10-19 16:36:12 +00:00
yury
2dafb8d674 * arm-android: Use kuser_memory_barrier by default.
git-svn-id: trunk@32077 -
2015-10-17 16:07:04 +00:00
yury
c9a0c5e7a6 * arm: Support for the kuser_memory_barrier kernel function for memory barriers.
git-svn-id: trunk@32075 -
2015-10-17 15:40:05 +00:00
yury
0d9d730efe * arm-android: Use kuser_cmpxchg for Interlocked* functions when RTL is compiled for the ARMv5t CPU.
git-svn-id: trunk@32072 -
2015-10-17 14:38:17 +00:00
Jonas Maebe
1294dc1ede * when inserting a non-empty ansistring into an empty ansistring, the
destination must get the code page of the source (mantis #28850)

git-svn-id: trunk@32066 -
2015-10-16 19:15:40 +00:00
Károly Balogh
c81290bc94 fix InterlockedCompareExchange on ARM-Linux: kuser_cmpxchg destroys r3, which needs to be restored, if we have to loop
git-svn-id: trunk@32063 -
2015-10-16 18:53:35 +00:00
yury
7688639a10 * Return a real base address for ELF executables by GetModuleByAddr() instead of hard-coded 0.
* Obtain a real processaddress for ELF images by OpenExeFile() instead of hard-coded 0.
* It fixes line info information for Position Independent Executables (PIE).

git-svn-id: trunk@32052 -
2015-10-13 20:08:03 +00:00
nickysn
3bd5934a51 * some micro optimizations for zero size blocks in CompareByte for i8086
git-svn-id: trunk@32041 -
2015-10-13 15:12:43 +00:00
nickysn
4fe125d779 * fixed ds corruption in CompareWord in far data memory models
git-svn-id: trunk@32040 -
2015-10-13 15:01:10 +00:00
nickysn
7ed7b090fe + i8086 asm optimized implementation of CompareDWord
git-svn-id: trunk@32039 -
2015-10-13 14:51:50 +00:00
nickysn
2152420e4f + added i8086 asm optimized version of CompareWord
git-svn-id: trunk@32037 -
2015-10-13 13:10:43 +00:00
yury
ae33685b9d * i386-android: Use PIC in the program start-up code.
git-svn-id: trunk@32035 -
2015-10-13 11:21:03 +00:00
yury
63813f3e96 * android: Fixed crash when using writeln during shared library finalization on Android 4.4+.
git-svn-id: trunk@32033 -
2015-10-12 22:35:51 +00:00
nickysn
20e5b3e586 * handle empty environment correctly when initializing argv0 under msdos.
Patch by Max Nazhalov, mantis #28705.

git-svn-id: trunk@32028 -
2015-10-12 17:59:51 +00:00
nickysn
f107956169 + added an i8086 asm optimized version of CompareByte()
git-svn-id: trunk@32026 -
2015-10-12 16:47:50 +00:00
nickysn
385f0d4ee8 - do not set the parameter to nil in strings.strdispose, because it's not a var
parameter and the operation is therefore useless

git-svn-id: trunk@32025 -
2015-10-12 14:28:46 +00:00
yury
accf3a6150 * arm-android: Use PIC in the program start-up code.
git-svn-id: trunk@32024 -
2015-10-12 08:58:19 +00:00
yury
6fc8059a1f * arm-android: Simplified _haltproc for dll.
git-svn-id: trunk@32022 -
2015-10-12 08:41:17 +00:00
Tomas Hajny
ebd1c6026c * fix FileSetAttr - bug #28826
git-svn-id: trunk@32019 -
2015-10-11 18:30:29 +00:00
nickysn
ace95e550b * initialize argc and argv on i8086-msdos. This fixes paramcount and paramstr
in objfpc mode on this platform (mantis #28705)
+ support quoted parameters like the go32v2 target

git-svn-id: trunk@32018 -
2015-10-11 17:38:45 +00:00
nickysn
4454332d7a * fixed the sysutils.GetEnvironment* functions for i8086-msdos
- removed the envp variable from the msdos system unit, because it's not
  compatible with ppchar in all memory models (we use ppfarchar to avoid copying
  the environment in the program's data segment in near data memory models)

git-svn-id: trunk@32017 -
2015-10-11 13:23:59 +00:00
nickysn
12a9664181 * use 16-bit offsets for threadvars on CPUs with 16-bit address space
git-svn-id: trunk@32013 -
2015-10-11 12:16:26 +00:00
yury
2116552b36 * android: Simply jump to the libc exit().
git-svn-id: trunk@32008 -
2015-10-10 23:59:28 +00:00
michael
61969710c3 * Writebuffer too (Fix bug 28796streams.inc
git-svn-id: trunk@31986 -
2015-10-09 06:57:05 +00:00
michael
2c24153736 * Fix bug #28796
git-svn-id: trunk@31982 -
2015-10-08 19:06:04 +00:00
Jonas Maebe
d49b69581a * removed fake _init/_fini symbols (patch by Edmund Grimley Evans)
git-svn-id: trunk@31977 -
2015-10-08 18:41:32 +00:00
Jonas Maebe
36c6a190a8 * execute the real libc init/fini routines instead of dummies
(patch by Edmund Grimley Evans)

git-svn-id: trunk@31976 -
2015-10-08 18:40:31 +00:00
nickysn
5e3a88b7f5 * replaced or cx,cx/jz with jcxz in IndexByte, IndexWord and IndexDWord for i8086
git-svn-id: trunk@31961 -
2015-10-06 14:55:51 +00:00
nickysn
3752047dd4 + added an i8086 asm optimized IndexDWord routine
git-svn-id: trunk@31960 -
2015-10-06 14:52:58 +00:00
nickysn
3faf91a270 * replaced nested ifdefs with an elseif sequence
git-svn-id: trunk@31957 -
2015-10-05 22:08:53 +00:00
nickysn
792b7e67be * treat the len parameter to the i8086 versions of IndexByte and IndexWord as
unsigned, like the other platforms do

git-svn-id: trunk@31954 -
2015-10-05 19:59:15 +00:00
nickysn
94a398896b - removed spurious DX initialization at the end of IndexByte for i8086
git-svn-id: trunk@31950 -
2015-10-05 17:32:51 +00:00
nickysn
80b892aafb + added i8086 asm optimized IndexWord routine
git-svn-id: trunk@31948 -
2015-10-05 16:24:15 +00:00
nickysn
a4e216c7fd + added i8086 asm optimized IndexByte routine
git-svn-id: trunk@31947 -
2015-10-05 15:35:26 +00:00
michael
aa3a7b7eb8 * Exit find if not sorted (bug id 28774)
git-svn-id: trunk@31941 -
2015-10-04 08:07:51 +00:00
nickysn
11eb1a4179 + added some i8086 memory model specific defines in strings.inc and
stringss.inc, used by the assembler routines (they are already defined in
  the system unit, but these includes are included in units, other than system)

git-svn-id: trunk@31922 -
2015-10-03 09:30:57 +00:00
nickysn
8cfc0d8881 * fixed i8086 strpcopy after r31915
git-svn-id: trunk@31921 -
2015-10-03 01:18:25 +00:00
nickysn
7fb2418287 + added an i8086 asm optimized strpcopy routine
git-svn-id: trunk@31915 -
2015-10-02 16:42:25 +00:00
Jonas Maebe
e0f3296bbb * fixed case of ppuext in r31775, causing the unix unit to be rebuilt all the
time (mantis #28764)

git-svn-id: trunk@31908 -
2015-10-02 05:49:10 +00:00
nickysn
239fc27c38 + implemented sysutils.diskfree and sysutils.disksize for i8086-msdos
git-svn-id: trunk@31905 -
2015-10-01 15:25:13 +00:00