Commit graph

1192 commits

Author SHA1 Message Date
Alexandre Julliard
1b8d9e03a9 loader: Set the address space limit before starting the preloader. 2007-09-21 10:43:45 +02:00
Tijl Coosemans
9f5c69c96d loader: Introduce FreeBSD loader. 2007-08-27 12:14:41 +02:00
Tijl Coosemans
60833da9f2 loader: Use thr_self syscall to get thread id on FreeBSD. 2007-08-09 15:01:04 +02:00
Alexandre Julliard
1f11333c7b makefiles: Build programs that link against libwine twice with appropriate rpaths.
One rpath is for installing and one is for running inside the build tree.
2007-06-20 20:03:30 +02:00
Andrew Talbot
cb5dcc68f8 loader: Replace inline static with static inline. 2007-03-27 12:38:15 +02:00
Joris Huizer
e1e54d1ee7 preloader: sign-compare fix. 2007-03-05 15:31:56 +01:00
Alexandre Julliard
d62b5c6cd9 loader: Fix git-describe invocation to work with old git versions. 2007-01-15 13:02:00 +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
150b5dcaef loader: Use the Mach thread port as thread id on Mac OS. 2006-12-29 20:02:02 +01:00
Alexandre Julliard
7035aa5041 make_makefiles: Generate the top-level .gitignore file.
Add a PROGRAMS variable in some makefiles to make things easier.
2006-12-27 21:23:36 +01:00
Alexandre Julliard
959113d270 loader: Try to detect glibc 2.3 without NPTL or TLS and print a warning. 2006-12-20 17:03:23 +01:00
Alexandre Julliard
338fc52491 kthread: Don't make the stack executable by default. 2006-12-05 15:42:53 +01:00
Saulius Krasuckas
06566a5347 loader: Use plain binary name of git-describe to avoid junk in version output. 2006-11-09 18:26: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
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
181cf8b635 loader: Make sure the reserved area is protected on MacOSX too. 2006-10-12 14:55:52 +02:00
Alexandre Julliard
32ab895e46 makefiles: Generate the dependencies line to avoid some code duplication. 2006-09-14 09:38:16 +02:00
Alexandre Julliard
13a93b4a94 configure: Set rpath on all executables that link to libwine.
Also add the -multiply_defined suppress option for executables on MacOS.
2006-08-25 17:23:44 +02:00
Alexandre Julliard
4e4740346d Documentation updates. 2006-08-23 15:59:14 +02:00
Alexandre Julliard
dd0340ef0a loader/kthread: Remove some unneeded #ifdefs, other platforms use pthread now. 2006-08-15 12:57:25 +02:00
Alexandre Julliard
5da3e551a2 loader: Exit the whole process when killing the last thread. 2006-08-11 20:12:38 +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
Tijl Coosemans
fc8172f7ee loader/pthread: Added pthread_attr_get_np support. 2006-08-07 13:51:50 +02: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
Alexandre Julliard
c79cf02fae ntdll: Make sure to not unmap anything from reserved areas
when using NtFreeVirtualMemory with the MEM_SYSTEM flag.
2006-07-13 20:47:07 +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
e040e6c4f8 libwine: Added entry for sigprocmask in the pthread functions table. 2006-06-23 12:27:45 +02:00
Alexandre Julliard
c6ad0201f4 wine-pthread: Set thread scope to force using kernel threads on Solaris. 2006-06-23 12:26:23 +02:00
Jonathan Ernst
360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Alexandre Julliard
6f38489f91 loader: Attempt to detect broken vmsplit setups. 2006-04-19 19:28:33 +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
Alexandre Julliard
c20d6c4095 loader: Hide the preloader from the ps output. 2006-03-31 19:16:22 +02:00
Alexandre Julliard
1fd32cfa13 configure: Use --rpath when linking dlls too. 2006-03-20 22:08:26 +01:00
Alexandre Julliard
5ed59015b2 configure: Use --rpath if supported when building binaries to point to
the relative location of the wine libraries.
2006-02-20 11:20:47 +01:00
Alexandre Julliard
266391744d configure: Default to building wine-pthread on non-x86 platforms. 2006-02-17 14:12:29 +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
Emmanuel Maillard
aaae6606cb loader: Reserve memory area on Darwin (based on Steve Zellers patch). 2006-02-15 13:52:02 +01:00
Mike Frysinger
5392844392 Add support for 'make install DESTDIR'. 2006-02-14 13:51:38 +01:00
Eric Pouech
4642e1e441 loader: Added missing attr destroy. 2006-02-14 11:34:58 +01:00
Eric Pouech
e66e227dbe Fixes for missing prototypes warnings. 2006-02-06 13:13:28 +01:00
Mike McCormack
7cd9a8f8dc preloader: Allow compiling the preloader with -fstack-protector. 2006-01-26 13:21:54 +01:00
Alexandre Julliard
538cd17859 loader: Detect pthread_get_stackaddr_np returning the top of the stack
instead of the base.
2006-01-24 15:11:58 +01:00
Alexandre Julliard
cfe45cc130 Get rid of the no longer needed DECL_GLOBAL_CONSTRUCTOR macro. 2006-01-14 17:08:52 +01:00
Alexandre Julliard
0577113e35 preloader: Reserve some space for the shared user data. 2005-12-14 12:19:18 +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
12a749984c Put Wine version information in all the man pages. 2005-10-06 16:10:01 +00:00
Alexandre Julliard
664e4106c6 Added global rules for man pages. 2005-10-06 16:06:04 +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
7e4c88c6d9 Avoid some warnings on 64-bit platforms. 2005-09-13 11:07:14 +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
5729f58b68 Move the loader a bit higher in memory to leave more space for ntdll
and kernel32.
2005-06-17 10:22:46 +00:00
Alexandre Julliard
8dd4ee76c4 Moved the wine manpage to the loader/ directory. 2005-06-15 10:25:40 +00:00
Marcus Meissner
2b6e7dad58 Elf32_auxv_t.a_un.a_ptr no longer exists in HEAD glibc CVS, use
a_val.
2005-06-02 10:30:08 +00:00
Francois Gouget
821d4c4645 Fix nativeapi.pm so it knows about AC_HEADER_STAT().
Make the error message about unexpected '#ifdef HAVE_XXX' clearer.
Protect sys/stat.h #includes with the corresponding '#ifdef HAVE_XXX'
check.
2005-05-06 16:22:54 +00:00
Aaron Arvey
a31a75244c Added __bb_init_func for linking purposes. 2005-04-15 16:13:49 +00:00
Mike Hearn
fa153c62dd Increase PE reserve area size to 512Mb. 2005-03-22 16:42:25 +00:00
Rémi Assailly
193d527736 char -> const char fixes. 2005-01-28 14:02:52 +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
Hans Leidekker
cbaa545fff Protect use of pthread functions with #ifdef HAVE_PTHREAD_H. 2004-10-19 03:57:05 +00:00
Alexandre Julliard
ce0e8f2998 Restore lost chunk of previous patch. 2004-10-18 21:43:50 +00:00
Vincent Béron
2c1b35dd17 Add some more Alpha asm code and Alpha-specific parts. 2004-10-18 21:27:52 +00:00
Vincent Béron
d17c162c4c Fix the declaration of pthread_mutexattr_gettype(). 2004-10-18 19:33:16 +00:00
Alexandre Julliard
e9f2eb5241 Support compiling with -fPIC for people who somehow think this is a
good idea.
2004-09-24 00:25:32 +00:00
Alexandre Julliard
06233cfb47 Avoid some non-portable makefile constructs. 2004-08-11 20:59:09 +00:00
Emmanuel Maillard
d110e1f264 wine_pthread_init_thread: retrieve the stack info on Darwin. 2004-07-21 03:06:03 +00:00
Alexandre Julliard
0c8d6908df Avoid using strlen. 2004-07-06 18:46:05 +00:00
Mike McCormack
2113bd43f1 Define AT_SYSINFO_* if it's missing. 2004-06-28 20:28:05 +00:00
Alexandre Julliard
f558741fab Remove the AT_SYSINFO and AT_SYSINFO_EHDR values if the sysinfo page
is in one of our reserved ranges.
2004-06-26 00:12:20 +00:00
Alexandre Julliard
9bfe0c4ec4 Use wine_dlsym instead of dlsym to avoid the glibc dlerror bug.
Call dlsym with RTLD_DEFAULT for symbols that we don't redefine to
work around another glibc bug.
2004-06-24 04:07:22 +00:00
Alexandre Julliard
bfac60bfeb Do direct Linux system calls in the preloader to avoid trouble with
some broken static libcs.
2004-06-22 02:42:05 +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
Francois Gouget
497709b9bb Assorted spelling and case fixes. 2004-06-15 20:26:45 +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
9f33a4b109 Make it possible to add auxiliary values to the existing array; this
is required for older kernels.
2004-06-03 23:36:01 +00:00
Alexandre Julliard
92425aab60 Added support for specifying the PE exe address range through the
WINEPRELOADRESERVE environment variable.
2004-06-02 21:40:00 +00:00
Alexandre Julliard
6d2099f4f8 A few small fixes. 2004-06-01 19:47:11 +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
b64c627022 Fixed rounding bug in the stack info calculation when we don't have
pthread_getattr_np.
2004-03-30 05:13:35 +00:00
Patrik Stridvall
ede82e3055 Fixed some issues found by winapi_check. 2004-02-20 20:19:23 +00:00
Alexandre Julliard
a4d1826c69 Better fix for the thread exit race on pthreads. 2004-02-11 23:58:46 +00:00
Alexandre Julliard
9591679bf2 Don't depend on the name of the main binary, always load
wine-[kp]thread no matter what.
2004-02-11 04:19:43 +00:00
Alexandre Julliard
163396b955 Revert the thread exit race fix for now, it doesn't work right on
pthreads.
2004-02-05 17:45:31 +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
Alexandre Julliard
f223b8fe2d Disable the exec shield workaround for now, it's causing too much
trouble.
2004-01-20 00:28:01 +00:00
David Beck
ef7087a5ee Added RFTHREAD flag in rfork call. 2003-12-30 21:53:32 +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
821ab8636f Added configure check for pthread_getattr_np. 2003-11-12 22:44:56 +00:00
Alexandre Julliard
a628c13e90 Added a wine-glibc binary that detects the glibc threading in use and
execs the corresponding wine binary.
Removed the --with-nptl configure option.
2003-11-12 03:28:21 +00:00
Alexandre Julliard
b2d937d5d9 Added sigsetjmp/siglongjmp and gettid to the portability library. 2003-11-12 03:16:00 +00:00
Alexandre Julliard
546839f408 Only build both Wine binaries on Linux, pthread support doesn't work
on other platforms.
2003-11-11 00:48:21 +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
f45325e443 Create two separate wine binaries, one using libpthread and one using
kernel threading directly.
Get rid of the remaining HAVE_NPTL ifdefs.
Remove the scheduler directory.
2003-11-06 23:05:41 +00:00
Alexandre Julliard
357c7401b9 Re-use the loader directory for the main wine loader, and get rid of
the miscemu directory.
2003-11-06 01:17:56 +00:00
Alexandre Julliard
b9efd4afcb Moved loader/module.c to dlls/kernel. 2003-11-06 01:09:58 +00:00
Dmitry Timoshkov
45ac9cd287 Convert GetBinaryType to unicode. 2003-10-14 01:16:59 +00:00
Alexandre Julliard
b81d9e7cf4 Link all remaining files that contain kernel APIs into kernel32.dll
instead of ntdll.dll. Removed a number of no longer needed files.
2003-10-08 03:57:02 +00:00
Alexandre Julliard
4137aecaa5 Changed LdrLoadDll to only search for the dll in the specified path,
using ntdll functions.
Moved LOAD_WITH_ALTERED_SEARCH_PATH functionality to LoadLibraryEx
where it belongs.
2003-10-02 04:58:49 +00:00
Jon Griffiths
4c1fa161a3 Documentation updates. 2003-10-01 03:20:21 +00:00
Alexandre Julliard
a33f318ffc Avoid depending on MODULE_GetBinaryType in load_library_as_datafile. 2003-09-26 04:35:44 +00:00
Alexandre Julliard
2052538a47 Moved loadorder support to dlls/ntdll.
Removed the --dll option and replaced it by the WINEDLLOVERRIDES
environment variable.
2003-09-25 20:33:41 +00:00
Alexandre Julliard
a37e7608c7 Moved 32-bit relay and snoop support to dlls/ntdll. 2003-09-19 04:32:39 +00:00
Alexandre Julliard
97ad311e71 Moved the 32-bit builtin loader and the remaining bits of the PE
loader into dlls/ntdll/loader.c.
2003-09-19 04:04:57 +00:00
Alexandre Julliard
ba71316172 Moved a couple more functions to dlls/kernel. 2003-09-18 20:59:54 +00:00
Alexandre Julliard
8db8368ee7 Keep the file handle of 16-bit modules open while the module is
loaded. This makes it possible to remove the InstallShield hack in
OpenFile16.
Moved LoadLibrary32_16 to kernel.
2003-09-18 04:35:34 +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
7df1b9e03a Start using the exported TEB structure from winternl.h where
possible.
2003-08-28 19:57:35 +00:00
Alexandre Julliard
6aca040f86 Moved a few more functions to dlls/kernel. 2003-08-26 02:29:48 +00:00
Alexandre Julliard
0ac9690081 Moved 16-bit relay and snoop support to dlls/kernel. 2003-08-26 02:28:59 +00:00
Alexandre Julliard
9ca159b61a Moved 16-bit builtin module handling to dlls/kernel/ne_module.c. 2003-08-23 23:07:10 +00:00
Alexandre Julliard
5fbb446cfc Moved most of the 16-bit task support and NE module loader to
dlls/kernel.
2003-08-23 00:03:40 +00:00
Alexandre Julliard
d8e34ebc21 Renamed system.dll to system.drv. 2003-08-19 03:27:45 +00:00
Dmitry Timoshkov
6f66c1c75b Windows ignores values of e_cparhdr and e_crlc of the MZ header. 2003-08-18 19:51:42 +00:00
Pierre d'Herbemont
89321f49bd Add Mach-O (Darwin file format) support. 2003-07-21 20:02:50 +00:00
Francois Gouget
3ca761220a Spelling fixes (s/occured/occurred/ and variants). 2003-07-15 20:53:39 +00:00
Alexandre Julliard
d27b8c96eb Avoid accessing uninitialized variable in TASK_Create (spotted by
Robert Shearman).
2003-07-02 04:32:38 +00:00
Eric Pouech
675b75597b - removed next & prev fields from WINE_MODREF and implement instead
the three linked lists in LDR_MODULE
- added PEB_LDR_DATA structure to PEB
- removed a couple of no longer needed global & static variables
2003-07-01 03:38:56 +00:00
Alexandre Julliard
6bc5091160 Start to make use of the proper PEB structure for process
information.
2003-05-22 03:44:01 +00:00
Alexandre Julliard
7c836cf954 Moved a couple of 16-bit module functions from to loader/ne/module.c. 2003-05-21 18:32:17 +00:00
Alexandre Julliard
81e72d8f2d Moved all process initialisation code to process.c and removed
loader/main.c.
2003-05-20 19:21:43 +00:00
Alexandre Julliard
c7a51eec43 Only create the 16-bit dummy module when we need really it. 2003-05-20 02:32:26 +00:00
Alexandre Julliard
54100873d3 Avoid using the MapHModule functions. 2003-05-16 20:17:52 +00:00
Alexandre Julliard
1ed73fae13 Call the user signal proc for exe modules too, to avoid duplicating
the module cleanup code.
2003-05-16 20:16:56 +00:00
Alexandre Julliard
c963e25c0e Get rid of the 32-bit user signal proc since we always run builtin
USER now.  Moved USER module cleanups to the 16-bit signal proc.
2003-05-15 23:11:00 +00:00
Alexandre Julliard
adb532903c Rewrote module TLS support and moved it to ntdll. 2003-05-14 19:51:14 +00:00
Alexandre Julliard
d9bab57477 Added support for calling the TLS callback functions. 2003-05-08 04:13:26 +00:00
Alexandre Julliard
ce4d111cd8 Moved the EnumResource* functions to the kernel dll, and fixed their
prototypes.
2003-05-07 03:21:26 +00:00
Alexandre Julliard
424202bd9a Moved most of the kernel resource APIs to dlls/kernel. 2003-04-30 00:53:23 +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
7dd3f7c786 Silently ignore 'so' loadorder in the config file instead of
displaying an error.
2003-04-27 00:40:23 +00:00
Alexandre Julliard
0412cc55d2 Rewrote most of the import fixup code to avoid doing redundant work
for every entry point. Moved it all to dlls/ntdll/loader.c.
Various optimizations in the other loader routines.
2003-04-05 05:16:11 +00:00
Alexandre Julliard
5980477dcc Fetch the exe module directly from the PDB instead of calling
LdrGetDllHandle.
2003-04-05 05:13:33 +00:00
Alexandre Julliard
39f73ddeaa Merged PE_InitDLL into MODULE_InitDLL.
Fixed a few traces.
2003-04-04 19:50:17 +00:00
Eric Pouech
69dc0d93d5 Removed no longer needed MODREF.find_export field. 2003-03-21 21:27:16 +00:00
Eric Pouech
7b91b82680 Rewrote mapping of module into memory using only NTDLL APIs. 2003-03-21 00:46:08 +00:00
Alexandre Julliard
195574e2d8 Added memcpy_unaligned to libwine_port. 2003-03-20 23:44:36 +00:00
Eric Pouech
19e050eb6f Moved WINE_MODREF.flags to WINE_MODREF.ldr.Flags, and make use of the
same flags values as Win2000.
2003-03-20 23:40:08 +00:00
Eric Pouech
f94c8b85b9 Move some fields (refCount, tls_index and module) from WINE_MODREF to
LDR_MODULE.
2003-03-20 22:05:26 +00:00
Eric Pouech
9b79d698b2 Moved the module loading/unloading code and the remaining needed
static variables to ntdll.
2003-03-20 04:55:59 +00:00
Alexandre Julliard
500a2f95f7 Partially implemented LdrLock/UnlockLoaderLock. 2003-03-20 04:29:21 +00:00
Alexandre Julliard
03e4ea1789 Make GetModuleFileNameA call GetModuleFileNameW. Small cleanups. 2003-03-18 20:07:12 +00:00
Eric Pouech
84d1a8ff8c - added LDR_MODULE structure to WINE_MODREF and made dummy filling of
this structure
- implementation of LdrFindEntry
- implementation of GetModuleFileName[AW] on top of LdrFindEntry
2003-03-18 18:29:13 +00:00
Alexandre Julliard
803b5686ef Cleaned up load_library_as_datafile(). 2003-03-14 23:17:45 +00:00
Eric Pouech
32872b1a57 - implementation of LdrLoadDll out of loader/module.c
- in impacted functions, ensure that we only use ntdll functions
- for internal loading, start using NTDLL style for error reporting
- making use of new LdrLoadDll
2003-03-14 05:01:20 +00:00
Eric Pouech
1efa50e47e - implementation of LdrUnloadDll out of loader/module.c
- in impacted functions, ensure that we only use ntdll functions
- making use of new LdrUnloadDll
2003-03-14 04:00:52 +00:00
Eric Pouech
f3a73ef7af - implemented LdrGetProcedureAddress and made use of it for
GetProcAddress
- implemented LdrGetDllHandle and made use of it in GetModuleHandle
- removed MODULE_DllThreadDetach from loader/module.c (should have
  been removed in a previous patch)
