This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
RE: [RFA] Fix cygwin compilation failure due to nameless LOAD_DLL_DEBUG_EVENT causes ntdll.dll to be missing
- From: "Pierre Muller" <pierre dot muller at ics-cnrs dot unistra dot fr>
- To: "'Yao Qi'" <yao at codesourcery dot com>, "'Pedro Alves'" <palves at redhat dot com>
- Cc: <gdb-patches at sourceware dot org>
- Date: Tue, 17 Dec 2013 09:43:44 +0100
- Subject: RE: [RFA] Fix cygwin compilation failure due to nameless LOAD_DLL_DEBUG_EVENT causes ntdll.dll to be missing
- Authentication-results: sourceware.org; auth=none
- References: <002f01cef853$f44500e0$dccf02a0$ at muller@ics-cnrs.unistra.fr> <52AE633E dot 9020604 at codesourcery dot com> <52AF40E4 dot 1020709 at redhat dot com> <52AF9D9C dot 4000908 at codesourcery dot com>
> -----Message d'origine-----
> De : gdb-patches-owner@sourceware.org [mailto:gdb-patches-
> owner@sourceware.org] De la part de Yao Qi
> Envoyà : mardi 17 dÃcembre 2013 01:41
> Ã : Pedro Alves
> Cc : Pierre Muller; gdb-patches@sourceware.org
> Objet : Re: [RFA] Fix cygwin compilation failure due to nameless
> LOAD_DLL_DEBUG_EVENT causes ntdll.dll to be missing
>
> On 12/17/2013 02:05 AM, Pedro Alves wrote:
> > At this level we're thinking in terms of Win32 debug API, and
> > it's irrelevant what Cygwin thinks is the Posix path of
> > ntdll.dll. If this is indeed ntdll.dll, then the following
> > windows_make_so call will then do that conversion before
> > recording the dll name.
>
> My point is we use cygwin_conv_path to convert the path to type "char
> *"
> and then compare whether it is ntdll.dll.
As Pedro explained, I don't think this is useful here,
because we only check the filename part of the DLL,
this is not changed by the cygwin_conv_path which only converts
Windows OS paths into cygwin paths.
Moreover, windows_make_so expect a windows OS path,
which is copied into so_original_name
while so_name gets the return value of cygwin_conv_path.
Thus I would expect that your idea to call cygwin_conv_path
inside windows_ensure_ntddl_loaded would lead to a
failure at the start of the windows_make_so which calls the
Win32 API function FindFirstFile.
I hope this clarifies the point.
Pierre Muller