71 Commits

Author SHA1 Message Date
Chip Davis
bdca749f7b libwine: Use getsegmentdata(3) on Mac OS to find the end of the __TEXT segment.
Don't assume it ends with the fake PE header. This assumption doesn't
hold on Mac OS: the __data section where it was placed is located after
several other sections, all in the __DATA segment.

Unfortunately, this causes Wine, when DEP/NX is turned off, to override
the page protections for the start of the __DATA segment, removing write
permission from them, leading to a crash when winemac.drv attempted to
use an Objective-C class for the first time.

Also, be sure to include the zero-fill (i.e. BSS) sections in the total
size of the .data section. This should fix some tests that use large
uninitialized arrays.

Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-16 13:12:38 +02:00
Alexandre Julliard
20d13d0b78 libwine: Also apply the load delta to the FirstThunk table.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-18 15:41:43 +02:00
Alexandre Julliard
98860707bc libwine: Handle WINEDEBUGLOG variable on Android to specify a log file.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-30 21:49:49 +02:00
Alexandre Julliard
5142e56aee libwine: Clear the %fs register we got from Android to force allocating a new one.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-21 22:06:52 +02:00
Alexandre Julliard
1fa7710ff9 makefiles: Get rid of the DLLPREFIX variable.
Android libraries will be handled differently.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-09 12:12:58 +09:00
Alexandre Julliard
d197252fb3 libwine: Pass the correct length to GetStringUTFRegion.
Spotted by Jactry Zeng.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-20 00:30:36 +09:00
Alexandre Julliard
a6a9b05dee libwine: No longer look for libraries in the dll path on Android. 2014-07-24 09:25:21 +02:00
Alexandre Julliard
8478cece69 libwine: Update LD_LIBRARY_PATH in the current process from the JNI environment. 2014-07-24 09:24:49 +02:00
Ken Thomases
e577e4b3e6 libwine: Fix a potential write through a null pointer. (Clang). 2013-10-21 10:47:22 +02:00
Alexandre Julliard
c30923f25b libwine: Add JNI initialisation support to start Wine from an Android activity. 2013-10-01 17:32:17 +02:00
Alexandre Julliard
626be2eab1 libwine: Look for all libraries in the dll search path on Android. 2013-09-26 18:15:12 +02:00
Alexandre Julliard
a83c598c79 makefiles: Add support for specifying a prefix for installed library file names. 2013-09-26 14:35:45 +02:00
Dmitry Timoshkov
e2791cdfb1 include: Make IMAGE_RESOURCE_DIRECTORY_ENTRY match PSDK definition. 2013-04-29 13:33:54 +02:00
Ken Thomases
cf73350d9f loader: On Mac, if Wine is already on secondary thread, don't reserve it for the system frameworks. 2013-04-16 12:05:22 +02:00
Alexandre Julliard
cef0fde53d libwine: Use sysconf() instead of getpagesize(). 2013-01-09 12:21:26 +01:00
Ken Thomases
573436047e libwine: Call the Mac Multi-Processing Services lib from the main thread first. 2013-01-08 16:35:19 +01:00
Alexandre Julliard
7a7b60098f libwine: Fix a pointer comparison warning. 2010-11-17 15:07:30 +01:00
Ken Thomases
47dea9b670 loader: On Mac, reserve the process's original thread for the frameworks.
The frameworks expect the original thread to run its run loop, so input
sources (like distributed notifications) get processed.  For example,
Core Audio on Snow Leopard doesn't track changes in the default ouput
device, such as when headphones are plugged in, without this.
2010-11-16 11:47:58 +01:00
Alexandre Julliard
99538272d5 libwine: Ignore libraries that are of the wrong 32/64 class. 2009-08-11 17:29:07 +02:00
Alexandre Julliard
8edf353bd2 libwine: Export __wine_get_main_environment on Mac OS to make sure it's reevaluated when used. 2009-04-01 15:07:42 +02:00
Alexandre Julliard
cee15b2449 libwine: Try to load all modules in the programs directory, not just those with .exe extension. 2009-02-25 11:54:05 +01:00
Alexandre Julliard
4eb350b86b libwine: Add support for relocating MS-style imports that use OriginalFirstThunk. 2008-09-04 21:52:36 +02:00
Ken Thomases
3674c77341 libwine: Cope with Leopard brokenness w.r.t. setrlimit(RLIMIT_NOFILE). 2008-03-22 11:14:23 +01:00
Alexandre Julliard
6475603985 libwine: Work around the Mac OS dynamic loader support for PE files. 2007-11-29 15:32:49 +01:00
Andrey Turkin
fa0524a414 libwine: Emulate MS linker stub for builtin dlls. 2007-10-10 11:18:35 +02:00
Alexandre Julliard
b9304bd64c libwine: Initialize debug channels options on first use. 2007-09-11 11:57:11 +02:00
Alexandre Julliard
44639b326b libwine: Fix lookup of 16-bit dll placeholders. Remove some old compatibility code. 2007-07-30 14:44:05 +02:00
Alexandre Julliard
5fe7589bb4 libwine: Get rid of the lookup in the top dlls/ dir, all dlls are named correctly now. 2007-07-26 11:57:14 +02:00
Alexandre Julliard
f3960b22b1 libwine: Hack to work around the Solaris dlopen() brain damage. 2007-03-30 12:17:01 +02:00
Andrew Talbot
4125821a99 winelib: Replace inline static with static inline. 2007-03-27 12:38:06 +02:00
Joris Huizer
eefea58d7d libwine: sign-compare fixes. 2007-01-26 12:56:07 +01:00
Andrew Talbot
5e8f9c7aff libwine: Cast-qual warning fix. 2006-08-23 12:00:27 +02:00
Paul Millar
df10b7d580 libwine: Add a configure check for setrlimit. 2006-07-17 14:35:32 +02:00
Alexandre Julliard
96d6724eaf libwine: Attempt to increase some user limits that are set too low on some platforms. 2006-06-27 20:14:12 +02:00
Jonathan Ernst
360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Alexandre Julliard
4db364cb77 libwine: Added magic handling of dll path when running in build dir.
This should ensure that we do the right thing in the build dir even if
WINEDLLPATH isn't set.
2006-03-17 13:08:08 +01:00
Alexandre Julliard
1269f43c5a libwine: Add the runtime library path to the front of the dll paths list. 2006-02-17 17:39:44 +01:00
Alexandre Julliard
aed49d439e libwine: New naming scheme for 16-bit builtin dlls.
Stop using symlinks for 16-bit dlls to make sure they don't get loaded
by mistake when looking for a 32-bit dll.
2006-02-16 13:44:38 +01:00
Alexandre Julliard
0b34fb3656 libwine: Use dladdr if supported to get the run-time path of libwine.so
and define the default dll and bin directories relative to it.
2006-02-11 22:38:44 +01:00
Alexandre Julliard
65424dc3a8 libwine: Added wine_dll_enum_load_path function to allow querying the dll path. 2006-02-04 17:02:05 +01:00
Alexandre Julliard
cbc38965c0 New scheme for keeping track of debug channels that doesn't require
maintaining a list of all loaded dlls.
2005-09-28 15:21:48 +00:00
Alexandre Julliard
80083b18f8 Store RVAs instead of pointers wherever possible in the generated NT
header and directories.
2005-09-17 14:39:51 +00:00
Alexandre Julliard
0799e8403b Use the NT descriptor address as start of the data section, since the
BaseOfData field isn't present in Win64.
2005-09-15 15:09:12 +00:00
Alexandre Julliard
6153b1f927 Only add the default dlldir to the search path if that's where ntdll
is found.
2005-09-12 11:20:31 +00:00
Alexandre Julliard
87b297ebc2 Use the correct ordinal flag for Win64 support. 2005-08-29 09:49:47 +00:00
Marcus Meissner
2d7e976eed Fixed signedness warnings. 2005-07-10 17:45:53 +00:00
Robert Lunnon
d7272dedc7 Add RTLD_FIRST flag to dlopen calls. 2005-05-10 15:13:20 +00:00
Alexandre Julliard
240d4ee9e1 Remove a few more instances of strncpy. 2005-04-25 15:51:45 +00:00
Francois Gouget
93416cdaf7 Assorted spelling fixes. 2005-03-23 13:15:18 +00:00
Mike McCormack
d45e12a966 Fill in the MZ header in builtin PE DLLs. 2004-09-03 17:28:39 +00:00