From 54b4500a85872d18f0b57895e3a83f27a87686a9 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Sat, 15 Nov 2014 20:24:21 +0100 Subject: [PATCH] Added patch to ensure dbghelp always checks for debug symbols in BINDIR. --- debian/changelog | 4 ++ debian/tools/patchupdate.py | 2 +- patches/Makefile | 13 ++++++ ...ys-check-for-debug-symbols-in-BINDIR.patch | 44 +++++++++++++++++++ 4 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 patches/dbghelp-Debug_Symbols/0001-dbghelp-Always-check-for-debug-symbols-in-BINDIR.patch diff --git a/debian/changelog b/debian/changelog index 5d1d17ec..d7a9b57b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,7 @@ +wine-compholio (1.7.32) UNRELEASED; urgency=low + * Added patch to ensure dbghelp always checks for debug symbols in BINDIR. + -- Sebastian Lackner Sat, 15 Nov 2014 20:21:53 +0100 + wine-compholio (1.7.31) unstable; urgency=low * Improve output of 'wine --patches' and simplify syntax of definition files. * Update kernel32-GetSystemTimes patches. diff --git a/debian/tools/patchupdate.py b/debian/tools/patchupdate.py index 04d01ebe..68ae60e7 100755 --- a/debian/tools/patchupdate.py +++ b/debian/tools/patchupdate.py @@ -176,7 +176,7 @@ def read_definition(revision, filename, name_to_id): try: with open(os.devnull, 'w') as devnull: content = subprocess.check_output(["git", "show", filename], stderr=devnull) - except CalledProcessError: + except subprocess.CalledProcessError: raise IOError("Failed to load %s" % filename) depends = set() diff --git a/patches/Makefile b/patches/Makefile index 74ccde95..bd433b93 100644 --- a/patches/Makefile +++ b/patches/Makefile @@ -34,6 +34,7 @@ PATCHLIST := \ d3dx9_36-Optimize_Inplace.ok \ d3dx9_36-Texture_Align.ok \ d3dx9_36-UpdateSkinnedMesh.ok \ + dbghelp-Debug_Symbols.ok \ dbghelp-KdHelp.ok \ dsound-Fast_Mixer.ok \ fonts-Missing_Fonts.ok \ @@ -399,6 +400,18 @@ d3dx9_36-UpdateSkinnedMesh.ok: echo '+ { "Christian Costa", "d3dx9_36: Implement ID3DXSkinInfoImpl_UpdateSkinnedMesh.", 1 },'; \ ) > d3dx9_36-UpdateSkinnedMesh.ok +# Patchset dbghelp-Debug_Symbols +# | +# | Modified files: +# | * dlls/dbghelp/Makefile.in, dlls/dbghelp/elf_module.c +# | +.INTERMEDIATE: dbghelp-Debug_Symbols.ok +dbghelp-Debug_Symbols.ok: + $(call APPLY_FILE,dbghelp-Debug_Symbols/0001-dbghelp-Always-check-for-debug-symbols-in-BINDIR.patch) + @( \ + echo '+ { "Sebastian Lackner", "dbghelp: Always check for debug symbols in BINDIR.", 1 },'; \ + ) > dbghelp-Debug_Symbols.ok + # Patchset dbghelp-KdHelp # | # | This patchset fixes the following Wine bugs: diff --git a/patches/dbghelp-Debug_Symbols/0001-dbghelp-Always-check-for-debug-symbols-in-BINDIR.patch b/patches/dbghelp-Debug_Symbols/0001-dbghelp-Always-check-for-debug-symbols-in-BINDIR.patch new file mode 100644 index 00000000..36c9b7ee --- /dev/null +++ b/patches/dbghelp-Debug_Symbols/0001-dbghelp-Always-check-for-debug-symbols-in-BINDIR.patch @@ -0,0 +1,44 @@ +From 2f02387d53e803b7347d70ef8199bdd5c0d08732 Mon Sep 17 00:00:00 2001 +From: Sebastian Lackner +Date: Mon, 6 Oct 2014 05:06:06 +0200 +Subject: dbghelp: Always check for debug symbols in BINDIR. + +--- + dlls/dbghelp/Makefile.in | 2 +- + dlls/dbghelp/elf_module.c | 8 +++++--- + 2 files changed, 6 insertions(+), 4 deletions(-) + +diff --git a/dlls/dbghelp/Makefile.in b/dlls/dbghelp/Makefile.in +index e5d40b1..cfb5b3e 100644 +--- a/dlls/dbghelp/Makefile.in ++++ b/dlls/dbghelp/Makefile.in +@@ -1,6 +1,6 @@ + MODULE = dbghelp.dll + IMPORTLIB = dbghelp +-EXTRADEFS = -D_IMAGEHLP_SOURCE_ -DDLLPREFIX='"$(DLLPREFIX)"' ++EXTRADEFS = -D_IMAGEHLP_SOURCE_ -DDLLPREFIX='"$(DLLPREFIX)"' -DBINDIR="\"${bindir}\"" + IMPORTS = psapi + DELAYIMPORTS = version + EXTRALIBS = $(Z_LIBS) +diff --git a/dlls/dbghelp/elf_module.c b/dlls/dbghelp/elf_module.c +index b176143..8e22265 100644 +--- a/dlls/dbghelp/elf_module.c ++++ b/dlls/dbghelp/elf_module.c +@@ -1486,9 +1486,11 @@ static BOOL elf_search_and_load_file(struct process* pcs, const WCHAR* filename, + if (!ret && !strchrW(filename, '/')) + { + ret = elf_load_file_from_path(pcs, filename, load_offset, dyn_addr, +- getenv("PATH"), elf_info) || +- elf_load_file_from_path(pcs, filename, load_offset, dyn_addr, +- getenv("LD_LIBRARY_PATH"), elf_info); ++ getenv("PATH"), elf_info); ++ if (!ret) ret = elf_load_file_from_path(pcs, filename, load_offset, dyn_addr, ++ getenv("LD_LIBRARY_PATH"), elf_info); ++ if (!ret) ret = elf_load_file_from_path(pcs, filename, load_offset, dyn_addr, ++ BINDIR, elf_info); + if (!ret) ret = elf_load_file_from_dll_path(pcs, filename, + load_offset, dyn_addr, elf_info); + } +-- +2.1.2 +