2003-03-06 23:41:37 +00:00
Eric Pouech
d4fcc4bd06 Removed SO loading type. 2003-03-05 02:50:25 +00:00
Eric Pouech
7d6096480a - added Ldr* information to include/winternl.h
- exported a few functions/global vars from module.h while we move
  code from loader/module.c to dlls/ntdll/loader.c
- implemented LdrShutdownProcess, LdrShutdownThread and
  LdrDisableThreadCalloutsForDll (and made use of them)
2003-03-04 04:36:56 +00:00
Alexandre Julliard
60d40cd246 Only do the unload_dll server call at the time we actually unload the
dll.
2003-02-28 21:52:08 +00:00
Alexandre Julliard
ce13153821 Moved LDT selector allocation routines to libwine.
Added support for correct locking of all LDT operations.
Added separate functions to manipulate the %fs selector, which allows
using a global GDT selector on recent Linux kernels.
2003-02-26 20:34:45 +00:00
Alexandre Julliard
ac13d2f47e Print thread ids in traces with only 4 digits now that they are small
integers.
2003-02-18 23:29:47 +00:00
Alexandre Julliard
851d25d977 Set default loadorder to native for dlls that contain an explicit
path.
2003-02-17 01:49:47 +00:00
Warren Baird
39f73a2203 Increase size of insufficiently big stack allocated buffer used for
error messages in ELF_LoadLibraryExA.
2003-02-12 01:17:55 +00:00
Rein Klazes
33be954e62 In PE_fixup_imports report "module file not found" only in case of a
"file not found" error. Otherwise report failure and error number.
2003-02-11 22:21:24 +00:00
Matthew Davison
60009b9a56 Removed calls to HEAP_strdupAtoW. 2003-01-23 23:07:38 +00:00
Dimitrie O. Paun
297f3d898d Define NONAMELESS{STRUCT,UNION} explicitly in the files that need them. 2003-01-07 20:36:20 +00:00
Alexandre Julliard
bcf41605d2 Debug channels cleanup. 2002-12-17 21:09:50 +00:00
Alexandre Julliard
df357055e2 Don't crash in DirectedYield16 if no other task is running. 2002-12-13 00:39:17 +00:00
Dimitrie O. Paun
737d4be892 Move excpt.h out of include/msvcrt/ as it does not conflict with any
standard Unix header.
2002-12-12 23:34:01 +00:00
Alexandre Julliard
309b37023d Also trace implicitly loaded dlls for +loaddll. 2002-12-12 22:05:22 +00:00
Patrik Stridvall
75dee506ae Replace 0x%p with %p. 2002-12-05 19:56:15 +00:00
Alexandre Julliard
9169729b0b Merged font.h and path.h into gdi.h. Moved x11font.h to
dlls/x11drv. Removed a number of unnecessary #includes.
2002-12-03 19:18:41 +00:00
Alexandre Julliard
11f361a29c Removed no longer needed PROFILE_LoadWineIni(). 2002-11-23 02:24:53 +00:00
Andrew John Hughes
ed800c69c8 Build ntdll with -DSTRICT. 2002-11-21 03:45:01 +00:00
Alexandre Julliard
82aeebd783 Added wrapper to replace llseek+lread to avoid HANDLE/HFILE
conversions.
2002-11-21 00:04:01 +00:00
Jukka Heinonen
1a665058e8 Removed last users of msdos/interrupts.c. 2002-11-21 00:02:09 +00:00
Eric Pouech
d09b9ccb39 Don't fully process FreeLibrary when process is stopping. 2002-11-15 04:14:27 +00:00
Patrik Stridvall
cf07e10017 Don't use wine/unicode.h in the header files, include it directly
where needed instead.
2002-10-23 20:20:59 +00:00
Patrik Stridvall
1298eb4053 Fixed mismatches between the Wine headers and the Microsoft headers. 2002-10-23 18:50:10 +00:00
Alexandre Julliard
f3215eba4a Get/SetFastQueue16 should use HQUEUE16 handles. 2002-10-19 17:20:44 +00:00
Alexandre Julliard
9534d4f0fe Added wine_memcpy_unaligned function to avoid gcc memcpy
optimizations.
2002-10-18 00:27:38 +00:00
Alexandre Julliard
c5c48eb677 Fixed reference count handling to support LoadLibrary during a process
attach.
2002-10-15 02:25:19 +00:00
Alexandre Julliard
613ead7f0f Fixed some handle conversions in prevision of void* handles. 2002-10-04 00:27:10 +00:00
Dimitrie O. Paun
e70d08be31 By default, we should use our own dlls. 2002-09-25 00:16:52 +00:00
Patrik Stridvall
b5bb32c09a Fixed some issues found by winapi_check. 2002-09-24 18:29:39 +00:00
Michael Stefaniuc
9d2b862883 Convert HRSRC to a void*. 2002-09-16 22:47:05 +00:00
Alexandre Julliard
81bdcf126f Removed references to advapi32 registry functions from some of the
kernel functions.
2002-09-13 17:47:44 +00:00
Patrik Stridvall
9c1de6de30 Moved all the content of the DDK files ntdef.h and ntddk.h to
winternl.h.
2002-09-12 22:07:02 +00:00
Patrik Stridvall
51e6c0ccb1 MSVC compatibility fixes. 2002-08-31 19:04:14 +00:00
Alexandre Julliard
3fa613cf61 Moved internal context macros out of winnt.h.
Added SET_AX etc. macros to avoid non-portable pointer manipulations.
2002-08-31 18:47:00 +00:00
Patrik Stridvall
9aab47ed24 MSVC compatibility fixes. 2002-08-28 23:42:34 +00:00
Mike McCormack
f5d21eb2bf Don't cache file handles for NE executable modules so that we don't
lock the CDROM.
2002-08-27 02:05:21 +00:00
Dmitry Timoshkov
d75aed2c92 Convert most of the file APIs to Unicode. 2002-08-27 01:13:58 +00:00
Dmitry Timoshkov
1467bbd5a4 Relax a bit PE consistency checks.
Return BINARY_DOS type if extended header was not recognized.
2002-08-27 00:34:41 +00:00
Patrik Stridvall
d016f819f1 Added include protection for unistd.h and sys/time.h. 2002-08-17 00:43:16 +00:00
Alexandre Julliard
0eec45a97b Force loadorder of 16-bit dlls to builtin if their 32-bit counterpart
has already been loaded as builtin.
2002-08-16 20:02:54 +00:00
Dmitry Timoshkov
10cd651ef3 Set up exception handler around WEP call. 2002-08-16 01:44:21 +00:00
Alexandre Julliard
befbb0e441 Make behavior of builtin executables closer to that of builtin dlls.
Fixed case sensitivity of builtin executables.
2002-08-14 21:12:58 +00:00
Alexandre Julliard
a5dea216cc Implemented the RtlImage* functions, and use them to replace the
PE_HEADER macro.
2002-08-09 19:57:38 +00:00
Alexandre Julliard
526531eb6c Create at most one glue file for a single dll.
Avoid the intermediate .tmp.o file when building programs.
2002-08-01 18:36:58 +00:00
Alexandre Julliard
7375597fe2 Fixed some handle type mismatches and added a few casts in prevision
of void* handles.
2002-07-31 19:26:03 +00:00
Alexandre Julliard
267ca68253 Fixed HANDLE<->HFILE conversions, since they will be different types
when handles are void*.
2002-07-31 17:20:00 +00:00
Alexandre Julliard
29f265fab1 Set the correct permissions on the PE image sections. 2002-07-29 23:59:26 +00:00
Alexandre Julliard
13f2a17eb2 Convert HTASK to void* (based on a patch by Michael Stefaniuc). 2002-07-28 23:48:27 +00:00
Alexandre Julliard
891d23e57f Added support for ordinal hint in PE_FindExportedFunction. 2002-07-24 19:04:41 +00:00
Alexandre Julliard
7015ce3096 No need to call GetModuleFileName16 now that GetModuleFileNameA
handles 16-bit tasks.
2002-07-05 01:28:10 +00:00
Alexandre Julliard
83886f23fa Fixed GetModuleFileNameW return value.
Quiet dll loading error message.
2002-07-05 01:27:19 +00:00
Joshua Thielen
1cef2974ab Changed GetModuleFileNameA to use GetCurrentTask instead of
MODULE32_LookupHMODULE when called by a 16-bit task.
2002-07-05 00:16:41 +00:00
Alexandre Julliard
958732d21c Fixed warnings. 2002-07-02 02:09:39 +00:00
Alexandre Julliard
69622dbdcc Added support for path wildcards of the form "*dllname" in load order
specifications.
Only use wildcard entry for dlls that don't specify an explicit path.
Removed the old DllOverrides syntax support.
Misc cleanups and optimizations.
2002-06-25 00:23:23 +00:00
Alexandre Julliard
bc524e92d2 Avoid loading programs into the DOS memory area. 2002-06-20 22:54:26 +00:00
Alexandre Julliard
2ad28d62d7 Don't go through the export table if we are not tracing anything. 2002-06-13 21:54:12 +00:00
Alexandre Julliard
221b438287 Don't free the stack selector, it's freed in ExitThread anyway (thanks
to Christian Costa).
2002-06-04 17:55:48 +00:00
Vincent Béron
9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Alexandre Julliard
55e845d11b Removed most inclusions of options.h.
Removed a few no longer used PROFILE_* functions.
2002-05-23 19:40:18 +00:00
Alexandre Julliard
7fbd74ea55 Replaced the GET/PUT_UA macros by memcpy. Fixed a few big-endian
issues.
2002-05-23 02:53:10 +00:00
Alexandre Julliard
3536316a31 New loading scheme for Winelib apps, makes them behave like builtin
dlls and takes load order into account. Install them in dlldir.
Improved MODULE_GetBinaryType to recognize ELF binaries.
Added a wrapper script to setup the environment when running directly
from inside the source tree.
2002-05-22 21:32:49 +00:00
Francois Gouget
2204b50a95 Fixed the WinExec prototype. 2002-05-19 22:21:45 +00:00
Alexandre Julliard
0aa28b5b8d Export the debugging API from libwine instead of ntdll.
Removed debugres_[aw].
2002-05-17 02:55:48 +00:00
Alexandre Julliard
9bb05fc48e Specify the complete source file list for a dll inside the main
makefile and get rid of the subdirectories makefiles.
2002-05-14 18:36:54 +00:00
Andreas Mohr
01c8ec3a9c Spelling/error messages fixes. 2002-04-02 19:47:30 +00:00
Eric Pouech
cb934a116a Removed a couple of now obsolete FIXMEs. 2002-04-01 21:03:30 +00:00
Alexandre Julliard
c4912ecd5f Don't strip out .exe extension. 2002-03-28 22:06:56 +00:00
Alexandre Julliard
6db8abaf93 Removed service thread support. 2002-03-23 20:46:41 +00:00
Alexandre Julliard
55ce53d5d7 Properly handle loadorder specifications containing a .dll extension. 2002-03-22 01:01:09 +00:00
Alexandre Julliard
aeb566052f Correctly fill parent pid, module size and module name in process and
module snapshots. Based on patches by Eric Pouech and Andreas Mohr.
2002-03-22 00:21:23 +00:00
Alexandre Julliard
0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Peter Hunnisett
73ab649ced New file msvcrt/excpt.h. Move some stuff out of winnt.h into it. 2002-02-25 20:10:35 +00:00
Patrik Stridvall
57e5784c21 Move __stdcall/__cdecl to the right place. 2002-02-02 18:42:11 +00:00
Alexandre Julliard
64781643dd Do not use the PEB lock as loader lock, use a separate critical
section for that (and for the graphics drivers).
2002-02-02 18:13:50 +00:00
Alexandre Julliard
cd3afa895b LOAD_LIBRARY_AS_DATAFILE modules must be mapped like normal files, not
like PE images. Fixed resource loading to handle that.
2002-01-31 23:32:57 +00:00
Bill Medland
ca5b201310 Prevent trying to handle uninitialised memory as a string. 2002-01-18 18:58:08 +00:00
Alexandre Julliard
7c822cc0dc Removed obsolete dosmod. 2002-01-06 18:38:45 +00:00
Alexandre Julliard
193cf50a09 Removed some of the calls to HEAP_strdup* functions. 2002-01-01 00:24:30 +00:00
Alexandre Julliard
d7b76822ef Use MapLS/UnMapLS instead of SEGPTR_* macros. 2001-12-20 00:19:40 +00:00
Alexandre Julliard
9fcd89a5d8 Removed unnecessary includes. 2001-12-17 22:12:23 +00:00
Alexandre Julliard
8eeed94f5f Export DestroyIcon32 from user32 and use GetProcAddress to call it
from FreeResource16.
2001-12-17 21:40:56 +00:00
Andrew Lewycky
ffc9df2d0c do_relocations: process relocation blocks with a VirtualAddress of 0,
stop once SizeOfBlock == 0.
2001-11-30 23:08:02 +00:00
Alexandre Julliard
9caa71eef4 Redesign of the server communication protocol to allow arbitrary sized
data to be exchanged.
Split request and reply structures to make backwards compatibility
easier.
Moved many console functions to dlls/kernel, added code page support,
changed a few requests to behave properly with the new protocol.
2001-11-30 18:46:42 +00:00
Eric Pouech
0b83d4cbc6 New console code based on Win32 windows. 2001-11-23 23:04:58 +00:00
Dmitry Timoshkov
6b6596a1e3 Fixed packing and layout of many system structures. 2001-11-23 18:44:43 +00:00
Francois Gouget
070e749cfb Don't prefix %p with 0x.
Various English fixes.
2001-11-06 21:01:32 +00:00
François Gouget
1425941e29 Fix the #include order for config.h.
Add #include "config.h" directives where needed.
2001-11-06 20:57:11 +00:00
Alexandre Julliard
ac2e4f1e3d Don't keep main exe and dlls handles open when the file is on
removable media.
2001-10-25 19:52:12 +00:00
Francois Gouget
386cf6e342 When including 'wine/port.h', include it first.
Remove redundant 'config.h' includes.
2001-10-14 16:25:47 +00:00
Francois Gouget
e5ddd26dd7 When including config.h, include it first. 2001-10-14 16:18:52 +00:00
Francois Gouget
b60c4ce0f0 Don't print NULL strings (crashes on Solaris).
Small code maintainability tweak in ShellExecuteExA.
Two typo fixes in winmm.
2001-10-14 16:15:05 +00:00
Andreas Mohr
f359895daf Yet another documentation/message text patch. 2001-10-02 17:49:20 +00:00
Francois Gouget
9dc5b97b35 Only use winsock2.h in Wine. 2001-08-28 18:39:03 +00:00
Bill Medland
65fc1c92d4 Added LOAD_WITH_ALTERED_SEARCH_PATH support to LoadLibraryEx. 2001-08-24 21:13:02 +00:00
Josh Thielen
378fc22b4a Wrong handle was being closed. 2001-08-11 18:24:01 +00:00
Jörg Mayer
e5b5af9d66 Fixed a few signed/unsigned and "unsigned < 0 always true" warnings. 2001-08-10 22:49:35 +00:00
Eric Pouech
624cbd7c47 Fixes for Solaris X86. 2001-08-10 22:29:21 +00:00
Andreas Mohr
da920ee9b9 Spelling fixes. 2001-08-09 21:16:55 +00:00
Alexandre Julliard
7c4b14031e Fixed HTASK/HTASK16 handle mismatch. 2001-07-30 19:01:01 +00:00
Patrik Stridvall
2344798c46 Fixed some warnings. 2001-07-26 21:44:44 +00:00
Alexandre Julliard
5edf4e1cef Removed a few unnecessary Callouts. 2001-07-26 20:12:54 +00:00
Alexandre Julliard
1922c72b8a Removed unnecessary inclusion of heap.h. 2001-07-25 00:43:29 +00:00
Alexandre Julliard
5f728cae70 Removed HEAP_strdupA. 2001-07-24 21:45:22 +00:00
Alexandre Julliard
f899ef07a6 Removed some unnecessary includes. 2001-07-23 00:04:00 +00:00
Alexandre Julliard
37e9503ae8 Moved server.h to include/wine. 2001-07-19 00:39:09 +00:00
Patrik Stridvall
33929be46f - Made sure that the files that contains the declarations
of implementated functions are included.
- Corrected mismatching prototypes.
- Cleaned up the include section.
2001-07-18 21:04:23 +00:00
Alexandre Julliard
ca4fa36584 Don't call SNOOP_RegisterDLL on builtins. 2001-07-12 02:46:55 +00:00
Patrik Stridvall
044855c6ec Documentation fixes. 2001-07-11 18:56:41 +00:00
Patrik Stridvall
01d5e5b071 Documentation fixes. 2001-07-02 19:59:40 +00:00
Alexandre Julliard
ed2f19a63f Put AC_DEFINE symbols definitions directly in the configure script so
that we no longer need an acconfig.h. Cleaned up dlopen() tests a bit.
2001-06-27 21:42:00 +00:00
Patrik Stridvall
3ca9823941 Documentation ordinal fixes. 2001-06-20 23:03:14 +00:00
Patrik Stridvall
dae8de69e2 Documentation ordinal fixes (using winapi_fixup). 2001-06-13 20:13:18 +00:00
Alexandre Julliard
0ca9465f58 Removed unneeded inclusion of queue.h. 2001-06-07 22:29:33 +00:00
Alexandre Julliard
8ff37b8f31 Set low-order bit of module handle for LOAD_LIBRARY_AS_DATAFILE.
Cleaned up a few HMODULE/HMODULE16 mismatches.
2001-06-06 20:24:12 +00:00
Andreas Mohr
c2bc22b91c Spelling fixes. 2001-05-24 18:44:25 +00:00
Andreas Mohr
9abd5530c8 Make snoop code take ordinal base into account. 2001-05-24 18:43:16 +00:00
Alexandre Julliard
a67e6486df Removed THREAD_IsWin16. 2001-05-18 23:21:22 +00:00
Marcus Meissner
3f1ed52d8b Implemented 64bit file size handling.
Removed several unneeded sys/stat.h includes.
2001-05-14 20:09:37 +00:00
Alexandre Julliard
2418edb101 Really free the memory on dll unload. 2001-05-10 19:17:54 +00:00
Francois Gouget
e17d1a3649 Print the tid in the first column when +tid is specified. 2001-05-08 00:13:38 +00:00
Alexandre Julliard
c9cf68d91b Uncommented the VirtualFree call on dll unload. 2001-05-02 01:12:27 +00:00
Ove Kaaven
10b3402c43 Let LOAD_LIBRARY_AS_DATAFILE load the builtin dll if loading a native
DLL failed, so that winesetuptk's fake-windows installation work.
2001-04-16 19:32:48 +00:00
Alexandre Julliard
2ec34e48a3 Added TASK_GetPtr/TASK_GetCurrent functions to get the TDB for a task
handle.
2001-04-04 00:21:05 +00:00
Alexandre Julliard
3e7497f20e Unified 16-bit and 32-bit scheduling a bit more. 2001-04-04 00:19:55 +00:00
Alexandre Julliard
627c9073c7 Don't load user32 too early on for 16-bit apps, so that app-specific
config can be available while loading it.
2001-03-28 18:47:05 +00:00
Alexandre Julliard
fde1b0cb0c Added "*" wildcard entry to DllOverrides to replace DllDefaults
section; this way it can also be specified on a per-app basis.
Removed compiled-in defaults for dlls mentioned in the sample config.
Update man page.
2001-03-21 20:33:11 +00:00
Alexandre Julliard
671da9f08e Disable DONT_RESOLVE_DLL_REFERENCES for builtin dlls. 2001-03-21 03:38:44 +00:00
Dmitry Timoshkov
b77afe76b1 Allow loading of built-in dlls with LOAD_LIBRARY_AS_DATAFILE flag set. 2001-03-21 03:38:03 +00:00
Alexandre Julliard
b9c9cdc5d4 - Added support for app-specific dll overrides using
AppDefaults\<appname>\DllOverrides configuration section.
- Better support for multiple --dll options.
- Added warning message to discourage putting multiple dlls in a
  single override entry.
