Commit Graph

430 Commits

Author SHA1 Message Date
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
Alexandre Julliard 12a749984c Put Wine version information in all the man pages. 2005-10-06 16:10:01 +00:00
Alexandre Julliard 664e4106c6 Added global rules for man pages. 2005-10-06 16:06:04 +00:00
Alexandre Julliard fb3a9ed135 Fixed some nroff warnings. 2005-10-06 11:40:43 +00:00
Alexandre Julliard e86a6a2454 Get rid of the debug channels support. 2005-09-29 13:41:34 +00:00
Alexandre Julliard 75c27e17b6 Defined a proper structure for debug channels.
Also put all the function pointers inside a structure and added
__wine_dbg_set_functions to change them instead of exporting the
pointers directly.
2005-09-23 10:52:07 +00:00
Alexandre Julliard 5cb97d833a Generate 16-bit spec files as assembly code too. 2005-09-21 14:23:54 +00:00
Alexandre Julliard 2aae74dff0 Factor out a couple of useful helper functions. 2005-09-21 11:50:04 +00:00
Alexandre Julliard 210bd2dd94 Make sure that values of absolute symbols fit in 16 bits. 2005-09-21 11:10:54 +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 c5c6968e96 Fixed stack offset of %eax register. 2005-09-20 11:38:29 +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 7a52190c03 Take into account -noname functions when checking for duplicate export
names. Fixed a couple of issues found by the stricter check.
2005-09-19 14:44:28 +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
Alexandre Julliard 13baa7b364 Added a common function to declare global symbols, and make them
hidden on platforms that support it.
2005-09-15 18:48:39 +00:00
Alexandre Julliard 9f49889188 Now that everything is done in assembly in the spec file, directly
generate a .s file to bypass gcc inefficiency with large data
structures.
2005-09-15 15:01:30 +00:00
Alexandre Julliard 41177ca0bd Output the resource data in assembly too. 2005-09-15 09:42:22 +00:00
Alexandre Julliard 8aba0897bd Output constant strings in a more appropriate section than .text. 2005-09-14 19:18:05 +00:00
Alexandre Julliard 3fa5678ea9 Generate stub functions directly in assembly. 2005-09-14 15:49:45 +00:00
Alexandre Julliard 261e376495 Fixed a number of pointer to integer conversions that wouldn't work
right on a 64-bit platform.
2005-09-12 15:14:06 +00:00
Alexandre Julliard 43bd5512c3 Added support for 64-bit format NT header and export/import tables. 2005-09-08 11:35:19 +00:00
Alexandre Julliard c382ed06d3 Added a bit of framework for future x86_64 support. 2005-09-07 13:31:37 +00:00
Alexandre Julliard e6c7669226 Generate the NT header in assembly instead of using a C structure. 2005-09-07 11:44:16 +00:00
Alexandre Julliard 2aa9e201b2 Output the delayed import table using assembly too. 2005-09-03 15:39:13 +00:00
Alexandre Julliard 932ecb24eb Output the import directory using assembly instead of C structures. 2005-09-02 15:36:03 +00:00
Alexandre Julliard d1c5f68dca Added an entry point routine for native drivers. 2005-09-02 15:19:42 +00:00
Alexandre Julliard ce20722109 Moved the spec file init function and constructor to winecrt0. 2005-09-02 14:43:03 +00:00
Alexandre Julliard 68f177364d Avoid using common symbols, they are broken on Mac OS. 2005-08-29 21:49:57 +00:00
Alexandre Julliard d13b99d5f9 Compute the ordinal base and limit in assign_ordinals instead of doing
it while parsing.
2005-08-29 15:15:42 +00:00