Added patch to use POSIX implementation to enumerate directory content on FreeBSD.

This commit is contained in:
Sebastian Lackner 2015-05-10 02:26:38 +02:00
parent 53734776f6
commit d3dbcb9165
5 changed files with 53 additions and 1 deletions

View File

@ -39,7 +39,7 @@ Wine. All those differences are also documented on the
Included bug fixes and improvements
-----------------------------------
**Bug fixes and features included in the next upcoming release [7]:**
**Bug fixes and features included in the next upcoming release [8]:**
* Add stub for atl80.AtlIPersistPropertyBag_Save ([Wine Bug #33888](https://bugs.winehq.org/show_bug.cgi?id=33888))
* Add stub for winsta.WinStationEnumerateW ([Wine Bug #38102](https://bugs.winehq.org/show_bug.cgi?id=38102))
@ -47,6 +47,7 @@ Included bug fixes and improvements
* Improve ReadDataAvailable handling in FilePipeLocalInformation class
* Return default palette entries from GetSystemPaletteEntries for non-palette-based devices
* Support for ObjectTypeInformation class support in NtQueryObject
* Use POSIX implementation to enumerate directory content on FreeBSD ([Wine Bug #35397](https://bugs.winehq.org/show_bug.cgi?id=35397))
* Wait before reusing recently freed memory

2
debian/changelog vendored
View File

@ -20,6 +20,8 @@ wine-staging (1.7.43) UNRELEASED; urgency=low
* Added patch to fix leak of async handle in pipe_server_flush.
* Added patch to dirtify vertex shader on transformed update, fixes graphical
corruption.
* Added patch to use POSIX implementation to enumerate directory content on
FreeBSD.
* Removed patch to use lockfree implementation for FD cache (accepted
upstream).
* Removed patch to properly handle closing sockets during a select call

View File

@ -0,0 +1,29 @@
From 095360e2e7faec0135c0f7256c683cd28691f05a Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sun, 10 May 2015 02:23:46 +0200
Subject: ntdll: Use POSIX implementation to enumerate directory content.
---
dlls/ntdll/directory.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c
index cbfc022..82244d5 100644
--- a/dlls/ntdll/directory.c
+++ b/dlls/ntdll/directory.c
@@ -23,6 +23,12 @@
#include "config.h"
#include "wine/port.h"
+/* The FreeBSD implementation to enumerate directory content is completely
+ * broken, which causes test failures in kernel32/file and ntdll/directory
+ * tests, and also causes bug 35397. Fallback to the POSIX implementation
+ * until this issue is fixed. */
+#undef HAVE_GETDIRENTRIES
+
#include <assert.h>
#include <sys/types.h>
#ifdef HAVE_DIRENT_H
--
2.4.0

View File

@ -0,0 +1 @@
Fixes: [35397] Use POSIX implementation to enumerate directory content on FreeBSD

View File

@ -166,6 +166,7 @@ patch_enable_all ()
enable_ntdll_FileFsFullSizeInformation="$1"
enable_ntdll_Fix_Alignment="$1"
enable_ntdll_Fix_Free="$1"
enable_ntdll_FreeBSD_Directory="$1"
enable_ntdll_Heap_Delay_Free="$1"
enable_ntdll_Heap_FreeLists="$1"
enable_ntdll_Junction_Points="$1"
@ -558,6 +559,9 @@ patch_enable ()
ntdll-Fix_Free)
enable_ntdll_Fix_Free="$2"
;;
ntdll-FreeBSD_Directory)
enable_ntdll_FreeBSD_Directory="$2"
;;
ntdll-Heap_Delay_Free)
enable_ntdll_Heap_Delay_Free="$2"
;;
@ -3769,6 +3773,21 @@ if test "$enable_ntdll_Fix_Free" -eq 1; then
) >> "$patchlist"
fi
# Patchset ntdll-FreeBSD_Directory
# |
# | This patchset fixes the following Wine bugs:
# | * [#35397] Use POSIX implementation to enumerate directory content on FreeBSD
# |
# | Modified files:
# | * dlls/ntdll/directory.c
# |
if test "$enable_ntdll_FreeBSD_Directory" -eq 1; then
patch_apply ntdll-FreeBSD_Directory/0001-ntdll-Use-POSIX-implementation-to-enumerate-director.patch
(
echo '+ { "Sebastian Lackner", "ntdll: Use POSIX implementation to enumerate directory content.", 1 },';
) >> "$patchlist"
fi
# Patchset ntdll-Heap_Delay_Free
# |
# | Modified files: