Alexandre Julliard
28d7d5ba93
loader: Avoid including wine/port.h.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-20 16:16:07 +02:00
Martin Storsjö
29922c2276
loader: Add support for ARM linux in the preloader.
...
Since 28fe84da45
, the main exe image
must be mappable at its desired base address, which essentially
requires the preloader.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51539
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-05 23:11:23 +02:00
Alexandre Julliard
d5a372abbb
include: Move inline assembly definitions to a new wine/asm.h header.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 13:45:07 +02:00
Alexandre Julliard
df8c5a37ec
loader: Duplicate some preloader code instead of trying to share it.
...
This mostly reverts bd2d795240
.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-05 22:33:43 +01:00
Sebastian Lackner
a0ab2a7b0c
loader: Implement preloader for macOS.
...
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-04 11:10:09 +01:00
Ken Thomases
bd2d795240
loader: Move some code in preparation for adding the Mac preloader.
...
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-04 11:03:46 +01:00
Alexandre Julliard
a2d76cb43f
loader: Don't add the AT_UID entries if they don't already exist.
...
geteuid() etc. are broken on Android.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 18:04:48 +01:00
André Hentschel
c08e5560c4
loader: Setup the TLS register on ARM64.
...
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-16 14:04:10 +01:00
André Hentschel
ebcac6d8f1
loader: Remove dead code.
...
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-16 14:03:48 +01:00
Austin English
039d267b09
preloader: Fix a typo in error message.
...
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-01 23:16:08 +01:00
André Hentschel
0ad8bb4ecf
loader: Don't warn for limited user address space on ARM64.
...
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-25 10:26:48 +02:00
André Hentschel
27e92e550c
loader: Build the preloader for ARM64.
...
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-25 10:26:18 +02:00
Alexandre Julliard
9f06a197c8
preloader: Add a fallback to the old mmap syscall just in case.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-02 20:06:25 +02:00
Alexandre Julliard
60fb3d4b64
preloader: Fix symbol lookup for dynamic libraries.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-27 15:04:51 +02:00
Alexandre Julliard
45a632ee81
preloader: Use the SYS_mmap2 system call instead of the old SYS_mmap one.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-27 15:04:03 +02:00
Alexandre Julliard
1172754fcb
preloader: Add a debug option to dump memory maps.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-27 15:03:46 +02:00
Keno Fischer
5f38bfed7c
preloader: Add proper CFI instructions to _start functions.
...
Signed-off-by: Keno Fischer <keno@juliacomputing.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-16 23:26:11 +09:00
Qian Hong
33765285c5
loader: Fix wld_prctl prototype.
...
Spotted by Robert O'Callahan.
Signed-off-by: Qian Hong <qhong@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-04 13:13:31 +09:00
Alexandre Julliard
8b4ed00b59
loader: Avoid ELF32_ST_INFO macro that is missing on Android.
2014-07-24 20:34:39 +02:00
Alexandre Julliard
1ecfff38bd
loader: ELF hash table entries are always 32-bit on Linux.
2013-07-30 14:43:33 +02:00
Alexandre Julliard
097867debd
loader: Rename the elf_hash function to avoid conflicts.
2013-02-13 17:19:43 +01:00
Alexandre Julliard
3b8ab28c40
loader: Define our own auxv structure.
2013-02-13 17:19:42 +01:00
Alexandre Julliard
6f1932dbca
loader: Hardcode Linux syscall numbers.
2013-01-21 16:00:07 +01:00
Eric Pouech
7b544af170
loader: Protect preloader against ELF file without loadable segments (clang).
2011-03-28 17:24:53 +02:00
Alexandre Julliard
7e112c2917
loader: Setup the TLS register on x86-64 for stack protector checks.
2010-12-21 19:38:27 +01:00
Alexandre Julliard
61d2d80795
loader: Define asm functions instead of inlines for x86-64 syscalls to avoid trouble with register constraints.
2010-12-18 12:33:29 +01:00
Alexandre Julliard
0a0862001b
loader: Build the preloader for x86-64.
2010-12-16 17:59:24 +01:00
Alexandre Julliard
fe031c937d
loader: Use long instead of int in the preloader for anything that can store a pointer.
2010-12-16 16:53:24 +01:00
Alexandre Julliard
144cb78dba
loader: Make sure the new stack is 16-byte aligned in the preloader.
2010-12-16 16:52:02 +01:00
Harald Hoyer
2bea45dd0a
preloader: Fix moving of auxiliary values.
2010-07-29 17:33:35 +02:00
Austin English
df9fda760e
loader: Remove mapat from map_so_lib, where it is unused.
2010-05-28 12:31:12 +02:00
Alexandre Julliard
fa6ffb4d5d
Fix empty function prototypes.
2009-10-07 12:24:53 +02:00
Alexandre Julliard
4d35f3f270
preloader: Reserve addresses only up to 0x68000000, that should be enough for ole32.
2009-07-01 16:03:56 +02:00
Alexandre Julliard
8d833ee2e7
loader: Reserve some more memory to cover the native ole32 addresses.
2009-06-25 14:34:11 +02:00
Stefan Reimer
3dcd1285f1
loader: Fix build with gcc-4.3 and ssp.
2009-01-04 13:33:01 +01:00
Alexandre Julliard
912e4d4def
loader: Reserve some space for the virtual heap too.
2008-11-07 11:05:38 +01:00
Alexandre Julliard
7a4d575029
preloader: Silence the warning for the low 64k.
2008-05-05 19:46:15 +02:00
Alexandre Julliard
195ca1e85f
preloader: Reserve low memory areas in separate chunks.
2008-04-14 20:38:17 +02:00
Francois Gouget
d8c41a25da
Spelling fix in the ldt bitfields.
2008-04-14 12:40:22 +02:00
Joris Huizer
e1e54d1ee7
preloader: sign-compare fix.
2007-03-05 15:31:56 +01:00
Alexandre Julliard
092ac1fbf5
preloader: Added printf format checking and fix some formats.
2007-01-11 12:46:06 +01:00
Alexandre Julliard
13029a2536
preloader: Remove reserved ranges that we failed to allocate.
2007-01-11 12:35:42 +01:00
Alexandre Julliard
4d9f3dfae1
preloader: Reset both AT_SYSINFO and AT_SYSINFO_EHDR when one of them conflicts.
2007-01-02 12:21:45 +01:00
Alexandre Julliard
4c4094e86e
preloader: Clear %gs again before calling the interpreter entry point.
2006-11-04 20:25:06 +01:00
Alexandre Julliard
a68d293bae
preloader: Setup a fake thread-local storage block pointed to by %gs.
2006-11-03 13:55:41 +01:00
Alexandre Julliard
30a3866b78
preloader: Added support for the new style DT_GNU_HASH symbol table.
2006-07-31 21:02:38 +02:00
Alexandre Julliard
51d8482222
preloader: Fixed type checking in symbol lookup.
2006-07-31 17:44:20 +02:00
Alexandre Julliard
8aab67d238
preloader: Properly use the ELF hash table when looking up a symbol.
2006-07-31 17:44:20 +02:00
Alexandre Julliard
e325efbd8d
preloader: Allocate more space in low memory as well as for top-down allocations.
2006-07-24 15:25:39 +02:00
Alexandre Julliard
875b5db17b
preloader: Make sure the WINEPRELOADRESERVE area doesn't overlap the low memory area.
2006-07-19 15:06:16 +02:00