Skip to content

Commit 1d7b9c2

Browse files
author
Ash Dobrescu
committed
Add python, postgres, rustc and nginx AArch binaries
The python and postgres tests ensure that, following llvm/llvm-project#120267, bolt can successfully run on those binaries without any errors and without the need for the --skip-funcs flag. The rustc and nginx tests only check that bolt can successfully run with no errors on those binaries.
1 parent 3aa6a80 commit 1d7b9c2

File tree

8 files changed

+60
-0
lines changed

8 files changed

+60
-0
lines changed

test/AArch64/Inputs/nginx.zst

886 KB
Binary file not shown.

test/AArch64/Inputs/postgres.zst

4.69 MB
Binary file not shown.

test/AArch64/Inputs/python3.12.zst

2.3 MB
Binary file not shown.

test/AArch64/Inputs/rustc.zst

3.33 KB
Binary file not shown.

test/AArch64/nginx.test

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Check that llvm-bolt can processes nginx binary for aarch64
2+
3+
RUN: mkdir -p %p/Output
4+
RUN: test -f %p/Output/nginx || \
5+
RUN: unzstd %p/Inputs/nginx.zst \
6+
RUN: -o %p/Output/nginx
7+
RUN: llvm-bolt %p/Output/nginx -o %t |& FileCheck %s
8+
CHECK: BOLT-INFO: Target architecture: aarch64
9+
# TODO:change this to remove -NOT before submitting this
10+
CHECK-NOT: BOLT-ERROR
11+
12+
# Check that llvm-bolt can processes nginx binary for aarch64 with relocations enabled and --skip-funcs
13+
RUN: llvm-bolt %p/Output/nginx -o %t |& FileCheck %s -check-prefix=TRYCHECK
14+
TRYCHECK: BOLT-INFO: Target architecture: aarch64
15+
TRYCHECK: BOLT-INFO: setting _end
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Check that llvm-bolt can processes postgres binary for aarch64 with relocations enabled
2+
3+
RUN: mkdir -p %p/Output
4+
RUN: test -f %p/Output/postgres || \
5+
RUN: unzstd %p/Inputs/postgres.zst \
6+
RUN: -o %p/Output/postgres
7+
RUN: llvm-bolt %p/Output/postgres -o %t |& FileCheck %s
8+
CHECK: BOLT-INFO: Target architecture: aarch64
9+
# TODO:change this to remove -NOT before submitting this
10+
CHECK-NOT: BOLT-ERROR: unable to get new address corresponding to input address 0x2cb1b0 in function ExecInterpExpr/1
11+
12+
# Check that llvm-bolt can processes postgres binary for aarch64 with relocations enabled and --skip-funcs
13+
RUN: llvm-bolt %p/Output/postgres -o %t |& FileCheck %s -check-prefix=TRYCHECK
14+
TRYCHECK: BOLT-INFO: Target architecture: aarch64
15+
TRYCHECK: BOLT-INFO: setting _end
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Check that llvm-bolt can processes python3.12 binary for aarch64 with relocations enabled
2+
3+
RUN: mkdir -p %p/Output
4+
RUN: test -f %p/Output/python3.12 || \
5+
RUN: unzstd %p/Inputs/python3.12.zst \
6+
RUN: -o %p/Output/python3.12
7+
RUN: llvm-bolt %p/Output/python3.12 -o %t |& FileCheck %s
8+
CHECK: BOLT-INFO: Target architecture: aarch64
9+
# TODO:change this to remove -NOT before submitting this
10+
CHECK-NOT: BOLT-ERROR: unable to get new address corresponding to input address 0x1b3f14 in function sre_ucs1_match/1
11+
12+
# Check that llvm-bolt can processes python3.12 binary for aarch64 with relocations enabled
13+
RUN: llvm-bolt %p/Output/python3.12 -o %t |& FileCheck %s -check-prefix=TRYCHECK
14+
TRYCHECK: BOLT-INFO: Target architecture: aarch64
15+
TRYCHECK: BOLT-INFO: patched build-id

test/AArch64/rustc.test

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Check that llvm-bolt can processes rustc binary for aarch64
2+
3+
RUN: mkdir -p %p/Output
4+
RUN: test -f %p/Output/rustc || \
5+
RUN: unzstd %p/Inputs/rustc.zst \
6+
RUN: -o %p/Output/rustc
7+
RUN: llvm-bolt %p/Output/rustc -o %t |& FileCheck %s
8+
CHECK: BOLT-INFO: Target architecture: aarch64
9+
# TODO:change this to remove -NOT before submitting this
10+
CHECK-NOT: BOLT-ERROR
11+
12+
# Check that llvm-bolt can processes rustc binary for aarch64 with relocations enabled
13+
RUN: llvm-bolt %p/Output/rustc -o %t |& FileCheck %s -check-prefix=TRYCHECK
14+
TRYCHECK: BOLT-INFO: Target architecture: aarch64
15+
TRYCHECK: BOLT-INFO: setting _end

0 commit comments

Comments
 (0)