Skip to content

Orc global constructor order test fails on 32 bit ARM #95911

@DavidSpickett

Description

@DavidSpickett

The test added by #95532 has exposed a pre-existing issue on Arm 32 bit.

https://lab.llvm.org/buildbot/#/builders/154/builds/170

The test expects to see each constructor print a string, but this is what we get:

$ /home/david.spickett/build-llvm-arm/bin/lli -jit-kind=orc /home/david.spickett/llvm-project/llvm/test/ExecutionEngine/Orc/global-ctor-order.ll
H1

H3

M2

1
2
3
4
5
6
7
8
9
10

12

14

16

We know it isn't because of the added stable sort because the output order changes when I remove it but the gaps remain:

$ /home/david.spickett/build-llvm-arm/bin/lli -jit-kind=orc /home/david.spickett/llvm-project/llvm/test/ExecutionEngine/Orc/global-ctor-order.ll
H3
H1

M2



1
2

16

14

12
5
10
9
3
8
7
6
4

This may be due to relocations to the strings for those constructors not being resolved. Potentially it is the same problem as #94994.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions