Commit Graph

469 Commits

Author SHA1 Message Date
Alexandre Julliard
d5d8967f69 Added a warning for DllGetVersion and DllInstall not being declared
private. Also warn when one of the Dll* functions is using a different
internal name.
2005-08-09 10:24:05 +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
Steve Zellers
e51ffce568 Fixed leftover import table name in output_import_thunk. 2005-07-13 11:39:12 +00:00
Marcus Meissner
2d7e976eed Fixed signedness warnings. 2005-07-10 17:45:53 +00:00
Alexandre Julliard
7c91993eba Don't depend on ELF features for PIC code.
A couple of optimizations.
2005-07-05 21:06:00 +00:00
Mike McCormack
723ee0a3bc gcc 4.0 -Wpointer-sign fixes. 2005-07-05 14:26:54 +00:00
Alexandre Julliard
aeb4e6e5d2 Get rid of the global debugging flag. 2005-07-05 12:52:57 +00:00
Alexandre Julliard
2b33634018 Intercept functions for 16-bit relay debugging by patching the
CALLFROM16 table instead of having the wine_call_from_16 functions
call out the relay functions explicitly.
2005-07-05 12:52:07 +00:00
Alexandre Julliard
e56d9deac4 Added vararg argument type so that the relay code can distinguish from
a normal cdecl function.
Don't rely on the relay thunk preserving the stack pointer.
2005-07-05 11:50:40 +00:00
Alexandre Julliard
1a0f2863db Moved all 16-bit relay code to the text section.
Changed a few symbol names for better consistency.
2005-07-03 11:28:44 +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
71914125ce Moved most of the implementation of CALL32_CBClient(Ex) to the C
code.
2005-07-01 16:24:32 +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
Phil Krylov
4f9f7f131c Fixed winebuild operation in Darwin. 2005-06-30 11:00:28 +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
f51496a232 Remove some i386 ifdefs for 16-bit entry points since they are no
longer used by default on other platforms anyway.
2005-06-25 18:34:00 +00:00
Alexandre Julliard
63e9a42b0b Allocate ordinals in the order of the declarations in the spec file. 2005-06-23 16:46:20 +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
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
190f845cb1 Make import thunks position-independent to avoid text relocations. 2005-06-16 20:51:50 +00:00
Alexandre Julliard
27e868e9ad Generate proper PIC code for CALL32_CBClient. 2005-06-16 15:57:36 +00:00
Alexandre Julliard
efcc2b83d8 Store a relative pointer for registry entry points to avoid some text
relocations.
2005-06-16 11:04:41 +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
70d0439905 Moved the generated code segment for 16-bit builtins inside the module
structure.
Get rid of the BUILTIN16_DESCRIPTOR structure and directly register
the MZ header instead.
2005-05-23 12:07:15 +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
dea3a11c6c Use RaiseException instead of RtlRaiseException in 16-bit spec files
since they already depend on kernel32.
2005-05-19 12:51:12 +00:00
Alexandre Julliard
3d5c3609c7 Renamed __wine_(un)register_dll_16 to __wine_dll_(un)register_16 for
consistency with the 32-bit version, and also make the register
function use the same prototype as the 32-bit one.
2005-05-19 12:44:31 +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
e8a23c9572 Use the exported IMAGE_OS2_HEADER to generate the module header in the
spec file, and moved the NE_MODULE structure definition to
kernel16_private.h.
2005-05-17 10:21:29 +00:00
Alexandre Julliard
827a69f8ca Avoid referencing stackframe.h from outside kernel32. 2005-05-16 14:20:16 +00:00
Alexandre Julliard
95086f45a4 Moved data structures for 16-bit relay calls to winbase16.h and
removed builtin16.h.
2005-05-16 09:19:18 +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
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
9b626b7bed Use correct movw instead of movl when handling segment registers. 2005-04-13 11:17:00 +00:00
Jon Griffiths
523d94ae4c -Wunsigned fixes. 2005-03-18 14:04:07 +00:00
Alexandre Julliard
b98d045e02 Don't crash on xrealloc(0) (found by Jon Griffiths). 2005-03-18 14:03:38 +00:00
Alexandre Julliard
300240bf96 Use the correct file name in the "generated automatically" comments. 2005-03-15 15:42:32 +00:00
Dimitrie O. Paun
c02dd0a902 Add support for .exe's with exported functions. 2005-03-08 16:55:26 +00:00
Francois Gouget
fbb3343547 Assorted spelling fixes. 2005-03-02 13:53:50 +00:00
Francois Gouget
4d801b66e6 Assorted spelling fixes. 2005-02-10 19:19:35 +00:00
Marcus Meissner
87f27ffe08 Put generated import table code into .text segment. 2005-02-09 14:06:32 +00:00
Paul Millar
10a6c56071 Check for features missing in mingw environment, allowing tools
subdirectory to be cross-built again.
2004-12-07 17:19:54 +00:00
Alexandre Julliard
7bfda49772 Clean up temp files also when killed by a signal. 2004-12-02 18:22:48 +00:00
Eric Frias
f23b358b0d Handle a def file where the names of the exported functions are listed
without being followed by an equals sign and an alias.
2004-11-21 15:39:51 +00:00
Alexandre Julliard
a7094d8e5a winebuild shouldn't depend on the NO_TRACE_MSGS define. 2004-10-19 23:09:02 +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
Vincent Béron
b07dec4634 Only compile BuildCallFrom16Func on x86. 2004-10-14 00:25:44 +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
86d4a70baa Fill in the proper offsets in the resource directory instead of
relying on the compiler to do it.
2004-09-07 20:45:03 +00:00
Alexandre Julliard
d78ee14b93 Print a warning when DllRegisterServer and similar functions are not
marked private.
2004-08-27 19:40:53 +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
75c3c37b17 Darwin/Mac OS X Weak import workaround. 2004-07-15 18:58:42 +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
Pierre d'Herbemont
3d60a19287 Hide the _init and _fini wrappers on darwin. 2004-06-17 19:58:59 +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
85c2ccec76 Do not strip stdcall decoration in spec files.
Fixed mapi32 ordinals.
2004-03-31 00:59:36 +00:00
Dmitry Timoshkov
d16829846d Add a few missing __ASM_NAME macros. 2004-03-27 20:44:41 +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
Richard Cohen
b9a12ad3b7 Remove . from default library search path. 2004-03-17 20:48:44 +00:00
Jukka Heinonen
54a8a25b5e DPMI programs now handle pending events. 2004-03-16 01:15:11 +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
095b498b17 Renamed --exe-mode option to --mode now that it can be used for dlls
too.
2004-02-16 22:24:24 +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
Robert Shearman
932a102dcd Fix proc name reported in delay load failure. 2004-02-09 20:58:42 +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
0b19a6f7bc Better support for div and ldiv in Winelib apps. 2003-11-28 23:17:28 +00:00
Dimitrie O. Paun
c0232546bd Make the winehq.org domain the official one. 2003-11-26 03:55:01 +00:00
Alexandre Julliard
f01e7c6364 open_input_file(): try to open the file in the current directory
before trying the source directory.
2003-11-20 04:21:56 +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
Alexandre Julliard
4cb001967a Switch back to the main process stack before calling exception
handlers.
2003-10-28 00:30:55 +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
67d9f38059 Added __wine_set_signal_fs function to avoid sharing the
SYSLEVEL_Win16CurrentTeb variable between kernel and ntdll.
On the kernel side, replaced SYSLEVEL_Win16CurrentTeb by
CallTo16_TebSelector stored directly in the asm relay code to avoid a
run-time relocation.
2003-10-08 22:59:22 +00:00
Daniel Marmier
9bb19ac2d2 Fixed warnings with gcc option "-Wwrite-strings". 2003-10-03 03:35:20 +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
Dimitrie O. Paun
8b255842ec Remove the obsolete pascal16 (replaced by pascal -ret16). 2003-09-26 04:32:19 +00:00
Jon Griffiths
821b228cda MSVC warning fix. 2003-09-24 05:12:28 +00:00
Steven Edwards
a23b8c8fbe Porting fix for Alpha. 2003-09-22 19:27:56 +00:00
Richard Cohen
5bcf35a385 Add printf format attributes & fix the warnings. 2003-09-19 00:19:16 +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
7df1b9e03a Start using the exported TEB structure from winternl.h where
possible.
2003-08-28 19:57:35 +00:00
Alexandre Julliard
b91e9cb3e6 Renamed a few more TEB fields. 2003-08-28 03:44:41 +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
a5b961c2b0 Moved selector fixup for the relay code to the callto16 exception
handler.
Make sure to only use pop instructions to modify segment registers in
the relay code to simplify the selector fixup.
2003-08-25 23:48:30 +00:00
Alexandre Julliard
3be5d62b29 Moved 16-bit calls initialization and exception handling to kernel32.
Store the call_to_16 return address on the stack from the C code so
that we don't need two variants of call_to_16_regs.
2003-08-25 00:56:37 +00:00
Alexandre Julliard
3a5b7cf105 Extended WOWCallback16Ex to support register functions too. This
allows simplifying the wine_call_to_16 assembly code by moving part of
it to C code, and getting rid of the extra kernel exports.
2003-08-23 23:30:51 +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
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
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
Pierre d'Herbemont
13c308caa7 Change __PPC__ flag to __powerpc__. 2003-07-21 23:51:24 +00:00
Francois Gouget
1568fa3b21 Make sure to return an error if the file generation fails. 2003-06-23 19:51:21 +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
0c2c71bcae Resource names don't need a case-sensitive comparison; this avoids
depending on libwine_unicode.
2003-04-21 23:27:21 +00:00
Alexandre Julliard
6d1f9b037d Ignore "U " in nm -u output. 2003-04-10 18:36:40 +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
5577637034 Added support for specifying an stdcall dll entry point. 2003-04-01 00:08:32 +00:00
Alexandre Julliard
78675ba234 Store %gs in the TEB on every call to 16-bit code, and don't restore
it from the TEB for signals that did not happen in 16-bit code.
2003-03-25 00:36:16 +00:00
Alexandre Julliard
0c9abbeead Avoid reference to wine_get_cs function from libwine. 2003-03-24 19:44:20 +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
2ee8b5bb13 Replaced mkstemp by mkstemps from libiberty.
Removed a couple of unnecessary portability functions.
2003-03-20 21:07:49 +00:00
Alexandre Julliard
f84dbdce51 Added check for duplicate ordinals, and fixed bug it uncovered in
msnet32.spec.
2003-03-20 03:30:58 +00:00
Alexandre Julliard
6a9fe36de2 Created a separate static portability library and moved some of the
libwine routines in there.
2003-03-19 22:09:16 +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
52ec0a3ff3 Disable 'variable' in Win32 spec files.
Added support for forwarded 'extern' ordinals.
2003-03-17 00:02:11 +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
551797bc57 Properly save/restore %gs register across 16-bit calls. 2003-02-27 21:11:13 +00:00
Alexandre Julliard
f8bac62769 Do not define __WINESRC__ when building tools and miscemu. 2003-01-09 01:57:15 +00:00
Dimitrie O. Paun
8b36681bad Rename __WINE__ to __WINESRC__. 2003-01-04 00:52:18 +00:00
Alexandre Julliard
60d84e8127 Updated for recent options changes. 2003-01-02 19:30:17 +00:00
Dimitrie O. Paun
959562bdcd Add the -F option to set a DLL's filename. 2003-01-02 17:48:05 +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
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
2cd4ed2e15 Replaced 'ignore' spec file directive by the -i option. 2002-12-07 23:54:12 +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
Eric Frias
1046fe3051 Added quotes to assembly language output. 2002-11-06 22:07:38 +00:00
Alexandre Julliard
910851a20e Added winebuild -e option to specify the entry point and removed the
'init' spec file directive.
Winebuild long options now use a more standard double dash format
(older format still supported for backwards compatibility).
2002-11-06 20:02:59 +00:00
Alexandre Julliard
1e1313d54c Made the dll entry point default to DllMain and removed most of the
'init' spec file declarations.
2002-11-04 23:53:41 +00:00
Alexandre Julliard
07f736bc3d Hack to detect register functions automatically so that relay debug
also works for functions using the DEFINE_REGS_ENTRY_POINT macros.
2002-11-04 22:50:24 +00:00
Alexandre Julliard
7aee90762a Merged wine_call_to_16_long and wine_call_to_16_short into a single
function.
2002-10-18 00:29:32 +00:00
Alexandre Julliard
4ce72031a0 Don't list register functions in the .def file. 2002-10-09 20:28:06 +00:00
Marcus Meissner
2ca7000dc8 Added ctype.h. 2002-09-16 23:58:59 +00:00
Alexandre Julliard
16a303b376 Replaced 'heap' .spec statement by a command line option.
Updated winebuild manpage.
2002-09-12 22:51:20 +00:00
Dimitrie O. Paun
7e035e290a Remove support for 'file', 'name', and 'mode' in .spec files. 2002-09-12 18:10:05 +00:00
Dimitrie O. Paun
7cd2edbb66 Add support for naming the DLL from the command line. 2002-09-12 17:23:25 +00:00
Patrik Stridvall
51e6c0ccb1 MSVC compatibility fixes. 2002-08-31 19:04:14 +00:00
Alexandre Julliard
b0c6e36d5d Fixed line numbers in error messages and improved redefinition error
(based on a patch by Jon Griffiths).
2002-08-27 22:32:01 +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
François Gouget
ebd110bc6a Fix command-line parsing for Winelib applications. 2002-08-15 23:21:03 +00:00
Marcus Meissner
f0b8fe562e The text section alignment should be default, not 1. 2002-08-15 21:47:27 +00:00
Alexandre Julliard
124eaf809c Builtin modules must be aligned on 64K boundary. 2002-08-14 21:09:55 +00:00
Alexandre Julliard
6006757996 Setup exception frame around 16-bit calls to unwind stack properly. 2002-08-13 03:29:17 +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
3bd7d224fc Added a winebuild man page. 2002-07-28 18:58:41 +00:00
Alexandre Julliard
15a75259bd Added support for importing by ordinal. 2002-07-28 17:54:31 +00:00
Alexandre Julliard
112c665f83 Set correct dll file name when building a .def file. 2002-07-28 17:52:01 +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
Steven Edwards
a0587c4a08 Portability fix. 2002-06-20 22:44:41 +00:00
Alexandre Julliard
f673b71ece Fixed make install target to work even when nothing has been compiled
yet.
Added install-lib and install-dev targets to allow partial
installations; moved winemaker.man and winelauncher.in to better fit
in the new install categories.
2002-06-14 23:48:27 +00:00
Alexandre Julliard
cceab98642 Unregister 16-bit dlls on module unload. 2002-06-14 23:42:53 +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
7fbd74ea55 Replaced the GET/PUT_UA macros by memcpy. Fixed a few big-endian
issues.
2002-05-23 02:53:10 +00:00
Alexandre Julliard
476aabc95a Do not output stubs in the .def file. 2002-05-19 22:29:34 +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
59008670be Moved the selector access functions out of winnt.h into libwine. 2002-05-16 20:32:16 +00:00
Alexandre Julliard
1f18f61bfa Fixed missing call to make_c_identifier. 2002-05-16 18:44:06 +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
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
ce830a9c18 Added mkinstalldirs to create directories more portably. 2002-05-09 04:31:39 +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
Patrik Stridvall
3751ff045c MS C related changes. 2002-05-04 18:37:08 +00:00
Alexandre Julliard
9a68b7bef0 Link the tools and the server against libwine so we can use the
portability functions in there.
2002-04-27 21:19:22 +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
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
Gavriel State
f98c52b11f Some older versions of GDB need to have the filename data available
for each section, so we need to output it again for the data section.
2002-02-12 18:46:14 +00:00
Dmitry Timoshkov
93a5b8681d Support for generation of .def files from .spec files. 2002-02-04 18:48:18 +00:00
Patrik Stridvall
f94462fb75 Move __stdcall/__cdecl to the right place. 2002-01-31 23:22:07 +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
James Juran
49c779a862 Prevent warnings about labels at end of switch statements when
compiling with gcc-3.x.
2001-11-19 02:24:14 +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
Francois Gouget
386cf6e342 When including 'wine/port.h', include it first.
Remove redundant 'config.h' includes.
2001-10-14 16:25:47 +00:00
Francois Gouget
e5ddd26dd7 When including config.h, include it first. 2001-10-14 16:18:52 +00:00
Alexandre Julliard
5b1e934218 Avoid including winbase.h in generated .spec.c files. 2001-10-02 20:32:58 +00:00
Dmitry Timoshkov
b56a2ef780 Add missing CALLBACK modifier. 2001-09-14 01:00:39 +00:00
Alexandre Julliard
99eac46f65 Output correct assembly function headers for all functions. 2001-08-28 17:26:49 +00:00
Bob Goodwin
d349241ff4 Mask out garbage in the upper half of stack pointer. 2001-06-08 20:25:34 +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
Alexandre Julliard
04689b26f0 Always load the 32-bit dll containing a given 16-bit builtin.
Check the module name in addition to the file name when loading a
16-bit builtin dll.
2001-03-28 01:47:28 +00:00
Jeff Garzik
f46eb1db43 Added some inclusions of string.h where necessary. 2001-03-21 20:30:46 +00:00
Alexandre Julliard
4988696cd4 Added support for backslash escaping of special characters. 2001-02-15 21:27:06 +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
Nathan Neulinger
d9b114df03 Renamed struct option to avoid conflicts with getopt.h. 2001-01-11 22:31:04 +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
Jon Griffiths
38e5a6c425 Allow stubs for exports that are not legal C identifiers. 2000-12-29 03:26:27 +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
Alexandre Julliard
db0747d095 Removed some unnecessary includes.
Got rid of ldt.h.
2000-12-13 20:23:41 +00:00
Alexandre Julliard
2a37decc39 Output the exports table in assembly code to make it possible to
export C++ mangled names.
2000-12-11 03:42:20 +00:00
Alexandre Julliard
9fd831f68a Don't make the spec file constructors static so that they don't get
optimized out.
2000-12-06 20:18:35 +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
Alexandre Julliard
e2222fd8ff Use libwine and libwine_unicode directly from their build directory
instead of using symlinks.
2000-12-06 00:05:14 +00:00
Alexandre Julliard
218188c2d2 Always put the dll constructor in the .init section, and like the
.spec.o file first to ensure correct calling order of the constructors.
2000-12-02 20:38:47 +00:00
Alexandre Julliard
ef57e18f99 Removed some unnecessary includes. 2000-12-01 21:32:55 +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
Alexandre Julliard
e296bf3717 Renamed CallTo16* functions to wine_call_to_16* and export them from
kernel32.spec.
2000-11-29 19:39:30 +00:00
Alexandre Julliard
1a5e22f558 Set debugging option based on NO_TRACE_MSGS define. Only output 32-bit
relay stubs if debugging is on.
2000-11-27 23:48:08 +00:00
Francois Gouget
c87c5e3d22 The init function can be called main. 2000-11-27 01:33:55 +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
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
Hidenori Takeshima
a85b0a6d41 Added checking for mmap. 2000-11-25 23:54:12 +00:00
Alexandre Julliard
ab687979fd Moved standard syslevel APIs declaration to winbase.h.
Use exported syslevel function wherever possible.
Moved SEGPTR declaration to windef16.h.
2000-11-15 23:41:46 +00:00
Francois Gouget
7f12601969 Allow the user to stick the option and its argument together. 2000-11-15 23:12:06 +00:00
Dimitrie O. Paun
8643f4e882 Include config.h. 2000-11-15 22:14:07 +00:00
Alexandre Julliard
914406f854 Moved LDT handling to libwine.so. Changed the interface to use the
exported LDT_ENTRY structure.
2000-11-14 01:54:49 +00:00
Alexandre Julliard
745ec84c8b Export the CallFrom16xxx functions from kernel32. Renamed them
__wine_call_from_16 to follow the naming convention.
2000-11-13 04:54:45 +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
f3a15607ad Don't include wine internal functions in the relay debugging table. 2000-11-13 04:17:25 +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
Joerg Mayer
abe635cfd7 Get rid of some warnings about unused variables, signed/unsigned
comparisons and incomplete initializations.
2000-11-11 00:38:37 +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
e087508f57 Moved builtin dll registration to libwine.
Changed process initialization to not load imported dlls too early.
2000-11-08 04:33:20 +00:00