Fix PR 67102: Add libstdc++ dependancy to libffi

Message ID 1631739397-1078-1-git-send-email-apinski@marvell.com
State Committed
Commit db1a65d9364fe72c2fff65fb2dec051728b6f3fa
Headers
Series Fix PR 67102: Add libstdc++ dependancy to libffi |

Commit Message

Li, Pan2 via Gcc-patches Sept. 15, 2021, 8:56 p.m. UTC
  From: Andrew Pinski <apinski@marvell.com>

The error message is obvious -funconfigured-libstdc++-v3 is used
on the g++ command line.  So we just add the dependancy.

OK? Bootstrapped and tested on x86_64-linux-gnu with no regressions.

ChangeLog:

	* Makefile.def: Have configure-target-libffi depend on
	all-target-libstdc++-v3.
	* Makefile.in: Regenerate.
---
 Makefile.def | 1 +
 Makefile.in  | 1 +
 2 files changed, 2 insertions(+)
  

Comments

Jeff Law Sept. 16, 2021, 3:27 p.m. UTC | #1
On 9/15/2021 2:56 PM, apinski--- via Gcc-patches wrote:
> From: Andrew Pinski <apinski@marvell.com>
>
> The error message is obvious -funconfigured-libstdc++-v3 is used
> on the g++ command line.  So we just add the dependancy.
>
> OK? Bootstrapped and tested on x86_64-linux-gnu with no regressions.
>
> ChangeLog:
>
> 	* Makefile.def: Have configure-target-libffi depend on
> 	all-target-libstdc++-v3.
> 	* Makefile.in: Regenerate.
OK
jeff
  
Thomas Schwinge Sept. 17, 2021, 7:45 a.m. UTC | #2
Hi Andrew!

First, I appreciate you working through all these old PRs!


On 2021-09-15T13:56:37-0700, apinski--- via Gcc-patches <gcc-patches@gcc.gnu.org> wrote:
> The error message is obvious -funconfigured-libstdc++-v3 is used
> on the g++ command line.  So we just add the dependancy.

> --- a/Makefile.def
> +++ b/Makefile.def
> @@ -592,6 +592,7 @@ dependencies = { module=configure-target-fastjar; on=configure-target-zlib; };
>  dependencies = { module=all-target-fastjar; on=all-target-zlib; };
>  dependencies = { module=configure-target-libgo; on=configure-target-libffi; };
>  dependencies = { module=configure-target-libgo; on=all-target-libstdc++-v3; };
> +dependencies = { module=configure-target-libffi; on=all-target-libstdc++-v3; };
>  dependencies = { module=all-target-libgo; on=all-target-libbacktrace; };
>  dependencies = { module=all-target-libgo; on=all-target-libffi; };
>  dependencies = { module=all-target-libgo; on=all-target-libatomic; };

I'm confused, because given that this 'Makefile.def' change only has the
following effect:

> --- a/Makefile.in
> +++ b/Makefile.in
> @@ -61261,6 +61261,7 @@ all-bison: maybe-all-intl
>  all-flex: maybe-all-intl
>  all-m4: maybe-all-intl
>  configure-target-libgo: maybe-all-target-libstdc++-v3
> +configure-target-libffi: maybe-all-target-libstdc++-v3
>  configure-target-liboffloadmic: maybe-configure-target-libgomp
>  all-target-liboffloadmic: maybe-all-target-libgomp
>  configure-target-newlib: maybe-all-binutils

... isn't that actually a no-op, because we already had such a dependency
listed?  Now twice:

    $ grep -n -F 'configure-target-libffi: maybe-all-target-libstdc++-v3' -- Makefile.in
    61264:configure-target-libffi: maybe-all-target-libstdc++-v3
    61372:configure-target-libffi: maybe-all-target-libstdc++-v3

Compared to the existing one, the one you've added is additionally
restricted by '@unless gcc-bootstrap'.

I noticed this as I remembered that on our og[...] development branches
we have a patch in the opposite direction: get rid of this dependency via
removing 'lang_env_dependencies = { module=libffi; cxx=true; };' from
'Makefile.def'.  See
<http://mid.mail-archive.com/alpine.DEB.2.21.9999.1812201344250.99920@build7-trusty-cs.sje.mentorg.com>
"Disable libstdc++ dependency for libffi".  (Maciej CCed in case you have
any further thoughts on that.)


