Alexandre Julliard
631fb9b652
winebuild: Output relay thunks for stub functions when the arguments are known.
2011-05-03 13:09:09 +02:00
Alexandre Julliard
2e6f48b730
winebuild: Allow specifying arguments to stub functions for documentation purposes.
2011-05-03 13:01:12 +02:00
André Hentschel
d4cf5489e8
winebuild: Copy IMAGE_FILE_MACHINE_SPARC from winnt.h and use it.
2011-04-20 13:11:32 +02:00
André Hentschel
46f52f77dc
winebuild: Remove Alpha support.
2011-04-20 13:11:27 +02:00
Marcus Meissner
7a0797a6a8
winebuild: Mark up fallthrough switch cases (Coverity).
2011-03-31 12:50:44 +02:00
Alexandre Julliard
bea2be5cce
winebuild: Get rid of support for register entry points on x86_64.
2011-01-27 14:12:41 +01:00
André Hentschel
bbfc0d1d64
winebuild: Fix ARM support.
2010-09-20 12:55:24 +02:00
Alexandre Julliard
7c9b525128
winebuild: Use the correct registers for relay debugging of floating point arguments on x86_64.
2010-08-30 12:41:28 +02:00
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
b116040771
winebuild: Add support for specifying thiscall calling convention.
2010-08-24 16:23:20 +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
054406f78c
winebuild: Don't output private symbols at all when building an import library.
2009-12-30 12:50:17 +01:00
Alexandre Julliard
76ac103b80
winebuild: Add support for generating import libs for 16-bit dlls.
2009-12-30 12:34:03 +01:00
André Hentschel
27fb36b39e
winebuild: Add ARM support.
2009-11-18 11:14:30 +01: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
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
fda642d075
winebuild: Don't output the relay table if no entry point needs it.
2009-03-04 14:07:49 +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
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
9f1cf1c263
winebuild: Don't add stdcall decorations on non-x86 platforms.
2008-12-03 22:37:07 +01: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
Simon Richter
d1e277fb70
winebuild: Fix branch mnemonic on ppc.
2008-06-02 12:33:27 +02: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
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
Joris Huizer
c9f1452233
winebuild: sign-compare fixes.
2007-03-05 15:31:48 +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
715804999e
winebuild: Added output() function to properly deal with write errors.
2006-08-11 20:41:29 +02:00
Ge van Geldorp
2a8b31d162
winebuild: Reserve enough space for null function pointer.
2006-07-11 12:40:01 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02: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
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
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
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
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
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
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
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
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
0628c7eba6
Moved more of the spec initialization code to the winecrt0 library,
...
and get rid of implicit kernel32 imports.
2005-08-29 14:16:27 +00:00
Alexandre Julliard
d4098549bb
Moved the delay loading support code to the winecrt0 library.
2005-08-25 19:37:51 +00:00
Alexandre Julliard
b6b180a16d
Moved the implementation of spec file stubs to the winecrt0 library.
2005-08-25 15:27:44 +00:00
Alexandre Julliard
71ae2d7bed
Beginnings of a crt0 library.
2005-08-25 11:41:05 +00:00
Alexandre Julliard
5370981e06
The exported name strings should be inside the export directory (found
...
by Vitaliy Margolen).
2005-08-23 20:08:37 +00:00
Alexandre Julliard
6d8567824f
Print a warning when a generated import library doesn't export
...
anything useful.
2005-07-26 18:57:19 +00:00
Alexandre Julliard
aeb4e6e5d2
Get rid of the global debugging flag.
2005-07-05 12:52:57 +00:00
Alexandre Julliard
706a0a9e59
Replace configure macros by explicit platform checks (probably not
...
correct on all platforms yet).
2005-06-29 20:18:58 +00:00
Alexandre Julliard
445fb59802
Replaced all uses of the __ASM_NAME macro by the asm_name function to
...
allow run-time determination of the correct format.
2005-06-27 18:59:54 +00:00
Alexandre Julliard
803c8d9693
Beginnings of an infrastructure to allow specifying the target CPU and
...
platform at run-time.
2005-06-27 11:23:24 +00:00
Wolfgang Thaller
84c8bf5340
Winebuild darwin/x86-specific fixes:
...
- Assembler interprets .align as power-of-two
- Add .weak_reference to output where gcc 3.3 swallows it
2005-06-20 11:43:16 +00:00
Alexandre Julliard
399300a143
Output the exported names as a C string so that they end up in the
...
correct section.
2005-06-16 10:43:19 +00:00
Pierre d'Herbemont
db134ece39
Use .mod_*_func sections on Mac OS X/i386 instead of the elf
...
constructor/destructor.
2005-06-10 19:58:26 +00:00
Alexandre Julliard
25c5fe33ba
Reuse output_dll_init for the constructor of debug files.
2005-06-10 19:56:05 +00:00
Alexandre Julliard
5c9b7cf55f
Moved all assembly code to the end of the generated C files to avoid
...
conflicting with the compiler over section changes.
2005-06-06 15:59:50 +00:00
Alexandre Julliard
520a7af933
Switch back to .data at the end of asm sections to work around an
...
optimization in recent gcc versions.
2005-06-05 21:08:51 +00:00
Alexandre Julliard
a583b2570b
Generate the resource data directly inside the resource directory.
2005-06-05 18:36:24 +00:00
Alexandre Julliard
5ea0dd6d5f
Free delayed import modules on PROCESS_DETACH.
2005-05-24 10:13:30 +00:00
Alexandre Julliard
c0d2377565
Removed no longer used support for 32-bit register entry points.
2005-05-07 18:47:22 +00:00
Alexandre Julliard
300240bf96
Use the correct file name in the "generated automatically" comments.
2005-03-15 15:42:32 +00:00
Francois Gouget
4d801b66e6
Assorted spelling fixes.
2005-02-10 19:19:35 +00:00
Vincent Béron
2c1b35dd17
Add some more Alpha asm code and Alpha-specific parts.
2004-10-18 21:27:52 +00:00
Pierre d'Herbemont
75c3c37b17
Darwin/Mac OS X Weak import workaround.
2004-07-15 18:58:42 +00:00
Pierre d'Herbemont
3d60a19287
Hide the _init and _fini wrappers on darwin.
2004-06-17 19:58:59 +00:00
Alexandre Julliard
32e31ac7c4
Automatically detect whether the entry point is main or WinMain
...
instead of depending on the subsystem type.
2004-04-08 04:41:14 +00:00
Alexandre Julliard
4cf091ab09
Replaced the --mode winebuild option by a --subsystem option for
...
better compatibility with the PE binutils.
2004-03-25 00:40:52 +00:00
Alexandre Julliard
d1e0782c9e
Removed the Unicode exe modes, and instead detect automatically which
...
mode to use based on the existence of main or wmain.
2004-03-24 03:39:57 +00:00
Pierre d'Herbemont
0ba5ade849
Darwin support for _init/_fini functions and _end symbol.
2004-03-22 21:12:23 +00:00
Marcus Meissner
d496eb08e7
No need to check for DllEntryPoint style constants.
2004-02-16 20:24:32 +00:00
Alexandre Julliard
5e4a5beccb
Added native mode dll support (based on a patch by Marcus Meissner).
2004-02-13 22:42:13 +00:00
Alexandre Julliard
8611e654fc
Store all information about the current dll in a structure instead of
...
using global variables to make it easier to reuse the parsing
routines.
2004-02-11 06:41:01 +00:00
Alexandre Julliard
f33de52f5e
Tweaked the init code so that it works properly no matter what linker
...
options are used.
2004-01-15 04:58:17 +00:00
Alexandre Julliard
3604824262
If supported by the linker, prevent the ELF loader from calling the
...
dll constructors at load time and call them from the dll entry point
instead.
2004-01-08 03:36:53 +00:00
Alexandre Julliard
18b4cbf12a
Put better values for code and data sizes in the NT header of builtin
...
dlls.
2003-11-03 22:19:44 +00:00
Alexandre Julliard
03711317de
Better defaults for heap and stack sizes.
2003-10-30 22:49:01 +00:00
Pierre d'Herbemont
6661f30409
Change mctr PowerPC asm instruction to mtctr. Add Support for the
...
.text section and the .space section of darwin's ld.
2003-10-24 00:27:27 +00:00
Alexandre Julliard
60c857e19c
Store the dll name for the export directory inside the exported names
...
list.
2003-09-26 04:36:46 +00:00
Alexandre Julliard
e37c6e18d0
Fixed header dependencies to be fully compatible with the Windows
...
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard
e547e10be0
Make sure dllname doesn't get optimized out (spotted by Marcus
...
Meissner).
2003-08-02 00:45:34 +00:00
Alexandre Julliard
152b98fa63
Added -private flag for entry points that shouldn't be imported from
...
other dlls.
Support PRIVATE flag in .def files (based on a patch by Jon
Griffiths).
2003-07-28 19:19:48 +00:00
Alexandre Julliard
08dfb8c91a
Don't output register function code if it's a forwarded entry point.
2003-04-03 18:05:17 +00:00
Alexandre Julliard
9e4fc4c9b6
Converted winebuild option parsing to use getopt_long. Added a number
...
of long aliases for the existing short options.
2003-03-23 01:12:30 +00:00
Christian Costa
f814cf87af
Make use of .half and/or .asciiz assembler keywords when necessary.
2003-03-23 00:18:26 +00:00
Alexandre Julliard
49edd19650
Handle end of line as a syntactic element in the spec file parser;
...
backslashes can be used to continue lines. This allows us to skip over
errors to continue parsing, and also to make specification of an entry
point link name optional.
2003-03-18 05:30:54 +00:00