Commit Graph

156 Commits

Author SHA1 Message Date
Alexandre Julliard bf566139d7 libwine: Added support for executing wine binaries out of the build dir. 2006-03-16 17:35:32 +01:00
Alexandre Julliard 77b3b92eb2 libwine: Added detection for Wine being run out of the build directory. 2006-03-16 17:35:14 +01:00
Alexandre Julliard 2f026d1694 libwine: Export a function to retrieve the data directory (based on a
patch by Dmitry Timoshkov).
2006-03-06 18:50:15 +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 e95a2c2111 libwine: Set the default bindir and dlldir from argv0 if dladdr is not available.
Added dependency on $(RELPATH).
2006-02-17 14:08:19 +01:00
Alexandre Julliard 8b5e11c341 libwine: Compute relative paths for bin and dll directories at compile time. 2006-02-17 11:43:10 +01:00
Alexandre Julliard 9dffd134dd libwine: Try the current load path in priority before the
WINELOADER/WINESERVER environment variables in wine_exec_wine_binary.
2006-02-16 20:26:55 +01:00
Alexandre Julliard 767ad69a45 libwine: Don't rely on argv[0] in wine_exec_wine_binary if we can get
the directory from the library itself.
Only try the hardcoded BINDIR if everything else failed.
2006-02-16 20:06:20 +01:00
Alexandre Julliard ca6fd0d4ec libwine: Only use the library directory if it's an absolute path. 2006-02-16 20:03:06 +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
Emmanuel Maillard aaae6606cb loader: Reserve memory area on Darwin (based on Steve Zellers patch). 2006-02-15 13:52:02 +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
Robert Millan 8800352477 Enable for GNU/kFreeBSD the same kernel-specific interface/parameter
that is used with FreeBSD.
2006-02-05 13:06:50 +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
Eric Pouech e0cffe355f Fix a couple of bugs spotted by valgrind. 2006-01-27 16:18:05 +01:00
Alexandre Julliard 53496f83e7 Fixed a couple of warnings on MacOS. 2006-01-23 16:48:26 +01:00
Alexandre Julliard 4d3996d515 libwine: Added LDT support for MacOS/x86. 2006-01-23 12:02:58 +01:00
Alexandre Julliard 0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +01:00
Alexandre Julliard cc01e8ff05 Preserve 16-byte stack alignment in the various assembly
functions. Needed for MacOSX.
2005-11-23 19:55:06 +01:00
Alexandre Julliard 2058f54300 Added a __wine_dbg_set_channel_flags function to allow changing flags
from inside the code.
2005-10-18 10:49:20 +00:00
Alexandre Julliard 784c94516b Export the get_channel_flags function avoid warnings when passing a
NULL format to wine_dbg_log.
Removed a few no longer used functions.
2005-09-29 11:16:52 +00: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 a443761b8d Export the temp buffer functionality in the debug functions interface
to allow sharing more code between libwine and ntdll.
2005-09-26 16:45:25 +00:00
Alexandre Julliard 43c6396e94 Use int instead of long in interlocked_* functions for 64-bit
compatibility.
2005-09-26 13:51:58 +00:00
Alexandre Julliard 75c27e17b6 Defined a proper structure for debug channels.
Also put all the function pointers inside a structure and added
__wine_dbg_set_functions to change them instead of exporting the
pointers directly.
2005-09-23 10:52:07 +00:00
Alexandre Julliard 86ab2c9693 Removed sysi86 prototype that is causing conflicts. 2005-09-19 14:45:15 +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 7e4c88c6d9 Avoid some warnings on 64-bit platforms. 2005-09-13 11:07:14 +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 ee7d27a7bf Implemented wine_switch_to_stack for x86_64. 2005-09-08 19:16:12 +00: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 c486949985 Implemented wine_ldt_alloc_fs and wine_ldt_init_fs for Mac OS. 2005-08-29 10:56:54 +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
Alexandre Julliard 84f9d13664 Added error message for missing LDT support on i386. 2005-07-03 11:26:13 +00:00
Wolfgang Thaller 4c5f9c091b Implement try_mmap_fixed for Darwin. 2005-06-20 11:43:47 +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
Alexandre Julliard 6c1494b19c Fix long standing regression in the building of the server directory
name (found by Nigel Rowe).
2004-12-20 18:55:18 +00:00
Gerald Pfeifer e5f6637eec Make us work on FreeBSD again by working around their different mmap()
implementation.
2004-12-15 10:51:51 +00:00
Peter Chapman 505dfdefb5 Fix up several inline assembler blocks so that they produce correct
code with the -fomit-frame-pointer gcc flag.
2004-12-02 18:19:25 +00:00
Eric Frias 7933014d01 Export wine_pthread_get_current_teb. 2004-11-22 19:51:46 +00:00
Eric Frias 575042e718 Fix Sparc assembly code in wine_switch_to_stack. 2004-11-22 19:50:38 +00:00
Gerald Pfeifer ac815f5a6a Disable memory reservation code on FreeBSD, where it just doesn't
work.
2004-11-04 04:52:48 +00:00
Vincent Béron e5fdc454a4 Implement interlocked* and wine_switch_to_stack for Alpha. 2004-10-11 19:50:52 +00:00
Steven Edwards e7c3ab1874 Check for getuid and avoid the use of it in libwine if we don't have
it.
2004-10-04 20:45:49 +00:00
Alexandre Julliard 531dbbd8e7 Base the server directory name on the uid, not the username. 2004-09-27 20:50:37 +00:00
Hans Leidekker 719a789792 Fix signed/unsigned comparison warnings. 2004-09-22 02:46:38 +00:00
Mike McCormack d45e12a966 Fill in the MZ header in builtin PE DLLs. 2004-09-03 17:28:39 +00:00
Alexandre Julliard d0e5b8e2ee Reserve the DOS area in mmap_init if it wasn't already done by the
preloader.
2004-07-24 02:30:09 +00:00
Emmanuel Maillard 46718f8720 Set segment address of wine executable and libwine.dylib on Darwin. 2004-07-22 19:48:41 +00:00
Alexandre Julliard c3193925d8 Add the preloader itself as argv[0] and remove it again before running
the real loader, this way the ps output makes more sense.
2004-06-15 20:31:06 +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 7d2f5a7b15 Avoid zero size allocations. 2004-06-04 01:01:17 +00:00
Alexandre Julliard fa3544bbdf Check for existing reserved areas in mmap_init to avoid doing
duplicate work.
2004-06-03 00:44:50 +00:00
Christian Costa 4b588d132d Fixed preloader_exec. 2004-05-30 03:10:15 +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 dc4d05690e Don't rely on the reserved area list being empty in reserve_area,
since the preloader will need to add things to the list before
startup.
2004-05-28 03:48:09 +00:00
Kevin Koltzau 96b215ff10 Fixed last mmap issue with mingw windows build. 2004-05-27 01:55:20 +00:00
Alexandre Julliard d3239b677f Portability fix. 2004-05-25 18:55:20 +00:00
Alexandre Julliard 2dff1fe1e5 Moved environ definition to port.h. 2004-05-25 18:05:39 +00:00
Emmanuel Maillard 7ee8adfd39 Added environ support for Darwin. 2004-05-25 04:50:08 +00:00
Emmanuel Maillard 1a9ab88fe3 Adjust stack pointer in wine_switch_to_stack to prevent segmentation
fault on darwin/ppc.
2004-05-25 04:03:05 +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 04869eb658 Initial support for automatically creating the ~/.wine directory on
startup.
2004-05-11 04:29:18 +00:00
Alexandre Julliard 440ff6db12 Added version scripts for libwine and libwine_unicode. 2004-02-12 22:54:00 +00:00
Alexandre Julliard 4fac95df3d Fixed a couple of race conditions in the wine_pthread routines at
thread startup and exit.
2004-02-05 02:01:35 +00:00
Dmitry Timoshkov c660117622 Fixed some problems found while compiling and linking Wine under
Cygwin.
2004-01-20 22:35:34 +00:00
Alexandre Julliard 7984ded712 Added wine_dll_get_owner function that retrieves the 32-bit dll
containing a given 16-bit dll by reading the symlink, so that we don't
need to dlopen it.
2004-01-02 21:08:05 +00:00
Alexandre Julliard 9f50af251d Avoid common symbols on Darwin/Mac OS X. 2003-12-13 01:37:38 +00:00
Alexandre Julliard bb4ddfec28 Added a WINEDEBUG environment variable that allows turning on debug
output as early as possible during startup.
2003-12-05 00:17:41 +00:00
Alexandre Julliard 402b79a1e8 Porting fixes. 2003-11-27 00:59:36 +00:00
Alexandre Julliard c6d44be3e5 Create a huge array in bss to reserve the memory area we need for PE
binaries, to prevent exec shield from mapping system libraries there.
2003-11-22 00:08:26 +00:00
Alexandre Julliard 8fb98a41e0 Added wine_ldt_is_system() to replace the IS_SELECTOR_SYSTEM macro,
and stop exporting the WINE_LDT_FIRST_ENTRY constant.
2003-11-17 20:12:56 +00:00
Alexandre Julliard daeccba704 Moved the exec_wine_binary function to the wine library, and use it to
exec the wineserver too.
2003-11-11 22:21:29 +00:00
Alexandre Julliard 50fba7ffec Moved the remaining SYSDEPS_* functions to the wine_pthread interface.
Let the pthread library allocate the stack itself.
2003-11-09 01:25:23 +00:00
Alexandre Julliard 8574412e1e Added wine_pthread_create_thread and wine_pthread_exit_thread to the
pthread support, and removed the corresponding SYSDEPS functions.
Moved stack allocation for new threads to wine_pthread_create_thread
to allow more flexibility.
2003-11-05 23:31:11 +00:00
Alexandre Julliard 18b4cbf12a Put better values for code and data sizes in the NT header of builtin
dlls.
2003-11-03 22:19:44 +00:00
Alexandre Julliard c1d80ece92 Don't export the wine_pthread_* functions. 2003-10-16 22:07:06 +00:00
Dmitry Timoshkov 2581db8f6a Fixed some problems found while compiling and linking Wine under
Cygwin.
2003-10-14 05:27:43 +00:00
Alexandre Julliard 0b1a82aa5e Added check for pthread.h (reported by Steven Edwards).
Removed init_done check, the process heap is now created before kernel
is loaded anyway.
2003-10-14 01:27:31 +00:00
Alexandre Julliard a6ed49ade3 Don't reference the environ global variable from kernel32, it may fail
to link (reported by Gerald Pfeifer).
2003-10-10 23:33:21 +00:00
Alexandre Julliard 823cec66ef Added placeholders for wine_pthread_init_process and
wine_pthread_init_thread.
2003-10-10 00:22:19 +00:00
Alexandre Julliard 410e6b7b39 Changed the init code to make libwine load only ntdll and transfer
control to it, and then have ntdll load kernel32 using the normal
loader mechanisms.
Get rid of BUILTIN32_LoadExeModule.
2003-10-10 00:12:17 +00:00
Alexandre Julliard 5986e3a724 Added wine_get_argv0_path() to retrieve the path of the wine binary. 2003-10-08 00:36:09 +00:00
Daniel Marmier 9bb19ac2d2 Fixed warnings with gcc option "-Wwrite-strings". 2003-10-03 03:35:20 +00:00
Alexandre Julliard aaf3503ea5 Moved almost all remaining process, thread, fiber and exception
functions to dlls/kernel.
2003-09-17 05:31:32 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard 80e34dbb66 Moved the implementation of the pthread wrappers to dlls/kernel. 2003-09-03 00:26:08 +00:00
Alexandre Julliard ca3bfd8318 Export SYSDEPS_SwitchToThreadStack() functionality from libwine as
wine_switch_to_stack().
2003-08-29 22:23:42 +00:00
Todd Vierling 8d5e732186 Use MAP_TRYFIXED on NetBSD if available. 2003-08-27 23:11:05 +00:00
Alexandre Julliard dd0242de6d Remove the dummy pthread functions and use -lpthread instead to
resolve missing symbols in GL libs.
2003-08-20 03:44:25 +00:00
Alexandre Julliard 8ca7e0af78 Added a file_exists argument to wine_dll_load to allow checking
whether a failed dll load is because the file didn't exist; more
robust than trying to guess the contents of the error string...
Get rid of BUILTIN32_dlopen.
2003-07-03 18:23:10 +00:00
Alexandre Julliard 117436e08e Moved rules for building shared libraries into a global Makelib.rules
file.
2003-05-01 00:39:29 +00:00
Alexandre Julliard d139e94336 Added wine_init. 2003-04-30 17:12:29 +00:00
Alexandre Julliard fedc411743 Moved the functionality of starting Win16 and DOS programs from the
common process startup into a separate winevdm application.
2003-04-27 00:47:58 +00:00
Alexandre Julliard 6a9cea957a Added --with-nptl configure option and necessary changes to support
running on top of NPTL threads.
2003-04-03 02:54:54 +00:00