Grüße
 Thomas
-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955
  
Andrew Pinski Sept. 17, 2021, 8:01 a.m. UTC | #3
On Fri, Sep 17, 2021 at 12:46 AM Thomas Schwinge
<thomas@codesourcery.com> wrote:
>
> Hi Andrew!
>
> First, I appreciate you working through all these old PRs!
>
>
> On 2021-09-15T13:56:37-0700, apinski--- via Gcc-patches <gcc-patches@gcc.gnu.org> wrote:
> > The error message is obvious -funconfigured-libstdc++-v3 is used
> > on the g++ command line.  So we just add the dependancy.
>
> > --- a/Makefile.def
> > +++ b/Makefile.def
> > @@ -592,6 +592,7 @@ dependencies = { module=configure-target-fastjar; on=configure-target-zlib; };
> >  dependencies = { module=all-target-fastjar; on=all-target-zlib; };
> >  dependencies = { module=configure-target-libgo; on=configure-target-libffi; };
> >  dependencies = { module=configure-target-libgo; on=all-target-libstdc++-v3; };
> > +dependencies = { module=configure-target-libffi; on=all-target-libstdc++-v3; };
> >  dependencies = { module=all-target-libgo; on=all-target-libbacktrace; };
> >  dependencies = { module=all-target-libgo; on=all-target-libffi; };
> >  dependencies = { module=all-target-libgo; on=all-target-libatomic; };
>
> I'm confused, because given that this 'Makefile.def' change only has the
> following effect:
>
> > --- a/Makefile.in
> > +++ b/Makefile.in
> > @@ -61261,6 +61261,7 @@ all-bison: maybe-all-intl
> >  all-flex: maybe-all-intl
> >  all-m4: maybe-all-intl
> >  configure-target-libgo: maybe-all-target-libstdc++-v3
> > +configure-target-libffi: maybe-all-target-libstdc++-v3
> >  configure-target-liboffloadmic: maybe-configure-target-libgomp
> >  all-target-liboffloadmic: maybe-all-target-libgomp
> >  configure-target-newlib: maybe-all-binutils
>
> ... isn't that actually a no-op, because we already had such a dependency
> listed?  Now twice:
>
>     $ grep -n -F 'configure-target-libffi: maybe-all-target-libstdc++-v3' -- Makefile.in
>     61264:configure-target-libffi: maybe-all-target-libstdc++-v3
>     61372:configure-target-libffi: maybe-all-target-libstdc++-v3
>
> Compared to the existing one, the one you've added is additionally
> restricted by '@unless gcc-bootstrap'.
>
> I noticed this as I remembered that on our og[...] development branches
> we have a patch in the opposite direction: get rid of this dependency via
> removing 'lang_env_dependencies = { module=libffi; cxx=true; };' from
> 'Makefile.def'.  See
> <http://mid.mail-archive.com/alpine.DEB.2.21.9999.1812201344250.99920@build7-trusty-cs.sje.mentorg.com>
> "Disable libstdc++ dependency for libffi".  (Maciej CCed in case you have
> any further thoughts on that.)

Oh, I see what happened now, the old bug was actually fixed by r6-5415
which added cxx=true.
So yes my patch is actually not needed and can be reverted.
I tried to look to see if there was a dependency was there but for
some reason I did not see it.
Also it looks like the OpenACC changes never went to the trunk either ....

>
>
> Grüße
>  Thomas
> -----------------
> Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955
  
Thomas Schwinge Jan. 25, 2022, 5:48 p.m. UTC | #4
Hi!

