[Bug ada/80626] [7/8 Regression] Ada x32 multilib build failure for a-cfinve.ads

2017-05-10 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80626

H.J. Lu  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |7.2

--- Comment #8 from H.J. Lu  ---
Fixed on trunk and for 7.2.

[Bug ada/80626] [7/8 Regression] Ada x32 multilib build failure for a-cfinve.ads

2017-05-10 Thread hjl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80626

--- Comment #7 from hjl at gcc dot gnu.org  ---
Author: hjl
Date: Wed May 10 17:36:50 2017
New Revision: 247850

URL: https://gcc.gnu.org/viewcvs?rev=247850=gcc=rev
Log:
Ada/x32: PR ada/80626: Correct Memory_Size

X32 uses 64 as word size instead of 32.  This must not affect the
Address type definition which is based on Memory_Size.

Back port from mainline
PR ada/80626
* system-linux-x86.ads (Memory_Size): Use Long_Integer'Size
instead of Word_Size.

Modified:
branches/gcc-7-branch/gcc/ada/ChangeLog
branches/gcc-7-branch/gcc/ada/system-linux-x86.ads

[Bug ada/80626] [7/8 Regression] Ada x32 multilib build failure for a-cfinve.ads

2017-05-10 Thread hjl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80626

--- Comment #6 from hjl at gcc dot gnu.org  ---
Author: hjl
Date: Wed May 10 17:35:02 2017
New Revision: 247849

URL: https://gcc.gnu.org/viewcvs?rev=247849=gcc=rev
Log:
Ada/x32: PR ada/80626: Correct Memory_Size

X32 uses 64 as word size instead of 32.  This must not affect the
Address type definition which is based on Memory_Size.

PR ada/80626
* system-linux-x86.ads (Memory_Size): Use Long_Integer'Size
instead of Word_Size.

Modified:
trunk/gcc/ada/ChangeLog
trunk/gcc/ada/system-linux-x86.ads

[Bug ada/80626] [7/8 Regression] Ada x32 multilib build failure for a-cfinve.ads

2017-05-10 Thread steven at uplinklabs dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80626

--- Comment #5 from Steven Noonan  ---
(In reply to H.J. Lu from comment #3)
> Please try
> 
> diff --git a/gcc/ada/system-linux-x86.ads b/gcc/ada/system-linux-x86.ads
> index 22a212e..533d94e 100644
> --- a/gcc/ada/system-linux-x86.ads
> +++ b/gcc/ada/system-linux-x86.ads
> @@ -70,7 +70,7 @@ package System is
>  
> Storage_Unit : constant := 8;
> Word_Size: constant := Standard'Word_Size;
> -   Memory_Size  : constant := 2 ** Word_Size;
> +   Memory_Size  : constant := 2 ** Long_Integer'Size;
>  
> --  Address comparison

This seems to build perfectly for --with-multilib=m32,m64,mx32.

[Bug ada/80626] [7/8 Regression] Ada x32 multilib build failure for a-cfinve.ads

2017-05-10 Thread sch...@linux-m68k.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80626

--- Comment #4 from Andreas Schwab  ---
See also PR80117.

[Bug ada/80626] [7/8 Regression] Ada x32 multilib build failure for a-cfinve.ads

2017-05-09 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80626

H.J. Lu  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-05-10
Summary|Ada x32 multilib build  |[7/8 Regression] Ada x32
   |failure for a-cfinve.ads|multilib build failure for
   ||a-cfinve.ads
 Ever confirmed|0   |1

--- Comment #3 from H.J. Lu  ---
We need something similar to

commit 5821cbd2fa002acf67add968862c6d4fe847fa89
Author: krebbel 
Date:   Tue Apr 4 11:45:37 2017 +

[Ada][S/390] Fix Memory_Size definition.

-m31 -mzarch uses 64 as word size instead of 32.  This must not affect
the Address type definition which is based on Memory_Size.

gcc/ada/ChangeLog:

2017-04-04  Andreas Krebbel  

* system-linux-s390.ads: Use Long_Integer'Size to define
Memory_Size.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246678
138bc75d-0d04-0410-961f-82ee72b054a4

Please try

diff --git a/gcc/ada/system-linux-x86.ads b/gcc/ada/system-linux-x86.ads
index 22a212e..533d94e 100644
--- a/gcc/ada/system-linux-x86.ads
+++ b/gcc/ada/system-linux-x86.ads
@@ -70,7 +70,7 @@ package System is

Storage_Unit : constant := 8;
Word_Size: constant := Standard'Word_Size;
-   Memory_Size  : constant := 2 ** Word_Size;
+   Memory_Size  : constant := 2 ** Long_Integer'Size;

--  Address comparison