public inbox for fortran@gcc.gnu.org
 help / color / mirror / Atom feed
From: David Edelsohn <dje.gcc@gmail.com>
To: Thomas Koenig <tkoenig@netcologne.de>
Cc: Christophe Lyon <christophe.lyon@linaro.org>,
		Decius Caecilius Metellus <koenigni@student.ethz.ch>,
		"Andre Vieira (lists)" <Andre.SimoesDiasVieira@arm.com>,
	GCC Patches <gcc-patches@gcc.gnu.org>,
		Fortran List <fortran@gcc.gnu.org>,
	Ulrich Weigand <uweigand@de.ibm.com>,
	clyon@gcc.gnu.org
Subject: Re: Async I/O patch with compilation fix
Date: Thu, 23 Aug 2018 12:25:00 -0000	[thread overview]
Message-ID: <CAGWvnykxOLfR9CMnAATOdf52AvZJ=q7j4KHknpEO0v1XTtT7Ew@mail.gmail.com> (raw)
In-Reply-To: <56ef051c-d2d6-3d95-f623-4d20248102ba@netcologne.de>

Thomas,

After your complaint about bootstrap on gcc119, I tried it again.  My
bootstrap worked correctly.  I used exactly the public instructions.
Others have been able to bootstrap on gcc119.  The problem is local to
you.  Does your environment have any special variables?

You can see the bootstrap in /scratch/dje/GCC

Second, the patch that you applied is unacceptable.  ASYNC_IO already is
set to zero for AIX.  I refuse to accept this patch as correct or complete.

Third, the problem from the beginning has been __gthread_cond_t.  The
earlier patch had

struct adv_cond
{
  int pending;
  __gthread_mutex_t lock;
  __gthread_cond_t signal;
};

with __gthread_cond_t clearly not protected by #if ASYNC_IO.  This is
visible by inspection.  Without a bootstrap, this patch should have been
visually checked that all uses of __gthread_cond_t were protected.

Similarly one can test this / confirm this on any system by setting
ASYNC_IO to 0 and ensuring that __gthread_cond_t is not declared.  This
simply is sloppy work.

Please fix this correctly.  The current kludge is not acceptable.

Thanks, David

On Wed, Aug 22, 2018 at 5:30 PM Thomas Koenig <tkoenig@netcologne.de> wrote:

> Hi David,
>
> > This patch broke bootstrap on AIX again.  This is completely
> unacceptable.
>
> Again, sorry for the breakage.
>
> I faced quite some challenges trying to get bootstrap to
> work on gcc119. Despite quite a few e-mails (plus hints in a PR)
> that I received, none of the hints for bootstrap I got actually got
> it to work. I finally gave up after four or five different failures,
> and the patch was committed because every test
> that _could_ be run did show no failure.
>
> Had we received instructions that work for bootstrapping on AIX,
> we would have tested the patch there.
>
> If it were possible to add instructions that do work for AIX
> bootstrapping to the compile farm wiki, that would be great.
>
> If you (or somebody else who has the requisite AIX fu) could test
> patches that are known to be difficult, that would also be
> great.
>
> As long as we have no other solution, it is probably best to #ifdef out
> AIX any additional pthread-related functionality for libgfortran that
> might be coming along. That can always be integrated later, if somebody
> can re-implement POSIX condition variables for libgfortran from what
> AIX provides.
>
> Let's talk about how to proceed at the GNU cauldron, over a beer.
> Both Nicolas and I will be there.
>
> In the meantime, I have committed the following patch (r263788) as
> obvious after regression-testing on Linux both with ASYNC_IO set
> to 1 and to 0.  Let me know how that works out.
>
> 2018-08-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
>
>         * async.h: Set ASYNC_IO to zero if _AIX is defined.
>         (struct adv_cond): If ASYNC_IO is zero, the struct has no members.
>         (async_unit): If ASYNC_IO is zero, remove unneeded members.
>
> 2018-08-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
>
>         * gfortran.texi: Mention that asynchronous I/O does
>         not work on systems which lack condition variables, such
>         as AIX.
>
> Regards
>
>         Thomas
>

  reply	other threads:[~2018-08-23 12:25 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-25 19:28 AsyncI/O patch committed Nicolas Koenig
2018-07-26 13:31 ` Build fail on gthr-simple.h targets (Re: AsyncI/O patch committed) Ulrich Weigand
2018-07-26 13:40   ` Build fail on gthr-single.h " Ulrich Weigand
2018-07-26 20:54   ` Build fail on gthr-simple.h " Thomas Koenig
2018-07-27  7:31     ` Thomas Koenig
2018-07-27 12:26       ` David Edelsohn
2018-07-31  8:45         ` Andre Vieira (lists)
2018-07-31 10:30           ` Thomas König
2018-08-02 11:35           ` Async I/O patch with compilation fix Nicolas Koenig
2018-08-02 15:43             ` Christophe Lyon
2018-08-02 17:08               ` Nicolas Koenig
2018-08-03  8:46                 ` Christophe Lyon
2018-08-03 22:43                   ` Thomas König
2018-08-06 11:33                     ` Christophe Lyon
2018-08-17 15:41                   ` Thomas Koenig
2018-08-18 22:44                     ` Christophe Lyon
2018-08-19 13:40                       ` Thomas Koenig
     [not found]                         ` <CAKdteObsx+RK2t-OteU_w6L_Pv7FGLpAcLrHaPY4NDAamV-z7g@mail.gmail.com>
2018-08-21 19:43                           ` Thomas Koenig
2018-08-21 20:08                             ` Fwd: " Thomas Koenig
2018-08-22 18:49                             ` David Edelsohn
2018-08-22 21:31                               ` Thomas Koenig
2018-08-23 12:25                                 ` David Edelsohn [this message]
2018-08-23 17:42                                   ` Thomas Koenig
2018-08-23 12:53                                 ` David Edelsohn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAGWvnykxOLfR9CMnAATOdf52AvZJ=q7j4KHknpEO0v1XTtT7Ew@mail.gmail.com' \
    --to=dje.gcc@gmail.com \
    --cc=Andre.SimoesDiasVieira@arm.com \
    --cc=christophe.lyon@linaro.org \
    --cc=clyon@gcc.gnu.org \
    --cc=fortran@gcc.gnu.org \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=koenigni@student.ethz.ch \
    --cc=tkoenig@netcologne.de \
    --cc=uweigand@de.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).