On 2021-09-17T01:01:39-0700, Andrew Pinski via Gcc-patches <gcc-patches@gcc.gnu.org> wrote:
> On Fri, Sep 17, 2021 at 12:46 AM Thomas Schwinge
> <thomas@codesourcery.com> wrote:
>> First, I appreciate you working through all these old PRs!
>>
>>
>> On 2021-09-15T13:56:37-0700, apinski--- via Gcc-patches <gcc-patches@gcc.gnu.org> wrote:
>> > The error message is obvious -funconfigured-libstdc++-v3 is used
>> > on the g++ command line.  So we just add the dependancy.
>>
>> > --- a/Makefile.def
>> > +++ b/Makefile.def
>> > @@ -592,6 +592,7 @@ dependencies = { module=configure-target-fastjar; on=configure-target-zlib; };
>> >  dependencies = { module=all-target-fastjar; on=all-target-zlib; };
>> >  dependencies = { module=configure-target-libgo; on=configure-target-libffi; };
>> >  dependencies = { module=configure-target-libgo; on=all-target-libstdc++-v3; };
>> > +dependencies = { module=configure-target-libffi; on=all-target-libstdc++-v3; };
>> >  dependencies = { module=all-target-libgo; on=all-target-libbacktrace; };
>> >  dependencies = { module=all-target-libgo; on=all-target-libffi; };
>> >  dependencies = { module=all-target-libgo; on=all-target-libatomic; };
>>
>> I'm confused, because given that this 'Makefile.def' change only has the
>> following effect:
>>
>> > --- a/Makefile.in
>> > +++ b/Makefile.in
>> > @@ -61261,6 +61261,7 @@ all-bison: maybe-all-intl
>> >  all-flex: maybe-all-intl
>> >  all-m4: maybe-all-intl
>> >  configure-target-libgo: maybe-all-target-libstdc++-v3
>> > +configure-target-libffi: maybe-all-target-libstdc++-v3
>> >  configure-target-liboffloadmic: maybe-configure-target-libgomp
>> >  all-target-liboffloadmic: maybe-all-target-libgomp
>> >  configure-target-newlib: maybe-all-binutils
>>
>> ... isn't that actually a no-op, because we already had such a dependency
>> listed?  Now twice:
>>
>>     $ grep -n -F 'configure-target-libffi: maybe-all-target-libstdc++-v3' -- Makefile.in
>>     61264:configure-target-libffi: maybe-all-target-libstdc++-v3
>>     61372:configure-target-libffi: maybe-all-target-libstdc++-v3
>>
>> Compared to the existing one, the one you've added is additionally
>> restricted by '@unless gcc-bootstrap'.
>>
>> I noticed this as I remembered that on our og[...] development branches
>> we have a patch in the opposite direction: get rid of this dependency via
>> removing 'lang_env_dependencies = { module=libffi; cxx=true; };' from
>> 'Makefile.def'.  See
>> <http://mid.mail-archive.com/alpine.DEB.2.21.9999.1812201344250.99920@build7-trusty-cs.sje.mentorg.com>
>> "Disable libstdc++ dependency for libffi".  (Maciej CCed in case you have
>> any further thoughts on that.)
>
> Oh, I see what happened now, the old bug was actually fixed by r6-5415
> which added cxx=true.
> So yes my patch is actually not needed and can be reverted.
> I tried to look to see if there was a dependency was there but for
> some reason I did not see it.

I have thus pushed 'git revert db1a65d9364fe72c2fff65fb2dec051728b6f3fa'
to master branch in commit aeac414923aa1e87986c7fc6f9b921d89a9b86cf
'Revert "Fix PR 67102: Add libstdc++ dependancy to libffi" [PR67102]',
see attached.


Grüße
 Thomas


-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955
  

Patch

diff --git a/Makefile.def b/Makefile.def
index de3e0052106..90316364d01 100644
--- a/Makefile.def
+++ b/Makefile.def
@@ -592,6 +592,7 @@  dependencies = { module=configure-target-fastjar; on=configure-target-zlib; };
 dependencies = { module=all-target-fastjar; on=all-target-zlib; };
 dependencies = { module=configure-target-libgo; on=configure-target-libffi; };
 dependencies = { module=configure-target-libgo; on=all-target-libstdc++-v3; };
+dependencies = { module=configure-target-libffi; on=all-target-libstdc++-v3; };
 dependencies = { module=all-target-libgo; on=all-target-libbacktrace; };
 dependencies = { module=all-target-libgo; on=all-target-libffi; };
 dependencies = { module=all-target-libgo; on=all-target-libatomic; };
diff --git a/Makefile.in b/Makefile.in
index 61af99dc75a..81b26c7177e 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -61261,6 +61261,7 @@  all-bison: maybe-all-intl
 all-flex: maybe-all-intl
 all-m4: maybe-all-intl
 configure-target-libgo: maybe-all-target-libstdc++-v3
+configure-target-libffi: maybe-all-target-libstdc++-v3
 configure-target-liboffloadmic: maybe-configure-target-libgomp
 all-target-liboffloadmic: maybe-all-target-libgomp
 configure-target-newlib: maybe-all-binutils