2001-03-20 02:11:08 +00:00
Francois Gouget
3d0589ae7d Fixed spelling/typos in comments. 2001-03-10 19:15:49 +00:00
Alexandre Julliard
9ee9efff1b Use the standard CreateThread routine to create 16-bit tasks instead
of duplicating the code.
2001-02-28 05:29:50 +00:00
Alexandre Julliard
67a749999a New set of macros for server calls; makes requests without variable
part somewhat faster.
2001-02-27 02:09:16 +00:00
Alexandre Julliard
ea2a9a8974 Removed a few Callout functions by doing a GetProcAddress at the time
we actually need the function.
2001-02-20 00:55:17 +00:00
Patrik Stridvall
0c61028734 Documentation ordinal fixes. 2001-01-25 22:22:21 +00:00
Jon Griffiths
4ab1558d8a - Remove <string.h> from winnt.h.
- ntdll: complete crt functions, prevent libc imports, fix sscanf.
2001-01-22 02:17:29 +00:00
Gerard Patel
ad8ef99f57 Fix the cmdline argument passed to NE_CreateThread to include string
length.
2001-01-21 21:09:44 +00:00
Alexandre Julliard
3556e1f87d Display the importing dll in the 0xdeadbeef message. 2001-01-20 02:51:19 +00:00
Ulrich Weigand
16a9a2d730 Don't call a NE DLL's DllEntryPoint twice during one single
LoadModule() call.
2001-01-15 22:20:50 +00:00
Alexandre Julliard
4f2df51f7a Replaced GLOBAL_Alloc by GlobalAlloc16 where possible. 2001-01-15 20:13:43 +00:00
Alexandre Julliard
7d5bc5c3f9 Removed some direct accesses to the 16-bit task structure. 2001-01-15 20:09:09 +00:00
Jon Griffiths
1db20bfd33 - Migrate CRTDLL to MSVCRT.
- Many fixes and a load of new functions.
2001-01-10 23:59:25 +00:00
Gerard Patel
a77fd7df9d Added a specific debug channel for dll loading (builtin/native). 2001-01-10 22:54:02 +00:00
Alexandre Julliard
105b0f4e64 Use the exe name and file handle we got from the server also when
starting Win16 or DOS programs, to avoid depending on the contents of
the command-line.
2001-01-06 01:55:49 +00:00