Commit Graph

1711 Commits

Author SHA1 Message Date
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 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