Commit graph

664 commits

Author SHA1 Message Date
winesync 13d60fef36 [WINESYNC] dbghelp: Get rid of get_dyld_image_info_address.
We should get the address from PEB anyway.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f2b8af7e7e159a5259aaab42169c4f8220b121eb by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:55 +02:00
winesync 7a5f84b3a8 [WINESYNC] dbghelp: Don't use _NSGetExecutablePath in macho_search_loader.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id dab78486d3d0063e32e99fb795311b74eb632d3a by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:55 +02:00
winesync ad13638bd6 [WINESYNC] dbghelp: Use local constants definitions instead of mach-o/loader.h.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e341bd7fe4f2572597ee10cbed5bb2a76ddcc03a by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:55 +02:00
winesync 1358cd2d9b [WINESYNC] dbghelp: Don't use stdint.h types.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1420e64e5f1df4c8bbb016d1b8ff71337cda4884 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:55 +02:00
winesync 95450374ac [WINESYNC] dbghelp.c: Use local mach header declaration.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0c56a8f87bac01488349af0ffe3923a1672e72a0 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:55 +02:00
winesync 92dc946e86 [WINESYNC] dbghelp: Use local symtab and segment commands declarations.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7b2e53f5b550e8a4d844c5e74941b02d1c770b0b by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:54 +02:00
winesync 63f681c1e6 [WINESYNC] dbghelp: Use local fat header declaration.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8230889f1f2e545222f3a51ba9b47fa02196eb98 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:54 +02:00
winesync eff9360f47 [WINESYNC] dbghelp: Use local macho section declaration.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 64341284c58bcc22f13f8146bcb6c8a08c0c4ff2 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:54 +02:00
winesync 739259ac2f [WINESYNC] dbghelp: Use local macho load command declaration.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c695e7e99e0a06b6039d46f98fea35c363aa6cbe by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:54 +02:00
winesync 00783527e0 [WINESYNC] dbghelp: Don't store entire mach header in image_file_map.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7254579417f337063734933975b25d21da4d31f3 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:54 +02:00
winesync 45b55dc9b2 [WINESYNC] dbghelp: Don't use system headers for ELF declarations.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b664ae8e60e08224cdc3025c28a37cb22356aaa4 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:53 +02:00
winesync 9228b75d7f [WINESYNC] dbghelp: Use local ELF constants definitions.
Based on glibc.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 56f2b950c3a090d1951edd687e1c6e9ed9388732 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:53 +02:00
winesync d8cc719cb4 [WINESYNC] dbghelp: Don't use ELF32_ST_BIND and ELF32_ST_TYPE macros.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6fde25300d6c93290887e47c3c4bfd55a948609b by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:53 +02:00
winesync 345ffb9a3c [WINESYNC] dbghelp: Inline ELF magic constants.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 66ab2c503de6d39f1a0256d66511da05d326ac5e by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:53 +02:00
winesync 9e0f62624e [WINESYNC] dbghelp: Use local symbol table entry declaration.
Based on glibc.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7b12b1849c711476b64b3ed6bc60805ff8f2715f by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:53 +02:00
winesync 44ef7f5ff5 [WINESYNC] dbghelp: Use local dynamic section entry declaration.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 849cf6ed514aaa5071e61dc471dca6be1d58393f by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:53 +02:00
winesync 582c24d09a [WINESYNC] dbghelp: Use local ELF program segment header declaration.
Based on glibc.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 186d610442e1db009e40945fc4725c43ea8721ab by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:53 +02:00
winesync 2a7f64af1f [WINESYNC] dbghelp: Use local elf_section_header declaration.
Based on glibc.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a6f0fe8d1ca16243771784ec34c49453c96e6479 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:52 +02:00
winesync 6c0765a0ec [WINESYNC] dbghelp: Use local elf_header declaration.
Based on glibc.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 78845911da06fc75c6d74237f816a1547c24b20b by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:52 +02:00
winesync 8f9ab8954d [WINESYNC] dbghelp: Use local declarations of r_debug and link_map structs.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 11ea231501f4f2a54433031ada21052d81641fee by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:52 +02:00
winesync 72a0721cf7 [WINESYNC] dbghelp: Use local AT_SYSINFO_EHDR definition.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 620019fd71fd519470b4d624949a74fba9f350e9 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:52 +02:00
winesync 77888f05a4 [WINESYNC] dbghelp: Don't use *_NULL constants.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ee34cf365d34b23669c2ead03b040f09b7fb1e2b by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:52 +02:00
winesync eed384bb16 [WINESYNC] dbghelp: Use local NOTE_GNU_BUILD_ID declaration.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2534c2a2d22d3c610ffdfbb6b33e0b5176509aa1 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:52 +02:00
winesync aa015b65dc [WINESYNC] dbghelp: Fix misleading indentation warning.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 94ad6bd2e66f589303fe9102b9a81b1f3e8ea9c6 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:51 +02:00
winesync 36388062cd [WINESYNC] dbghelp: Pass stab size to stabs_parse.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9c2cedabc7c7b48c4f9042d444c45a3036cfd4be by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:51 +02:00
winesync 7fa8c40ed5 [WINESYNC] dbghelp: Use local declaration for 64-bit macho nlist.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f48f8cc39980f2d93015ecd56f28e3e9f52843fe by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:51 +02:00
winesync 43384a1d3c [WINESYNC] dbghelp: Use local stab_nlist declaration in macho_module.c.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 061146c2ab530a54f8323331e88c5771dd7bba49 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:51 +02:00
winesync 2d57c6b88f [WINESYNC] dbghelp: Clear N_PEXT flag of stab type in macho files.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 47f1c5a993ed34e5f1e4783360019613d0f9682a by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:51 +02:00
winesync e99c66b8bc [WINESYNC] dbghelp: Provide N_PEXT and N_SECT defines when not available.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 208719a7507c41b77d3db9f6b8ffbcc5a4e02f3d by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:51 +02:00
winesync d6dca1da17 [WINESYNC] dbghelp: Use DWARF registry mapping quirk only for actual macho modules.
Fixes handling DWARF in PE on macOS.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3b6c268380d703079fa3c5ca06f67b6feb02487f by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:50 +02:00
winesync 0b8d0e0a61 [WINESYNC] dbghelp: Pass module to map_dwarf_register.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5d8067c6088a30cdb4fe6945e6ae1cda0da85467 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:50 +02:00
winesync e656f48c38 [WINESYNC] dbghelp: Define NT_GNU_BUILD_ID regardless of whether __ELF__ is defined.
Signed-off-by: Gerald Pfeifer <gerald@pfeifer.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f7a091af4812ef692fb2b1ec835b8146668aec5c by Gerald Pfeifer <gerald@pfeifer.com>
2020-09-16 10:35:50 +02:00
winesync 9b31d0349d [WINESYNC] dbghelp: Use LONG_PTR instead of long type.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f803da493aeb4cf118fb9b076e8042c2535fbcdb by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:50 +02:00
winesync 31d5e64eb8 [WINESYNC] dbghelp: Remove unused code in module_find_cb.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8d702a3aa54fc61bd146f584e66364a12a0ee3a0 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:50 +02:00
winesync e0db46fa2e [WINESYNC] dbghelp: Move reading debug base address from PEB to check_live_target.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e3354e44f17d74f0ac4547d8a4494c83ea3d6d37 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:50 +02:00
winesync ab49d97a84 [WINESYNC] dbghelp: Use PE type for virtual modules.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 635506921a28c65bfc9b339d59c63d96092d97d8 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:50 +02:00
winesync 065f0d9772 [WINESYNC] dbghelp: Explicitly pass file type to path_find_symbol_file.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c8b5a3be55963fcda51b8e13c10bcd45ecc4bc97 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:49 +02:00
winesync 87c943516f [WINESYNC] dbghelp: Use loader_ops for load_debug_info.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a676c5785ea56fede37370cd6d5e4508e9d8c62a by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:49 +02:00
winesync f308fa857b [WINESYNC] dbghelp: Use loader_ops for load_module.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5ae3f969d4ec525a14a8109a5ee4c5a2e2238405 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:49 +02:00
winesync afc1e47291 [WINESYNC] dbghelp: Use loader_ops for enum_modules.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 16a3481bd22243183281c60ff375d4e61d5c4198 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:49 +02:00
winesync df9fadccb3 [WINESYNC] dbghelp: Pass process struct to image_uses_split_segs.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2a5160c4f2eb80dcc8770cd10d702a5d8233314f by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:49 +02:00
winesync ba7ee56d52 [WINESYNC] dbghelp: Use loader_ops for fetch_file_info.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1bbd54409a546c26af8ac2a64f2603114d73a18c by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:49 +02:00
winesync f9b46d2c9f [WINESYNC] dbghelp: Don't use elf_fetch_file_info and macho_fetch_file_info in module_find_cb.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id adecdb1d01487af16f5f708ae92a05ba4707187e by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:48 +02:00
winesync 031700a760 [WINESYNC] dbghelp: Introduce loader_ops to abstract platform-specific loader and use it to synchronize module list.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fec0157585e9d8bd03a8a71d1ed9b9d7ca59cb56 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:48 +02:00
winesync 86173a5f26 [WINESYNC] dbghelp: Move loader search functions to the end of module files.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f30fdd1822462326d3339a21b838d28b623e6486 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:48 +02:00
winesync 58c50e916e [WINESYNC] dbghelp: Pass process struct to elf_enum_modules and macho_enum_modules.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 724f433f39f71e8869c49a5960364c5669759b08 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:48 +02:00
winesync ca7d01b33f [WINESYNC] dbghelp: Store process struct pointer in dump context.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6b3018d03da983050516821caa2aada2f4814678 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:48 +02:00
winesync fbc5f830fc [WINESYNC] dbghelp: Use search_dll_path to load seach macho files.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id be9072ec743e22ed6a20288e5539b8ba307f9280 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:48 +02:00
winesync 8194b5dee6 [WINESYNC] dbghelp: Use search_unix_path to load seach macho files.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c3bb866bfc53b8c3b7b7355cb8311325a40a0a6b by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:47 +02:00
winesync 73bb9b5ffd [WINESYNC] dbghelp: Introduce search_unix_path helper and use it in elf_search_and_load_file.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ca49552f646bf30b492da4668745f9f65b9de18d by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:47 +02:00
winesync bf9bb9c911 [WINESYNC] dbghelp: Use search_dll_path in elf_search_and_load_file.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ee5d29b7aa85c109bf9ad5ac59fbe484f53da0ea by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:47 +02:00
winesync e01d28abd8 [WINESYNC] dbghelp: Make dll builtin PE path search helper more generic.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 21af2e194792aaa263c144c8fb42fe678ad2ecd7 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:47 +02:00
winesync 981f24bd1a [WINESYNC] dbghelp: Use file_name helper in more places.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 77e880e6d22ef9be031f783fbb4b6a5e8c8826e8 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:47 +02:00
winesync eaa0c1a8d7 [WINESYNC] dbghelp: Rename helpers to make unicode variants default.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 63d41a41f21c4d9f32b484d6c7ed78c9d7b2a48d by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:47 +02:00
winesync cf4c36cd26 [WINESYNC] dbghelp: Use page size from sysinfo.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1ece841d9354296f374228b9e16246a076f57196 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:47 +02:00
winesync e2e4ea2f5f [WINESYNC] dbghelp: Call GetSystemInfo in DllMain.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7544b9f6fb0bf39c714452968e20e478efaa104a by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:46 +02:00
winesync 6a54330242 [WINESYNC] dbghelp: Use Windows API to map macho files.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ebf57f01f4890b726a0af702ab7751258f5ab03d by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:46 +02:00
winesync 429c6cd3aa [WINESYNC] dbghelp: Lookup real image paths in image_locate_debug_link.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 838de56e0ac5b91e2ffa27a696d33e0f09179b2e by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:46 +02:00
winesync 5768b7b75c [WINESYNC] dbghelp: Support PE debug link files.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2642f43eabe6c61341daee24487372b57723894d by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:46 +02:00
winesync 710c080147 [WINESYNC] dbghelp: Support GNU debug link and build id in PE files.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0dd495868846f30d9bb8f15f389d2b1ff6f383cb by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:46 +02:00
winesync ebdb2b35d9 [WINESYNC] dbghelp: Move elf_check_alternate implementation to module.c.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4694801e4f58f0e856327d251ac98cfb573fd83b by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:46 +02:00
winesync 1a2b28fc64 [WINESYNC] dbghelp: Move get_dos_file_name to path.c.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d38682397997c56359f6d161467a56ffe5bfa9fa by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:45 +02:00
winesync 56b57ef7c5 [WINESYNC] dbghelp: Use elf_check_debug_link in elf_locate_build_id_target.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 171c6fadab8eb444968c1b3a4b364e2e978a639a by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:45 +02:00
winesync 3d39743d1b [WINESYNC] dbghelp: Check checksum before mapping elf file.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c1d867fa872fafe1e6cc54ba6da63868fb7a4a6f by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:45 +02:00
winesync 9743bd26bd [WINESYNC] dbghelp: Pass module struct to elf_locate_debug_link.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5ba1c5960e716bdec9052efeb9f3ddfba3cf9e0c by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:45 +02:00
winesync f71124fa11 [WINESYNC] dbghelp: Support Windows paths in elf_locate_debug_link.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e1b28a9c988ef0ff49d7254fd7ba05316f1c9b98 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:45 +02:00
winesync 9a74d137ed [WINESYNC] dbghelp: Move HANDLE-based crc32 helper to dbghelp.c.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a5a6b0dcb65d8e3576e34d350c80f4789dcfdb7a by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:45 +02:00
winesync 6a1595b09d [WINESYNC] dbghelp: Introduce generic image_unmap_file.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1d96af362789aa8aaa0be94a046b0afba2ecefb3 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:45 +02:00
winesync fff3c0ca2c [WINESYNC] dbghelp: Use vtbl to handle different image_file_map types.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 95a5f8296188d7dd8ffb86afd4f0c3280e2f5656 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:44 +02:00
winesync 2fc432db92 [WINESYNC] dbghelp: Move alternate file map pointer to generic image_file_map.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 02dfd959ca6f2295ca279ab65f6b6429cd53673c by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:44 +02:00
winesync bf6f0cfe9b [WINESYNC] dbghelp: Use generic image_find_section in elf_check_alternate.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a3e1c7fa02351b032de60fc2a685f14e9f7308fe by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:44 +02:00
winesync 4fc82fc5bd [WINESYNC] dbghelp: Use Windows API to map ELF files.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a60b3985bf37827fd0b0f7583c31dcf52069b4a8 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:44 +02:00
winesync c82f34344e [WINESYNC] dbghelp: Search also real path location in path_find_symbol_file.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d731208602393877709d3bb0bdeb28c80f9719b0 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:44 +02:00
winesync 95f6a74d85 [WINESYNC] dbghelp: Try loading builtin modules from unix installation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e21b61392cbc3a4879f837316c869c44b8dcf685 by Jacek Caban <jacek@codeweavers.com>
2020-09-16 10:35:44 +02:00
winesync a6145efdfd [WINESYNC] dbghelp: Use RtlImageDirectoryEntryToData in pe_load_msc_debug_info.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7e16acf3806f9e810884d710c640f5f82c158093 by Piotr Caban <piotr@codeweavers.com>
2020-09-16 10:35:43 +02:00
winesync e27e4dbaee [WINESYNC] dbghelp: Support 32 and 64-bit binaries in ImageDirectoryEntryToDataEx.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ab4c64a4093b98ca7a74ec29a9d947333791b26d by Piotr Caban <piotr@codeweavers.com>
2020-09-16 10:35:43 +02:00
winesync b7d8c1b1c2 [WINESYNC] dbghelp: Look for .eh_fram if no .eh_frame is found.
lld produces these, because '.eh_frame' misses the eight-character limit
by one character, but '.eh_fram' does not. This allows it to avoid
producing a string table for this common section.

Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8000b5415d2c249176bda3d8b49f8fc9978e1623 by Chip Davis <cdavis@codeweavers.com>
2020-09-16 10:35:43 +02:00
winesync dfead9b2ca [WINESYNC] dbghelp: Fix MiniDumpWriteDump spec file entry.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7a567d1bb00ea2cdac0e972220b1985800ab445e by André Hentschel <nerv@dawncrow.de>
2020-09-16 10:35:43 +02:00
winesync 82a89ba33c [WINESYNC] dbghelp: Fix reading the target's dyld image info, based on its CPU architecture.
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4b9defe09a24e77547cde4e8211f701a4984681b by Ken Thomases <ken@codeweavers.com>
2020-09-16 10:35:43 +02:00
winesync 30e30ca49a [WINESYNC] dbghelp: Fix reading the address of the target's dyld image info from its PEB.
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 28a25b052d21a9e2e4fc3c7790711b290d44a488 by Ken Thomases <ken@codeweavers.com>
2020-09-16 10:35:43 +02:00
winesync 910ece9f87 [WINESYNC] dbghelp: Avoid dead assignment (scan-build).
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ae6e4017548fc30bf5220bebc674230dc4ccfe06 by Alex Henrie <alexhenrie24@gmail.com>
2020-09-16 10:35:42 +02:00
winesync b66bb64916 [WINESYNC] dbghelp: Prevent an invalid memory access when the search path element is empty.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d263ba97fb7c9ada7ae847909f35cbf5db671216 by Rémi Bernon <rbernon@codeweavers.com>
2020-09-16 10:35:42 +02:00
winesync 5e225d76e5 [WINESYNC] dbghelp: Return NULL instead of IMAGE_NO_MAP when PE file mapping fails.
A NULL test is always applied to the return value from pe_map_full(), but
IMAGE_NO_MAP is not NULL, it is ((void*)-1).

Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9d3687ad324f866c835c4b73922f859a30e47aee by Conor McCarthy <cmccarthy@codeweavers.com>
2020-09-16 10:35:42 +02:00
winesync 8105772fc4 [WINESYNC] dbghelp: Use RtlComputeCrc32().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a91b0faefd801d44063c8d9289dbc69de985f8b6 by Zebediah Figura <z.figura12@gmail.com>
2020-09-16 10:35:42 +02:00
winesync 70880dd15f [WINESYNC] dbghelp: Return a dos path from SymGetLineFromAddr.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=34687
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4aa7fbe0561e6a27f098a05a63c5a7d12397e678 by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2020-09-16 10:35:42 +02:00
winesync d8267536c4 [WINESYNC] dbghelp: Use internal flag for loading native files.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 101820d01a1c776e4b6ff42e661ac3a1380f10c7 by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2020-09-16 10:35:42 +02:00
winesync 006ce9607c [WINESYNC] dbghelp: SymSet/GetExtendedOption support a WINE only option.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fa5e5df71db231f6fca9c7a40792c17e9bbe5027 by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2020-09-16 10:35:41 +02:00
winesync 1a20474d99 [WINESYNC] dbghelp: Add SymGetExtendedOption/SymSetExtendedOption stubs.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3fed8787251882c70eeadefb230cd2ff4b251ac2 by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2020-09-16 10:35:41 +02:00
winesync f9bc55610e [WINESYNC] dbghelp: Support S_HEAPALLOCSITE entry.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 48a74277f5f9e0c87d8c01457236a89d94cb71d3 by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2020-09-16 10:35:41 +02:00
winesync 6ba1526c9c [WINESYNC] dbghelp: Fix the spelling of a parameter.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 594a5878d0ac3b5a3aa31c27b0651b7f4bd175e1 by Michael Stefaniuc <mstefani@winehq.org>
2020-09-16 10:35:41 +02:00
winesync 8de32aeab5 [WINESYNC] include: Add missing SYMOPT_* defines.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 620da60f7f7939261192680d10012e31426ba5b3 by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2020-09-16 10:35:41 +02:00
winesync ef7106dc2a [WINESYNC] include: Move inline assembly definitions to a new wine/asm.h header.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d5a372abbba2e174de78855bdd4a004b56cdc006 by Alexandre Julliard <julliard@winehq.org>
2020-09-16 10:35:41 +02:00
winesync ad6eaca464 [WINESYNC] dbghelp: Don't use strcasecmp.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 061f65f9aaa5e6c9e34f407293906a2cc9033f0d by Piotr Caban <piotr@codeweavers.com>
2020-09-16 10:35:40 +02:00
winesync 9ed477cdd9 [WINESYNC] include: Get rid of the DPRINTF() macro.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3d6febc997c808e7c91289c34f7bb48b8b1fe2bb by Alexandre Julliard <julliard@winehq.org>
2020-09-16 10:35:40 +02:00
winesync f672262b9a [WINESYNC] dbghelp: Make minidump_add_memory64_block() static.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5651c9dd2819e67ff8aba698eed8d77abe4abcb8 by Francois Gouget <fgouget@free.fr>
2020-09-16 10:35:40 +02:00
winesync f9ad05e7f1 [WINESYNC] dbghelp: Spelling fixes in a couple of comments.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ab71398eb09d24f9f99b6266cb3005faea7a448f by Francois Gouget <fgouget@free.fr>
2020-09-16 10:35:40 +02:00
winesync 34d40a5f3d [WINESYNC] dbghelp: Support full memory dumps.
Add support of flag MinidumpWithFullMemory in function
MinidumpWriteDump. A Memory64ListStream is added to the minidump
streams and all memory regions of the process with MEM_COMMIT state
are written to the last part of the minidump file.

