Commit Graph

210 Commits

Author SHA1 Message Date
Paul Gofman e9b3660e72 ntdll: Always align stack pointer in __wine_syscall_dispatcher on x64.
Syscall thunks break stack alignment for dispatcher. Regardless of that,
it is probably better not to assume aligned stack in syscall thunk entry.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 22:31:27 +02:00
Jacek Caban 7e4ea871a3 winebuild: Use asm_name for __wine_syscall.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-09 17:41:09 +02:00
Alexandre Julliard 461fc592ad winebuild: Fix retrieving syscall arg length on x86_64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-09 13:04:05 +02:00
Alexandre Julliard 917a206b01 winebuild: Generate Windows-style syscall thunks on x86_64.
Based on patches by Michael Müller.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-08 14:38:23 +02:00
Alexandre Julliard 20715ee3fd winebuild: Generate Windows-style syscall thunks on x86.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-08 14:38:20 +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 a0266339c7 winebuild: Add a -syscall entry point flag
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
Alexandre Julliard 7933562048 winebuild: Support a -mno-cygwin flag.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-01 10:59:35 +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 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
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
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 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 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 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 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 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 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
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
Huw Davies 13fec030e7 winebuild: On x86_64, save xmm0 - 3 during the delayed import lookup.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-07 19:38:30 +01:00
Alexandre Julliard 75a830e8e1 winebuild: Put the thunk hint/name in FirstThunk too instead of zero.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-18 15:35:20 +02: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 c52e4b6551 winebuild: Mark the stack non-executable in static import libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-05 00:06:41 +09:00
Alexandre Julliard 13fe69714b winebuild: Add support for linking to static import libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-25 15:35:18 +09:00
Alexandre Julliard aac69889bf winebuild: Add support for creating static import libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-25 15:35:17 +09:00
Alexandre Julliard 59b5c52f1d winebuild: Add a common helper to find an imported dll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-23 22:55:46 +09: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 77a13f69b4 winebuild: Add a separate structure to store the data of imported functions.
We only need the name and ordinal.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-22 16:34:35 +09:00
Alexandre Julliard 68614d5db2 winebuild: Store delayed imports in a separate list.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-22 16:16:58 +09:00
Alexandre Julliard 9b70b6bd13 winebuild: Store dll imports in a list instead of an array.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-22 16:15:01 +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
Alexandre Julliard 8e10ae6705 winebuild: Don't store the full spec for an imported dll.
We only need the dll name.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-22 15:16:59 +09:00
Alexandre Julliard d65446af3d winebuild: Use strarray objects for a few more string arrays.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-21 15:26:24 +09:00
Alexandre Julliard 8baaf5349f winebuild: Use strarray objects instead of pointers where possible.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-19 13:14:41 +09:00
Charles Davis 2ea17846b8 winebuild: When building implibs, invoke dlltool with a machine type.
Signed-off-by: Charles Davis <cdavis5x@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-11 20:26:10 +09:00
André Hentschel d1f9067cf5 winebuild: Create stubs for ARM64. 2015-06-15 15:29:03 +09:00
Gerald Pfeifer 4a8d186bbc winebuild: Remove unused empty_name_table. 2014-07-28 17:21:58 -05:00
Alexandre Julliard 4e4acd5f70 winebuild: Generate position-independent code for ARM. 2014-02-12 19:15:02 +01:00
Alexandre Julliard f7272176d9 winebuild: Split the names of the as and ld commands to allow arguments. 2013-06-10 13:17:21 +02:00
Alexandre Julliard 2467c06a30 winebuild: Check for delayed import before the library is parsed, in case the real module name is different. 2013-04-01 14:32:36 +02:00
André Hentschel 4f1beed106 winebuild: Remove get_asm_short_keyword. 2013-03-11 11:44:57 +01:00
André Hentschel 0ee8e2b5b1 winebuild: Remove SPARC support. 2013-03-11 10:50:12 +01:00
André Hentschel 3f393a6552 winebuild: Add ARM64 support. 2013-01-16 12:37:39 +01:00