Commit Graph

905 Commits

Author SHA1 Message Date
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