Commit Graph

66 Commits

Author SHA1 Message Date
Marcus Meissner 1ed3ca0883 winebuild: Output a .note.GNU-stack section to allow nonexecutable stack. 2006-01-21 19:23:36 +01:00
Alexandre Julliard 0d6a305047 Preserve 16-byte stack alignment in 16-bit relays. 2005-11-28 17:39:05 +01:00
Alexandre Julliard 5cb97d833a Generate 16-bit spec files as assembly code too. 2005-09-21 14:23:54 +00:00
Alexandre Julliard 96508ad686 Moved return value handling to the individual relay thunks so that we
only need one version of wine_call_from_16.
Patch the wine_call_from_16 address along with the cs value directly
in the 16-bit code segment to avoid the need for special magic in the
import thunks.
2005-09-18 12:25:22 +00:00
Alexandre Julliard 9c708060d3 Use __wine_unimplemented_stub from crt0 for 16-bit spec files too. 2005-08-29 10:50:26 +00:00
Mike McCormack 723ee0a3bc gcc 4.0 -Wpointer-sign fixes. 2005-07-05 14:26:54 +00:00
Alexandre Julliard e56d9deac4 Added vararg argument type so that the relay code can distinguish from
a normal cdecl function.
Don't rely on the relay thunk preserving the stack pointer.
2005-07-05 11:50:40 +00:00
Alexandre Julliard f51496a232 Remove some i386 ifdefs for 16-bit entry points since they are no
longer used by default on other platforms anyway.
2005-06-25 18:34:00 +00:00
Alexandre Julliard 5c9b7cf55f Moved all assembly code to the end of the generated C files to avoid
conflicting with the compiler over section changes.
2005-06-06 15:59:50 +00:00
Alexandre Julliard 70d0439905 Moved the generated code segment for 16-bit builtins inside the module
structure.
Get rid of the BUILTIN16_DESCRIPTOR structure and directly register
the MZ header instead.
2005-05-23 12:07:15 +00:00
Alexandre Julliard 1970e467d4 Generate 16-bit resources in the proper format inside the module data,
and get rid of the special case for builtins in NE_DefResourceHandler.
2005-05-20 19:19:01 +00:00
Alexandre Julliard dea3a11c6c Use RaiseException instead of RtlRaiseException in 16-bit spec files
since they already depend on kernel32.
2005-05-19 12:51:12 +00:00
Alexandre Julliard 3d5c3609c7 Renamed __wine_(un)register_dll_16 to __wine_dll_(un)register_16 for
consistency with the 32-bit version, and also make the register
function use the same prototype as the 32-bit one.
2005-05-19 12:44:31 +00:00
Alexandre Julliard 67204137ee Generate the 16-bit module header in the standard on-disk format, so
that winebuild doesn't need to know about kernel internal structures.
2005-05-18 18:21:59 +00:00
Alexandre Julliard e8a23c9572 Use the exported IMAGE_OS2_HEADER to generate the module header in the
spec file, and moved the NE_MODULE structure definition to
kernel16_private.h.
2005-05-17 10:21:29 +00:00
Alexandre Julliard 827a69f8ca Avoid referencing stackframe.h from outside kernel32. 2005-05-16 14:20:16 +00:00
Alexandre Julliard 95086f45a4 Moved data structures for 16-bit relay calls to winbase16.h and
removed builtin16.h.
2005-05-16 09:19:18 +00:00
Vincent Béron b07dec4634 Only compile BuildCallFrom16Func on x86. 2004-10-14 00:25:44 +00:00
Eric Pouech d3f8f78c3a - added size information about most of the generated thunks (import,
16/32 relay...)
- marked the wine thunks by inserting specific symbols (to be managed
  by wine's dbghelp)
- removed the stabs generation:
  + mostly used by winedbg, and the previous item will replace it for
    dbghelp
  + still broken for gdb anyway
- enhanced const correctness
2004-05-18 21:27:44 +00:00
Jukka Heinonen 70835ebf02 Remove support for generating interrupt handlers. 2004-03-15 20:09:23 +00:00
Alexandre Julliard 8611e654fc Store all information about the current dll in a structure instead of
using global variables to make it easier to reuse the parsing
routines.
2004-02-11 06:41:01 +00:00
Daniel Marmier 9bb19ac2d2 Fixed warnings with gcc option "-Wwrite-strings". 2003-10-03 03:35:20 +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 617839d522 Added varargs support for 16-bit entry points.
Added -ret16 entry point flag to allow 16-bit cdecl and varargs
function to return 16-bit values too.
2003-08-27 02:20:44 +00:00
Alexandre Julliard af62e83d1c Got rid of 16-bit glue code generation since it is no longer used. 2003-08-23 00:45:20 +00:00
Alexandre Julliard 0c9abbeead Avoid reference to wine_get_cs function from libwine. 2003-03-24 19:44:20 +00:00
Alexandre Julliard 9e4fc4c9b6 Converted winebuild option parsing to use getopt_long. Added a number
of long aliases for the existing short options.
2003-03-23 01:12:30 +00:00
Alexandre Julliard 49edd19650 Handle end of line as a syntactic element in the spec file parser;
backslashes can be used to continue lines. This allows us to skip over
errors to continue parsing, and also to make specification of an entry
point link name optional.
2003-03-18 05:30:54 +00:00
Alexandre Julliard 7aee90762a Merged wine_call_to_16_long and wine_call_to_16_short into a single
function.
2002-10-18 00:29:32 +00:00
Alexandre Julliard 1862a67d2d In -spec and -exe mode, accept multiple object files and link them
together internally to find the undefined symbols.
In -glue mode, accept multiple C files and generate a single glue
file for all of them.
2002-08-01 18:34:12 +00:00
Alexandre Julliard 77afd6c47e Made some more spec file entries optional or unnecessary.
Fixed a few DLLName/DLLFileName mismatches.
2002-06-21 19:15:45 +00:00
Alexandre Julliard cceab98642 Unregister 16-bit dlls on module unload. 2002-06-14 23:42:53 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +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 59008670be Moved the selector access functions out of winnt.h into libwine. 2002-05-16 20:32:16 +00:00
Alexandre Julliard 1f18f61bfa Fixed missing call to make_c_identifier. 2002-05-16 18:44:06 +00:00
Alexandre Julliard ad53383f9b Added winebuild support for generating a .dbg.c file containing the
debug channels definitions.
Made win32 the default type for spec files.
Ignore C compiler in winebuild so we can simply pass it $(DEFS).
Removed type win32 and debug_channels from spec files.
Fixed winebuild to always generate correct C identifiers (reported by
Vincent Béron).
2002-05-14 20:54:58 +00:00
Patrik Stridvall 3751ff045c MS C related changes. 2002-05-04 18:37:08 +00:00
Alexandre Julliard 894b188fcf Moved __ASM_GLOBAL_FUNC macros and interlocked functions to port.[ch] 2002-04-25 21:40:56 +00:00
Patrik Stridvall 235da7975b Made winebuild (almost) compile and work on Windows. 2002-03-11 05:09:02 +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
Patrik Stridvall f94462fb75 Move __stdcall/__cdecl to the right place. 2002-01-31 23:22:07 +00:00
Alexandre Julliard 7662ea1004 Made register and interrupt flags instead of entry point types, so
that we can have both stdcall and cdecl register functions.
Changed 16-bit .spec.c file generation to avoid including builtin16.h.
2001-12-14 23:14:22 +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
Francois Gouget 386cf6e342 When including 'wine/port.h', include it first.
Remove redundant 'config.h' includes.
2001-10-14 16:25:47 +00:00
Dmitry Timoshkov b56a2ef780 Add missing CALLBACK modifier. 2001-09-14 01:00:39 +00:00
Dmitry Timoshkov 3724de93d7 Fixed some issues. 2001-05-22 19:55:51 +00:00
Alexandre Julliard 04689b26f0 Always load the 32-bit dll containing a given 16-bit builtin.
Check the module name in addition to the file name when loading a
16-bit builtin dll.
2001-03-28 01:47:28 +00:00
Josh DuBois 0b64cfb3f7 More portable .align directive.
Ignore -delay directive on ppc only.
Added code to call the dll constructors.
2001-02-13 02:06:38 +00:00
Ulrich Weigand 0108d83818 Fixed winebuild to work on non-Intel architectures. 2000-12-29 05:17:33 +00:00