Commit Graph

646 Commits

Author SHA1 Message Date
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
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
Piotr Caban 8b24bc95b9 winebuild: Recognize armv7a target.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-22 18:22:21 +01:00
Alexandre Julliard 39698f5468 winebuild: Align resource data to dword boundaries even on 64-bit.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-18 22:55:34 +01:00
James Larrowe f97636bc49 winebuild: Fix a segmentation fault.
When 'winebuild' is called with no arguments, the make_c_identifier
function is passed a null pointer, which is dereferenced and causes
a segmentation fault.

Signed-off-by: James Larrowe <larrowe.semaj11@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-14 17:25:49 +01:00
Alexandre Julliard 0fd533836b winebuild: Pass the -mfpu option to the compiler/assembler.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-05 20:20:25 +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 96c77a8cf6 winebuild: Stop building the DPMI event check routine.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-05 17:16:13 +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 0c42b33a0b winebuild: Add support for -mfloat-abi option.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-08 16:45: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
Austin English b54cf05714 winebuild: Move WineHQ URLs to https.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-01 09:29:41 +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 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
Alexandre Julliard 9e59362ae3 ntdll: Move the plaform-specific thread data to the SystemReserved2 TEB field.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-19 19:13:30 +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
Zebediah Figura 544ea174a6 winebuild: Use unsigned int in spec file variable parameters.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-02 20:40:14 +01:00
Francois Gouget 44468e8536 tools: Assorted comment spelling fixes.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-19 14:57:30 +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 77960ab755 winebuild: Specify an object format to windres.
Signed-off-by: Charles Davis <cdavis5x@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-01 01:50:10 +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 bd545cb069 winebuild: Detect armv* toolchains.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-30 08:08:43 +01:00
Stephen Kitt 33c729bb1b winebuild: Add support for -march.
Signed-off-by: Stephen Kitt <steve@sk2.org>
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-15 09:11:33 +01:00
Alexandre Julliard da340169d6 makefiles: Generate rules for installing programs.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-29 21:20:06 +09:00
Alexandre Julliard 7626728b56 makefiles: Generate rules for building tool binaries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-27 14:47:27 +09:00
Alexandre Julliard 8935863f55 winebuild: Add DllMain to the list of functions that should be private. 2015-07-15 15:59:46 +09:00
André Hentschel d1f9067cf5 winebuild: Create stubs for ARM64. 2015-06-15 15:29:03 +09:00
Michael Müller 6b4ac9971a winebuild: Set a valid major and minor linker version.
Some apps expect a nonzero linker version.
2015-06-10 16:16:29 +09:00
Nikolay Sivov 233c8c163b winebuild: Remove always false condition (Coverity). 2015-06-03 22:52:06 +09:00
André Hentschel d33f382b29 winebuild: Use a 64k page size on ARM64. 2015-05-12 17:33:14 +09:00
Qian Hong 604c4dba80 ntdll: Correctly document the offset of ntdll_thread_data.
This is a follow up of 16ddc62405.
2015-04-21 14:30:45 +09:00
Alexandre Julliard 1097384377 winebuild: Avoid assigning values outside of the target_cpu enum range. 2015-03-04 21:50:29 +09:00
Sebastian Lackner 4c8b3f63be winebuild: Conditionally use different code for restoring the context structure.
Fixes a regression introduced by 44fbc018ed.
2015-03-03 18:12:30 +09:00
Sebastian Lackner 44fbc018ed winebuild: Do not access memory below ESP when restoring thread contexts.
Based on a patch by John Reiser.
2015-02-27 15:05:54 +09:00
Charles Davis 6f6e42498d winebuild: Make emitting mod_*_func sections on Mac OS respect the pointer size. 2015-01-23 11:08:38 +01:00
Gerald Pfeifer 4a8d186bbc winebuild: Remove unused empty_name_table. 2014-07-28 17:21:58 -05:00
Alexandre Julliard 6c807b7472 winebuild: Add support for -marm and -mthumb target flags. 2014-02-12 19:15:24 +01:00
Alexandre Julliard 4e4acd5f70 winebuild: Generate position-independent code for ARM. 2014-02-12 19:15:02 +01:00
Alexandre Julliard 509364e1dd makefiles: Get rid of Make.rules. 2014-01-14 12:18:02 +01:00
Dmitry Timoshkov 8cf8285add winebuild: Write actual (not aligned) sizes in the resource headers. 2014-01-02 15:50:12 +01:00
Alexandre Julliard 092f37fc2d makefiles: Include program files in the all: target. 2013-12-31 19:07:49 +01:00
Alexandre Julliard 1047e0474d makefiles: Leave it to install-sh to create destination directories. 2013-12-26 14:35:15 +01:00
Alexandre Julliard c2d0907923 winebuild: Fix path separator for Cygwin. 2013-12-23 11:54:30 +01:00
Jonathan Liu 9c992f8a15 winebuild: Don't crash when dlltool or ar can't be found. 2013-12-16 12:02:49 +01:00
Jonathan Liu 93bdde3af2 winebuild: Use correct PATH separator on Windows. 2013-12-16 12:02:49 +01:00
Alexandre Julliard e2df0ab856 makefiles: Generate rules from makedep for building and installing man pages. 2013-11-18 11:40:00 +01:00
Alexandre Julliard 8d5b8b1346 makefiles: Define __WINESRC__ globally. 2013-10-07 10:48:04 +02:00
Francois Gouget d3672524ed Assorted spelling fixes. 2013-10-01 19:09:08 +02:00
André Hentschel e99e9d8d82 winebuild: Update IMAGE_FILE_MACHINE_ARM64.
According to pecoff 8.3.
2013-09-26 10:45:10 +02:00
Frédéric Delanoy 5dc595a6d9 winebuild: Fix manpage formatting. 2013-07-17 20:30:49 +02:00
André Hentschel b49c923503 winebuild: Replace note about the Changelog file. 2013-07-17 11:24:00 +02:00
Alexandre Julliard dcc97a186d Standardize the BUGS, AVAILABILITY and SEE ALSO sections across all man pages. 2013-07-16 20:48:05 +02:00
Alexandre Julliard 005565d90d makefiles: Make sure to install manpages for the install-lib and install-dev cases. 2013-07-02 19:39:30 +02:00
Alexandre Julliard 3dfe94cfbd winebuild: Pass the -mcpu option to the C compiler also. 2013-07-01 19:51:12 +02:00
Alexandre Julliard 98e6a0da73 winebuild: Add an option to use the C compiler to assemble files. 2013-06-10 13:19:34 +02: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 43ac582d7d libport: Rename spawnvp to _spawnvp to avoid the deprecated name. 2013-04-09 15:26:10 +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
Tijl Coosemans afd7dc5947 winebuild: Don't register cleanup function when --save-temps is passed after --output. 2013-03-05 09:37:29 +01:00
Charles Davis c14bdaf1dd winebuild: Use Clang to assemble if found. 2013-01-30 20:10:52 +01:00
André Hentschel 3f393a6552 winebuild: Add ARM64 support. 2013-01-16 12:37:39 +01:00
André Hentschel ca234e3ed4 winebuild: Rename IMAGE_FILE_MACHINE_ARMV7 to IMAGE_FILE_MACHINE_ARMNT. 2012-08-17 10:45:21 +02:00
André Hentschel 83b60a7b0d winebuild: Generate relay debugging thunks for ARM. 2012-07-16 14:29:07 +02:00
André Hentschel e7730053f3 winebuild: Put the PE header into the text section on ARM. 2012-06-25 10:36:37 +02:00