This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFA-v2] Avoid invalid parameter warnings in C runtime function for mingw built GDB
- From: Pedro Alves <palves at redhat dot com>
- To: Pierre Muller <pierre dot muller at ics-cnrs dot unistra dot fr>
- Cc: "'Tom Tromey'" <tromey at redhat dot com>, "'Eli Zaretskii'" <eliz at gnu dot org>, gdb-patches at sourceware dot org
- Date: Wed, 14 Aug 2013 13:01:31 +0100
- Subject: Re: [RFA-v2] Avoid invalid parameter warnings in C runtime function for mingw built GDB
- References: <"002201ce9414$7e0d7130$7a285390$ at muller"@ics-cnrs.unistra.fr> <83bo57rm59 dot fsf at gnu dot org> <41630 dot 7793967009$1376385245 at news dot gmane dot org> <874natr48x dot fsf at fleche dot redhat dot com> <520b6c37 dot e9e6440a dot 7cfb dot 45fcSMTPIN_ADDED_BROKEN at mx dot google dot com>
On 08/14/2013 12:38 PM, Pierre Muller wrote:
> Is this OK to commit?
> Maybe some comments on the ChangeLog entry?
> * common/filestuff.c (gdb_fopen_cloexec): Do not try to use "e"
> mode if operating system doesn't know O_CLOEXEC, this allows to
> avoid getting a output debug string warning for mingw hosted
> GDB executables.
This comment should really be in the sources instead. That here you'd
have:
* common/filestuff.c (gdb_fopen_cloexec): Do not try to use "e"
mode if operating system doesn't know O_CLOEXEC.
and in the source, where you have:
> + /* If O_CLOEXEC is zero, the operating system doesn't
> + know about close on exec mode "e", so don't even try to use it. */
> + static int fopen_e_ever_failed = O_CLOEXEC == 0;
I suggest:
/* Probe for "e" support once. But, if we can tell the operating
system doesn't know about close on exec mode "e" without probing,
skip it. E.g., the Windows runtime issues an "Invalid parameter
passed to C runtime function" OutputDebugString warning for
unknown modes. Assume that if O_CLOEXEC is zero, then "e" isn't
supported. */
static int fopen_e_ever_failed;
--
Pedro Alves