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.