This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

in asm: where does ".zero 2102063220" come from?


Hi all.

I'm in the process of revamping the fortran-frontend to use trees instead of 
linked lists in its array-constructor representation (initial patch at [1]). 
By now, I'm hunting down the last regressions. For one regression, I have no 
idea how to deal with it.

The problem: for some reason the .o file for a small fortran program may be 
blown up to multiple GB. The diff below shows the differences in assembler of 
the testcase gfortran.dg/actual_array_substr_2.f90, once compiled with current 
trunk, once with my local tree. The only difference is the ".zero $bignumber" 
- it's not overly far fetched to link $bignumber with the object file size. 

It is to assume that I either dropped a required initialization or introduced 
one that should not be there. Simply reading the diff doesn't help me much as 
(a) it's rather big by now and (b) whenever I identified a candidate and put a 
breakpoint there, execution never actually stopped there ^^

Hints where these .zero lines are generated and why, where to put a breakpoint 
and what to look for -- or anything else that puts me on the right track --
would be appreciated.

Thanks

	Daniel


--- actual_array_substr_2.s.orig        2009-12-27 04:50:39.000000000 +0100
+++ actual_array_substr_2.s     2009-12-27 04:48:36.000000000 +0100
@@ -871,7 +871,9 @@
        .type   teststring.1574, @object
        .size   teststring.1574, 24
 teststring.1574:
+       .zero   12
        .ascii  "abc def ghij"
+       .zero   2102025972
        .ascii  "klm nop qrst"
        .align 4
        .type   m.1571, @object
@@ -903,7 +905,9 @@
        .type   foostring.1518, @object
        .size   foostring.1518, 24
 foostring.1518:
+       .zero   12
        .ascii  "0123456789#$"
+       .zero   2102063220
        .ascii  "$#9876543210"
-       .ident  "GCC: (GNU) 4.5.0 20091226 (experimental)"
+       .ident  "GCC: (GNU) 4.5.0 20091217 (experimental)"
        .section        .note.GNU-stack,"",@progbits



[1] http://gcc.gnu.org/ml/fortran/2009-12/msg00170.html


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]