Commit Graph

1759 Commits

Author SHA1 Message Date
Alexandre Julliard 210bd2dd94 Make sure that values of absolute symbols fit in 16 bits. 2005-09-21 11:10:54 +00:00
Alexandre Julliard 102617f186 Let winebuild take care of calling the assembler.
Pass -v and -save-temps options through to winebuild too.
2005-09-21 11:00:21 +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 c5c6968e96 Fixed stack offset of %eax register. 2005-09-20 11:38:29 +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 7a52190c03 Take into account -noname functions when checking for duplicate export
names. Fixed a couple of issues found by the stricter check.
2005-09-19 14:44:28 +00:00
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
Huw Davies 82f6d65b61 Update sfnt2fnt hack, now that Wine Courier is known as Courier. 2005-09-16 18:45:45 +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
Ge van Geldorp 748d23a7d4 Base of REG_DWORD entries must be auto-detected. 2005-09-14 11:15:58 +00:00
Alexandre Julliard 3a503499aa Properly handle the case where vsnprintf returns -1. 2005-09-12 20:31:33 +00:00
Robert Shearman d026458860 - Output prototypes for user marshal functions at the end of the
header and by use.
- Add support for range and ptr attributes and for the "small" base
  type.
2005-09-12 20:13:40 +00:00
Alexandre Julliard 261e376495 Fixed a number of pointer to integer conversions that wouldn't work
right on a 64-bit platform.
2005-09-12 15:14:06 +00:00
Alexandre Julliard 14e70340e2 Fixed get_time_str definition to match the prototype. 2005-09-09 09:12:27 +00:00
Vincent Béron ac3ac35f41 Update the win32.api file to current CVS. 2005-09-09 09:11:23 +00:00
Dmitry Timoshkov f861818081 Dump more .lnk file header fields. 2005-09-08 18:54:32 +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
Christoph Frick 6557832a91 Fake directx 9c instead of 9b. 2005-09-07 13:26:31 +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
Francois Gouget 09108edded 'volatile' is valid everywhere where 'const' is valid. This fixes
parsing of the new InterlockedExchange() prototype.
2005-09-06 09:23:46 +00:00
Alexandre Julliard 2aa9e201b2 Output the delayed import table using assembly too. 2005-09-03 15:39:13 +00:00
Alexandre Julliard 9bca150c0f Implemented --image-base support for Mac OS. 2005-09-03 15:12:11 +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 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 d13b99d5f9 Compute the ordinal base and limit in assign_ordinals instead of doing
it while parsing.
2005-08-29 15:15: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 9c708060d3 Use __wine_unimplemented_stub from crt0 for 16-bit spec files too. 2005-08-29 10:50:26 +00:00
Alexandre Julliard 5f95aa0c53 Get rid of the unused owner_name field. 2005-08-29 09:40:11 +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 3ccbb018a0 Added a -municode flag to winegcc for applications that have a wmain()
entry point.
2005-08-25 19:26:59 +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
Rémi Assailly c6e294deb1 Moved mciavi32 to the top-level dlls directory. 2005-08-23 19:52:30 +00:00
James Hawkins b032243bdb Register the ITStorage class. 2005-08-23 18:17:03 +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
Rémi Assailly 2e689c6c66 Removed mcianim. 2005-08-19 11:22:25 +00:00
Alexandre Julliard ec1cdfd12b Added some general purpose routines for managing list of symbol
names.
2005-08-19 10:25:22 +00:00
Huw Davies 84ae4d8bd1 Add System font for the Chinese codepages cp936 and cp950. Of course
they don't contain any ideographs (and nor should they).
2005-08-19 09:57:47 +00:00
Pavel Roskin bdf904398b sfnt2fnt exits with code 0 for several errors, which causes make to
ignore them.  Use exit code 1 instead.
2005-08-18 10:49:37 +00:00
Rémi Assailly 5df5e40164 Moved mciseq to the top-level dlls directory. 2005-08-17 12:15:35 +00:00
Francois Gouget 71af595499 Use LPSTORAGE to better match the PSDK.
Document the real SEGPTR type using the standard documentation
mechanisms. Fixes winapi_check warnings.
2005-08-16 16:01:15 +00:00
Alexandre Julliard 19c1af5b01 Set the default system dir to windows/system32. 2005-08-15 14:53:35 +00:00
Francois Gouget bcd56fe0e5 Assorted spelling fixes. 2005-08-12 18:22:06 +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
Mike McCormack 8e5c32acbd Partial implementation of DllRegisterServer. 2005-08-12 11:20:26 +00:00
Steven Edwards 779f4d0019 Correct size check. 2005-08-11 10:33:29 +00:00
Vincent Béron be3837e95b Correct a typo in winapi_local.pm. 2005-08-11 10:32:10 +00:00
Vincent Béron 85c8a9ef8e Another update to win*.api. 2005-08-11 10:32:02 +00:00
Alexandre Julliard 88aa4b524d Byteswap the resources if we detect that the header is in the wrong
endianness.
2005-08-10 13:04:23 +00:00
Vincent Béron a25f8c49b6 Another update to the win*.api files. 2005-08-10 09:48:43 +00:00
Vincent Béron 49f3c2aeec Since windows/ is gone, headers for user are only in
dlls/user/. Remove kludge from winapi_check.
2005-08-10 09:48:31 +00:00
Alexandre Julliard 866f52bce1 Ignore prelink failures. 2005-08-09 20:47:18 +00:00
Alexandre Julliard adbb098837 Added support for the --image-base linker option in winegcc using the
prelink tool.
2005-08-09 11:12:29 +00:00
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
Mike McCormack 4f995bd6e6 gcc 4.0 warning fix. 2005-08-08 17:58:41 +00:00
Detlef Riekenberg 0596fe152f Added exe extensions for mingw32. 2005-08-08 15:02:29 +00:00
Vincent Béron 7257b70718 Remove WINE_PACKED recognition.
Update various winapi parser regular expressions to let it understand
some Wine constructs.
2005-08-08 11:06:24 +00:00
Vincent Béron eca5bd48bb Update win16.api/win32.api to current CVS. 2005-08-08 11:06:14 +00:00
Vincent Béron 52dbbafaaa Remove WINE_UNUSED checks. 2005-08-08 11:06:02 +00:00
Alexandre Julliard 49b7fdcfc0 Removed the broken mmap64 configure check, and moved the
_FILE_OFFSET_BITS define to wine/port.h. Made sure that all files that
need the define include it.
2005-08-03 21:25:10 +00:00
Robert Shearman 4e7628ffb1 - The header global variable is NULL when not generating a header so
don't try to use it in functions that may be called by the client
  code.
