bind_c_coms.f90 alignment errors on powerpc-apple-darwin9

Jack Howarth howarth@bromo.msbb.uc.edu
Thu Aug 2 13:12:00 GMT 2007


   I discovered the following testsuite failure under Leopard
which we can openly discuss because it can be reproduced with
a powerpc-apple-darwin9 cross-compiler under Darwin8. The
problem manifests itself as failures of the bind_c_coms testcase
due to warnings of...

> ld: warning alignment lost in merging tentative definition _com
> ld: warning alignment lost in merging tentative definition _f03_com2
> ld: warning alignment lost in merging tentative definition _mycom
> ld: warning alignment lost in merging tentative definition _mycom2
> ld: warning alignment lost in merging tentative definition _single

during the linkage of bind_c_coms_driver.o and bind_c_coms.o.
Christopher Rickett has looked at this under Darwin8 using a
powerpc-apple-darwin9 cross compiler and sees the following
differences in the assembly between the darwin8 and darwin9
compiler output...

$>diff -w bind_c_coms_darwin8.s bind_c_coms_darwin9.s
86,91c86,91
< .comm _mycom,4
< .comm _com3,8
< .comm _com,16
< .comm _f03_com2,8
< .comm _single,8
< .comm _mycom2,8
---
> .comm _mycom,4,4
> .comm _com3,8,4
> .comm _com,16,4
> .comm _f03_com2,8,4
> .comm _single,8,4
> .comm _mycom2,8,4

$>diff -w bind_c_coms_driver_darwin8.s bind_c_coms_driver_darwin9.s
144,148c144,148
< .comm _com,16
< .comm _single,8
< .comm _mycom,4
< .comm _mycom2,8
< .comm _f03_com2,8
---
> .comm _com,16,3
> .comm _single,8,3
> .comm _mycom,4,2
> .comm _mycom2,8,3
> .comm _f03_com2,8,2

Only the darwin9 cross-compiler produces a third field with the
alignment value. This problem is that this value is differing
between the .comm entries from bind_c_coms_driver.s and
bind_c_coms.s. I am wondering if this alignment issue could be
due in anyway to the fact that the .comm entries in the two
assembly fields are not in the same same order since these all
values appear to be in a common blocks. Thanks in advance for
any insights into the origins of this problem.
                Jack



More information about the Fortran mailing list