Commit Graph

225 Commits

Author SHA1 Message Date
Alexandre Julliard 5a8f7d1f74 winebuild: Wrap 16-bit fake dlls in a PE module.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51564
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-21 14:53:32 +02:00
Alexandre Julliard 2f0401c783 winebuild: Add a more generic way to create directories and sections in fake dlls.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-21 14:03:54 +02:00
Alexandre Julliard f9ee0d2f05 tools: Avoid using wine/port.h.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-07 18:03:11 +02:00
Alexandre Julliard c878a0a4c0 winebuild: Use strarrays for the argument lists.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-23 14:45:39 +02:00
Alexandre Julliard d6d5a21721 winebuild: Unify the strarray implementation with the one from makedep.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-23 14:45:39 +02:00
Martin Storsjö 5de4766475 winebuild: Fix building for arm with older versions of binutils.
Use an explicit "movw" instead of a plain "mov", as the immediates
might not fit in a narrow thumb mov instruction. Newer versions
of binutils deduces this implicitly.

Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-03 23:41:05 +02:00
Alexandre Julliard abf4747ba7 winebuild: Simplify constant loading on ARM.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-24 22:01:42 +01:00
Alexandre Julliard b1fe783ade winebuild: Fix relay entry points for Thumb mode.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-24 22:01:42 +01:00
Alexandre Julliard ad43872669 winebuild: Add a --prefer-native option to set a Wine-specific flag in the PE header.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-18 11:06:06 +01:00
Jacek Caban ea5e89a545 winebuild: Make mingw a separated platform from msvc.
Based on winegcc.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-26 09:02:04 +01:00
Alexandre Julliard 7c48d8d44b winebuild: Support non-PIC mode for ARM targets.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-19 09:42:30 +01:00
Alexandre Julliard c1a700f018 winebuild: Generate Thumb2-compatible assembly code on ARM.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-19 09:42:26 +01:00
Kevin Puetz bf5893f489 winebuild: Find main/wmain in static libraries.
Have the winebuild -spec.o include an undefined .globl referencing
symbols we know the winecrt0 entry point will eventually reference,
so ld knows about that need while scanning library archives.

Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 22:18:21 +01:00
Alexandre Julliard d5c089f5fa winebuild: Set PE timestamps to a hash of the file name.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44061
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-29 22:23:08 +01:00
Martin Storsjo 849d08b0ae winebuild: Use the right arm64 page/pageoff relocation syntax for darwin.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-18 22:32:25 +02:00
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 66fb3802d3 winebuild: Allow specifying a spec file also for Unix libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-06 16:17:24 +02:00
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 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 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 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
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 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 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
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 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 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 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 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 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 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 9d0ba368da winebuild: Make relay entry points hot-patchable.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-01 17:48:26 +01:00
Alexandre Julliard 26bbbb7b73 winebuild: Use stdcall for fastcall wrappers.
This allows catching mismatched argument lists.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-01 17:48:26 +01:00
Alexandre Julliard 84a7a7ea07 winebuild: Add support for fastcall entry points.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-27 23:01:29 +01:00
Alexandre Julliard 28debd82fc winebuild: Make thiscall an entry point flag instead of a function type.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-27 23:00:56 +01:00
Alexandre Julliard 5e3534ee41 ntdll: Fix handling of floating point arguments in relay debugging on ARM.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-14 13:50:55 +01:00
Alexandre Julliard 8c1bb2aa61 ntdll: Display floating point arguments in relay debugging on i386 and x86-64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-07 11:14:02 +01:00
André Hentschel db848fa767 winebuild: Improved position independent code generation.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-08 20:02:33 +09:00
Alexandre Julliard e3a236e6ce winebuild: Remove 32-bit register function support.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-26 10:43:09 +02:00
Alexandre Julliard 9fd4647977 winebuild: Disallow register functions in 32-bit modules.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-26 10:43:01 +02:00
André Hentschel eed3bb6dfd winebuild: Emit relay debugging thunks for ARM64.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-13 20:56:20 +02: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