Commit Graph

269 Commits

Author SHA1 Message Date
Dan Hipschman 1b392bfa06 libs/wine: Avoid over-allocating memory in default_dbgstr_wn. 2008-07-16 17:54:55 +02:00
Simon Richter 2416533cd5 libwine: Fix wine_switch_to_stack on ppc.
The PowerPC ABI expects the caller to allocate space for the return
address on the stack, above the current stack pointer, even if the
address is passed in the link register (usually the address is stored at
SP+4 by the callee).
2008-06-02 12:34:28 +02:00
Simon Richter ff77ba8e17 libwine: Implement wine_call_on_stack for ppc. 2008-06-02 12:34:06 +02:00
Alexandre Julliard 662718160e libwine: Allow to specify a non-existing directory as WINEPREFIX. 2008-04-21 15:48:12 +02:00
Francois Gouget d8c41a25da Spelling fix in the ldt bitfields. 2008-04-14 12:40:22 +02:00
Alexandre Julliard 5fe73e6903 libwine: Added mappings for codepage 1361 (Korean Johab). 2008-04-08 12:19:27 +02:00
Alexandre Julliard 85241fbe5b libwine: Only use the last line of the git version description. 2008-04-07 17:38:27 +02: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 c9f0bea910 libwine: Added a wine_call_on_stack function. 2008-03-26 15:38:00 +01: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 86ff825f41 libwine: Add option for Unicode composition in utf-8 -> wchar conversion. 2008-02-15 12:06:58 +01:00
Alexandre Julliard dbefd038ac libwine: Abstract part of the utf8 char decoding to a separate function. 2008-02-15 12:06:42 +01:00
Alexandre Julliard bc3a5bad0f libwine: Properly increment source pointer for surrogates in wine_utf8_wcstombs.
Spotted by Ken Thomases.
2008-01-21 12:40:57 +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
Paul Millar 8d571e28f1 libwine: Fix naked getuid() to allow compilation under MinGW. 2007-11-12 11:39:52 +01:00
Alexandre Julliard 65d865d963 libwine: Refuse to use a WINEPREFIX dir owned by a different user. 2007-11-08 12:21:10 +01:00
Gerald Pfeifer 3ab66cd00f libwine: Conditionally provide reserve_area(). 2007-10-15 17:49:56 +02: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
Tijl Coosemans f1fcf80a69 libwine: Use GDT entry for %fs segment on FreeBSD. 2007-08-27 12:14:52 +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 79c2e077a1 libwine: Set install name to an absolute path for the installed library on Mac OS. 2007-06-08 19:04:17 +02:00
Alexandre Julliard e6df00aa4f libwine: Add support for glyph chars mapping in OEM codepage tables. 2007-05-29 23:31: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
Detlef Riekenberg 1c559eb474 libs/wine: Use xstrdup to avoid duplicate code. 2007-03-17 19:50:48 +01:00
Alexandre Julliard a44d1e5f6e libwine: Update the Unicode tables to version 5.0.1 of the standard. 2007-03-14 16:22:46 +01:00
Alexandre Julliard 62c3d3d620 libwine: Added support for Unicode surrogates in utf-8 conversions.
Also make the conversions more strict against invalid input data.
2007-03-14 15:58:56 +01:00
Alexandre Julliard a79b26284a libwine: Pass flags to wine_utf8_wcstombs to allow supporting WC_ERR_INVALID_CHARS. 2007-03-14 15:57:50 +01:00
Rob Shearman 4c8fbfed90 libwine: Eliminate duplicate function implementations in string.c
by using macros to turn off inlining when including wine/unicode.h.
2007-02-26 13:39:24 +01:00
Alexandre Julliard 494c42d01d libwine: Hardcode the data for the US-ascii codepage instead of loading a unicode.org file. 2007-02-05 20:39:13 +01:00
Joris Huizer eefea58d7d libwine: sign-compare fixes. 2007-01-26 12:56:07 +01:00
Joel Parker 2319999a05 Remove redundant semicolons for ANSI compatibility. 2007-01-17 11:58:15 +01:00
Francois Gouget bb8e625b5b Assorted spelling fixes. 2006-12-05 10:31:47 +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 32ab895e46 makefiles: Generate the dependencies line to avoid some code duplication. 2006-09-14 09:38:16 +02:00
Alexandre Julliard 6406f60ff3 libwine: Avoid a compiler warning on Solaris. 2006-09-12 11:01:57 +02:00
Andrew Talbot 5e8f9c7aff libwine: Cast-qual warning fix. 2006-08-23 12:00:27 +02:00
Alexandre Julliard e533e972bf configure: Moved the library checks after the function checks to avoid code duplication. 2006-08-15 12:11:30 +02:00
Alexandre Julliard 946b84d96c libwine: Also set the current library version for MacOS. 2006-08-14 20:45:32 +02:00
Alexandre Julliard 2886e9b0e8 makefiles: Use make dependencies to create installation directories.
This avoids a lot of redundant calls to mkinstalldirs.
2006-08-07 17:48:18 +02:00
Alexandre Julliard 539442c7f8 libwine: Add a minor number to the library filename for future extensions. 2006-08-05 21:29:58 +02:00
Alexandre Julliard fdfc24ca77 libs: Get rid of Makelib.rules since we only have one library now.
Merge all the rules into the libwine makefile.
2006-08-05 21:17:11 +02:00
Alexandre Julliard 6a5d3600dd libwine: Better heuristic for finding the top of the address space on Linux. 2006-07-31 17:09:34 +02:00
Alexandre Julliard 0b39d1a89e libwine: Added a function to enumerate the reserved mmap areas. 2006-07-24 13:59:10 +02:00
Paul Millar df10b7d580 libwine: Add a configure check for setrlimit. 2006-07-17 14:35:32 +02:00
Alexandre Julliard eb8a40c368 libs: Merged libwine_unicode into libwine.
Most dlls use libwine_unicode at this point, so there's nothing to
gain by having two separate libraries.
2006-07-11 19:33:22 +02:00
Alexandre Julliard f202bdbf20 libs/.gitignore: Added wildcards for libraries. 2006-07-10 21:41:34 +02:00
Alexandre Julliard cc2b3b48e6 Take advantage of the recursive nature of .gitignore for Makefile entries.
Prefix other entries with '/' to make them non-recursive.
2006-07-10 20:47:54 +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
Alexandre Julliard 0e2fcd4ba8 libwine: Better memory reservation algorithm for platforms that use try_mmap_fixed. 2006-06-20 19:07:22 +02:00
Alexandre Julliard e43cec76d1 libwine: Remove one more directory level when checking for build dir.
This way it still works if the libdir we got was libs/wine instead of libs.
2006-06-19 22:45:28 +02:00
Alexandre Julliard 3fb4b32949 libwine: Fixed a compiler warning on MacOSX. 2006-06-15 14:14:26 +02:00
Alexandre Julliard dbb455e7ab libwine: Don't use libwine_unicode functions. 2006-05-24 17:16:42 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Alexandre Julliard 7ed7e8fd4d configure: Make libraries properly relocatable on MacOS.
Also set the compatibility version.
2006-05-15 15:14:45 +02:00
Alexandre Julliard a8569bf7e0 libwine: Added a couple of missing memory constraints in LDT syscalls. 2006-04-18 16:47:26 +02:00
Alexandre Julliard e814b24e6d libwine: Only try to mmap the exact address when reserving memory.
This should avoid some extra work on platforms that need the
try_mmap_fixed function.
2006-04-13 21:55:33 +02:00
Alexandre Julliard b7d5b31cf1 libwine: Reorganize the mmap code a bit to avoid some #ifdefs. 2006-04-13 21:53:41 +02:00
Mike McCormack f7679b4594 libwine: Fix a memory leak. 2006-04-07 11:45:53 +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 5ff1004c4d libwine: Export wine_get_build_dir. 2006-03-16 17:36:19 +01:00
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