This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
in asm: where does ".zero 2102063220" come from?
- From: Daniel Franke <franke dot daniel at gmail dot com>
- To: gcc at gcc dot gnu dot org
- Cc: fortran at gcc dot gnu dot org
- Date: Sun, 27 Dec 2009 05:14:42 +0100
- Subject: 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