https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94253

            Bug ID: 94253
           Summary: FAIL: gfortran.dg/bind_c_coms.f90   -O0  (test for
                    excess errors)
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: danglin at gcc dot gnu.org
  Target Milestone: ---
              Host: hppa64-hp-hpux11.11
            Target: hppa64-hp-hpux11.11
             Build: hppa64-hp-hpux11.11

spawn /test/gnu/gcc/objdir/gcc/testsuite/gfortran/../../gfortran
-B/test/gnu/gcc/objdir/gcc/testsuite/gfortran/../../
-B/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/./libgfortran/
/test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/bind_c_coms.f90
-fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers
-fdiagnostics-color=never -fdiagnostics-urls=never -O0 -w
/test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/bind_c_coms_driver.c
-B/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/./libgfortran/.libs
-L/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/./libgfortran/.libs
-L/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/./libgfortran/.libs
-L/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/./libatomic/.libs
-B/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/./libquadmath/.libs
-L/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/./libquadmath/.libs
-L/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/./libquadmath/.libs -lm -o
./bind_c_coms.exe
ld: (Warning) Symbol "com" in "/var/tmp//cc14WyWs.o" does not satisfy the
required 16-byte alignment in "/var/tmp//cc4g1Pgg.o".
1 warnings.
output is:
ld: (Warning) Symbol "com" in "/var/tmp//cc14WyWs.o" does not satisfy the
required 16-byte alignment in "/var/tmp//cc4g1Pgg.o".
1 warnings.

FAIL: gfortran.dg/bind_c_coms.f90   -O0  (test for excess errors)
Excess errors:
ld: (Warning) Symbol "com" in "/var/tmp//cc14WyWs.o" does not satisfy the
required 16-byte alignment in "/var/tmp//cc4g1Pgg.o".
1 warnings.

Fails at all optimizations.

We now have in bind_c_coms_driver.s:

        .section        .bss
        .align 8
        .type   com, @object
        .size   com, 16
        .align 8
com:
        .block 16

We used to have:

        .section        .bss
com     .comm 16

The later provides 16-byte alignment.

Looks to me like there are problems with both pa_asm_output_aligned_bss() and
pa_asm_output_aligned_common().  It looks like allocations in the BSS need to
be aligned to a power of 2 alignment greater than the size of the block.

Reply via email to