AArch64 tests failing

I'm seeing a bunch of failures on AArch64 after updating this morning.
These are NOT failing on x86-64. These all seem to be caused by
segfaults (example backtrace below). Is anyone else seeing this?


    LLVM :: DebugInfo/symbolize-no-debug-str.test
    LLVM :: tools/gold/X86/comdat.ll
    LLVM :: tools/gold/X86/visibility.ll
    LLVM :: tools/llvm-objcopy/ELF/add-section-remove.test
    LLVM :: tools/llvm-objcopy/ELF/add-section.test
    LLVM :: tools/llvm-objcopy/ELF/armexidx-link.test
    LLVM :: tools/llvm-objcopy/ELF/auto-remove-shndx.test
    LLVM :: tools/llvm-objcopy/ELF/binary-first-seg-offset-zero.test
    LLVM :: tools/llvm-objcopy/ELF/binary-output-empty.test
    LLVM :: tools/llvm-objcopy/ELF/binary-remove-all-but-one.test
    LLVM :: tools/llvm-objcopy/ELF/binary-remove-end.test
    LLVM :: tools/llvm-objcopy/ELF/binary-remove-middle.test
    LLVM :: tools/llvm-objcopy/ELF/dynsym-error-remove-strtab.test
    LLVM :: tools/llvm-objcopy/ELF/explicit-keep-remove.test
    LLVM :: tools/llvm-objcopy/ELF/explicit-only-section-remove.test
    LLVM :: tools/llvm-objcopy/ELF/group-big-endian.test
    LLVM :: tools/llvm-objcopy/ELF/group-unchanged.test
    LLVM :: tools/llvm-objcopy/ELF/group.test
    LLVM :: tools/llvm-objcopy/ELF/keep-symbol-remove-section.test
    LLVM :: tools/llvm-objcopy/ELF/only-section-remove-strtab.test
    LLVM :: tools/llvm-objcopy/ELF/parent-loop-check.test
    LLVM :: tools/llvm-objcopy/ELF/reloc-error-remove-symtab.test
    LLVM :: tools/llvm-objcopy/ELF/remove-multiple-sections.test
    LLVM :: tools/llvm-objcopy/ELF/remove-section-in-segment.test
    LLVM :: tools/llvm-objcopy/ELF/remove-section-with-symbol.test
    LLVM :: tools/llvm-objcopy/ELF/remove-section.test
    LLVM :: tools/llvm-objcopy/ELF/remove-shndx.test
    LLVM :: tools/llvm-objcopy/ELF/remove-shstrtab-error.test
    LLVM :: tools/llvm-objcopy/ELF/remove-symtab.test
    LLVM :: tools/llvm-objcopy/ELF/segment-shift-section-remove.test
    LLVM :: tools/llvm-objcopy/ELF/segment-test-remove-section.test
    LLVM :: tools/llvm-objcopy/ELF/strict-no-add.test
    LLVM :: tools/llvm-objcopy/ELF/strip-all-and-remove.test
    LLVM :: tools/llvm-objcopy/ELF/strip-debug-and-remove.test
    LLVM :: tools/llvm-objcopy/ELF/strip-section-err.test
    LLVM :: tools/llvm-objcopy/ELF/symtab-error-on-remove-strtab.test
    LLVM :: tools/llvm-objcopy/ELF/two-seg-remove-end.test
    LLVM :: tools/llvm-objcopy/ELF/two-seg-remove-first.test
    LLVM :: tools/llvm-objcopy/ELF/two-seg-remove-third-sec.test
    LLVM :: tools/llvm-readobj/elf-no-relocs.test

I only have an x86 to test with, so no. Are you able to get more information, perhaps running in debug mode to get line numbers?

I seems to be a gcc miscompile. We've seen other tests fail with gcc
6.1.0 (which we've been using) and those other failures and the ones I
just reported go away with gcc 8.2.0.

Now, it's theoretically possible that gcc 8.2.0 is just optimizing
differently and not behaving the same way with some undefined behavior
in the LLVM sources, but that seems less likely than a gcc bug, given
that the many other compilers people use (not just gcc) aren't
triggering any problems.

Perhaps we should note that gcc 6.1.0 may be buggy when building on
AArch64 here:


I'm happy to make that change, but I unfortunately don't have time to
verify *for sure* that gcc 6.1.0 is buggy. It's just a theory at the
moment. Is it premature to add a note about gcc 6.1.0 on that page?


Jordan Rupprecht <rupprecht@google.com> writes:

If you get a chance, could you try self-hosting with clang and enabling
asan+ubsan? If this is something where gcc 6.1.0 happens to do something
interesting with UB, that might catch it. Doing so may be as simple as
building with clang and passing -DLLVM_USE_SANITIZER='Address;Undefined'
to your cmake invocation.

David Greene via llvm-dev <llvm-dev@lists.llvm.org> writes: