huge object files. Expectable?
IainS
developer@sandoe-acoustics.co.uk
Mon Mar 22 11:29:00 GMT 2010
On 22 Mar 2010, at 07:39, IainS wrote:
>
> looking at this ... the darwin assembler has :
>
> ----
> .zerofill
> SYNOPSIS
>
> .zerofill segname , sectname [ , symbolname , size [ ,
> align_expression ]]
> The .zerofill directive causes symbolname to be created as
> uninitialized data in the section given by segname and sectname,
> with a size in bytes given by size. A power of 2 between 0 and 15
> may be given for align_expression to indicate what alignment should
> be forced on symbolname, which is placed on the next expression
> boundary having the given alignment. See “.align” for details.
>
> -----
>
> if I have a chance later - I might try to hand-edit the .s files to
> see if the .zerofill directive would produce an improved result in
> the specific case.
simplified testcase, clipped from the .s file generated by Andrew's
testcase :
space.s:
.machine ppc7400
.globl ___pmdata_MOD_accrate
.data
.align 3
___pmdata_MOD_accrate:
.space 16
.globl ___pmdata_MOD_angl
#replacing this....
# .align 3
#___pmdata_MOD_angl:
# .space 16000000
# with this....
.zerofill DATA, data, ___pmdata_MOD_angl, 16000000, 3
===
with the .space directive the object is 15Mb
with the .zerofill the object is 476 bytes...
I'll have to do a little more research as to whether this is always a
legitimate substitution for the zero case - and, if so, where it needs
to be done.
Iain
More information about the Fortran
mailing list