Commit Graph

563 Commits

Author SHA1 Message Date
Alexandre Julliard 451d5043f3 winebuild: Add int64, int128 and float argument types. 2010-08-30 12:40:53 +02:00
Alexandre Julliard e0188c8340 winebuild: Use a proper enum for function arguments instead of storing them in a string. 2010-08-30 12:40:24 +02:00
Alexandre Julliard 22d5180b9f winebuild: Support relay debugging for thiscall functions. 2010-08-24 19:59:44 +02:00
Alexandre Julliard adddccb7f9 winebuild: Signal an error when a thiscall function doesn't take a pointer as first argument. 2010-08-24 19:59:31 +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 f51e696cca winebuild: Support an arbitrary number of temporary files. 2010-08-02 10:11:43 +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 7f6831aa9a winebuild: Add a -m16 option to specify a 16-bit build. 2010-07-21 13:24:01 +02:00
Alexandre Julliard 58dddbed23 winebuild: Add more checks to protect against corrupted resource files. 2010-07-20 16:28:17 +02:00
André Hentschel 3686e74e1b winebuild: Add support for amd64-mingw32msvc platform. 2010-05-28 12:31:12 +02:00
Austin English f125b82c20 winebuild: FreeBSD 64-bit binaries are elf_x86_64_fbsd. 2010-05-26 10:11:17 +02:00
Kirill Smelkov 0b4fe5e56a winebuild/winegcc: Allow building .dll.so without .spec file. 2010-04-26 11:38:06 -05:00
Alexandre Julliard 5c2db41cdc winebuild: Add cfi annotations to the relay functions for i386. 2010-04-12 12:33:19 +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 3dfbbb597c winebuild: Support for -fasynchronous-unwind-tables flag to enable/disable CFI generation. 2010-04-11 12:49:15 +02:00
Alexandre Julliard e550e8a100 winebuild: Add a wrapper function to output cfi directives. 2010-04-11 12:49:00 +02:00
Alexandre Julliard bef5645eb1 makefiles: Remove the no longer needed explicit separators for dependencies. 2010-03-16 13:28:19 +01:00
Alexandre Julliard 539da1b073 winebuild: Output the 16-bit asm relay functions as needed and get rid of --relay16 mode. 2010-01-16 15:58:48 +01: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 102dd9e92f winebuild: Rename __wine_call_from_32_regs for consistency with 64-bit. 2010-01-16 15:41:48 +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 f78890e8ca winebuild: Get rid of the support for building old style 16-bit modules. 2009-12-30 18:04:59 +01: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 1f00088bc8 winebuild: Recognize mingw32 as a Windows platform. 2009-12-30 12:43:31 +01:00
Alexandre Julliard 38ca263374 winebuild: Simplify the code for finding the various build tools. 2009-12-30 12:42:25 +01:00
Alexandre Julliard 76ac103b80 winebuild: Add support for generating import libs for 16-bit dlls. 2009-12-30 12:34:03 +01:00
Alexandre Julliard 9d55475eee winebuild: Always initialize the dll name at startup. 2009-12-30 12:31:21 +01:00
Alexandre Julliard d097eef922 winebuild: Support for adding 32-bit exports in 16-bit spec files. 2009-12-29 16:11:45 +01:00
Alexandre Julliard 4939acf0ac winebuild: Allow optional keywords to be in any order in a .def file. 2009-12-29 16:09:51 +01:00
Alexandre Julliard c4c6fcaff7 winebuild: Don't check variables for undefined exports. 2009-12-29 16:09:34 +01:00
Alexandre Julliard 7782ebea01 winebuild: Fix the definition of the CPU mask flag to take ARM into account. 2009-11-19 16:44:08 +01:00
André Hentschel 27fb36b39e winebuild: Add ARM support. 2009-11-18 11:14:30 +01:00
Gerald Pfeifer 2cc7fe2192 winebuild: Add support for PLATFORM_FREEBSD to get_ld_command. 2009-10-15 12:06:18 +02:00
Gerald Pfeifer d222e8edf1 winebuild: Add support for PLATFORM_FREEBSD. 2009-10-05 15:09:41 +02:00
Alexandre Julliard a4e22d4928 tools: Build all the tools with -D__WINESRC__. 2009-10-05 14:55:25 +02:00
Alexandre Julliard 1aea4efd79 tools: Take into account the executable extension when looking for tools in the path. 2009-08-27 13:35:50 +02:00
Dylan Smith ba38f219d0 tools: Detect windows platform with _WIN32 instead of _WINDOWS. 2009-08-24 15:17:34 +02:00
Alexandre Julliard 3f7d342cfa winebuild: Add win32/win64 generic architectures in addition to specific CPUs. 2009-08-24 15:17:33 +02:00
Alexandre Julliard 5d3e134b17 winebuild: Add support for creating 16-bit fake dlls. 2009-08-17 13:57:49 +02:00
Alexandre Julliard 8024718c78 winebuild: Compute the resource offsets while building the resource tree for 16-bit resources. 2009-08-17 13:57:49 +02:00
Alexandre Julliard ef4a3c3c2d winebuild: Add support for creating a fake dll at compile time. 2009-08-14 14:16:38 +02:00
Alexandre Julliard 99037aa9cc winebuild: Compute the resource offsets while building the resource tree. 2009-08-14 14:11:34 +02:00
Alexandre Julliard 47497cb26a winebuild: Add helper functions for writing binary data to a file. 2009-08-14 13:59:11 +02:00
Alexandre Julliard b935cc210c winebuild: Add helper functions for reading binary data from a file. 2009-08-14 13:59:10 +02:00
Marcus Meissner 051535961a winebuild: Added missing close. 2009-08-10 13:09:35 +02:00
Alexandre Julliard f0ea22ba87 winebuild: Dump resource data as dwords to reduce the output file size. 2009-07-09 12:54:16 +02:00
Alexandre Julliard 7798aed2cf winebuild: Don't try to output 32-bit resources when building a 16-bit wrapper dll. 2009-06-30 12:44:59 +02:00
Stefan Dösinger 07e835fffb winebuild: Open resource files in binary mode. 2009-06-26 12:01:27 +02:00
Alexandre Julliard 2189b101de winebuild: Enforce header size alignment when outputting resources. 2009-06-23 15:53:00 +02:00
Alexandre Julliard 6cf96bf940 winebuild: Add possibility to generate a global resource file without running it through windres. 2009-06-22 11:46:33 +02:00
Alexandre Julliard fec5f5cf1f winebuild: Implement a --large-address-aware flag. 2009-06-17 17:23:20 +02: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 e00b4582a1 winebuild: Properly restore %rax and %rbx in call_from_regs on x86_64. 2009-06-10 13:22:04 +02:00
Alexandre Julliard e112286366 winebuild: Add detection of duplicate resources. 2009-06-02 14:25:01 +02:00
Alexandre Julliard a328834f5b winebuild: Add a --resources mode that compiles multiple resource files into a single object. 2009-06-02 13:20:43 +02:00
Ken Thomases 0e0e918f0f winebuild: On Mac OS X, use -arch option to control output of "ld" and "as". 2009-05-04 12:51:38 +02:00
Alexandre Julliard 880d00fb43 winebuild: Use iretq on x86_64 to restore more system registers and flags. 2009-05-01 18:03:23 +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 89f6bc2ef4 winebuild: Hardcode the stack frame offsets instead of using the data structures. 2009-04-09 20:30:10 +02:00
Alexandre Julliard d71284f0b4 winebuild: Hardcode the i386 register context offsets instead of using the data structure. 2009-04-09 20:01:56 +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 e9ef9911d0 winebuild: Make sure main module is properly initialized. 2009-03-24 11:50:13 +01:00
James Hawkins 665a0424cd winebuild: Document the correlation of spec->ordinals and spec->limit with an assertion (Coverity 902). 2009-03-23 18:21:06 +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 a82ce66048 winebuild: Support the --main-module option for stand-alone 16-bit modules. 2009-03-04 14:08:23 +01:00
Alexandre Julliard fda642d075 winebuild: Don't output the relay table if no entry point needs it. 2009-03-04 14:07:49 +01:00
Alexandre Julliard b2575ebab6 winebuild: Don't prefix local symbols with an underscore. 2009-02-27 17:43:19 +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 ddc8941d1c winebuild: Allow the module entry point to be NULL. 2009-02-26 12:38:37 +01:00
Alexandre Julliard 445047a97e winebuild: Make the 16-bit DOS header a local symbol. 2009-02-26 12:38:37 +01:00
Alexandre Julliard dca163290d winebuild: Search for the as/ld/nm tools in the PATH under various names. 2009-02-04 19:37:13 +01:00
Alexandre Julliard 0e954b14eb winebuild: Append the correct options for as and ld when forcing a 32/64-bit build. 2009-02-04 19:33:49 +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 07f77c4148 winebuild: Add -m32/-m64 options to allow 32/64-bit cross-compiles. 2009-01-15 21:17:51 +01:00
Alexandre Julliard 034a7f8849 winebuild: Add -b as a short option for --target for gcc compatibility. 2009-01-14 12:52:53 +01:00
Alexandre Julliard 465ddc51dc winebuild: Implement register entry points for x86_64. 2009-01-06 17:01:44 +01:00
Alexandre Julliard e31188d9da winebuild: Improve the calling sequence for register functions.
Pass parameters on the stack instead of retrieving them from the code
stream; this ensures that the code contains only valid instructions.
2009-01-06 12:51:18 +01:00
Alexandre Julliard 01722d6010 winebuild: Generate relay debugging thunks for x86_64. 2008-12-27 19:59:55 +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 8a87aaa9d9 winebuild: Generate the __wine_call_from_32_regs function along with the 16-bit kernel routines. 2008-12-27 19:50:25 +01:00
Alexandre Julliard ce63574425 winebuild: Generate stub entry points for x86_64. 2008-12-16 12:20:30 +01:00
Alexandre Julliard fa616418ad winebuild: Make the cpu flag more generic to allow supporting a given entry point on multiple platforms. 2008-12-08 17:07:50 +01:00
Alexandre Julliard 9f1cf1c263 winebuild: Don't add stdcall decorations on non-x86 platforms. 2008-12-03 22:37:07 +01:00
Maarten Lankhorst 1fcc33451a winebuild: Use ms-abi for delayed load stubs. 2008-11-25 12:33:22 +01:00
Rob Shearman 8a6f1655d8 winebuild: Declare fatal_error and fatal_perror as non-returning functions. 2008-09-30 10:20:05 -05:00
Alexandre Julliard 1abf809099 winebuild: Generate MS-style imports using the OriginalFirstThunk field. 2008-09-04 21:52:58 +02:00
Alexandre Julliard b3ec2e5f95 makefiles: Recurse into all directories for install-lib and install-dev too. 2008-08-25 14:27:03 +02:00
Alexandre Julliard b24b2d584e winebuild: Don't put the PE header in the .init section on Solaris. 2008-07-22 13:26:45 +02:00
Alexandre Julliard a3f42116da winebuild: Add Solaris as a separate platform. 2008-07-22 13:26:30 +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
Simon Richter d1e277fb70 winebuild: Fix branch mnemonic on ppc. 2008-06-02 12:33:27 +02:00
Alexandre Julliard 0c214a7091 winebuild: Add support for 16-bit exe modules. 2008-03-03 15:19:53 +01:00
Alexandre Julliard 5625c6079e Get rid of the global thread.h header. 2008-03-01 11:57:00 +01:00
Dmitry Timoshkov cf94095eb7 winebuild: Add a couple of missing indentations in the generated asm files. 2008-01-23 11:31:43 +01:00
Austin English 90f89fa74d tools: Spelling fixes. 2008-01-18 12:52:09 +01:00
Alexandre Julliard aaf02c6f4a winebuild: Don't try to use the .init section on Mac OS. 2008-01-16 20:27:35 +01:00
Alexandre Julliard 538071ce7e winebuild: Reserve the space for the PE header in the .init section. 2008-01-16 17:51:59 +01:00
Michael Stefaniuc e94bcee53f winebuild: Remove duplicate declaration of variable 'j'. 2007-12-14 12:26:14 +01:00
Alexandre Julliard b462c20876 winebuild: Don't set the IMAGE_FILE_DLL flag on native modules. 2007-12-11 14:59:54 +01: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
Alexandre Julliard 3243311214 winebuild: Add a -ordinal flag for entry points that must be imported by ordinal but exported by name. 2007-10-26 12:47:40 +02:00
Dmitry Timoshkov 6614028cd0 winebuild: Add IMAGE_FILE_32BIT_MACHINE flag for a 32-bit build. 2007-09-10 15:29:46 +02:00
Alexandre Julliard 44c9758d05 ntdll: Move private data to make room in the TEB for the activation context data. 2007-07-19 16:56:10 +02:00
Dmitry Timoshkov bb15683818 winebuild: Mark builtin DLLs as IMAGE_FILE_LARGE_ADDRESS_AWARE on a 64-bit platform. 2007-05-29 14:00:30 +02:00
Alexandre Julliard 560113b743 winebuild: Set the IMAGE_FILE_EXECUTABLE_IMAGE flag for all modules. 2007-05-24 12:54:27 +02:00
Dmitry Timoshkov 2c59a95122 winebuild: Fix compilation warnings in 64-bit mode. 2007-05-21 15:55:38 +02: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
Alexandre Julliard 7035aa5041 make_makefiles: Generate the top-level .gitignore file.
Add a PROGRAMS variable in some makefiles to make things easier.
2006-12-27 21:23:36 +01:00
Alexandre Julliard 662897e9d6 winebuild: Added --nxcompat option, and mark all modules as NX-compatible by default. 2006-12-07 20:51:49 +01:00
Alexandre Julliard 813ae10f33 winebuild: Check for illegal characters in entry point names. 2006-12-04 12:23:58 +01:00
Andrew Talbot 80294709c5 winebuild: Cast-qual warning fix. 2006-10-12 11:33:09 +02:00
Alexandre Julliard 32ab895e46 makefiles: Generate the dependencies line to avoid some code duplication. 2006-09-14 09:38:16 +02:00
Andrew Talbot 0235b1bf26 winebuild: Cast-qual warnings fix. 2006-08-23 12:00:22 +02:00
Alexandre Julliard 715804999e winebuild: Added output() function to properly deal with write errors. 2006-08-11 20:41:29 +02:00
Alexandre Julliard 2886e9b0e8 makefiles: Use make dependencies to create installation directories.
This avoids a lot of redundant calls to mkinstalldirs.
2006-08-07 17:48:18 +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
Ge van Geldorp 2a8b31d162 winebuild: Reserve enough space for null function pointer. 2006-07-11 12:40:01 +02:00
Alexandre Julliard cc2b3b48e6 Take advantage of the recursive nature of .gitignore for Makefile entries.
Prefix other entries with '/' to make them non-recursive.
2006-07-10 20:47:54 +02:00
Alexandre Julliard d489a0a312 winebuild: Get rid of the data16 prefix, it shouldn't be needed anymore and causes warnings. 2006-06-19 21:16:50 +02:00
Alexandre Julliard fb15dabdcd winebuild: Fix a few printf format warnings by casting size_t. 2006-06-13 14:14:59 +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 392933149b winebuild: Remove a no longer necessary movzwl instruction.
This could cause broken relays to be generated depending on the order
of the entry points in the relay list.
Also add a few missing tabs in the assembly output.
2006-04-05 20:02:51 +02:00
Robert Shearman 90938d6b6c winebuild: Correction for manpage.
The behaviour for winebuild is to prefer main over WinMain, not the
other way around.
2006-02-16 19:32:35 +01:00
Mike Frysinger 5392844392 Add support for 'make install DESTDIR'. 2006-02-14 13:51:38 +01: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
Marcus Meissner 1ed3ca0883 winebuild: Output a .note.GNU-stack section to allow nonexecutable stack. 2006-01-21 19:23:36 +01:00
Alexandre Julliard 76ece8530a winebuild: Moved offset definitions to relay.c since they are only
needed there.
Hardcoded a couple of TEB offsets to support cross-compilation.
2006-01-20 19:45:57 +01:00
Alexandre Julliard 4ce433d826 ntdll: Move the %gs register to the ntdll_thread_regs structure. 2006-01-20 16:54:11 +01:00
Alexandre Julliard 8651ceb18e ntdll: Make __wine_call_from_32_restore_regs take a context pointer.
Changed exception raise functions to call it explicitly.
2005-12-19 09:59:50 +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 db4c1561f2 winebuild: Allow -register flag for Win32 too.
This way it can be used as hint for the relay code.
2005-12-16 12:44:16 +01:00
Francois Gouget 5127dc9f49 Assorted spelling fixes. 2005-12-02 16:15:09 +01:00
Alexandre Julliard 0d6a305047 Preserve 16-byte stack alignment in 16-bit relays. 2005-11-28 17:39:05 +01:00
Alexandre Julliard c367dc4f2e Enforce 16-byte stack alignment when returning from 16-bit code and
when calling a register function.
2005-11-28 17:38:40 +01:00
Alexandre Julliard 0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +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
Robert Lunnon d4c425b681 Remove SVR4 specific pseudo-ops. 2005-10-24 15:01:34 +00:00
Simon Richter 9aa432346c Fix winebuild's ppc assembly generation. 2005-10-24 15:01:18 +00:00