Alexandre Julliard
fc7c3b51ac
ntdll: Always inline NtCurrentTeb() on ARM.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-21 20:46:13 +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
Alexandre Julliard
90ac46fe33
winebuild: Simplify ARM64 import thunks.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-18 13:02:09 +01:00
Martin Storsjo
dc46af7245
winebuild: Pass -m options to dlltool for arm and arm64.
...
This allows using the arch independent llvm-dlltool without the
llvm-mingw specific <triple>-dlltool wrappers.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-21 11:56:44 +01:00
Alexandre Julliard
b3a38fef26
winebuild: Initialize entry point to avoid a compiler warning.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 23:25:38 +01:00
Alexandre Julliard
043489456c
ntdll: Make x86_64 syscall thunks position independent.
...
Based on a patch by Paul Gofman.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-25 21:39:19 +01:00
Alexandre Julliard
3eaf036b10
winebuild: Add __imp_ label on the import data for delayed imports.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-14 21:33:17 +02:00
Martin Storsjo
559d502699
winebuild: Add unwind info to arm64 syscall stubs.
...
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-29 12:02:46 +02:00
Alexandre Julliard
75e616d52b
ntdll: Clear the syscall frame on return instead of popping the previous one.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-27 12:14:35 +02:00
Alexandre Julliard
0e7f6e0ed3
winebuild: Allow syscalls to use the cdecl convention.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-25 13:51:37 +02: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
cff04b34ac
winebuild: Always use DllMain as entry point for the 32-bit side of a 16-bit module.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49559
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-03 12:06:08 +02:00
Alexandre Julliard
15b3584603
winebuild: Store the syscall frame in the thread data on ARM64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-28 13:35:30 +02:00
Alexandre Julliard
28e443d9e2
winebuild: Store the syscall frame in the thread data on ARM.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-28 13:31:59 +02:00
Alexandre Julliard
9a7c56d9e7
winebuild: Store the syscall frame in the thread data on x86_64.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-28 13:10:28 +02:00
Alexandre Julliard
8e3b5183cc
winebuild: Store the syscall frame in the thread data on i386.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-28 13:00:50 +02:00
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
André Hentschel
220aeda3a0
winebuild: Create stubs for ARM.
2012-03-28 11:47:22 +02:00
André Hentschel
c50f25e91b
winebuild: Fill the delay slot on Sparc.
2011-12-02 12:15:31 +01:00
André Hentschel
ac90c1bd18
winebuild: Simplify the ARM part of output_import_thunk.
2011-06-17 19:30:46 +02:00
André Hentschel
cd9ff09d8e
winebuild: get_asm_ptr_keyword is not needed for ARM.
2011-06-17 11:01:59 +02:00
André Hentschel
46f52f77dc
winebuild: Remove Alpha support.
2011-04-20 13:11:27 +02:00
André Hentschel
f901fa9769
build-env: Don't use 'exchange instruction set' instructions on ARM to fix build on ARMv6 e.g. Nokia N810.
2010-09-21 14:17:37 +02:00
André Hentschel
bbfc0d1d64
winebuild: Fix ARM support.
2010-09-20 12:55:24 +02:00
Alexandre Julliard
b116040771
winebuild: Add support for specifying thiscall calling convention.
2010-08-24 16:23:20 +02:00
Alexandre Julliard
4bfdad159b
winebuild: Get rid of the ignored symbol support.
2010-08-02 12:55:19 +02:00
Alexandre Julliard
b03059cbda
winebuild: Add a spawn() helper function to avoid starting a shell where possible.
2010-08-02 12:55:12 +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
eba56752fd
winebuild: Add cfi annotations to the import thunk for i386.
2010-04-12 12:04:50 +02:00
Alexandre Julliard
e550e8a100
winebuild: Add a wrapper function to output cfi directives.
2010-04-11 12:49:00 +02:00
Alexandre Julliard
10e4a55b6c
winebuild: Output the asm relay functions as needed and get rid of --relay32 mode.
2010-01-16 15:50:27 +01:00
Alexandre Julliard
b4c6433063
winebuild: Do not output an undefined symbol reference for variables.
2010-01-11 13:54:16 -06:00
Alexandre Julliard
054406f78c
winebuild: Don't output private symbols at all when building an import library.
2009-12-30 12:50:17 +01:00
Alexandre Julliard
2fda3d6a17
winebuild: Add support for building Windows import libraries.
2009-12-30 12:49:19 +01:00
Alexandre Julliard
c4c6fcaff7
winebuild: Don't check variables for undefined exports.
2009-12-29 16:09:34 +01:00
André Hentschel
27fb36b39e
winebuild: Add ARM support.
2009-11-18 11:14:30 +01:00
Alexandre Julliard
873e027e01
winebuild: Add unwind annotations to all the generated functions for x86_64.
2009-06-16 14:26:51 +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
Alexandre Julliard
cdad788d33
winebuild: Skip non-functions when building the undefined exports file.
2009-03-25 13:27:27 +01:00
Alexandre Julliard
49d2c208d8
winebuild: Ignore 16-bit absolute exports when checking for undefined symbols.
2009-03-04 14:08:35 +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
d07f67acbc
winebuild: Determine the appropriate as/ld/nm commands at the time they are needed.
2009-02-04 19:31:54 +01:00
Alexandre Julliard
913354e75b
winebuild: Fix delay load code to preserve stack alignment and save the correct registers.
2008-12-27 19:58:42 +01:00
Alexandre Julliard
ce63574425
winebuild: Generate stub entry points for x86_64.
2008-12-16 12:20:30 +01:00
Maarten Lankhorst
1fcc33451a
winebuild: Use ms-abi for delayed load stubs.
2008-11-25 12:33:22 +01:00
Alexandre Julliard
1abf809099
winebuild: Generate MS-style imports using the OriginalFirstThunk field.
2008-09-04 21:52:58 +02:00
Simon Richter
238e1868b2
winebuild: Fix import stub on ppc.
...
The address calculation was wrong, as the addition of the lower 16 bits
is a signed addition, so if bit 15 is set, the upper 16 bits need to be
incremented by one (so the hi portion of the symbol always references
the symbol + 0x8000).
2008-06-02 12:33:47 +02:00
Alexandre Julliard
195356c098
winebuild: Also optimize out imports that are only used for forwards.
2007-12-06 21:44:45 +01:00
Alexandre Julliard
e6fe7341f5
winebuild: Improved checks for missing forward entry point targets.
2007-12-06 21:43:41 +01:00
Alexandre Julliard
32fc1acb1c
winebuild: Print a warning when failing to import a data export.
2007-12-06 21:43:41 +01:00