Commit Graph

101 Commits

Author SHA1 Message Date
Alexandre Julliard b2d09cbb21 winebuild: Add generation of system call thunks.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-07 13:07:23 +02:00
Alexandre Julliard 2746797ad5 winebuild: Support building krnl386.exe in PE format.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-02 10:55:25 +02:00
Alexandre Julliard 0fd3b1eab9 Revert "winebuild: Quote stdcall decored symbols."
This reverts commit a3e1fe936e.
It breaks with older binutils.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-27 10:41:20 +02:00
Jacek Caban a3e1fe936e winebuild: Quote stdcall decored symbols.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-26 17:41:15 +02:00
Alexandre Julliard ded2e82f16 winebuild: Don't even try to resolve imports for PE builds.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-04 19:23:11 +02:00
Alexandre Julliard d58953b300 winebuild: Add 16-bit support for PE builds.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-20 10:15:17 +02:00
Alexandre Julliard 7b494f13e7 winebuild: Store wine_ldt_copy pointer in the NE header at load time.
Avoids having to import libwine from 16-bit modules.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-17 20:01:01 +02:00
Alexandre Julliard aa0572f0a2 winebuild: Open the output file only when needed.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-04 14:49:02 +01:00
Alexandre Julliard ebb9c5e246 winebuild: Use a global flag to determine when to generate the get_pc thunk.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-22 18:12:28 +09:00
Alexandre Julliard 05399ad711 winebuild: Store a C-compatible version of the dll name.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-22 15:20:38 +09:00
André Hentschel 4f1beed106 winebuild: Remove get_asm_short_keyword. 2013-03-11 11:44:57 +01:00
Alexandre Julliard 2e6f48b730 winebuild: Allow specifying arguments to stub functions for documentation purposes. 2011-05-03 13:01:12 +02:00
Alexandre Julliard 451d5043f3 winebuild: Add int64, int128 and float argument types. 2010-08-30 12:40:53 +02:00
Alexandre Julliard e0188c8340 winebuild: Use a proper enum for function arguments instead of storing them in a string. 2010-08-30 12:40:24 +02:00
Alexandre Julliard 84f4046481 winebuild: Copy the strmake function from winegcc to simplify string formatting. 2010-08-02 10:11:23 +02:00
Alexandre Julliard 5c2db41cdc winebuild: Add cfi annotations to the relay functions for i386. 2010-04-12 12:33:19 +02:00
Alexandre Julliard 539da1b073 winebuild: Output the 16-bit asm relay functions as needed and get rid of --relay16 mode. 2010-01-16 15:58:48 +01:00
Alexandre Julliard f78890e8ca winebuild: Get rid of the support for building old style 16-bit modules. 2009-12-30 18:04:59 +01:00
Alexandre Julliard 76ac103b80 winebuild: Add support for generating import libs for 16-bit dlls. 2009-12-30 12:34:03 +01:00
Alexandre Julliard 9d55475eee winebuild: Always initialize the dll name at startup. 2009-12-30 12:31:21 +01:00
Alexandre Julliard d097eef922 winebuild: Support for adding 32-bit exports in 16-bit spec files. 2009-12-29 16:11:45 +01:00
Alexandre Julliard 5d3e134b17 winebuild: Add support for creating 16-bit fake dlls. 2009-08-17 13:57:49 +02:00
Alexandre Julliard ef4a3c3c2d winebuild: Add support for creating a fake dll at compile time. 2009-08-14 14:16:38 +02:00
Alexandre Julliard 7798aed2cf winebuild: Don't try to output 32-bit resources when building a 16-bit wrapper dll. 2009-06-30 12:44:59 +02:00
Alexandre Julliard b374e7e36e winebuild: Don't include any Windows header to avoid data types dependencies. 2009-04-09 20:58:43 +02:00
James Hawkins 665a0424cd winebuild: Document the correlation of spec->ordinals and spec->limit with an assertion (Coverity 902). 2009-03-23 18:21:06 +01:00
Alexandre Julliard a82ce66048 winebuild: Support the --main-module option for stand-alone 16-bit modules. 2009-03-04 14:08:23 +01:00
Alexandre Julliard 5599ac22c7 winebuild: Add support for generating stand-alone 16-bit modules.
This is done by wrapping them inside an empty 32-bit module.
2009-02-26 13:22:47 +01:00
Alexandre Julliard 445047a97e winebuild: Make the 16-bit DOS header a local symbol. 2009-02-26 12:38:37 +01:00
Alexandre Julliard 0c214a7091 winebuild: Add support for 16-bit exe modules. 2008-03-03 15:19:53 +01:00
Dmitry Timoshkov cf94095eb7 winebuild: Add a couple of missing indentations in the generated asm files. 2008-01-23 11:31:43 +01:00
Michael Stefaniuc e94bcee53f winebuild: Remove duplicate declaration of variable 'j'. 2007-12-14 12:26:14 +01:00
Alexandre Julliard 715804999e winebuild: Added output() function to properly deal with write errors. 2006-08-11 20:41:29 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Alexandre Julliard 392933149b winebuild: Remove a no longer necessary movzwl instruction.
This could cause broken relays to be generated depending on the order
of the entry points in the relay list.
Also add a few missing tabs in the assembly output.
2006-04-05 20:02:51 +02:00
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