Commit Graph

626 Commits (master)

Author SHA1 Message Date
Rob Shearman 8a6f1655d8 winebuild: Declare fatal_error and fatal_perror as non-returning functions. 2008-09-30 10:20:05 -05:00
Alexandre Julliard 1abf809099 winebuild: Generate MS-style imports using the OriginalFirstThunk field. 2008-09-04 21:52:58 +02:00
Alexandre Julliard b3ec2e5f95 makefiles: Recurse into all directories for install-lib and install-dev too. 2008-08-25 14:27:03 +02:00
Alexandre Julliard b24b2d584e winebuild: Don't put the PE header in the .init section on Solaris. 2008-07-22 13:26:45 +02:00
Alexandre Julliard a3f42116da winebuild: Add Solaris as a separate platform. 2008-07-22 13:26:30 +02:00
Simon Richter 238e1868b2 winebuild: Fix import stub on ppc.
The address calculation was wrong, as the addition of the lower 16 bits
is a signed addition, so if bit 15 is set, the upper 16 bits need to be
incremented by one (so the hi portion of the symbol always references
the symbol + 0x8000).
2008-06-02 12:33:47 +02:00
Simon Richter d1e277fb70 winebuild: Fix branch mnemonic on ppc. 2008-06-02 12:33:27 +02:00
Alexandre Julliard 0c214a7091 winebuild: Add support for 16-bit exe modules. 2008-03-03 15:19:53 +01:00
Alexandre Julliard 5625c6079e Get rid of the global thread.h header. 2008-03-01 11:57:00 +01:00
Dmitry Timoshkov cf94095eb7 winebuild: Add a couple of missing indentations in the generated asm files. 2008-01-23 11:31:43 +01:00
Austin English 90f89fa74d tools: Spelling fixes. 2008-01-18 12:52:09 +01:00
Alexandre Julliard aaf02c6f4a winebuild: Don't try to use the .init section on Mac OS. 2008-01-16 20:27:35 +01:00
Alexandre Julliard 538071ce7e winebuild: Reserve the space for the PE header in the .init section. 2008-01-16 17:51:59 +01:00
Michael Stefaniuc e94bcee53f winebuild: Remove duplicate declaration of variable 'j'. 2007-12-14 12:26:14 +01:00
Alexandre Julliard b462c20876 winebuild: Don't set the IMAGE_FILE_DLL flag on native modules. 2007-12-11 14:59:54 +01:00
Alexandre Julliard 195356c098 winebuild: Also optimize out imports that are only used for forwards. 2007-12-06 21:44:45 +01:00
Alexandre Julliard e6fe7341f5 winebuild: Improved checks for missing forward entry point targets. 2007-12-06 21:43:41 +01:00
Alexandre Julliard 32fc1acb1c winebuild: Print a warning when failing to import a data export. 2007-12-06 21:43:41 +01:00
Alexandre Julliard c32e02e48d winebuild: Add a few nops to stub entry points to make Safedisc happy. 2007-11-07 20:36:04 +01:00
Alexandre Julliard 3243311214 winebuild: Add a -ordinal flag for entry points that must be imported by ordinal but exported by name. 2007-10-26 12:47:40 +02:00
Dmitry Timoshkov 6614028cd0 winebuild: Add IMAGE_FILE_32BIT_MACHINE flag for a 32-bit build. 2007-09-10 15:29:46 +02:00
Alexandre Julliard 44c9758d05 ntdll: Move private data to make room in the TEB for the activation context data. 2007-07-19 16:56:10 +02:00
Dmitry Timoshkov bb15683818 winebuild: Mark builtin DLLs as IMAGE_FILE_LARGE_ADDRESS_AWARE on a 64-bit platform. 2007-05-29 14:00:30 +02:00
Alexandre Julliard 560113b743 winebuild: Set the IMAGE_FILE_EXECUTABLE_IMAGE flag for all modules. 2007-05-24 12:54:27 +02:00
Dmitry Timoshkov 2c59a95122 winebuild: Fix compilation warnings in 64-bit mode. 2007-05-21 15:55:38 +02:00
Rob Shearman 5fcc5d3f62 winebuild: Refer to strings used in generated stubs by symbol rather than by offset to avoid problems when the compiler aligns the strings by 2 or more bytes. 2007-04-25 12:44:16 +02:00
Dmitry Timoshkov d57872567d winebuild: Check if a given forward does exist in one of the imported dlls, fix a couple of problems detected. 2007-04-09 12:19:31 +02:00
Andrew Talbot 5df3ff13e7 winebuild: Replace inline static with static inline. 2007-03-17 20:05:12 +01:00
Joris Huizer c9f1452233 winebuild: sign-compare fixes. 2007-03-05 15:31:48 +01:00
Alexandre Julliard 7035aa5041 make_makefiles: Generate the top-level .gitignore file.
Add a PROGRAMS variable in some makefiles to make things easier.
2006-12-27 21:23:36 +01:00
Alexandre Julliard 662897e9d6 winebuild: Added --nxcompat option, and mark all modules as NX-compatible by default. 2006-12-07 20:51:49 +01:00
Alexandre Julliard 813ae10f33 winebuild: Check for illegal characters in entry point names. 2006-12-04 12:23:58 +01:00
Andrew Talbot 80294709c5 winebuild: Cast-qual warning fix. 2006-10-12 11:33:09 +02:00
Alexandre Julliard 32ab895e46 makefiles: Generate the dependencies line to avoid some code duplication. 2006-09-14 09:38:16 +02:00
Andrew Talbot 0235b1bf26 winebuild: Cast-qual warnings fix. 2006-08-23 12:00:22 +02:00
Alexandre Julliard 715804999e winebuild: Added output() function to properly deal with write errors. 2006-08-11 20:41:29 +02:00
Alexandre Julliard 2886e9b0e8 makefiles: Use make dependencies to create installation directories.
This avoids a lot of redundant calls to mkinstalldirs.
2006-08-07 17:48:18 +02:00
Ge van Geldorp 7a15278504 winebuild: Save registers which might contain parameters for the function to be called. 2006-07-11 17:16:06 +02:00
Ge van Geldorp 2a8b31d162 winebuild: Reserve enough space for null function pointer. 2006-07-11 12:40:01 +02:00
Alexandre Julliard cc2b3b48e6 Take advantage of the recursive nature of .gitignore for Makefile entries.
Prefix other entries with '/' to make them non-recursive.
2006-07-10 20:47:54 +02:00
Alexandre Julliard d489a0a312 winebuild: Get rid of the data16 prefix, it shouldn't be needed anymore and causes warnings. 2006-06-19 21:16:50 +02:00
Alexandre Julliard fb15dabdcd winebuild: Fix a few printf format warnings by casting size_t. 2006-06-13 14:14:59 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Alexandre Julliard 88bf4d61c3 winebuild: Disable linking to external symbols by default. 2006-04-18 20:49:29 +02:00
Alexandre Julliard 02a9bc0094 winebuild: Fixed index in module table for delayed imports. 2006-04-18 11:23:49 +02:00
Alexandre Julliard 392933149b winebuild: Remove a no longer necessary movzwl instruction.
This could cause broken relays to be generated depending on the order
of the entry points in the relay list.
Also add a few missing tabs in the assembly output.
2006-04-05 20:02:51 +02:00
Robert Shearman 90938d6b6c winebuild: Correction for manpage.
The behaviour for winebuild is to prefer main over WinMain, not the
other way around.
2006-02-16 19:32:35 +01:00
Mike Frysinger 5392844392 Add support for 'make install DESTDIR'. 2006-02-14 13:51:38 +01:00
Alexandre Julliard 433bbdf08a winebuild: Get rid of the default ignored symbols list. 2006-01-24 12:29:31 +01:00
Alexandre Julliard 3f0a473fb7 winebuild: Always import atof, the MS version is different. 2006-01-23 11:27:04 +01:00
Marcus Meissner 1ed3ca0883 winebuild: Output a .note.GNU-stack section to allow nonexecutable stack. 2006-01-21 19:23:36 +01:00
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 4ce433d826 ntdll: Move the %gs register to the ntdll_thread_regs structure. 2006-01-20 16:54:11 +01:00
Alexandre Julliard 8651ceb18e ntdll: Make __wine_call_from_32_restore_regs take a context pointer.
Changed exception raise functions to call it explicitly.
2005-12-19 09:59:50 +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 db4c1561f2 winebuild: Allow -register flag for Win32 too.
This way it can be used as hint for the relay code.
2005-12-16 12:44:16 +01:00
Francois Gouget 5127dc9f49 Assorted spelling fixes. 2005-12-02 16:15:09 +01:00
Alexandre Julliard 0d6a305047 Preserve 16-byte stack alignment in 16-bit relays. 2005-11-28 17:39:05 +01:00
Alexandre Julliard c367dc4f2e Enforce 16-byte stack alignment when returning from 16-bit code and
when calling a register function.
2005-11-28 17:38:40 +01:00
Alexandre Julliard 0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +01:00
Alexandre Julliard cc01e8ff05 Preserve 16-byte stack alignment in the various assembly
functions. Needed for MacOSX.
2005-11-23 19:55:06 +01:00
Robert Lunnon d4c425b681 Remove SVR4 specific pseudo-ops. 2005-10-24 15:01:34 +00:00
Simon Richter 9aa432346c Fix winebuild's ppc assembly generation. 2005-10-24 15:01:18 +00:00
Alexandre Julliard 12a749984c Put Wine version information in all the man pages. 2005-10-06 16:10:01 +00:00
Alexandre Julliard 664e4106c6 Added global rules for man pages. 2005-10-06 16:06:04 +00:00
Alexandre Julliard fb3a9ed135 Fixed some nroff warnings. 2005-10-06 11:40:43 +00:00
Alexandre Julliard e86a6a2454 Get rid of the debug channels support. 2005-09-29 13:41:34 +00:00
Alexandre Julliard 75c27e17b6 Defined a proper structure for debug channels.
Also put all the function pointers inside a structure and added
__wine_dbg_set_functions to change them instead of exporting the
pointers directly.
2005-09-23 10:52:07 +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 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
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
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 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 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 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
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
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
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