[Bug ada/42518] Alignment issue prevents building 64 bit RTS on Snow Leopard
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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