Commit graph

198 commits

Author SHA1 Message Date
Brendan Shanks
8cb1009e4c ntdll: Use environ/_NSGetEnviron() directly rather than caching it in main_envp.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57005
2024-07-31 21:07:14 +02:00
Alexandre Julliard
06fdcba7cf loader: Build relative paths at run-time instead of depending on makedep. 2024-06-25 13:32:57 +02:00
Brendan Shanks
7b82f507bd loader: Use zerofill sections instead of preloader on macOS when building with Xcode 15.3.
Xcode 15.3 adds a new linker flag ('-no_huge') which allows the loader
to use zero-fill sections to reserve the areas currently being
reserved by the preloader.

This means the preloader is no longer needed (a good thing, since it's
heavily dependent on private APIs).

The preloader will still be used when Xcode <15.3 is being used, or when
building for i386 (32-bit for 10.14 and earlier).
2024-06-21 17:33:24 +02:00
Alexandre Julliard
4502eb56ba configure: Use hidden visibility also when building Unix libraries. 2023-11-08 10:27:21 +01:00
Gerald Pfeifer
699067ae14 loader: Unbreak FreeBSD builds (ARRAY_SIZE undefined).
Commit af996344a8 used ARRAY_SIZE in
FreeBSD-specifc code which, alas, is not available here, so revert
that change.
2022-10-31 12:11:55 +01:00
Michael Stefaniuc
af996344a8 loader: Use ARRAY_SIZE instead of open coding it. 2022-10-25 10:58:49 +02:00
Damjan Jovanovic
f5e51cfc55 loader: Use sysctl instead of /proc/curproc/file on FreeBSD.
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-25 18:50:59 +02:00
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
Alexandre Julliard
2801d6341c makefiles: Install Unix binaries into an architecture-specific directory.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-28 11:40:39 +02:00
Alexandre Julliard
4826900a30 loader: No longer depend on libwine.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-08 16:26:17 +02:00
Alexandre Julliard
af1a328fa0 ntdll: Use syscalls for the Wine version functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-25 19:31:43 +02:00
Martin Storsjo
a75596c94d loader: Fix the generic case in get_self_exe().
Previously this just returned the matched directory, not the path
to the executable itself.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-20 18:49:09 +02:00
Alexandre Julliard
50134cce82 ntdll: Do the pre-exec checks in the Unix library.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-17 16:54:39 +02:00
Alexandre Julliard
526522caae loader: Try to load ntdll.so before libwine initialization.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-14 23:12:31 +02:00
Alexandre Julliard
a449385150 loader: Remove a check for antediluvian glibc.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-23 11:44:39 +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
André Hentschel
c459357b0d loader: We now have a preloader on ARM64.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-17 10:28:43 +01:00
Alexandre Julliard
fec21ed619 configure: Re-enable the preloader on Android.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-27 15:41:44 +02:00
Alexandre Julliard
c2d7bda87f loader: The preloader is not supported on Android, don't try to use it.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-21 12:29:08 +09:00
André Hentschel
9a1fab59e7 loader: Run checks also on ARM Linux. 2015-03-31 00:04:42 +09:00
André Hentschel
4b708fc325 loader: Treat BSDs architecture independent for wine64. 2014-12-22 13:36:12 +01:00
Alexandre Julliard
6f1932dbca loader: Hardcode Linux syscall numbers. 2013-01-21 16:00:07 +01:00
Charles Davis
b51c2ba9f7 loader: On Mac OS with Clang, don't use external symbols for the DOS and shared heap segments. 2012-09-21 11:02:36 +02:00
André Hentschel
1491e7b99c loader: Add check for DragonFly BSD. 2012-05-29 10:46:50 +02:00
Charles Davis
ec37157b06 loader: Fix constant address warning on Mac OS. 2011-10-08 19:47:26 +02:00
Austin English
534196fba9 loader: Add missing checks for FreeBSD_kernel. 2011-01-17 14:27:44 +01:00
Alexandre Julliard
13eafa047d configure: Get rid of the replacement function for gettid. 2010-12-27 12:08:37 +01:00
Alexandre Julliard
0a0862001b loader: Build the preloader for x86-64. 2010-12-16 17:59:24 +01:00
Yann Droneaud
23e9104721 loader: Use __asm__ keyword instead of asm. 2009-10-27 10:50:02 +01:00
Alexandre Julliard
4fda657a0a loader: Get rid of the pthread support routines. 2009-07-06 14:35:24 +02:00
Alexandre Julliard
1ac7576d47 ntdll: Disable releasing the address space on Mac OS since dyld doesn't support this. 2009-06-29 13:21:37 +02:00
Alexandre Julliard
8d833ee2e7 loader: Reserve some more memory to cover the native ole32 addresses. 2009-06-25 14:34:11 +02:00
Alexandre Julliard
691bdbd123 configure: Rename the shared heap segment to avoid a Mac OS linker bug with 16-char names. 2009-06-23 20:51:37 +02:00
Alexandre Julliard
17c09347c0 loader: Don't bother checking for pthread.h existence, we require it anyway. 2009-03-30 15:05:07 +02:00
Alexandre Julliard
f4a19c8463 loader: Merge the first and second stage loaders into a single wine binary. 2009-03-10 18:22:38 +01:00
Alexandre Julliard
17ab587567 loader: Use a hidden function instead of an exported global variable to setup pthread functions. 2008-11-07 11:11:21 +01:00
Alexandre Julliard
912e4d4def loader: Reserve some space for the virtual heap too. 2008-11-07 11:05:38 +01:00
Alexandre Julliard
8505f1429d libwine: Export functions that return the Wine version number and build id. 2008-03-26 23:38:36 +01:00
Alexandre Julliard
5776a72361 loader: Update the reported version from the current git HEAD if available. 2006-11-06 13:33:11 +01:00
Alexandre Julliard
bda2832d8d ntdll: Moved command-line help to the loader binary. 2006-11-06 13:04:56 +01:00
Alexandre Julliard
181cf8b635 loader: Make sure the reserved area is protected on MacOSX too. 2006-10-12 14:55:52 +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
Jonathan Ernst
360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Emmanuel Maillard
aaae6606cb loader: Reserve memory area on Darwin (based on Steve Zellers patch). 2006-02-15 13:52:02 +01:00
Alexandre Julliard
883d3c52d3 Use explicit function pointers for pthread support instead of relying
on ELF symbol overriding.
2005-09-03 15:11:29 +00:00
Alexandre Julliard
9af2bd4803 Yet another fix for the MacOS X environ brain damage. 2004-06-14 17:07:30 +00:00
Alexandre Julliard
910234eafb Pass the environ variable from main to try to avoid Darwin's
_NSGetEnviron() ugliness.
2004-05-29 00:26:03 +00:00
Alexandre Julliard
b1abca8a5d Initial version of the Wine preloader, used to reserve memory
areas at startup. Based on the work of Mike McCormack.
2004-05-28 20:59:22 +00:00
Alexandre Julliard
94d74b5fed Added support for managing reserved memory areas in libwine and ntdll.
Try to reserve everything above 0x80000000 on startup.
2004-05-25 01:29:24 +00:00
Alexandre Julliard
f223b8fe2d Disable the exec shield workaround for now, it's causing too much
trouble.
2004-01-20 00:28:01 +00:00