- Make the functions that take char * take const char *.
2005-08-03 14:55:22 +00:00
Alexandre Julliard 830d1edb9d Automatically generate the list of error names in make_requests. 2005-07-29 14:49:05 +00:00
Rémi Assailly dbbd0d5115 Moved mcicda to the top-level dlls directory. 2005-07-27 15:42:40 +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
Vincent Béron 06153098b8 Make winapi_check learn to parse some constructs with some rarely used
keywords.
2005-07-24 17:09:37 +00:00
Vincent Béron a9038b5584 Remove old stuff from winapi_check. 2005-07-24 16:14:49 +00:00
Francois Gouget 96a31515c6 Update win32.api to match the current sources. 2005-07-22 19:48:33 +00:00
Stefan Huehner b8585b8d0c Change some char* to const char* to fix warnigns. 2005-07-21 11:59:11 +00:00
Stefan Huehner 76fdac0368 Fix some -Wsign-compare warnings. 2005-07-21 11:58:39 +00:00
Rémi Assailly f9f5eaab6e Moved midimap to the top-level dlls directory. 2005-07-21 11:31:56 +00:00
Kevin Koltzau 4029ee29a4 Add support for dumping 64bit PE files. 2005-07-19 11:44:44 +00:00
Stefan Huehner 737978a833 Fix a -Wsign-compare warning. 2005-07-14 12:18:38 +00:00
Steve Zellers e51ffce568 Fixed leftover import table name in output_import_thunk. 2005-07-13 11:39:12 +00:00
Stefan Huehner f4285e68fe Fix some -Wsign-compare warnings. 2005-07-13 11:29:10 +00:00
Francois Gouget 50f7733059 Add missing types to win32.api. 2005-07-11 10:56:41 +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
Vincent Béron f4ab6de6c0 Clean wineinstall from config file references. 2005-07-05 10:58:20 +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
Mike McCormack b8fc783be2 Avoid warnings in generated tests by casting sizeof(x) to an int. 2005-07-03 11:23:30 +00:00
Alexandre Julliard dd41c12dff Added dumping of NE segments and relocations. 2005-07-01 19:23:39 +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
Alexandre Julliard 52788d1f1c Added support for HTML resource type. 2005-06-30 20:58:52 +00:00
Francois Gouget 02c25a8981 Assorted spelling fixes. 2005-06-30 18:19:33 +00:00
Stefan Huehner 4d11eba003 Fix some -Wsign-compare warnings. 2005-06-30 18:10:08 +00:00
Jacek Caban 6580ae03ed '.' is a valid char of tIDENT. 2005-06-30 18:09:39 +00:00
Francois Gouget 355f01275e Update win32.api to match current sources. 2005-06-30 18:08:25 +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
Huw Davies a2051075fe Update the import table code to eliminate a few magic constants. 2005-06-29 19:18:41 +00:00
Alexandre Julliard 7b077dfac4 Run make clean in the winapi subdir too. 2005-06-28 19:38:55 +00:00
Huw Davies a2c58e238f Add comments describing the first DWORD in an import table entry. 2005-06-28 13:52:23 +00:00
James Hawkins 996bcc5c40 Add some missing types to win32.api. 2005-06-28 10:54:18 +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
Eric Pouech 809edabfbe Const correctness fixes. 2005-06-27 09:53:46 +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
Jacek Caban 4378e7731c Added mshtml.dll registration to wine.inf.
Removed keys that are registered by mshtml.dll.
2005-06-25 17:58:58 +00:00
Pierre d'Herbemont 804d474dd1 Change headers to <windows.h> in order to prevent a compilation
failure with generated files on Darwin.
2005-06-24 11:33:46 +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
Mike McCormack 8dd7f06e3a Fix declarations. 2005-06-23 09:48:15 +00:00
Mike McCormack a6dd1258b9 Move function prototypes to header. 2005-06-22 11:59:18 +00:00
Stefan Huehner ac6f562b52 Fix more -Wstrict-prototypes warnings. 2005-06-20 14:18:03 +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
Saulius Krasuckas e76d25f68c Sync msvcmaker with make_ctests to generate valid code. 2005-06-20 10:30:31 +00:00
Francois Gouget 162adc4254 Update the win(16|32).api files to match the current sources. 2005-06-17 21:31:17 +00:00
Francois Gouget fd73829593 Fix the prototypes of SQLCreateDataSource*(), SQLGetPrivateProfileString*().
Fix the return type of SQLInstallerError*() and
SQLPostInstallerError*().
Fix the SQLInstallDriver() and SQLInstallDriverEx() prototypes in the
spec file.
Add an odbccp32 section to win32.api for winapi_check.
2005-06-17 21:26:31 +00:00
Francois Gouget 483bce1dae Fix the FreeADsMem() prototype.
Add an activeds section to win32.api for winapi_check.
Fix a documentation warning.
2005-06-17 20:56:21 +00:00
Francois Gouget ba0b5a8ca1 Remove a check for obsolete directory and file special cases. 2005-06-17 20:55:07 +00:00
Francois Gouget d7d68dba23 We should set the global $all_modules variable otherwise there's no
point.
2005-06-17 20:54:55 +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
Maarten Lankhorst bae4a54539 Register qcap.dll on wine initialisation. 2005-06-16 09:42:54 +00:00
Stefan Huehner e546238c7e Fix some -Wmissing-declarations by making functions static. 2005-06-15 18:10:39 +00:00
Alexandre Julliard ac75dcc240 Avoid static forward declaration that doesn't work on MSVC. 2005-06-15 10:22:59 +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 dae2b44263 Fixed a number of references to removed directories. 2005-06-09 10:24:51 +00:00
Mike McCormack 54fc5edd52 Dump out the msi information in more detail. 2005-06-09 09:48:02 +00:00
Robert Shearman 33b09d457f Add more struct types for TLB generation. 2005-06-09 09:45:26 +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
Lionel Ulmer 9da4893326 Added keys to install all known DPlay service providers. 2005-06-03 11:26:46 +00:00
Alexandre Julliard 9c04ad7439 Workaround to allow using the async keyword as method name. 2005-05-26 12:22:28 +00:00
Alexandre Julliard 0bfa0b80b0 Better support for building stand-alone tests. 2005-05-25 09:57:07 +00:00
Hans Leidekker 97d1b11ebd Fix uninitialized warnings. 2005-05-24 12:34:29 +00:00