Add required hugify instrumentation and runtime libraries support for AArch64. Fixes #58226 Unblocks #62695
39 lines
957 B
C
39 lines
957 B
C
// Make sure BOLT correctly processes --hugify option
|
|
|
|
#include <stdio.h>
|
|
|
|
int main(int argc, char **argv) {
|
|
printf("Hello world\n");
|
|
return 0;
|
|
}
|
|
|
|
/*
|
|
REQUIRES: system-linux,bolt-runtime
|
|
|
|
RUN: %clang %cflags -no-pie %s -o %t.nopie.exe -Wl,-q
|
|
RUN: %clang %cflags -fpic %s -o %t.pie.exe -Wl,-q
|
|
|
|
RUN: llvm-bolt %t.nopie.exe --lite=0 -o %t.nopie --hugify
|
|
RUN: llvm-bolt %t.pie.exe --lite=0 -o %t.pie --hugify
|
|
|
|
RUN: llvm-nm --numeric-sort --print-armap %t.nopie | \
|
|
RUN: FileCheck %s -check-prefix=CHECK-NM
|
|
RUN: %t.nopie | FileCheck %s -check-prefix=CHECK-NOPIE
|
|
|
|
RUN: llvm-nm --numeric-sort --print-armap %t.pie | \
|
|
RUN: FileCheck %s -check-prefix=CHECK-NM
|
|
RUN: %t.pie | FileCheck %s -check-prefix=CHECK-PIE
|
|
|
|
CHECK-NM: W __hot_start
|
|
CHECK-NM-NEXT: T _start
|
|
CHECK-NM: T main
|
|
CHECK-NM: W __hot_end
|
|
CHECK-NM: t __bolt_hugify_start_program
|
|
CHECK-NM-NEXT: W __bolt_runtime_start
|
|
|
|
CHECK-NOPIE: Hello world
|
|
|
|
CHECK-PIE: Hello world
|
|
|
|
*/
|