Commit graph

71 commits

Author SHA1 Message Date
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
Jonathan Ernst
360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Alexandre Julliard
0216c404dc preloader: Workaround for broken no-exec protections.
Add an executable page at the top of the address space to defeat
broken no-exec protections that play with the code selector limit.
2006-04-12 19:53:16 +02:00