Signed-off-by: Eric Bissonnette <ebisso.dev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b90bbcbe750f6af0ce13f2577984f4818e05a013 by Eric Bissonnette <ebisso.dev@gmail.com>
2020-09-16 10:35:40 +02:00
winesync 84531c319d [WINESYNC] dbghelp: Make symt_get_best_at() static.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id edcff4046c5aa70c047c1a523a93a5cc5782fb44 by Francois Gouget <fgouget@free.fr>
2020-09-16 10:35:40 +02:00
winesync 1c16ab4847 [WINESYNC] dbghelp: Avoid using inline assembly in have_x86cpuid().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 797f93be6553d4a759473886ad00826c3371d094 by Zebediah Figura <z.figura12@gmail.com>
2020-09-16 10:35:40 +02:00
winesync 719c13083f [WINESYNC] dbghelp: Avoid using inline assembly in do_x86cpuid().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b7f3e6ba317bec299e43156efcdb5469f39a8a3c by Zebediah Figura <z.figura12@gmail.com>
2020-09-16 10:35:39 +02:00
winesync 5f9c500b2c [WINESYNC] dbghelp: Fix build failure on macOS.
This was caused by commit 8d096fb5e262e5e87866d1a4a397da144a09b635.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 74f425e70dfbc43da1eaf9048f45bed52ef1d66c by Huw Davies <huw@codeweavers.com>
2020-09-16 10:35:39 +02:00
winesync 667215841f [WINESYNC] dbghelp: SymFromAddr: Handle 2 or more symbols at the same address correct.
Signed-off-by: Andreas Maier <staubim@quantentunnel.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d614ac46718311f49541b32ac726c17a06077ae1 by Andreas Maier <staubim@quantentunnel.de>
2020-09-16 10:35:39 +02:00
winesync 9a139418eb [WINESYNC] dbghelp: Set last error for SymGetModuleBase-calls to ERROR_MOD_NOT_FOUND.
Signed-off-by: Andreas Maier <staubim@quantentunnel.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6c3418914df3196bf5a464649ef302a5e942dd90 by Andreas Maier <staubim@quantentunnel.de>
2020-09-16 10:35:39 +02:00
winesync 575196093a [WINESYNC] dbghelp: Set correct values in symt_fill_sym_info (SYMBOL_INFO).
Signed-off-by: Andreas Maier <staubim@quantentunnel.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8d096fb5e262e5e87866d1a4a397da144a09b635 by Andreas Maier <staubim@quantentunnel.de>
2020-09-16 10:35:39 +02:00
winesync 94e2d456db [WINESYNC] dbghelp: Add SYMFLAG_- and SYMTYPE_-defines.
Signed-off-by: Andreas Maier <staubim@quantentunnel.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3b01149d8677fa86addfb67414d793684779c5ce by Andreas Maier <staubim@quantentunnel.de>
2020-09-16 10:35:39 +02:00
winesync 616fb16a52 [WINESYNC] dbghelp: Use correct record in codeview_snarf_public.
Use public_vx iststead of data_vx for public symbols.

