diff options
author | Gerald Pfeifer <gerald@FreeBSD.org> | 2020-03-29 09:22:41 +0000 |
---|---|---|
committer | Gerald Pfeifer <gerald@FreeBSD.org> | 2020-03-29 09:22:41 +0000 |
commit | b12fc0eb0bf933c2a17ba8cf843545335303ae15 (patch) | |
tree | 708f9689bc9c3ee0e2258886ab5aa4cc0b8cf545 /emulators/wine-devel/files/patch-dlls-dbghelp | |
parent | x11/roxterm: (diff) |
According to pkg-fallout 11.3-RELEASE-p7 runs into problems building
dlls/dbghelp/module.c after upstream changes in the last two weeks due
to a specific combination of macros related to ELF being (not) defined:
module.c: In function 'image_locate_build_id_target':
module.c:643:32: error: 'NT_GNU_BUILD_ID' undeclared (first use in this function)
643 | if (note[2] == NT_GNU_BUILD_ID)
| ^~~~~~~~~~~~~~~
Add a patch that I created and provided upstream where it was tentatively
ack-ed already.
Reported by: pkg-fallout
Diffstat (limited to 'emulators/wine-devel/files/patch-dlls-dbghelp')
-rw-r--r-- | emulators/wine-devel/files/patch-dlls-dbghelp | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/emulators/wine-devel/files/patch-dlls-dbghelp b/emulators/wine-devel/files/patch-dlls-dbghelp new file mode 100644 index 000000000000..cd94b29cbb2c --- /dev/null +++ b/emulators/wine-devel/files/patch-dlls-dbghelp @@ -0,0 +1,61 @@ +From: Gerald Pfeifer <gerald@pfeifer.com> +To: wine-devel@winehq.org, Jacek Caban <jacek@codeweavers.com> +Date: Sat, 28 Mar 2020 16:23:58 +0100 (CET) +Subject: [PATCH] dbghelp: Define NT_GNU_BUILD_ID regardless of whether __ELF__ is defined. + +[ Jacek, this materialized as a consequence of your changes + over the last 14 days, between Wine 5.4 and Wine 5.5. ] + +In dlls/dbghelp/module.c we have unconditional code like the following: + + if (note[2] == NT_GNU_BUILD_ID) + { + +NT_GNU_BUILD_ID is #defined in image_private.h, which is #included by +module.c, alas that definition is conditional on __ELF__ *not* being +defined: + + #ifndef __ELF__ + : + #ifndef NT_GNU_BUILD_ID + #define NT_GNU_BUILD_ID 3 + #endif + #endif + +This causes problems on some (newer) versions of FreeBSD, where +apparently __ELF__ is defined while NT_GNU_BUILD_ID is not (at +least not without including sys/elf_common.h which we do not). + +I do not have access to the version of FreeBSD 11.3 where that +issue was reported. It did successfully pass on a different +version of FreeBSD 11.3, though. + +Gerald + + +Signed-off-by: Gerald Pfeifer <gerald@pfeifer.com> +--- + dlls/dbghelp/image_private.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- UTC +diff --git a/dlls/dbghelp/image_private.h b/dlls/dbghelp/image_private.h +index 9be6d3ebdc..d3c154b713 100644 +--- dlls/dbghelp/image_private.h ++++ dlls/dbghelp/image_private.h +@@ -52,10 +52,11 @@ + #ifndef SHT_NULL + #define SHT_NULL 0 + #endif ++#endif ++ + #ifndef NT_GNU_BUILD_ID + #define NT_GNU_BUILD_ID 3 + #endif +-#endif + + /* structure holding information while handling an ELF image + * allows one by one section mapping for memory savings +-- +2.25.0 + |