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
Robert Shearman
932a102dcd
Fix proc name reported in delay load failure.
2004-02-09 20:58:42 +00:00
Alexandre Julliard
0b19a6f7bc
Better support for div and ldiv in Winelib apps.
2003-11-28 23:17:28 +00:00
Pierre d'Herbemont
e961418bcf
Fix PowerPC assembler syntax mistakes.
2003-10-27 22:04:54 +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
346ca95af6
Support for Mac OS X powerpc register names (based on a patch by
...
Pierre d'Herbemont).
2003-08-13 21:57:42 +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
28b64db6d5
Only print warning on nm failure because it fails on darwin if there
...
are no symbols (reported by Pierre d'Herbemont).
2003-05-14 19:36:28 +00:00
Alexandre Julliard
6d1f9b037d
Ignore "U " in nm -u output.
2003-04-10 18:36:40 +00:00
Alexandre Julliard
2ee8b5bb13
Replaced mkstemp by mkstemps from libiberty.
...
Removed a couple of unnecessary portability functions.
2003-03-20 21:07:49 +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
Alexandre Julliard
daecaba4a3
Don't enter an imported dll in the import table at all if we didn't
...
need to import any symbol from it.
2003-03-16 23:59:48 +00:00
Alexandre Julliard
9ba2e89ae5
Don't ignore sprintf/sscanf imports, semantics are not exactly the
...
same on Windows.
2002-12-20 00:36:18 +00:00
Alexandre Julliard
470cbf2757
Added support for defining forward functions as stdcall so that we can
...
get the proper number of arguments for stdcall decoration.
2002-12-15 01:22:40 +00:00
Alexandre Julliard
ada5e6521b
Implemented import libraries; on Unix we import the .def file
...
directly, on Mingw we use it to build the .a library.
2002-12-12 22:03:14 +00:00
Alexandre Julliard
72e1c64345
Added list of symbols to ignore by default in winebuild.
...
Made the -i option support removing ignored symbols too.
Removed the -noimport flag in spec files.
2002-12-12 02:20:47 +00:00
Eric Frias
1046fe3051
Added quotes to assembly language output.
2002-11-06 22:07:38 +00:00
Alexandre Julliard
f08b186373
Try to derive temp file names from output file names for better
...
portability.
2002-08-27 22:29:26 +00:00
Marcus Meissner
7678791d92
Implemented delayed import assembler thunks for PPC.
2002-08-20 00:00:49 +00:00
Dmitry Timoshkov
c63d98038a
Include protection for <unistd.h>, <sys/types.h> and <sys/stat.h>.
2002-08-17 18:28:43 +00:00
Alexandre Julliard
1862a67d2d
In -spec and -exe mode, accept multiple object files and link them
...
together internally to find the undefined symbols.
In -glue mode, accept multiple C files and generate a single glue
file for all of them.
2002-08-01 18:34:12 +00:00
Alexandre Julliard
15a75259bd
Added support for importing by ordinal.
2002-07-28 17:54:31 +00:00
Alexandre Julliard
d25878f28e
Put correct ordinal hints in the import table.
2002-07-25 00:25:40 +00:00
Alexandre Julliard
65c6d38581
Replace all uses of PREFIX and @function by the __ASM_NAME and
...
__ASM_FUNC macros.
2002-07-22 20:47:11 +00:00
Gregg Mattinson
803eb16dfa
- Replaced .previous with a .section statement for the appropriate
...
section.
- '.section .text' is incorrect. It should be '.section ".text"'.
2002-07-05 00:20:42 +00:00
Alexandre Julliard
77afd6c47e
Made some more spec file entries optional or unnecessary.
...
Fixed a few DLLName/DLLFileName mismatches.
2002-06-21 19:15:45 +00:00
Vincent Béron
9a62491660
Removed trailing whitespace.
2002-05-31 23:06:46 +00:00
Alexandre Julliard
5e47acbc6d
Only add extra symbols if they are not already exported by this dll.
2002-05-25 21:09:15 +00:00
Alexandre Julliard
bf90f4db87
Adapted to use the argc/argv variables from libwine.
...
Automatically import libraries that contain the symbols that the
.spec.c file is using.
2002-05-16 23:17:37 +00:00
Alexandre Julliard
67371bcc8d
Added -res option to specify resources on winebuild command-line.
...
Added -exe mode to generate a .spec.c for an exe without having to
provide a .spec.
Removed some no longer needed spec files.
Removed .dll extension in makefiles import specifications.
2002-05-11 23:06:32 +00:00
Alexandre Julliard
32459912dc
Moved imports specification from the .spec into the Makefile so that
...
it can be used on platforms that don't build a .spec.c file.
2002-05-09 00:05:48 +00:00
Alexandre Julliard
894b188fcf
Moved __ASM_GLOBAL_FUNC macros and interlocked functions to port.[ch]
2002-04-25 21:40:56 +00:00
Alexandre Julliard
c1bfca04e1
Changed builtin dlls file names to make it clear they are not normal
...
Unix libraries, and install them in $libdir/wine instead of $libdir to
avoid name conflicts in /usr/lib.
2002-03-20 22:19:06 +00:00
Patrik Stridvall
235da7975b
Made winebuild (almost) compile and work on Windows.
2002-03-11 05:09:02 +00:00
Alexandre Julliard
0799c1a780
Added LGPL standard comment, and copyright notices where necessary.
...
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Clemens
37d960faee
Should process the .dynsym of shared libraries instead of the .stab.
2002-01-29 02:58:20 +00:00
Alexandre Julliard
7662ea1004
Made register and interrupt flags instead of entry point types, so
...
that we can have both stdcall and cdecl register functions.
Changed 16-bit .spec.c file generation to avoid including builtin16.h.
2001-12-14 23:14:22 +00:00
Alexandre Julliard
eb9a863116
Exported CALL32_Regs from ntdll, renamed to __wine_call_from_32_regs
...
to follow the naming convention for this type of functions.
Split 16 and 32-bit relay functions into separate files, and moved the
32-bit ones to dlls/ntdll.
2001-12-11 00:50:33 +00:00
Francois Gouget
e5ddd26dd7
When including config.h, include it first.
2001-10-14 16:18:52 +00:00
Dmitry Timoshkov
3724de93d7
Fixed some issues.
2001-05-22 19:55:51 +00:00
Josh DuBois
0b64cfb3f7
More portable .align directive.
...
Ignore -delay directive on ppc only.
Added code to call the dll constructors.
2001-02-13 02:06:38 +00:00
Jon Griffiths
4ab1558d8a
- Remove <string.h> from winnt.h.
...
- ntdll: complete crt functions, prevent libc imports, fix sscanf.
2001-01-22 02:17:29 +00:00
Ulrich Weigand
3e08d4608e
Delayed import thunks for Sparc.
2001-01-02 22:22:12 +00:00
Ulrich Weigand
775fc630da
Fixed builtin imports broken by latest change.
2000-12-29 17:44:40 +00:00
Ulrich Weigand
0108d83818
Fixed winebuild to work on non-Intel architectures.
2000-12-29 05:17:33 +00:00
Eric Pouech
5e32d16628
Added ability to delay loading of an imported DLL until it's needed
...
(new -delay option for import directive in spec file).
2000-12-26 01:22:34 +00:00
Patrik Stridvall
35d288bca1
Solaris fixes.
2000-12-18 03:13:52 +00:00
Alexandre Julliard
66fed8cb2d
Allocate entry points dynamically to allow for a larger number of
...
ordinals.
2000-12-15 23:04:40 +00:00
Alexandre Julliard
909eff9932
Added support for Unicode applications in winebuild.
...
Removed cuiexe_no_main hack.
Avoid stdcall function declarations inside functions because of gcc bug.
2000-12-15 03:38:11 +00:00
Jon Griffiths
4f12e61ca7
Added "ignore" directive for skipping individual symbol resolution.
2000-12-14 22:18:22 +00:00
Eric Pouech
0335095f5d
Now prints line number for 'x.dll imported but no symbols used' warning.
2000-12-06 03:32:26 +00:00
Dimitrie O. Paun
31b6d090df
Modified winebuild to use the __ASM_FUNC macro for greater portability.
2000-12-01 21:27:43 +00:00
Marcus Meissner
c9ea5f1aeb
The __wine_call_from_16_ calls in the import table should use a valid
...
segment for dereferencing their pointer (using CS).
2000-11-26 04:02:09 +00:00
Alexandre Julliard
3570bfd41f
Do not warn for unused imported dlls when forwards to the same dlls
...
are present.
2000-11-13 04:46:34 +00:00
Alexandre Julliard
0a8114c152
Raise an exception for unimplemented 16-bit entry points too.
...
Added check for duplicate names in 16-bit spec files.
2000-11-12 03:45:55 +00:00
Alexandre Julliard
000c13a0da
Added support in winebuild for resolving function imports (-sym option).
...
Added -L option for locating imported dlls.
Changed generated exe init code to use __wine_get_main_args.
2000-11-09 20:31:18 +00:00
Alexandre Julliard
c585a501d9
Changed the Win32 dll descriptor to be in IMAGE_NT_HEADERS format.
...
Generate the import table directly in PE format.
Added gui/cuiexe_no_main modes in EXE spec files, and use this for the
main wine binary.
2000-09-27 23:40:43 +00:00