[Bug ada/42518] Alignment issue prevents building 64 bit RTS on Snow Leopard

2010-01-11 Thread ebotcazou at gcc dot gnu dot org


--- Comment #13 from ebotcazou at gcc dot gnu dot org  2010-01-11 11:30 
---
I think we should consider that x86_64-apple-darwin is not supported in 4.4 and
make sure that it will be in 4.5, in particular fix PR middle-end/42068.


-- 

ebotcazou at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |NEW
 Ever Confirmed|0   |1
   GCC host triplet|i386-apple-darwin10.2.0 |
   Last reconfirmed|-00-00 00:00:00 |2010-01-11 11:30:17
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42518



[Bug ada/42518] Alignment issue prevents building 64 bit RTS on Snow Leopard

2010-01-11 Thread simon at pushface dot org


--- Comment #14 from simon at pushface dot org  2010-01-11 21:35 ---
Concur with Eric.

Um, I could submit a patch for PR middle-end/42068 if it would help? Not aware
of procedure here.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42518



[Bug ada/42518] Alignment issue prevents building 64 bit RTS on Snow Leopard

2010-01-11 Thread ebotcazou at gcc dot gnu dot org


--- Comment #15 from ebotcazou at gcc dot gnu dot org  2010-01-11 21:41 
---
 Um, I could submit a patch for PR middle-end/42068 if it would help? Not aware
 of procedure here.

You'd need to go through the full testing procedure described here:
  http://gcc.gnu.org/contribute.html


-- 

ebotcazou at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||WONTFIX


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42518



[Bug ada/42518] Alignment issue prevents building 64 bit RTS on Snow Leopard

2009-12-31 Thread simon at pushface dot org


