Skip to content

Failures with root 6.24.00 on Fedora 33 ppc64le #8072

@ellert

Description

@ellert

Describe the bug

There are several issues when compiling root 6.24.00 on ppc64le.

  1. The fix for the altivec __vector keyword that was previously backported (from LLVM 10) was lost in the LLVM 9 upgrade (Fix ppc64le compilation with gcc 10 #8069).

  2. After fixing that, running root 6.24.00 on ppc64le fails with an assert:

    assert(TM->getCodeModel() >= CodeModel::Large);

  3. Trying to request the large code model rather than assert fail (ellert@a71528c) does not work. The build fails with a segmentation fault at the very end of the build when the hsimple.C macro is run to create the hsimple.root file.

  4. Testing to run with the default code model (i.e. neither trying to change to the large model, nor assert if the model is not the large one) avoids the segmentation fault above, but many tests fail with:

Relocation R_PPC64_REL32 overflow
UNREACHABLE executed at /builddir/build/BUILD/root-6.24.00/interpreter/llvm/src/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp:800!

So it really needs the large code model.

Enabling the large code model for ppc64le did not result in a segmentation fault in previous versions of root, so this is a regression.

Expected behavior

Working root on ppc64le

To Reproduce

Compile root 6.24.00 for ppc64le

Setup

  1. ROOT version: 6.24.00
  2. Operating system: Fedora Linux 33

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions