1
0
mirror of https://git.code.sf.net/p/mingw-w64/mingw-w64 synced 2025-04-18 17:44:18 +03:00

321 Commits

Author SHA1 Message Date
Jacek Caban
1eb8ed2fbd widl: Import Wine version 1.4 (099e35983ff768b5).
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2025-04-04 11:48:12 +02:00
Pali Rohár
3c8e926c8d gendef: Remove trailing space in generated def file
Signed-off-by: Martin Storsjö <martin@martin.st>
2025-03-19 23:43:45 +02:00
Jacek Caban
b6c9093ebc widl: Import Wine version 10.3.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2025-03-10 13:29:54 +01:00
Jacek Caban
1e8665a65f genpeimg: Regenerate configure with autoconf 2.72
Includes support for ARM64EC targets in config.guess.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2024-12-12 18:47:30 +01:00
Jacek Caban
6c81426a8b widl: Regenerate configure with autoconf 2.72
Includes support for ARM64EC targets in config.guess.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2024-12-12 18:47:30 +01:00
Jacek Caban
87a5846372 widl: Import Wine version 10.0-rc1.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2024-12-12 11:23:21 +01:00
Pali Rohár
a8c58ad2a7 gendef: Recognize PE binaries which do not have all Data Directories
PE format allows to have variable length of Data Directories in PE Optional
Header. The exact number of Data Directories is stored in NumberOfRvaAndSizes
field. Size of the optional header depends on the number of Data Directories.

Constants IMAGE_SIZEOF_NT_OPTIONAL32_HEADER and IMAGE_SIZEOF_NT_OPTIONAL64_HEADER
are for PE images with all 16 Data Directories. And so cannot be used for
checking validity of SizeOfOptionalHeader.

Older PE linkers were generating PE binaries with less number of Data
Directories than 16 if trailing entries were empty. And gendef cannot
recognize such PE binaries.

Relax check for PE SizeOfOptionalHeader field. Allow any number of Data
Directories in PE Optional Header, including zero.

At the same time add checks for NumberOfRvaAndSizes member before
dereferencing DataDirectory[] array, which ensures that the entry is present.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-12-11 23:30:37 +02:00
Jacek Caban
b6cc4d5cba widl: Import Wine version wine-9.20.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2024-10-18 23:16:01 +02:00
Jacek Caban
e83d045c23 widl: Update to Wine version 658df7f2121d4d.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2024-09-29 21:11:46 +02:00
Jacek Caban
87a12996ef widl: Updated to Wine version a4e77b33f6897d930261634c1b3ba5e4edc209f3.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2024-09-25 12:22:29 +02:00
Jacek Caban
a5027b0943 widl: Remove no longer used pathtools.c.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2024-09-17 00:44:14 +02:00
Jacek Caban
340bd632cf widl: Remove no longer needed BIN_TO_INCLUDEDIR.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2024-09-17 00:44:14 +02:00
Jacek Caban
a5150c011f widl: Update to current Wine version.
Includes adjustments to relocable patch to use upstream relocable install support.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2024-09-17 00:43:21 +02:00
Martin Storsjö
1c506e8940 gendef: Regenerate configure
Signed-off-by: Martin Storsjö <martin@martin.st>
2024-07-24 13:11:17 +03:00
Pali Rohár
8cde1a6725 gendef: Increase gendef version number to 1.1
Signed-off-by: Martin Storsjö <martin@martin.st>
2024-07-24 13:11:17 +03:00
Pali Rohár
a0a52fc204 gendef: Fix generating ordinal-only exports
When using GNU ld or GNU dlltool, it is needed to mark ordinal-only export
with NONAME keyword. Otherwise the import library would use export by name,
instead of by ordinal.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-07-24 13:11:17 +03:00
Pali Rohár
251b6394a5 gendef: Update Check!!! comment about return value
This code block detected that the return value is from other library
function. It does not mean that function forwards to another one.

For example lot of times gendef detected that the call is GetLastError()
from kernel32.dll. But it does not mean that the function was forwarded to
GetLastError(). It just means that one of the code branch was propagating
return value from GetLastError().

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-07-24 13:11:17 +03:00
Pali Rohár
3a2ac9a216 gendef: Add new option --no-include-current-dir
gendef by default always scans current directory for other hint .def files
which are later parsed. This default behavior is sometimes problematic, so
add an option --no-include-current-dir which disables scanning of the
current directory for other hint .def files.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-07-24 13:11:17 +03:00
Pali Rohár
2ff2b1c8d8 gendef: Show comment how to process generated def file
Generated file has be processed by --kill-at (-k) option of dlltool
or ld.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-07-24 13:11:17 +03:00
Pali Rohár
f35e3abb8c gendef: Recognize decorated I386 fastcall function exports
Decorated I386 fastcall functions have symbols with "@NAME@SIZE" pattern.

Normally function symbols from libraries are exported undecorated, symbol
name matches the function name. But some libraries export I386 fastcall
functions with decorated symbol names.

For example msvcr80.dll library exports symbol "@_calloc_crt@8" for which
gendef without this change generates line "@_calloc_crt@8@8", which cannot
be easily used by applications. With this change it generates line
"@_calloc_crt@8 == @_calloc_crt@8" which allows applications to call
fastcall function _calloc_crt(void *ptr, size_t size).

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-07-24 12:37:20 +03:00
Pali Rohár
4bd6b87e9c gendef: Recognize decorated I386 stdcall function exports
Decorated I386 stdcall functions have symbols with "_NAME@SIZE" pattern.

Normally function symbols from libraries are exported undecorated, symbol
name matches the function name. But some libraries export I386 stdcall
functions with decorated symbol names.

For example msvcrt20.dll library exports symbol "__seh_longjmp_unwind@4"
and gendef without this change generated line "__seh_longjmp_unwind@4@4",
which cannot be easily used by applications. With this change it generates
line "_seh_longjmp_unwind@4 == __seh_longjmp_unwind@4" which allows
applications to call stdcall function _seh_longjmp_unwind(void *jmp).

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-07-24 12:37:20 +03:00
Pali Rohár
b2b319d518 gendef: Recognize I386 PE with zeroed NT magic
binutils (objdump) accepts PE binaries (EXE/DLL) with zero value in
OptionalHeader's Magic field. Do same in gendef. Such I386 DLL binaries are
distributed as part of the Win32s.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-07-24 12:37:20 +03:00
Pali Rohár
ad8edb65bc gendef: Show gendef version in generated file and also in help
Signed-off-by: Martin Storsjö <martin@martin.st>
2024-07-24 12:37:19 +03:00
Jacek Caban
b18c569f47 widl: Updated to Wine version 69e3c712dca9cc697830c74725e07daa46d23bdf.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2024-07-06 10:54:14 +02:00
Jacek Caban
cc1bb92a97 widl: Update to current Wine version.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2024-05-15 23:10:43 +02:00
Jacek Caban
030497761c widl: Update to current Wine version.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2024-05-04 12:49:17 +02:00
Jacek Caban
0721caf05e widl: Update to current Wine version.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2024-04-16 12:06:54 +02:00
Jacek Caban
bc45a0a77a widl: Update to current Wine version.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2024-04-05 11:26:05 +02:00
Jacek Caban
acffed9304 widl: Update to current Wine version. 2024-03-22 12:47:55 +01:00
Jacek Caban
a18c5ba469 widl: Update to current Wine version.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2024-03-18 22:21:47 +01:00
Martin Storsjö
986e0ba679 tools: Regenerate Makefile.in
Signed-off-by: Martin Storsjö <martin@martin.st>
2024-02-08 15:22:52 +02:00
Martin Storsjö
3507c491c3 tools: Remove hardcoded use of -Werror
By hardcoding the use of -Werror, we risk that the build can break
on any newer (or older) toolchain which can give warnings for
unexpected issues.