Signed-off-by: Andreas Maier <staubim@quantentunnel.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id dbcf9728fa13ade68cc9d380002a5f6ae50fc0c0 by Andreas Maier <staubim@quantentunnel.de>
2020-09-16 10:35:38 +02:00
winesync dfc5f68673 [WINESYNC] dbghelp: Only check process architecture if we are actually given a process.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45407
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 63ef9854fb6fc91a8c956a9d91abc07e906a4a33 by Zebediah Figura <z.figura12@gmail.com>
2020-09-16 10:35:38 +02:00
winesync 58e2e22449 [WINESYNC] dbghelp: Return a Unicode path in path_find_symbol_file().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3e1a56290191e37aded204c554f2e550c0257300 by Alexandre Julliard <julliard@winehq.org>
2020-09-16 10:35:38 +02:00
winesync 989a748f81 [WINESYNC] dbghelp: Search for debug files in module path too.
Signed-off-by: Andreas Maier <andy1.m@gmx.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6030ee5f6f64a2ebe6df2e505e2588eb300222c2 by Andreas Maier <andy1.m@gmx.de>
2020-09-16 10:35:38 +02:00
Jérôme Gardou 8d3d1febad [WINESYNC] Add missing mapping for msvcpdb.h 2020-09-16 10:35:38 +02:00
winesync f243e09624 [WINESYNC] dbghelp: Turn variable 'code' into a static constant.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f333c4a210e25bbb8af2adeeae0dbe006354519b by Alex Henrie <alexhenrie24@gmail.com>
2020-09-16 10:35:36 +02:00
winesync bba2a6162b [WINESYNC] dbghelp/dwarf: Use debugstr_a() to trace external strings.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 86805c3d4b78e69e675e72f57a21254d3d580ddd by Zebediah Figura <z.figura12@gmail.com>
2020-09-16 10:35:35 +02:00
winesync f7187f092a [WINESYNC] dbghelp: Fix memory leak in SymInitializeW() (Coverity).
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b3717a92d11c84819ce934da39bc8f9c85582c9a by Józef Kucia <jkucia@codeweavers.com>
2020-09-16 10:35:35 +02:00
winesync d3849da5c4 [WINESYNC] dbghelp/msc: Use the word size of the target process.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ca9b1d0077874c94715cd2ceeff114853151ed2d by Zebediah Figura <z.figura12@gmail.com>
2020-09-16 10:35:35 +02:00
winesync e9161985e1 [WINESYNC] dbghelp: Correctly determine the dyld image info address.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b7defd2946e625351111c36ff0f521b8aa9e6487 by Zebediah Figura <z.figura12@gmail.com>
2020-09-16 10:35:35 +02:00
winesync 5a3f69edcc [WINESYNC] dbghelp/dwarf: Use the word size of the target process.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45490
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 42745c068f80b696e7402680a61c2006b68b01d0 by Zebediah Figura <z.figura12@gmail.com>
2020-09-16 10:35:35 +02:00
winesync 8629cdb6af [WINESYNC] dbghelp/dwarf: Allow get_context_reg() to handle different register sizes.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3507615f35777f38a20407b7879f7c7d6510b12a by Zebediah Figura <z.figura12@gmail.com>
2020-09-16 10:35:35 +02:00
winesync 1825a61069 [WINESYNC] dbghelp/dwarf: Use the correct backend CPU in dwarf2_virtual_unwind().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9ae588a96ef5f07ba22e0fadc3aacf61b274efe5 by Zebediah Figura <z.figura12@gmail.com>
2020-09-16 10:35:34 +02:00
winesync 7470eb9ced [WINESYNC] dbghelp: Use WOW64_CONTEXT instead of CONTEXT for i386 backend.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3ce304e60100962503bcded0adb69659f849d1b4 by Zebediah Figura <z.figura12@gmail.com>
2020-09-16 10:35:34 +02:00
winesync 148591a8a6 [WINESYNC] dbghelp: Fix loading of Mach-O load commands for 64-bit binaries.
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3ff8fa7ed1d28b38703125b0c8c632410e3fd980 by Ken Thomases <ken@codeweavers.com>
2020-09-16 10:35:34 +02:00
winesync 4e89603929 [WINESYNC] dbghelp: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 053a7e225c8190fd7416b3f3c3186f1ac230eeb3 by Michael Stefaniuc <mstefani@winehq.org>
2020-09-16 10:35:34 +02:00
winesync d3247b3f59 [WINESYNC] dbghelp: Recompute location after fixing it.
Fix a assertion raised by every exception with newer clang versions (>3.7) at least on ARM64:
../../../dlls/dbghelp/dwarf.c:1641: void dwarf2_parse_variable(dwarf2_subprogram_t *, struct symt_block *, dwarf2_debug_info_t *): Assertion `subpgm->func' failed.

Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3d482d3f9f0a3ffa69540af87594b3c1dc46e07b by André Hentschel <nerv@dawncrow.de>
2020-09-16 10:35:34 +02:00
winesync d119141669 [WINESYNC] dbghelp: Map SIMD dwarf registers on ARM64.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 86864486be64a277f6edf8e66709cd0f17a4eed9 by André Hentschel <nerv@dawncrow.de>
2020-09-16 10:35:33 +02:00
winesync eaf6edad46 [WINESYNC] dbghelp: Read the stabs nlist entry corresponding to the target's architecture.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7d441808ac3b1d8bcef7795b636bda14c31c927b by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:33 +02:00
winesync f631b4d120 [WINESYNC] dbghelp: Translate the 32-bit Mach-O section header to the 64-bit one.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1dc9bb70cd16fa7b37e8fd6e82ed18311ddfbe38 by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:33 +02:00
winesync 75e77444c6 [WINESYNC] dbghelp: Read the Mach-O segment command corresponding to the target's architecture.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0fc3c33637d4c8eff3f4373d374b3feb402bce4a by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:33 +02:00
winesync 0d3ccc92fb [WINESYNC] dbghelp: Pass an image_file_map to macho_enum_load_commands().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bf7681cb2f3a73239170b4f0ebc8f6b38bc027ec by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:33 +02:00
winesync 9985483679 [WINESYNC] dbghelp: Read the 32-bit Mach-O header.
It is identical to the 64-bit header, except for the "reserved" field.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f2e38e17956197180ad730fd00a267fc25d4f238 by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:33 +02:00
winesync 887025f3a0 [WINESYNC] dbghelp: Determine the target Mach-O architecture from the process's architecture.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f0ee3471f369bc3d3911647c7efa63fc503e6ce2 by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:33 +02:00
winesync c719e68907 [WINESYNC] dbghelp: Read the r_debug and link_map structs corresponding to the target's architecture.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 99e818154a803c8cfd2478b9db3b455fc9adef30 by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:32 +02:00
winesync 76ad5c4b68 [WINESYNC] dbghelp: Translate the 32-bit ELF symbol struct to the 64-bit one.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7e4fd17d5b62e888fd6a3a452dc3ee22dfb74ccd by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:32 +02:00
winesync 4a24f9acfc [WINESYNC] dbghelp: Read the Elf_auxv_t struct corresponding to the target's architecture.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 51ada19ac235df104e95476e9b3fa8204357bb9a by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:32 +02:00
winesync dd5baf8750 [WINESYNC] dbghelp: Read the Elf_Dyn struct corresponding to the target's architecture.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bb53152faab705d972de3763ddd9bb3351e92460 by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:32 +02:00
winesync 48c551a237 [WINESYNC] dbghelp: Read the ELF program header corresponding to the target's architecture.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bd620ffb443eaa2dba997dc5597cb37c44d757b7 by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:32 +02:00
winesync 8428b1f8c3 [WINESYNC] dbghelp: Add a missing include to fix the build.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cf78601b3781e64ea2745cf8084848acb69300a8 by Huw Davies <huw@codeweavers.com>
2020-09-16 10:35:32 +02:00
winesync 23a2d2713d [WINESYNC] dbghelp: Translate the 32-bit ELF section header to the 64-bit one.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4005901773bf1842804c40d928a944623e11d238 by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:32 +02:00
winesync 1983f47206 [WINESYNC] dbghelp: Translate the 32-bit ELF header to the 64-bit one.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 799e0bfa57c4c2a7922c43031bd0d95c6add6a1a by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:31 +02:00
winesync 7adbd03d5f [WINESYNC] dbghelp: Detect ELF architecture before reading the whole header.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a612f1f56fefd00ebe6d8f7bcf7c826f5aa85eab by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:31 +02:00
winesync de68f04b7c [WINESYNC] dbghelp: Don't enforce child architecture in elf_map_file().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c2c0e4fe510f75c757e5dbdc1b727a7c9f3d6f33 by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:31 +02:00
winesync ee8dbf8e10 [WINESYNC] dbghelp: Correctly determine the wine loader base address.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 185d9ee7ebf56e0663f715e532f2ee2c27289f12 by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:31 +02:00
winesync f69be6c561 [WINESYNC] dbghelp: Determine the wine loader name from the target process's architecture.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a981edf0bc7c828e6b55fdc73b51a2f457043c4a by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:31 +02:00
winesync 3346544802 [WINESYNC] dbghelp: Add a helper to check if a given module is the Wine loader.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9b973eee9e06a3dca7a6c5739741446bf46e27f5 by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:31 +02:00
Jérôme Gardou 7431b80ae6 [WINESYNC]: revert wine-staging patchset for dbghelp 2020-09-16 10:35:30 +02:00
Jérôme Gardou 6cce4bdeba [WINESYNC] Add dbghelp entry 2020-09-16 10:35:30 +02:00
Jérôme Gardou 2b067d6494 [WINESYNC]: d3dx9 is now in sync with wine-staging wine-4.2 2020-02-26 18:19:18 +01:00
winesync 8c7529df7e [WINESYNC] d3dx9_36: Implement ID3DXSkinInfoImpl_UpdateSkinnedMesh.
This patch fixes last problem of bug 32572.

wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 69a02efd33 [WINESYNC] d3dx9_36: Align texture dimensions to block size for compressed textures in D3DXCheckTextureRequirements.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync b7a4b73b65 [WINESYNC] d3dx9_36: No need to fail if we don't support vertices reordering in D3DXMESHOPT_ATTRSORT
A non optimized mesh does not prevent rendering as long as we return valid data to the application.
In our case we provided an identity remapping array when no vertices reordering is done.

Avencast demo works perfectly well (using native effects functions).

wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync e362e098a3 [WINESYNC] d3dx9_36: Filter out D3DCompile warning messages that are not present with D3DCompileShader. (try 4)
This patch fixes vertex processing issue of bug 33770.

The problem comes from the fact that even if the call succeeds,
the game interprets a non null error_messages pointer as an error.

By calling D3DCompile we use a newer version of the compiler which is more
strict and generates the following warning.
  - warning X3206: 'dot': implicit truncation of vector type
  - warning X3206: implicit truncation of vector type
  - warning X3206: 'mul': implicit truncation of vector type
D3DCompileShader does not generate such warnings.

These is confirmed in the DX SDK release note:
New Warning X3206: Implicit Truncation of Vector Type
Beginning in the August 2009 release of the DirectX SDK, the compiler will warn
when an implicit truncation of a vector type occurs.

The warnings cannot be disable so this patch filters out these strings in D3DCompileShader
and reset the error messages pointer if the resulting buffer is empty.

Try 2:
  - only filter out lines containing "X3206:" in case d3dcompiler_43 has localization

Try 3:
  - use move in place instead of copying the buffer

Try 4:
  - filter simplification by Sebastian and remove 'mul' testing left-out in search string

wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync cab82604c1 [WINESYNC] d3dx9_36/tests: Add initial tests for dummy skininfo interface.
wine-staging patch by Michael Müller <michael@fds-team.de>
2020-02-26 18:19:18 +01:00
winesync 7b8f79e550 [WINESYNC] d3dx9_36: Return dummy skininfo interface in D3DXLoadSkinMeshFromXof when skin information is unavailable.
wine-staging patch by Michael Müller <michael@fds-team.de>
2020-02-26 18:19:18 +01:00
winesync 58d515ea16 [WINESYNC] d3dx9_36: ID3DXFont_DrawText calc_rect can be null
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>

wine-staging patch by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2020-02-26 18:19:18 +01:00
winesync f9c6d6e396 [WINESYNC] d3dx9_36: Support NULL terminated strings in ID3DXFont_DrawText
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>

wine-staging patch by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2020-02-26 18:19:18 +01:00
winesync 5b56f3d681 [WINESYNC] d3dx9_36: Fix horizontal centering in ID3DXFont_DrawText.
Fix remaining text issues in Air Strike.
Should fix text placement in Stronghold Kingdoms.

wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync cbed631506 [WINESYNC] d3dx9_36: Implement ID3DXFontImpl_DrawText.
Changes by Sebastian Lackner <sebastian@fds-team.de>:
* Use pitch value for locked buffer instead of assuming that pitch = width * bytesperpixel
* Avoid one for loop to simplify code
* Ensure that DrawText doesn't dereference a NULL pointer when count != 0.

Changes by Christian Costa <titan.costa@gmail.com>
* Use dedicated variables for text width & height instead of reusing rect.right and rect.bottom
* Remove useless test in pixel conversion
* Remove left over 'partial stub' in fixme

Changes by Sebastian Lackner <sebastian@fds-team.de>:
* Replace code to convert text from ascii to widechar
* Strip terminating NULL chars before drawing text

wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 83d1420b3c [WINESYNC] d3dx9_36: add DXTn support
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync de19dd3e38 [WINESYNC] d3dx9_36: Improve D3DXSaveTextureToFile to save simple texture to dds file.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 6e7150ee67 [WINESYNC] d3dx9_36: Add support for FOURCC surface to save_dds_surface_to_memory.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 5ba697c68b [WINESYNC] d3dx9: Implement D3DXComputeTangent
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>

wine-staging patch by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2020-02-26 18:19:18 +01:00
winesync e131c1834d [WINESYNC] d3dx9_*: Add D3DXSHProjectCubeMap stub
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46284

wine-staging patch by Andrey Gusev <andrey.goosev@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 54e07d18d5 [WINESYNC] d3dx9_36: Add semi-stub for D3DXOptimizeVertices.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 2420da1158 [WINESYNC] d3dx9_36/tests: Remove useless \n within some ok messages.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync ff68d200da [WINESYNC] d3dx9_36/tests: Add additional tests for special cases.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 5676fb5633 [WINESYNC] d3dx9_36/tests: Add initial tests for D3DXDisassembleShader.
wine-staging patch by Sebastian Lackner <sebastian@fds-team.de>
2020-02-26 18:19:18 +01:00
winesync afbc458a7f [WINESYNC] d3dx9_36: Implement D3DXDisassembleShader. (v2)
Changes in v2 (by Christian Costa):
  * More generic code for D3DXDisassembleShader.

wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 4e6848d18a [WINESYNC] d3dx9_36: Improve stub for ID3DXEffectImpl_CloneEffect.
wine-staging patch by Sebastian Lackner <sebastian@fds-team.de>
2020-02-26 18:19:18 +01:00
winesync 77cb466268 [WINESYNC] d3dx9_36: Add format description for X8L8V8U8 for format conversions.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 9c4185cb30 [WINESYNC] d3dx9_36: Recognize bump luminance X8L8V8U8 when loading dds file.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 7e60f0ec68 [WINESYNC] d3dx9: Return D3DFMT_A8R8G8B8 in D3DXGetImageInfoFromFileInMemory for 32 bpp BMP with alpha.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 4e1377665e [WINESYNC] d3dx9: Use parameter data for the first constant only in d3dx_set_shader_const_state().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f72204abd6037e59ba1bf500a3a9d0316e65a024 by Paul Gofman <gofmanp@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 523edfe3eb [WINESYNC] d3dx9: Handle short parameter in d3dx_set_shader_const_state().
The issue is spotted in https://bugs.winehq.org/show_bug.cgi?id=46553,
while fixing it alone is reported not to affect the bug.

Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b3e91c3408797da72fdd5066e983d8861d9271ea by Paul Gofman <gofmanp@gmail.com>
2020-02-26 18:19:18 +01:00
winesync e680fff376 [WINESYNC] d3dx9/tests: Add more tests for VertexShaderConstant state.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6fe2728b215fcc22940c556f195fe223c5ac2cff by Paul Gofman <gofmanp@gmail.com>
2020-02-26 18:19:18 +01:00
winesync ff940e0901 [WINESYNC] d3dx9/tests: Clear vertex shader constants in test_effect_states().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cf992bebb056814a05fe3a82011c4de701c144c4 by Paul Gofman <gofmanp@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 2fcf99a2c3 [WINESYNC] d3dx9/tests: Actually test the return of the effect SetInt() call.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7e01ec6018c062d11b29ba2b9a2056d98e8bc406 by Michael Stefaniuc <mstefani@winehq.org>
2020-02-26 18:19:18 +01:00
Jérôme Gardou 8cc1ec1b82 [WINESYNC]: revert wine-staging patchset for d3dx9 2020-02-26 18:19:18 +01:00
Jérôme Gardou f149b8ce86 [TOOLS] Add a python script for syncing wine patches
This requires the pygit2 module
usage : ./winesync.py module <wine-tag> <winestaging-tag>

for instance ./winesync.py d3dx9 wine-4.1 v4.1

This requires to have a wine git checkout and a wine-staging checkout
configuration is done through yaml file named <module>.cfg specifying
the following:
 - file mappings
 - directory mappings
 - latest wine version the module is synced with
it then creates a local branch in the wine checkout, based on the given
tag, and then the staging script is ran on top of it.
Thanks to the mappings defined in the module configuration file, it then
create individual commits in the reactos git checkout with reworked
path.
In case of problem, it stops and lets you amend the latest commit and go
along with the process once this is done. (Makefile.in modified, new or
removed files, patches not cleanly applied)

Staging patches are added into the <module>_staging directory for the
ease of reverting them later. (TODO)

See previous [WINESYNC] commits to have an overview of the result
2020-02-26 18:19:18 +01:00
Jérôme Gardou e562617a84 [WINESYNC]: d3dx9 is now in sync with wine-staging wine-4.1 2020-02-26 18:19:18 +01:00
winesync 692992f2bf [WINESYNC]d3dx9_36: Implement ID3DXSkinInfoImpl_UpdateSkinnedMesh.
This patch fixes last problem of bug 32572.

wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 81c78a0a6b [WINESYNC]d3dx9_36: Align texture dimensions to block size for compressed textures in D3DXCheckTextureRequirements.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync afac88c50e [WINESYNC]d3dx9_36: No need to fail if we don't support vertices reordering in D3DXMESHOPT_ATTRSORT
A non optimized mesh does not prevent rendering as long as we return valid data to the application.
In our case we provided an identity remapping array when no vertices reordering is done.

Avencast demo works perfectly well (using native effects functions).

wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync f6c4f5e79c [WINESYNC]d3dx9_36: Filter out D3DCompile warning messages that are not present with D3DCompileShader. (try 4)
This patch fixes vertex processing issue of bug 33770.

The problem comes from the fact that even if the call succeeds,
the game interprets a non null error_messages pointer as an error.

By calling D3DCompile we use a newer version of the compiler which is more
strict and generates the following warning.
  - warning X3206: 'dot': implicit truncation of vector type
  - warning X3206: implicit truncation of vector type
  - warning X3206: 'mul': implicit truncation of vector type
D3DCompileShader does not generate such warnings.

These is confirmed in the DX SDK release note:
New Warning X3206: Implicit Truncation of Vector Type
Beginning in the August 2009 release of the DirectX SDK, the compiler will warn
when an implicit truncation of a vector type occurs.

The warnings cannot be disable so this patch filters out these strings in D3DCompileShader
and reset the error messages pointer if the resulting buffer is empty.

Try 2:
  - only filter out lines containing "X3206:" in case d3dcompiler_43 has localization

Try 3:
  - use move in place instead of copying the buffer

Try 4:
  - filter simplification by Sebastian and remove 'mul' testing left-out in search string

wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 4faa6f9822 [WINESYNC]d3dx9_36/tests: Add initial tests for dummy skininfo interface.
wine-staging patch by Michael Müller <michael@fds-team.de>
2020-02-26 18:19:18 +01:00
winesync 8931e12659 [WINESYNC]d3dx9_36: Return dummy skininfo interface in D3DXLoadSkinMeshFromXof when skin information is unavailable.
wine-staging patch by Michael Müller <michael@fds-team.de>
2020-02-26 18:19:18 +01:00
winesync 33f33c9387 [WINESYNC]d3dx9_36: ID3DXFont_DrawText calc_rect can be null
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>

wine-staging patch by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2020-02-26 18:19:18 +01:00
winesync 219ef2e81f [WINESYNC]d3dx9_36: Support NULL terminated strings in ID3DXFont_DrawText
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>

wine-staging patch by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2020-02-26 18:19:18 +01:00
winesync 54240ccee0 [WINESYNC]d3dx9_36: Fix horizontal centering in ID3DXFont_DrawText.
Fix remaining text issues in Air Strike.
Should fix text placement in Stronghold Kingdoms.

wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync dead753d8f [WINESYNC]d3dx9_36: Implement ID3DXFontImpl_DrawText.
Changes by Sebastian Lackner <sebastian@fds-team.de>:
* Use pitch value for locked buffer instead of assuming that pitch = width * bytesperpixel
* Avoid one for loop to simplify code
* Ensure that DrawText doesn't dereference a NULL pointer when count != 0.

Changes by Christian Costa <titan.costa@gmail.com>
* Use dedicated variables for text width & height instead of reusing rect.right and rect.bottom
* Remove useless test in pixel conversion
* Remove left over 'partial stub' in fixme

Changes by Sebastian Lackner <sebastian@fds-team.de>:
* Replace code to convert text from ascii to widechar
* Strip terminating NULL chars before drawing text

wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 30328cab07 [WINESYNC]d3dx9_36: add DXTn support
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync fad6fb021d [WINESYNC]d3dx9_36: Improve D3DXSaveTextureToFile to save simple texture to dds file.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync ea80aaf8ad [WINESYNC]d3dx9_36: Add support for FOURCC surface to save_dds_surface_to_memory.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 71c6a60ad4 [WINESYNC]d3dx9: Implement D3DXComputeTangent
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>

wine-staging patch by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2020-02-26 18:19:18 +01:00
winesync 98cd28be0d [WINESYNC]d3dx9_*: Add D3DXSHProjectCubeMap stub
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46284

wine-staging patch by Andrey Gusev <andrey.goosev@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 24b51d5a07 [WINESYNC]d3dx9_36: Add semi-stub for D3DXOptimizeVertices.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 5bab8274d9 [WINESYNC]d3dx9_36/tests: Remove useless \n within some ok messages.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 06983139f6 [WINESYNC]d3dx9_36/tests: Add additional tests for special cases.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 9fef76cb44 [WINESYNC]d3dx9_36/tests: Add initial tests for D3DXDisassembleShader.
wine-staging patch by Sebastian Lackner <sebastian@fds-team.de>
2020-02-26 18:19:18 +01:00
winesync 0ab0dc096d [WINESYNC]d3dx9_36: Implement D3DXDisassembleShader. (v2)
Changes in v2 (by Christian Costa):
  * More generic code for D3DXDisassembleShader.

wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 6311935980 [WINESYNC]d3dx9_36: Improve stub for ID3DXEffectImpl_CloneEffect.
wine-staging patch by Sebastian Lackner <sebastian@fds-team.de>
2020-02-26 18:19:18 +01:00
winesync fea73b02ee [WINESYNC]d3dx9_36: Add format description for X8L8V8U8 for format conversions.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync f7b86ac3b1 [WINESYNC]d3dx9_36: Recognize bump luminance X8L8V8U8 when loading dds file.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 90e8c4a5db [WINESYNC]d3dx9: Return D3DFMT_A8R8G8B8 in D3DXGetImageInfoFromFileInMemory for 32 bpp BMP with alpha.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2020-02-26 18:19:18 +01:00
winesync ac79207f18 [WINESYNC]d3dx9/tests: Add more tests for D3DXMatrixTransformation().
Most of those new tests were written by Rico Schüller.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=33456
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 956d7356e0559a07aac68bcaf73a5005e0600fad by David Adam <david.adam.cnrs@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 16bc86bfb1 [WINESYNC]d3dx9: Use wincodecs directly without initializing COM system.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 77c3761ad4e557f9fa311299e77746bf225a575a by Nikolay Sivov <nsivov@codeweavers.com>
2020-02-26 18:19:18 +01:00
winesync 296900e697 [WINESYNC]d3dx9/tests: Avoid some 64-bit test failures.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 699eb8cdba8fe236f038550e2bd68a4cd2cab055 by Matteo Bruni <mbruni@codeweavers.com>
2020-02-26 18:19:18 +01:00
winesync b56af85d81 [WINESYNC]d3dx9: Improve D3DXMatrixTransformation2D().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id dba1304bdde9639b01fa7b1e93cce1a298999b72 by Matteo Bruni <mbruni@codeweavers.com>
2020-02-26 18:19:18 +01:00
winesync 4f4d37a3b1 [WINESYNC]d3dx9: Improve D3DXMatrixTransformation() implementation.
Inspired by a patch from David Adam.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=33456
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f54260a789387ab40de3d80291ad9000176dabe1 by Matteo Bruni <mbruni@codeweavers.com>
2020-02-26 18:19:18 +01:00
winesync 4cecd21f9a [WINESYNC]d3dx9/tests: Fix a couple of ok() messages.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5a5beba6c4e3bc53790e3a31916d0aaf57dc19b8 by Matteo Bruni <mbruni@codeweavers.com>
2020-02-26 18:19:18 +01:00
winesync f4fb1884a8 [WINESYNC]d3dx9/tests: Expect plain render target creation to work.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 64b6bb4d4a54642434594f0df2afcd2e90b2a0a8 by Matteo Bruni <mbruni@codeweavers.com>
2020-02-26 18:19:18 +01:00
winesync 083cd9a957 [WINESYNC]d3dx9: Use {lock|unlock}_surface() in D3DXLoadSurfaceFromMemory().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 65956ae50a136fe8467a0332c7495f36617a16dc by Paul Gofman <gofmanp@gmail.com>
2020-02-26 18:19:18 +01:00
winesync a1f2064705 [WINESYNC]d3dx9: Use temporary surface in D3DXSaveSurfaceToFileInMemory() for unmappable textures.
Fixes a regression triggered by commit
949dbbd31f450178c90ea8267097a975b77c3219.

Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 092c14b9d86ee1e96e465908cc524ec85988d0ff by Paul Gofman <gofmanp@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 9e1d68edb0 [WINESYNC]d3dx9: Do not ignore surface map failure in D3DXSaveSurfaceToFileInMemory().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ce090114340fe6ce9314f543a1389de9bdc6df14 by Paul Gofman <gofmanp@gmail.com>
2020-02-26 18:19:18 +01:00
winesync 95d6d1b3d1 [WINESYNC]d3dx9/tests: Add test for D3DXFillVolumeTexture() with default pool texture.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 61e7e6ec1bf5d13d4cafa883ac74fe987c339740 by Paul Gofman <gofmanp@gmail.com>
2020-02-26 18:19:18 +01:00
winesync b8714c31cd [WINESYNC]d3dx9: Use temporary surface in D3DXFillTexture() for unmappable textures.
Fixes a regression triggered by commit 949dbbd31f450178c90ea8267097a975b77c3219.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46453
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4e44d74afb12b40f673e3be0a91cd523013544cd by Paul Gofman <gofmanp@gmail.com>
2020-02-26 18:19:18 +01:00
winesync b50ef9007c [WINESYNC]d3dx9: Factor out {lock|unlock}_surface() functions.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 33be8439fc95ca8f005bd3a2b6790c101842c02e by Paul Gofman <gofmanp@gmail.com>
2020-02-26 18:19:18 +01:00