forked from OSchip/llvm-project
292 lines
5.9 KiB
ArmAsm
292 lines
5.9 KiB
ArmAsm
# REQUIRES: x86-registered-target
|
|
#
|
|
## The object files ps4-tli-checks.right.so and ps4-tli-checks.wrong.so
|
|
## were generated with the following commands:
|
|
## llvm-mc --triple=x86_64-scei-ps4 --filetype=obj ps4-tli-check.s -o t.o
|
|
## ld.lld --shared t.o -o Inputs/ps4-tli-check.right.so
|
|
## llvm-mc --triple=x86_64-scei-ps4 --defsym WRONG=1 --filetype=obj ps4-tli-check.s -o t2.o
|
|
## ld.lld --shared t2.o -o Inputs/ps4-tli-check.wrong.so
|
|
#
|
|
# RUN: llvm-tli-checker --triple=x86_64-scei-ps4 %S/Inputs/ps4-tli-check.right.so | FileCheck %s
|
|
#
|
|
# RUN: echo %S/Inputs/ps4-tli-check.wrong.so > %t2.txt
|
|
# RUN: llvm-tli-checker --triple x86_64-scei-ps4 @%t2.txt | \
|
|
# RUN: FileCheck %s --check-prefix=WRONG_SUMMARY --check-prefix=WRONG_DETAIL \
|
|
# RUN: --implicit-check-not="==" --implicit-check-not="<<" --implicit-check-not=">>"
|
|
# RUN: llvm-tli-checker --triple x86_64-scei-ps4 @%t2.txt --report=summary | \
|
|
# RUN: FileCheck %s --check-prefix=WRONG_SUMMARY \
|
|
# RUN: --implicit-check-not="==" --implicit-check-not="<<" --implicit-check-not=">>"
|
|
## --separate implies --report=summary.
|
|
# RUN: llvm-tli-checker --triple x86_64-scei-ps4 @%t2.txt --separate | \
|
|
# RUN: FileCheck %s --check-prefix=WRONG_SUMMARY \
|
|
# RUN: --implicit-check-not="==" --implicit-check-not="<<" --implicit-check-not=">>"
|
|
#
|
|
# RUN: llvm-tli-checker --triple x86_64-scei-ps4 --dump-tli > %t3.txt
|
|
# RUN: FileCheck %s --check-prefix=AVAIL --input-file %t3.txt
|
|
# RUN: FileCheck %s --check-prefix=UNAVAIL --input-file %t3.txt
|
|
#
|
|
# CHECK: << Total TLI yes SDK no: 0
|
|
# CHECK: >> Total TLI no SDK yes: 0
|
|
# CHECK: == Total TLI yes SDK yes: 235
|
|
#
|
|
# WRONG_DETAIL: << TLI yes SDK no : '_ZdaPv'
|
|
# WRONG_DETAIL: >> TLI no SDK yes: '_ZdaPvj'
|
|
# WRONG_SUMMARY: << Total TLI yes SDK no: 1{{$}}
|
|
# WRONG_SUMMARY: >> Total TLI no SDK yes: 1{{$}}
|
|
# WRONG_SUMMARY: == Total TLI yes SDK yes: 234
|
|
#
|
|
## The -COUNT suffix doesn't care if there are too many matches, so check
|
|
## the exact count first; the two directives should add up to that.
|
|
# AVAIL: TLI knows 466 symbols, 235 available
|
|
# AVAIL-COUNT-235: {{^}} available
|
|
# UNAVAIL-COUNT-231: not available
|
|
|
|
.macro defname name
|
|
.globl \name
|
|
.type \name ,@function
|
|
\name : nop
|
|
.endm
|
|
|
|
.text
|
|
# For the WRONG case, omit _ZdaPv and include _ZdaPvj.
|
|
.ifdef WRONG
|
|
defname _ZdaPvj
|
|
.else
|
|
defname _ZdaPv
|
|
.endif
|
|
defname _ZdaPvRKSt9nothrow_t
|
|
defname _ZdaPvSt11align_val_t
|
|
defname _ZdaPvSt11align_val_tRKSt9nothrow_t
|
|
defname _ZdaPvm
|
|
defname _ZdaPvmSt11align_val_t
|
|
defname _ZdlPv
|
|
defname _ZdlPvRKSt9nothrow_t
|
|
defname _ZdlPvSt11align_val_t
|
|
defname _ZdlPvSt11align_val_tRKSt9nothrow_t
|
|
defname _ZdlPvm
|
|
defname _ZdlPvmSt11align_val_t
|
|
defname _Znam
|
|
defname _ZnamRKSt9nothrow_t
|
|
defname _ZnamSt11align_val_t
|
|
defname _ZnamSt11align_val_tRKSt9nothrow_t
|
|
defname _Znwm
|
|
defname _ZnwmRKSt9nothrow_t
|
|
defname _ZnwmSt11align_val_t
|
|
defname _ZnwmSt11align_val_tRKSt9nothrow_t
|
|
defname __cxa_atexit
|
|
defname __cxa_guard_abort
|
|
defname __cxa_guard_acquire
|
|
defname __cxa_guard_release
|
|
defname abs
|
|
defname acos
|
|
defname acosf
|
|
defname acosh
|
|
defname acoshf
|
|
defname acoshl
|
|
defname acosl
|
|
defname aligned_alloc
|
|
defname asin
|
|
defname asinf
|
|
defname asinh
|
|
defname asinhf
|
|
defname asinhl
|
|
defname asinl
|
|
defname atan
|
|
defname atan2
|
|
defname atan2f
|
|
defname atan2l
|
|
defname atanf
|
|
defname atanh
|
|
defname atanhf
|
|
defname atanhl
|
|
defname atanl
|
|
defname atof
|
|
defname atoi
|
|
defname atol
|
|
defname atoll
|
|
defname calloc
|
|
defname cbrt
|
|
defname cbrtf
|
|
defname cbrtl
|
|
defname ceil
|
|
defname ceilf
|
|
defname ceill
|
|
defname clearerr
|
|
defname copysign
|
|
defname copysignf
|
|
defname copysignl
|
|
defname cos
|
|
defname cosf
|
|
defname cosh
|
|
defname coshf
|
|
defname coshl
|
|
defname cosl
|
|
defname exp
|
|
defname exp2
|
|
defname exp2f
|
|
defname exp2l
|
|
defname expf
|
|
defname expl
|
|
defname expm1
|
|
defname expm1f
|
|
defname expm1l
|
|
defname fabs
|
|
defname fabsf
|
|
defname fabsl
|
|
defname fclose
|
|
defname fdopen
|
|
defname feof
|
|
defname ferror
|
|
defname fflush
|
|
defname fgetc
|
|
defname fgetpos
|
|
defname fgets
|
|
defname fileno
|
|
defname floor
|
|
defname floorf
|
|
defname floorl
|
|
defname fmax
|
|
defname fmaxf
|
|
defname fmaxl
|
|
defname fmin
|
|
defname fminf
|
|
defname fminl
|
|
defname fmod
|
|
defname fmodf
|
|
defname fmodl
|
|
defname fopen
|
|
defname fprintf
|
|
defname fputc
|
|
defname fputs
|
|
defname fread
|
|
defname free
|
|
defname frexp
|
|
defname frexpf
|
|
defname frexpl
|
|
defname fscanf
|
|
defname fseek
|
|
defname fsetpos
|
|
defname ftell
|
|
defname fwrite
|
|
defname getc
|
|
defname getchar
|
|
defname gets
|
|
defname isdigit
|
|
defname labs
|
|
defname ldexp
|
|
defname ldexpf
|
|
defname ldexpl
|
|
defname llabs
|
|
defname log
|
|
defname log10
|
|
defname log10f
|
|
defname log10l
|
|
defname log1p
|
|
defname log1pf
|
|
defname log1pl
|
|
defname log2
|
|
defname log2f
|
|
defname log2l
|
|
defname logb
|
|
defname logbf
|
|
defname logbl
|
|
defname logf
|
|
defname logl
|
|
defname malloc
|
|
defname memalign
|
|
defname memchr
|
|
defname memcmp
|
|
defname memcpy
|
|
defname memmove
|
|
defname memset
|
|
defname mktime
|
|
defname modf
|
|
defname modff
|
|
defname modfl
|
|
defname nearbyint
|
|
defname nearbyintf
|
|
defname nearbyintl
|
|
defname perror
|
|
defname posix_memalign
|
|
defname pow
|
|
defname powf
|
|
defname powl
|
|
defname printf
|
|
defname putc
|
|
defname putchar
|
|
defname puts
|
|
defname qsort
|
|
defname realloc
|
|
defname remainder
|
|
defname remainderf
|
|
defname remainderl
|
|
defname remove
|
|
defname rewind
|
|
defname rint
|
|
defname rintf
|
|
defname rintl
|
|
defname round
|
|
defname roundf
|
|
defname roundl
|
|
defname scanf
|
|
defname setbuf
|
|
defname setvbuf
|
|
defname sin
|
|
defname sinf
|
|
defname sinh
|
|
defname sinhf
|
|
defname sinhl
|
|
defname sinl
|
|
defname snprintf
|
|
defname sprintf
|
|
defname sqrt
|
|
defname sqrtf
|
|
defname sqrtl
|
|
defname sscanf
|
|
defname strcasecmp
|
|
defname strcat
|
|
defname strchr
|
|
defname strcmp
|
|
defname strcoll
|
|
defname strcpy
|
|
defname strcspn
|
|
defname strdup
|
|
defname strlen
|
|
defname strncasecmp
|
|
defname strncat
|
|
defname strncmp
|
|
defname strncpy
|
|
defname strpbrk
|
|
defname strrchr
|
|
defname strspn
|
|
defname strstr
|
|
defname strtod
|
|
defname strtof
|
|
defname strtok
|
|
defname strtok_r
|
|
defname strtol
|
|
defname strtold
|
|
defname strtoll
|
|
defname strtoul
|
|
defname strtoull
|
|
defname strxfrm
|
|
defname tan
|
|
defname tanf
|
|
defname tanh
|
|
defname tanhf
|
|
defname tanhl
|
|
defname tanl
|
|
defname trunc
|
|
defname truncf
|
|
defname truncl
|
|
defname ungetc
|
|
defname vfprintf
|
|
defname vfscanf
|
|
defname vprintf
|
|
defname vscanf
|
|
defname vsnprintf
|
|
defname vsprintf
|
|
defname vsscanf
|
|
defname wcslen
|
|
|