Fixing such issues is of course desired, but we shouldn't be breaking
the build universally, unless the user explicitly has asked for
this behaviour.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-02-08 15:22:49 +02:00
Martin Storsjö
202e375b74 gendef: Remove printing __DATE__, to improve build reproducibility
This tool isn't evolving particularly much at the moment, so the
additional value of knowing when a particular version was built
doesn't give much extra value.

Normally, a stripped build of gendef (on Linux) produces a binary
with the exact same hash each time. Using __DATE__ breaks that
reproducibility, if rebuilt on different days. It is possible to
avoid the issue by setting SOURCE_DATE_EPOCH to a fixed value when
building, but in this case, I think the printed date doesn't add much
value, so we could simply remove it. Most other similar tools don't
contain such printouts.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-02-06 11:33:58 +02:00
LIU Hao
b4515a6935 Regenerate configure with autoconf 2.72
Reference: https://sourceforge.net/p/mingw-w64/mailman/message/58721403/
Signed-off-by: LIU Hao <lh_mouse@126.com>
2024-01-09 22:26:23 +08:00
Jacek Caban
95a2cf4b72 widl: Update to current Wine version.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2023-12-22 12:05:36 +01:00
Jacek Caban
48b2c1b278 widl: Update to current Wine version.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2023-11-29 18:46:43 +01:00
LIU Hao
3ebb92804e Regenerate autotools scripts with automake 1.16.5
This is done by running `WANT_AUTOMAKE=1.16 autoreconf -ifv` in the top
directory.

Signed-off-by: LIU Hao <lh_mouse@126.com>
2023-11-17 13:14:02 +08:00
LIU Hao
b6de4efae6 Run autoreconf -ifv in top directory
Reference: https://sourceforge.net/p/mingw-w64/mailman/message/51784428/
Signed-off-by: LIU Hao <lh_mouse@126.com>
2023-11-16 22:44:40 +08:00
Jacek Caban
0d4af3d82f widl: Update to current Wine version. 2023-11-09 11:37:02 +01:00
Martin Storsjö
d6c07d9561 Revert commit f86c3e7bbd88d755bc8ab0f467b486bf475656a1
This was pushed accidentally as part of an earlier branch, updating
files with a slightly different version of tools than what has been
used before.
2023-10-27 21:02:54 +03:00
Martin Storsjö
f86c3e7bbd autoreconf 2023-10-26 12:02:51 +03:00
Jacek Caban
431747fd5f widl: Update to current Wine version.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2023-10-11 11:57:09 +02:00
Jacek Caban
61f3f1ac7f widl: Updated to current Wine version.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2023-09-21 17:04:06 +02:00
Martin Storsjö
20702f54dc tools: Remove the unused tool genlib
This tool was meant as a standalone replacement for dlltool,
for generating import libraries, but it never got feature parity
(in particular, it lacked support for generating symbol aliases,
which are cruicial for the core mingw-w64-crt import libraries).

The same author later created llvm-dlltool which fulfilled the
niche which genlib initially was meant to handle, effectively
orphaning genlib.

The last update to the source is in 2015, and no known third party
build configurations actually use this tool. (Although some might
be building the tool even if it isn't used; such builds will need
to be updated though.)

Signed-off-by: Martin Storsjö <martin@martin.st>
2023-09-08 10:40:26 +03:00
Jacek Caban
f6a3cec1ee widl: Update to current Wine version
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2023-08-27 12:52:27 +02:00
Jacek Caban
0362ce1538 widl: Update to current Wine version.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2023-08-15 21:01:48 +02:00
Jacek Caban
f12e69344f widl: Update to current Wine version.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2023-07-13 20:36:42 +02:00
Jacek Caban
1d28eb2ad0 widl: Update to current Wine version.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2023-06-03 19:25:49 +02:00
Jacek Caban
6a0bbbf931 widl: Update to current Wine version.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2023-04-13 23:42:58 +02:00
Jacek Caban
6da71c3ae1 widl: Update to current Wine version. 2023-04-10 12:18:14 +02:00