Commit Graph

627 Commits

Author SHA1 Message Date
Paul Gofman 19aa67d170 winebuild: Correct hotpatching prologue in import thunks for x86_64.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48938
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-26 20:58:50 +02:00
Alexandre Julliard cee48cc789 winebuild: Make the 32-bit side of a 16-bit module always a DLL.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-19 15:14:12 +02:00
Jacek Caban e4e05cdaab winebuild: Introduce --safeseh option that allows marking assembly files as SEH compatible.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-06 19:02:55 +02:00
Alexandre Julliard 7193243431 winebuild: Don't use a constructor for dll modules either.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 11:27:33 +02:00
Alexandre Julliard 6c4046fef1 winebuild: Add --fixup-ctors option to allow intercepting constructors in .so files.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-16 22:10:03 +02:00
Alexandre Julliard 593c38cb95 winebuild: Set page size to 4096 also on ARM64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-16 22:10:03 +02:00
Alexandre Julliard a4677fa23a winebuild: Only generate a constructor for dll modules.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-15 20:03:30 +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
Jacek Caban c0467a1470 winebuild: Add an option to build a static library.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-04 22:43:41 +01:00
Jacek Caban d473611469 winebuild: Also try llvm variants of tools in find_tool.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-04 22:43:27 +01:00
Jacek Caban d24503fecf winebuild: Check more target components for platform string.
Fixes parsing llvm style mingw target *-pc-windows-gnu.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-27 23:34:51 +01:00
Alexandre Julliard 9dc348a071 winebuild: Add a --builtin option to mark PE files as builtins.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-18 21:13:13 +01:00
Jacek Caban 4346d68e1b makedep: Use -Wl,-delayload option for winebuild delayimports.
Also fixes winebuild to correctly handle module extensions.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 21:39:40 +01:00
Alexandre Julliard 6306a1730a winebuild: Add support for excluding a specific CPU architecture.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-16 14:38:13 +02:00
Alexandre Julliard 6ba101b229 winebuild: Add support for the -B option.
Based on a patch by Kevin Puetz.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-10 23:20:41 +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
Jacek Caban e574d4f8f9 winebuild: Don't underscore local symbols in func_declaration.
This is the case in output_call16_function. GNU ld happens to handle it,
but LLD does not.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-26 17:41:15 +02:00
Jacek Caban dd1a83c20a winebuild: Don't include aliases in importlib .def files.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-26 17:41:11 +02:00
Alexandre Julliard 907896fba5 winebuild: Set the default entry point also for Windows builds.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47410
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-25 17:44:03 +02:00
Alexandre Julliard cf619dd419 winebuild: Add -import entry point flag to generate hotpatchable import thunks.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-21 22:51:55 +02:00
Michael Stefaniuc dd0e2616a7 winebuild: Use the now available ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-19 20:41:26 +02:00
Alexandre Julliard 450f0fa696 winebuild: Don't import standard C functions in Unix mode.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-17 09:24:45 +02:00
Alexandre Julliard 5061261c5e winebuild: Add a -munix option.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-17 09:24:25 +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 1f6681f474 winebuild: Use cdecl calling convention for stub exceptions.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47226
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 075e561f5c winebuild: Don't change %fs and %gs when calling 16-bit register functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-17 20:00:59 +02:00
Alexandre Julliard 945efdb6f3 makefiles: Use -fshort-wchar when building with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-16 22:55:54 +02:00
Alexandre Julliard 6c41cc6152 winebuild: Support relay debugging for PE builtin dlls.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-16 22:55:50 +02:00
Alexandre Julliard 0a79eb3608 include: Use the __thiscall attribute directly for the Mingw build.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-16 19:00:10 +02:00
Alexandre Julliard e755ea2374 winebuild: Support Windows-style name mangling for fastcall functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-16 14:07:15 +02:00
Alexandre Julliard 92233bfaf5 makefiles: Support delay imports for PE builds.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:35 +02:00
Martin Storsjo f098cd6d3a winebuild: Print the nm command in verbose mode.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-10 17:29:11 +02:00
Alexandre Julliard 015f31fd5d winebuild: Avoid using mmap().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-04 10:43:57 +02:00
Alexandre Julliard 32b365c9c5 winebuild: List stubs in the import library .def files.
This way we have the full list of names to compute ordinal hints.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-20 12:33:14 +01:00
Alexandre Julliard 074ec5844b winebuild: Set the import hint based on the name index.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-20 11:49:38 +01:00
Alexandre Julliard 265366c1e7 winebuild: Use proper RVAs for the export table on Windows.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-19 10:05:24 +01:00
Huw Davies b2585d98b2 winebuild: Use the correct section label on macOS.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-13 10:59:13 +01:00
Alexandre Julliard e4b9a501a3 winebuild: Support generating a .spec.o file for Windows platforms.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-12 10:02:04 +01:00
Alexandre Julliard b9c5bac673 winebuild: Specify the correct linker emulation for Windows platforms.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-06 18:28:19 +01:00
Alexandre Julliard 4f266a88c0 winebuild: Don't use underscore prefix on 64-bit Windows.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-06 18:28:19 +01:00
Alexandre Julliard 7d41cde73f winebuild: Add a helper for generating data directories.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-06 18:28:19 +01:00
Alexandre Julliard 7555fd57e3 winebuild: Add a helper for generating RVA pointers.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-06 18:28:19 +01:00
Alexandre Julliard ef9bda4c96 winebuild: Add a helper for decorating stdcall function names.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-06 18:28:19 +01:00
Alexandre Julliard a3229faf59 winebuild: Output the module filename along with the stub data.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-06 18:28:19 +01:00
Alexandre Julliard 0cdab409ad winebuild: Rename BuildSpec32File() for consistency.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-06 18:28:17 +01:00
Alexandre Julliard 67f6c6c0c9 winebuild: Add a helper function to open a temporary file as output.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-04 14:49:02 +01: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