156 Commits

Author SHA1 Message Date
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
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
d1c5f68dca Added an entry point routine for native drivers. 2005-09-02 15:19:42 +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
2b87c82e76 Added a --undefined option to allow forcing some symbols to be
resolved by the linker.
2005-08-19 11:28:56 +00:00
Alexandre Julliard
ec1cdfd12b Added some general purpose routines for managing list of symbol
names.
2005-08-19 10:25:22 +00:00
Alexandre Julliard
646f17f249 Implemented DelayLoadFailureHook and use it in the winebuild-generated
delay load code.
2005-08-12 16:00:42 +00:00
Steve Zellers
e51ffce568 Fixed leftover import table name in output_import_thunk. 2005-07-13 11:39:12 +00:00
Alexandre Julliard
deaec125ca Don't use the full 32 bits of %esp when called from 16-bit code. 2005-07-01 19:18:46 +00:00
Alexandre Julliard
89503c182a Added a --target option to allow cross-compilation. 2005-07-01 16:17:44 +00:00
Alexandre Julliard
47286920b6 Improve a bit the assembly generated for import thunks. 2005-07-01 15:49:39 +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
32984a640e Use __ASM_NAME and HAVE_ASM_DOT_SIZE in a few places in winebuild
where they have been missing (needed for Darwin/x86).
2005-06-20 13:38:39 +00:00
Alexandre Julliard
190f845cb1 Make import thunks position-independent to avoid text relocations. 2005-06-16 20:51:50 +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
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
c700f90e63 Use RaiseException instead of RtlRaiseException for delayed entry
points load failure to avoid creating a dependency on ntdll.
2005-05-07 15:06:30 +00:00
Alexandre Julliard
2dabac08ee Added support in winebuild for specifying import libraries directly on
the command line without the -l option.
Changed the -d option to only mark the library as delayed, the actual
loading is now done separately.
2005-05-06 15:54:41 +00:00
Marcus Meissner
87f27ffe08 Put generated import table code into .text segment. 2005-02-09 14:06:32 +00:00
Vincent Béron
2c1b35dd17 Add some more Alpha asm code and Alpha-specific parts. 2004-10-18 21:27:52 +00:00
Vincent Béron
baeec1f404 Don't use magic sizes, actually calculate them. 2004-10-14 00:26:08 +00:00
Alexandre Julliard
b4c7e6c7e2 Added --ld-cmd and --nm-cmd options in winebuild, and make winegcc
pass the proper ld command.
2004-10-08 21:11:18 +00:00
Marcus Meissner
b2c9c61561 Use "LD" instead of "ld" in winebuild to be able to use a different ld
or ld options.
2004-07-29 02:34:15 +00:00
Pierre d'Herbemont
c5cbf7157c - Be more accurate on Darwin stack size.
- Delay import fix on PowerPC hosts.
2004-07-15 18:57:57 +00:00
Pierre d'Herbemont
390f97a0e6 Delayed import fix for Darwin and PowerPC Host. 2004-07-14 21:42:18 +00:00
Pierre d'Herbemont
68467db6c6 - Detection of .size instruction.
- Detection of the assembler name prefix.
2004-06-18 19:36:26 +00:00
Eric Pouech
d3f8f78c3a - added size information about most of the generated thunks (import,
16/32 relay...)
- marked the wine thunks by inserting specific symbols (to be managed
  by wine's dbghelp)
- removed the stabs generation:
  + mostly used by winedbg, and the previous item will replace it for
    dbghelp
  + still broken for gdb anyway
- enhanced const correctness
2004-05-18 21:27:44 +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
Richard Cohen
b9a12ad3b7 Remove . from default library search path. 2004-03-17 20:48:44 +00:00
Alexandre Julliard
492ac292b9 Added support for building a dll from a .def file for cases where we
don't want to write a full .spec.
Renamed --spec option to --dll for consistency.
2004-02-17 20:36:16 +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