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
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
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
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
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
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
5f95aa0c53
Get rid of the unused owner_name field.
2005-08-29 09:40:11 +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
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
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
5ea0dd6d5f
Free delayed import modules on PROCESS_DETACH.
2005-05-24 10:13:30 +00:00
Alexandre Julliard
1970e467d4
Generate 16-bit resources in the proper format inside the module data,
...
and get rid of the special case for builtins in NE_DefResourceHandler.
2005-05-20 19:19:01 +00:00
Alexandre Julliard
67204137ee
Generate the 16-bit module header in the standard on-disk format, so
...
that winebuild doesn't need to know about kernel internal structures.
2005-05-18 18:21:59 +00:00
Alexandre Julliard
d876893fc1
Store the 16-bit stack pointer in the WOW32Reserved TEB field.
2005-05-14 12:16:46 +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
Jon Griffiths
523d94ae4c
-Wunsigned fixes.
2005-03-18 14:04:07 +00:00
Alexandre Julliard
300240bf96
Use the correct file name in the "generated automatically" comments.
2005-03-15 15:42:32 +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
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
Jukka Heinonen
70835ebf02
Remove support for generating interrupt handlers.
2004-03-15 20:09:23 +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
Daniel Marmier
9bb19ac2d2
Fixed warnings with gcc option "-Wwrite-strings".
2003-10-03 03:35:20 +00:00
Richard Cohen
5bcf35a385
Add printf format attributes & fix the warnings.
2003-09-19 00:19:16 +00:00
Alexandre Julliard
617839d522
Added varargs support for 16-bit entry points.
...
Added -ret16 entry point flag to allow 16-bit cdecl and varargs
function to return 16-bit values too.
2003-08-27 02:20:44 +00:00
Alexandre Julliard
af62e83d1c
Got rid of 16-bit glue code generation since it is no longer used.
2003-08-23 00:45:20 +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
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
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
f489a272d2
Removed support for the 'forward' ordinal type.
2003-03-17 04:56:10 +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
b42dc56fce
Made stdcall decoration in .def files the default, and added -k option
...
to switch it off.
2002-12-12 04:06:28 +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
Alexandre Julliard
310de886e9
Check file header to differentiate between object files and resources
...
so that the -r option is not necessary.
2002-12-06 23:26:29 +00:00
Alexandre Julliard
a9135e8333
Removed support for 'rsrc' spec file statement.
2002-11-18 23:16:09 +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
65c6d38581
Replace all uses of PREFIX and @function by the __ASM_NAME and
...
__ASM_FUNC macros.
2002-07-22 20:47:11 +00:00
Alexandre Julliard
cceab98642
Unregister 16-bit dlls on module unload.
2002-06-14 23:42:53 +00:00
Alexandre Julliard
ad53383f9b
Added winebuild support for generating a .dbg.c file containing the
...
debug channels definitions.
Made win32 the default type for spec files.
Ignore C compiler in winebuild so we can simply pass it $(DEFS).
Removed type win32 and debug_channels from spec files.
Fixed winebuild to always generate correct C identifiers (reported by
Vincent Béron).
2002-05-14 20:54:58 +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
e16bb784a3
Got rid of #ifdef USE_STABS.
2002-04-01 21:07:16 +00:00
Alexandre Julliard
add0b5d28f
Ignore imports and resources when building a .def file.
2002-03-26 01:55:25 +00:00
Alexandre Julliard
1cefed8122
Make warnings quiet by default and added -w option.
2002-03-21 01:38:53 +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
Dmitry Timoshkov
93a5b8681d
Support for generation of .def files from .spec files.
2002-02-04 18:48:18 +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
François Gouget
1425941e29
Fix the #include order for config.h.
...
Add #include "config.h" directives where needed.
2001-11-06 20:57:11 +00:00
Marcus Meissner
b63ab44599
Implemented glu32.dll as libGLU.so forwarder.
2001-06-08 19:02:57 +00:00
Alexandre Julliard
3581865229
Support for specifying stack size of Winelib apps.
2001-06-07 22:29:03 +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
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
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
Alexandre Julliard
39b3195ce6
Added entry point flags -noimport, -norelay, -ret64 and -i386.
...
Replaced 'byte', 'word' and 'long' by 'variable' and made it work for
Win32 too.
Made parser more robust against truncated files.
2000-11-26 04:31:48 +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
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
9a634693e7
Added debug_channels support.
2000-11-05 04:49:13 +00:00
Alexandre Julliard
aa5a1162a3
Patch flat cs of 16-bit entry points if current %cs is different from
...
compiled value, and retrieve flat ds from a global variable. This
should avoid problems with win4lin kernels.
2000-10-29 01:28:30 +00:00
Alexandre Julliard
cbeb644a94
Added support for loading .res files for 16-bit resources.
2000-10-25 20:33:58 +00:00
Alexandre Julliard
003e24cadc
Added support for loading Win32 .res files.
2000-10-23 21:33:06 +00:00
Alexandre Julliard
a83784944b
Added stdcall64 entry point type to allow correct relay debugging
...
support for functions that return 64-bit values.
2000-10-01 01:33:50 +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
Alexandre Julliard
76d3671bee
Added 'owner' field to 16-bit spec files to specify the name of the
...
32-bit dll that contains it.
2000-07-28 00:07:18 +00:00
Alexandre Julliard
e482eebf2f
Split the build program in several files.
...
Renamed it 'winebuild' to avoid possible conflicts.
Cleaned up command-line parsing.
Make it understand -fPIC instead of -pic.
Merged call16.s and call32.s generated files.
2000-06-23 20:15:35 +00:00