--- Comment #12 from simon at pushface dot org  2009-12-31 16:25 ---
I have tried gcc-4_4-branch and indeed it correctly identifies the triplet
without any help (I have been having some trouble with exactly what compiler I
am configuring with).
The problem turns out to be in gcc/ada/gcc-interface/Makefile.in, and was fixed
at SVN-145837 by set...@adacore.com (checked in by charlet).
Should this change be rolled into gcc-4_4-branch? (may not be so simple, eg
s-osprim-darwin.adb doesn't exist in gcc-4_4-branch).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42518



[Bug ada/42518] Alignment issue prevents building 64 bit RTS on Snow Leopard

2009-12-30 Thread simon at pushface dot org


--- Comment #10 from simon at pushface dot org  2009-12-30 18:29 ---
I've done as Eric suggests in #8 (though it looks to me as though the build
system is very close to supporting just --build= in this case!).
Situation now is that something in gcc/ada/gcc-interface/Makefile is selecting
system-darwin-ppc.ads to copy into gcc/ada/rts/system.ads (bizarre! I can't see
how this happens, it doesn't happen with the i386 build) which is a 32-bit
system, hence the reported failure.
Replace with the correct system-darwin-x86_64.ads, delete gcc/ada/rts/*.{o,ali}
and continue with the make, the RTS build continues OK (other problems later,
see #42554)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42518



[Bug ada/42518] Alignment issue prevents building 64 bit RTS on Snow Leopard

2009-12-30 Thread howarth at nitro dot med dot uc dot edu


--- Comment #11 from howarth at nitro dot med dot uc dot edu  2009-12-30 
20:50 ---
Please try an svn pull of current gcc-4_4-branch. Assuming that you have EMT64
capable hardware and want to build the native x86_64 version of the FSF gcc
compilers, the new config.guess should properly detect the triplet as
x86_64-apple-darwin10 without any additional --build/--host/--target flags. You
might also try gcc trunk to make sure that there aren't changes that need to be
backported. This could be the case as I don't see...

2009-04-09  Nicolas Setton  set...@adacore.com

* s-osinte-darwin.ads: (Pad_Type): Make this an array of unsigned_long,
to match layout of siginfo_t in sys/signal.h.

* gcc-interface/Makefile.in: Add section for x86_64 darwin.

in gcc-4_4-branch.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42518



[Bug ada/42518] Alignment issue prevents building 64 bit RTS on Snow Leopard

2009-12-29 Thread simon at pushface dot org


--- Comment #1 from simon at pushface dot org  2009-12-29 15:01 ---
Get a similar failure building GCC 4.3.3:

/Users/simon/gcc-build-4.3.3-x86_64/./gcc/xgcc
-B/Users/simon/gcc-build-4.3.3-x86_64/./gcc/
-B/opt/gcc-4.3.3-x86_64/x86_64-apple-darwin10.2.0/bin/
-B/opt/gcc-4.3.3-x86_64/x86_64-apple-darwin10.2.0/lib/ -isystem
/opt/gcc-4.3.3-x86_64/x86_64-apple-darwin10.2.0/include -isystem
/opt/gcc-4.3.3-x86_64/x86_64-apple-darwin10.2.0/sys-include -c -g -O2 -fPIC
-pipe -fno-common  -W -Wall -gnatpg  a-direct.adb -o
a-direct.o
a-direct.ads:426:09: alignment for Search_Typeb82s must be at least 8
a-direct.ads:426:09: alignment for Search_Typet77s must be at least 8
make[6]: *** [a-direct.o] Error 1


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42518



[Bug ada/42518] Alignment issue prevents building 64 bit RTS on Snow Leopard

2009-12-29 Thread ebotcazou at gcc dot gnu dot org


--- Comment #2 from ebotcazou at gcc dot gnu dot org  2009-12-29 15:24 
---
There is something strange: the report is about a native i386 compiler built on
x86-64 but the configure line is for a native x86-64 compiler.  Which one is
correct?  Does the base compiler target i386 or x86-64?


-- 

ebotcazou at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||ebotcazou at gcc dot gnu dot
   ||org
   Severity|blocker |normal
 Status|UNCONFIRMED |WAITING


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42518



[Bug ada/42518] Alignment issue prevents building 64 bit RTS on Snow Leopard

2009-12-29 Thread simon at pushface dot org


--- Comment #3 from simon at pushface dot org  2009-12-29 18:06 ---
Sorry if I've caused confusion by misunderstanding the reporting system.

I can build GCC4.4.2[i386-apple-darwin10.2.0] using
GNAT-GPL-2009[i386-apple-darwin10.2.0].

I then try to build GCC4.4.2[x86_64-apple-darwin10.2.0] using
GCC4.4.2[i386-apple-darwin10.2.0], with the reported results.

So the problem arises in the middle of the compiler build process; the original
host compiler was i386-apple-darwin10.2.0 but by the time the error occurs
we're using the stage3 x86_64-apple-darwin10.2.0 compiler (of course it can
never be installed because it can't build its RTS).

I've been using --build=x86_64-apple-darwin10.2.0 to indicate that I want to
build a 64-bit compiler, is that not the right method? (I picked this up from
AdaCore's GNAT-GPL-2009, which is x86_64 built on Leopard; it's not a technique
mentioned in documentation at gcc.gnu.org).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42518



[Bug ada/42518] Alignment issue prevents building 64 bit RTS on Snow Leopard

2009-12-29 Thread howarth at nitro dot med dot uc dot edu


--- Comment #4 from howarth at nitro dot med dot uc dot edu  2009-12-29 
18:25 ---
Are you building on a Core Duo (ie non-EMT64 capable) machine? If not, the
default code generation of the Apple system compiler should be to execute and
generate x86_64 code under 10.6. You can't take the output of 'gcc -v'
literally in 10.6. Apple builds fat binaries for their compiler and it only
reports the first set of specifications that it finds. So even when their gcc
executes and regenerates x86_64, the output of 'gcc -v' will report i386. I
opened a radar on that issue awhile back.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42518



[Bug ada/42518] Alignment issue prevents building 64 bit RTS on Snow Leopard

2009-12-29 Thread howarth at nitro dot med dot uc dot edu


--- Comment #5 from howarth at nitro dot med dot uc dot edu  2009-12-29 
18:32 ---
You might try current gcc 4.4.2 branch. It contains the latest config.guess
which determines the architecture type according to the system compiler's
default code generation for intel darwin.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42518



[Bug ada/42518] Alignment issue prevents building 64 bit RTS on Snow Leopard

2009-12-29 Thread howarth at nitro dot med dot uc dot edu


--- Comment #6 from howarth at nitro dot med dot uc dot edu  2009-12-29 
18:33 ---
I meant gcc-4_4-branch.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42518



[Bug ada/42518] Alignment issue prevents building 64 bit RTS on Snow Leopard

2009-12-29 Thread simon at pushface dot org


--- Comment #7 from simon at pushface dot org  2009-12-29 18:48 ---
I think the immediate cause is that the alignment for generated tagged type
support objects (see eg exp_disp.adb:4007) is derived from that of
System.Storage_Elements.Integer_Address (defined as mod Memory_Size) which
should be 8 and is coming out as 4.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42518



[Bug ada/42518] Alignment issue prevents building 64 bit RTS on Snow Leopard

2009-12-29 Thread ebotcazou at gcc dot gnu dot org


--- Comment #8 from ebotcazou at gcc dot gnu dot org  2009-12-29 19:29 
---
 I then try to build GCC4.4.2[x86_64-apple-darwin10.2.0] using
 GCC4.4.2[i386-apple-darwin10.2.0], with the reported results.

 [...]

 I've been using --build=x86_64-apple-darwin10.2.0 to indicate that I want to
 build a 64-bit compiler, is that not the right method?

--build=xxx means you're using a xxx compiler to build.  Since you apparently
don't have a x86_64 compiler at hand but only a i386, you cannot do that.

You first need to build a i386 - x86-64 cross-compiler (--host=i386-apple-*
--target=x86_64-apple-*) with the base i386 compiler and then use the resulting
compiler to build a native x86-64 compiler (--build=x86_64-apple-*).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42518



[Bug ada/42518] Alignment issue prevents building 64 bit RTS on Snow Leopard

2009-12-29 Thread howarth at nitro dot med dot uc dot edu


--- Comment #9 from howarth at nitro dot med dot uc dot edu  2009-12-29 
23:37 ---
(In reply to comment #8)
 --build=xxx means you're using a xxx compiler to build.  Since you apparently
 don't have a x86_64 compiler at hand but only a i386, you cannot do that.
 
 You first need to build a i386 - x86-64 cross-compiler (--host=i386-apple-*
 --target=x86_64-apple-*) with the base i386 compiler and then use the 
 resulting
 compiler to build a native x86-64 compiler (--build=x86_64-apple-*).
 

Again, it is important to actually check the code generation of the system
compiler. On a MacBook Pro
with an EMT64 compatible processor, I get...

gcc -v
Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5646.1~2/src/configure --disable-checking
--enable-werror --prefix=/usr --mandir=/share/man
--enable-languages=c,objc,c++,obj-c++
--program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib
--build=i686-apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1
--program-prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10
--target=i686-apple-darwin10
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5646) (dot 1)

even though this compiler default to x86_64 code generation on this hardware.
One of the oddities of a fat binary compiler in Snow Leopard. The reported
specs don't match the actual compiler code in use.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42518