public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Arnaud Charlet <charlet@adacore.com>
To: Simon Wright <simon@pushface.org>
Cc: gcc-patches@gcc.gnu.org, Eric Botcazou <botcazou@adacore.com>,
	Pierre-Marie de Rodat <derodat@adacore.com>
Subject: Re: [PATCH] PR ada/66205 gnatbind generates invalid code when finalization is enabled in restricted runtime
Date: Tue, 19 Dec 2017 08:41:00 -0000	[thread overview]
Message-ID: <20171219084030.GA16744@adacore.com> (raw)
In-Reply-To: <B1D23A9E-1B6B-47AD-90D8-138B3A162507@pushface.org>

Simon,

Unfortunately we've discovered that your patch is causing unexpected
consequences and break e.g. testing of ravenscar application, where
although the Ada RM requires no task termination, for practical
purposes, waiting for terminating task is something we rely upon for
automatic testing, so your patch is suitable after all, sorry about
the oversight.

After internal discussions at AdaCore, it appears that if you want
Finalization, you chould set Suppress_Standard_Library_On_Target to
False. All your troubles come from the fac tthat you tries to stick to
Suppress_Standard_Library_On_Target set to True, but this combination
(Suppress_Standard_Library_On_Target set to True, and Finalization enabled)
is simpled not supported in the GNAT runtime, and the binder doesn't
expect it either.

So I'm going to revert your change in bindgen.adb and will let you
experiment with setting Suppress_Standard_Library_On_Target to False in
your system.ads. This is what we do in e.g.. our ravenscar-full runtime
which supports precisely both ravenscar tasking, and finalization (among other
things), on bare metal targets, which seems to correspond to what you are
trying to do.

Arno

> gcc/ada/Changelog:
> 
> 2017-12-05  Simon Wright <simon@pushface.org>
> 
>      PR ada/66205
>       * bindgen.adb (Gen_AdaFinal): If the restriction
>          No_Task_Termination is present, generate a null body.

      parent reply	other threads:[~2017-12-19  8:41 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-15 16:31 Simon Wright
2015-11-11 19:43 ` Simon Wright
2015-11-12  8:56   ` Simon Wright
2015-11-12 10:02     ` Arnaud Charlet
2015-12-19 22:05       ` Simon Wright
2017-03-07 16:20         ` Simon Wright
2017-12-05 17:16           ` Simon Wright
2017-12-05 18:09             ` Arnaud Charlet
2017-12-19  8:41             ` Arnaud Charlet [this message]

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=20171219084030.GA16744@adacore.com \
    --to=charlet@adacore.com \
    --cc=botcazou@adacore.com \
    --cc=derodat@adacore.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=simon@pushface.org \
    /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).