Re: Darwin -m64 results
Mike, I don't believe that this warning with "-O3 -m64 -g" is due to the fortran compiler optimizing away the storage. If I compile... program test integer i,j common i do j = 1,100 i=i+1 end do end I still see the warning "can't find atom for N_GSYM stabs i:G(0,3)" and I would be surprised if the storage for "i" was being optimized away. I did one other test using the test case of... program test integer i common i end ...with and without the common statement at both -m32 and -m64. The resulting lines in assign.s introduced by the use of the common section are identical in both -m32 and -m64 compiles... --- assign.s.nocommon 2006-08-19 10:45:59.0 -0400 +++ assign.s2006-08-19 10:46:19.0 -0400 @@ -18,6 +18,11 @@ .stabs "void:t(0,1)",128,0,0,0 Lscope1: .stabs "",36,0,0,Lscope1-LFBB1 +.comm ___BLNK__,4 + .stabs "__BLNK__:G(0,2)=s4i:(0,3)=r(0,3);-2147483648;2147483647;,0,32;;",32,0,3,0 + .stabs "int4:t(0,3)",128,0,0,0 + .stabs "__BLNK__:G(0,2)",32,0,3,0 + .stabs "i:G(0,3)",32,0,4,0 .stabs "",100,0,0,Letext0 Letext0: .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32 ...however only the ld64 linker issues the "can't find atom for N_GSYM stabs i:G(0,3)" complaint. I think this suggests a bug in ld64, no? Jack
Re: Darwin -m64 results
Mike, One other observation. The only differences in the .s output for compiling... program test integer i common i end ...with -m32 and -m64 is... --- assign_m32.s2006-08-19 10:53:33.0 -0400 +++ assign_m64.s2006-08-19 10:53:59.0 -0400 @@ -1,10 +1,11 @@ - .machine ppc + .machine ppc64 .stabs "/Users/howarth/",100,0,7,Ltext0 .stabs "assign.f90",100,0,7,Ltext0 .text Ltext0: .stabs "gcc2_compiled.",60,0,0,0 .align 2 + .p2align 4,,15 .globl _MAIN__ _MAIN__: .stabd 68,0,3 @@ -35,11 +36,11 @@ mflr r11 addis r11,r11,ha16(L__gfortran_set_std$lazy_ptr-"L001$spb") mtlr r0 - lwzu r12,lo16(L__gfortran_set_std$lazy_ptr-"L001$spb")(r11) + ldu r12,lo16(L__gfortran_set_std$lazy_ptr-"L001$spb")(r11) mtctr r12 bctr .lazy_symbol_pointer L__gfortran_set_std$lazy_ptr: .indirect_symbol __gfortran_set_std - .long dyld_stub_binding_helper + .quad dyld_stub_binding_helper .subsections_via_symbols ...so even if "i" were being optimized away only ld64 seems to care. The ld 32-bit linker remains silent on the issue. Jack
gcc-4.2-20060819 is now available
Snapshot gcc-4.2-20060819 is now available on ftp://gcc.gnu.org/pub/gcc/snapshots/4.2-20060819/ and on various mirrors, see http://gcc.gnu.org/mirrors.html for details. This snapshot has been generated from the GCC 4.2 SVN branch with the following options: svn://gcc.gnu.org/svn/gcc/trunk revision 116260 You'll find: gcc-4.2-20060819.tar.bz2 Complete GCC (includes all of below) gcc-core-4.2-20060819.tar.bz2 C front end and core compiler gcc-ada-4.2-20060819.tar.bz2 Ada front end and runtime gcc-fortran-4.2-20060819.tar.bz2 Fortran front end and runtime gcc-g++-4.2-20060819.tar.bz2 C++ front end and runtime gcc-java-4.2-20060819.tar.bz2 Java front end and runtime gcc-objc-4.2-20060819.tar.bz2 Objective-C front end and runtime gcc-testsuite-4.2-20060819.tar.bz2The GCC testsuite Diffs from 4.2-20060812 are available in the diffs/ subdirectory. When a particular snapshot is ready for public consumption the LATEST-4.2 link is updated and a message is sent to the gcc list. Please do not use a snapshot before it has been announced that way.