RFC: Mark dylib/mach-o on Mac OS X

Charles Davis cdavis5x at gmail.com
Tue Aug 27 20:50:55 CDT 2013


On Aug 27, 2013, at 3:08 PM, André Hentschel wrote:

> Hi,
> at [1] i noticed that dylibs are printed as PEs.
> This intents to fix that, but i have no Mac, could someone please review/test?
> 
> [1] http://test.winehq.org/data/8ef3a142263e6db11f1514f77b3de84c8b08d7a0/mac_fg-snow-macdrv/advapi32:cred.html
I generally agree with Ken's comments. In addition:
> 
> diff --git a/dlls/dbghelp/module.c b/dlls/dbghelp/module.c
> index 6bea436..41fa7e6 100644
> --- a/dlls/dbghelp/module.c
> +++ b/dlls/dbghelp/module.c
> @@ -33,6 +33,7 @@
> WINE_DEFAULT_DEBUG_CHANNEL(dbghelp);
> 
> const WCHAR        S_ElfW[]         = {'<','e','l','f','>','\0'};
> +const WCHAR        S_MachoW[]       = {'<','m','a','c','h','o','>','\0'};
Personally, I'd prefer:
const WCHAR        S_MachOW[]       = {'<','m','a','c','h','-','o','>','\0'};
> diff --git a/programs/winedbg/info.c b/programs/winedbg/info.c
> index c0b86ba..c2c7c08 100644
> --- a/programs/winedbg/info.c
> +++ b/programs/winedbg/info.c
> @@ -253,8 +258,11 @@ void info_win32_module(DWORD64 base)
>                     break;
>             }
>             if (j < im.num_used) continue;
> -            if (strstr(im.mi[i].ModuleName, ".so") || strchr(im.mi[i].ModuleName, '<'))
> +            if (strstr(im.mi[i].ModuleName, ".so") || strstr(im.mi[i].ModuleName, "<elf>") ||
> +                strstr(im.mi[i].ModuleName, "<wine-loader>"))
The 'wine' binary (the module whose name is "<wine-loader>") is a Mach-O file, too, on Mac OS.

Chip




More information about the wine-devel mailing list