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
Alexandre Julliard
c32e02e48d
winebuild: Add a few nops to stub entry points to make Safedisc happy.
2007-11-07 20:36:04 +01:00
Rob Shearman
5fcc5d3f62
winebuild: Refer to strings used in generated stubs by symbol rather than by offset to avoid problems when the compiler aligns the strings by 2 or more bytes.
2007-04-25 12:44:16 +02:00
Dmitry Timoshkov
d57872567d
winebuild: Check if a given forward does exist in one of the imported dlls, fix a couple of problems detected.
2007-04-09 12:19:31 +02:00
Andrew Talbot
5df3ff13e7
winebuild: Replace inline static with static inline.
2007-03-17 20:05:12 +01:00
Joris Huizer
c9f1452233
winebuild: sign-compare fixes.
2007-03-05 15:31:48 +01:00
Andrew Talbot
80294709c5
winebuild: Cast-qual warning fix.
2006-10-12 11:33:09 +02:00
Alexandre Julliard
715804999e
winebuild: Added output() function to properly deal with write errors.
2006-08-11 20:41:29 +02:00
Ge van Geldorp
7a15278504
winebuild: Save registers which might contain parameters for the function to be called.
2006-07-11 17:16:06 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Alexandre Julliard
88bf4d61c3
winebuild: Disable linking to external symbols by default.
2006-04-18 20:49:29 +02:00
Alexandre Julliard
02a9bc0094
winebuild: Fixed index in module table for delayed imports.
2006-04-18 11:23:49 +02:00
Alexandre Julliard
433bbdf08a
winebuild: Get rid of the default ignored symbols list.
2006-01-24 12:29:31 +01:00
Alexandre Julliard
3f0a473fb7
winebuild: Always import atof, the MS version is different.
2006-01-23 11:27:04 +01:00
Alexandre Julliard
5dc6d95952
ntdll: New implementation of relay thunks.
...
New implementation of relay thunks that doesn't require modifying code
on the fly, so that the thunks can be put in the text section.
Some performance improvements.
2005-12-18 10:45:01 +01:00
Alexandre Julliard
cc01e8ff05
Preserve 16-byte stack alignment in the various assembly
...
functions. Needed for MacOSX.
2005-11-23 19:55:06 +01:00
Simon Richter
9aa432346c
Fix winebuild's ppc assembly generation.
2005-10-24 15:01:18 +00:00
Alexandre Julliard
2aae74dff0
Factor out a couple of useful helper functions.
2005-09-21 11:50:04 +00:00
Alexandre Julliard
3cd7379d26
Moved stub function generation to import.c. Added a get_stub_name
...
function to ensure naming consistency.
2005-09-21 10:57:04 +00:00
Alexandre Julliard
5173234ea8
Now that we have to be able to run the assembler from winebuild, added
...
an option to generate a .spec.o file in a single step.
Added --save-temps and --verbose options for easier debugging.
2005-09-21 10:22:28 +00:00
Alexandre Julliard
a999a990fe
Create an assembly file with all undefined symbols and add it to the
...
link command so that the symbols show up in the final undefined list.
Use that list to create thunks for all exported but undefined symbols,
to make sure all export RVAs point somewhere inside the module.
2005-09-19 17:04:43 +00:00
Alexandre Julliard
87c347b18e
Don't remove ignored symbols from the undefined list, simply skip them
...
when resolving imports.
Added get_temp_file_name utility function.
2005-09-19 15:24:13 +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
89024a63d3
Make the users of wine_call_from_32_regs save %eax so that we don't
...
need a special hack in the import thunk.
Added a get_pc_thunk_eax function to simplify the code a bit.
2005-09-18 11:13:54 +00:00
Alexandre Julliard
80083b18f8
Store RVAs instead of pointers wherever possible in the generated NT
...
header and directories.
2005-09-17 14:39:51 +00:00
Alexandre Julliard
8c6649e457
Implemented import thunks for x86-64.
2005-09-16 19:39:42 +00:00