# Test handling of (optimized-out/location-less) variables whose value is
# specified by DW_AT_const_value
-# REQUIRES: x86
-
# RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux %s -o %t
# RUN: %lldb %t \
# RUN: -o "target variable udata data1 data2 data4 data8 string strp ref4 udata_ptr" \
# DW_TAG_compile_unit is using the DW_TAG_compile_unit->DW_AT_stmt_list where the
# DW_AT_decl_file is located (and not where the DW_AT_specification is located).
-# REQUIRES: x86
-
# RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux %s -o %t
# RUN: %lldb %t \
# RUN: -o "image lookup -v -n main" \
# can be produced due to vtable-based type homing, or other -flimit-debug-info
# optimizations.
-# REQUIRES: x86
-
# RUN: split-file %s %t
# RUN: llvm-mc --triple x86_64-pc-linux %t/asm --filetype=obj -o %t.o
# RUN: %lldb -o "settings set interpreter.stop-command-source-on-error false" \
## const_value attributes. Such values are produced in C++ for class-level
## static constexpr variables.
-# REQUIRES: x86
-
# RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux %s -o %t
# RUN: %lldb %t -o "target variable A::x A::y" -o exit | FileCheck %s
-# REQUIRES: x86
-
# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj %s > %t
# RUN: %lldb %t -o "image lookup -v -s lookup_loclists" -o exit | FileCheck %s
-# REQUIRES: x86
-
# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj %s > %t
# RUN: %lldb %t -o "image lookup -v -s lookup_rnglists" \
# RUN: -o exit | FileCheck %s
-# REQUIRES: x86
-
# RUN: llvm-mc -filetype=obj -o %t -triple x86_64-pc-linux %s
# RUN: %lldb %t -o "target variable reset" -b | FileCheck %s
# This tests that lldb is able to print DW_TAG_variable using DW_AT_const_value.
-# REQUIRES: x86
-
# RUN: llvm-mc -triple x86_64-unknown-linux-gnu %s -filetype=obj > %t.o
# RUN: %lldb %t.o -o "p/x magic64" -o exit | FileCheck %s
# misinterpreted that value as a reference to a DIE specifying the VLA size even
# though the form was a data form (as it should be).
-# REQUIRES: lld, x86
+# REQUIRES: lld
# RUN: llvm-mc -triple x86_64-pc-linux %s -filetype=obj > %t.o
# RUN: ld.lld %t.o -o %t
# unit in this file sets DW_CHILDREN_no, but it still includes an
# end-of-children marker in its contribution.
-# REQUIRES: x86
-
# RUN: llvm-mc -triple x86_64-pc-linux %s -filetype=obj > %t.o
# RUN: lldb-test symbols %t.o
# condition when the final end-of-sequence line table entry points to an address
# that is outside the range of memory covered by the module.
-# REQUIRES: lld, x86
+# REQUIRES: lld
# RUN: llvm-mc -triple x86_64-pc-linux %s -filetype=obj > %t.o
# RUN: ld.lld --script=%S/Inputs/debug-line-basic.script %t.o -o %t
# compute address range for the type unit as type units don't describe any
# addresses. The addresses should always resolve to the relevant compile units.
-# REQUIRES: lld, x86
+# REQUIRES: lld
# RUN: llvm-mc -dwarf-version=5 -triple x86_64-pc-linux %s -filetype=obj >%t.o
# RUN: ld.lld %t.o -o %t -image-base=0x47000 -z separate-code
-# REQUIRES: x86
-
# RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux %s -o %t
# RUN: lldb-test symbols %t | FileCheck %s
-# REQUIRES: lld, x86
+# REQUIRES: lld
# RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux -o %t.o %s
# RUN: ld.lld %t.o -o %t
# Test that an empty .debug_aranges section doesn't confuse (or crash) us.
-# REQUIRES: x86
-
# RUN: llvm-mc %s -triple x86_64-pc-linux -filetype=obj >%t
# RUN: %lldb %t -o "breakpoint set -n f" -b | FileCheck %s
# produced by "clang -fdebug-compilation-dir <something-relative>". This is one
# of the techniques used to produce "relocatable" debug info.
-# REQUIRES: x86
-
# RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux -o %t %s
# RUN: %lldb %t -o "image dump line-table t.c" | FileCheck %s
# not loaded at the address at which it was linked (as happens with ASLR for
# instance).
-# REQUIRES: x86
-
# RUN: yaml2obj %S/Inputs/debug_loc-aslr.yaml -o %t.dmp
# RUN: llvm-mc --triple=x86_64-pc-linux --filetype=obj %s >%t.o
# RUN: %lldb -c %t.dmp -o "image add %t.o" \
# behavior in the invalid cases is not particularly important, but it should be
# "reasonable".
-# REQUIRES: x86
# UNSUPPORTED: lldb-repro
# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj %s --defsym LOC=0 > %t
# Test that we can handle DWARF 4 and 5 location lists in the same object file
# (but different compile units).
-# REQUIRES: x86
-
# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj %s > %t
# RUN: %lldb %t -o "image lookup -v -s loc" -o "image lookup -v -s loclists" \
# RUN: -o exit | FileCheck %s
-# REQUIRES: x86
-
# RUN: cd %T
# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj %s >debug_loclists-dwo.o
# RUN: %lldb debug_loclists-dwo.o -o "image lookup -v -s lookup_loclists" -o exit | FileCheck %s
-# REQUIRES: x86
-
# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj %s > %t
# RUN: %lldb %t -o "image lookup -v -s lookup_ranges" -o exit 2>&1 | FileCheck %s
-# REQUIRES: x86
-
# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj %s > %t
# RUN: %lldb %t -o "image lookup -v -s lookup_ranges" -o exit | FileCheck %s
-# REQUIRES: x86
-
# RUN: cd %T
# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj %s >debug_rnglists-dwo.o
# RUN: %lldb debug_rnglists-dwo.o -o "image lookup -v -s lookup_rnglists" \
-# REQUIRES: x86
-
# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj %s > %t
# RUN: %lldb %t -o "image lookup -v -s lookup_rnglists" \
# RUN: -o "image lookup -v -s lookup_rnglists2" -o exit | FileCheck %s
# does not have enough information for our heuristics to determine the path
# style, so we will just treat them as native host paths.
-# REQUIRES: lld, x86
+# REQUIRES: lld
# RUN: llvm-mc -triple x86_64-pc-linux %s -filetype=obj > %t.o
# RUN: ld.lld %t.o -o %t -z separate-code
# Test that we properly determine the path syntax of a compile unit even if the
# compile unit does not have a DW_AT_comp_dir attribute.
-# REQUIRES: lld, x86
+# REQUIRES: lld
# RUN: llvm-mc -triple x86_64-pc-linux %s -filetype=obj > %t.o
# RUN: ld.lld %t.o -o %t -z separate-code
# Test that parsing of line tables works reasonably, even if the host directory
# separator does not match the separator of the compile unit.
-# REQUIRES: lld, x86
+# REQUIRES: lld
# RUN: llvm-mc -triple x86_64-pc-linux %s -filetype=obj > %t.o
# RUN: ld.lld %t.o -o %t -z separate-code
# Test that parsing of line tables works reasonably, even if the host directory
# separator does not match the separator of the compile unit.
-# REQUIRES: lld, x86
+# REQUIRES: lld
# RUN: llvm-mc -triple x86_64-pc-linux %s -filetype=obj > %t.o
# RUN: ld.lld %t.o -o %t -z separate-code
-# REQUIRES: x86
-
# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj %s > %t
# RUN: %lldb %t -o "target variable integer structure" -o exit | FileCheck %s
# Test handling of DWARF5 file index 0.
-# REQUIRES: x86
# RUN: llvm-mc -filetype=obj -o %t -triple x86_64-pc-linux %s
# RUN: %lldb %t -o "image lookup -f hello.c -l 1" \
# Test handling of DWARF5 line tables. In particular, test that we handle files
# which are present in the line table more than once.
-# REQUIRES: x86
-
# RUN: llvm-mc -filetype=obj -o %t -triple x86_64-pc-linux %s
# RUN: %lldb %t -o "source info -f file0.c" -o "source info -f file1.c" \
# RUN: -o "breakpoint set -f file0.c -l 42" \
# Test handling of DWARF5 DW_FORM_implicit_const as used by GCC.
-# REQUIRES: x86
-
# RUN: llvm-mc -filetype=obj -o %t -triple x86_64-pc-linux %s
# RUN: %lldb %t -o "expression -T -- variable_implicit_const" \
# RUN: -o exit | FileCheck %s
# Test handling of DWARF5 DW_FORM_line_strp from .debug_info as used by GCC.
# UNSUPPORTED: system-darwin, system-windows
-# REQUIRES: x86
# RUN: llvm-mc -filetype=obj -o %t -triple x86_64-pc-linux %s
# RUN: %lldb %t -o "p main" \
# This tests that lldb is able to process DW_OP_addrx tags introduced in dwarf5.
-# REQUIRES: lld, x86
+# REQUIRES: lld
# RUN: llvm-mc -g -dwarf-version=5 -triple x86_64-unknown-linux-gnu %s -filetype=obj > %t.o
# RUN: ld.lld -m elf_x86_64 %t.o -o %t
# type, but that type is defined in another compile unit in the main object
# file.
-# REQUIRES: x86
-
# RUN: llvm-mc %s -o %t --triple=x86_64-pc-linux --filetype=obj --defsym MAIN=0
# RUN: llvm-mc %s -o %T/dwo-type-in-main-file-cu2.dwo --triple=x86_64-pc-linux --filetype=obj --defsym DWO=0
# RUN: cd %T
-# REQUIRES: x86
-
# RUN: llvm-mc --filetype=obj --triple x86_64-pc-linux %s -o %t --defsym MAIN=0
# RUN: llvm-mc --filetype=obj --triple x86_64-pc-linux %s -o %t.dwp --defsym DWP=0
# RUN: %lldb %t -o "type lookup ENUM0" -o "target variable A" -b | FileCheck %s
-# REQUIRES: x86
-
# RUN: llvm-mc --filetype=obj --triple x86_64-pc-linux %s -o %t --defsym MAIN=0
# RUN: llvm-mc --filetype=obj --triple x86_64-pc-linux %s -o %t.dwp --defsym DWP=0
# RUN: %lldb %t -o "target variable A" -o "image lookup -v -n F1" -b | FileCheck %s
-# REQUIRES: lld, x86
+# REQUIRES: lld
# RUN: llvm-mc -triple x86_64-pc-linux %s -filetype=obj > %t.o
# RUN: ld.lld %t.o -o %t -z separate-code
-# REQUIRES: lld, x86
+# REQUIRES: lld
; RUN: llc -mtriple x86_64-pc-linux %S/inline-function-address.ll -filetype=obj -o %t.o
; RUN: ld.lld %t.o %t.o -o %t -shared
; RUN: lldb-test symbols --find=function --name=foo --function-flags=full %t | FileCheck %s
-; REQUIRES: lld, x86
+; REQUIRES: lld
; RUN: llc -mtriple x86_64-pc-linux %s -filetype=obj -o %t.o
; RUN: ld.lld %t.o %t.o -o %t
; "foo" is defined in both compilation units, but there should be only one meaningful debuginfo entry
-# REQUIRES: lld, x86
+# REQUIRES: lld
# RUN: llvm-mc --triple=x86_64-pc-windows --filetype=obj --defsym DLL=0 %s >%t.dll.o
# RUN: llvm-mc --triple=x86_64-pc-windows --filetype=obj --defsym EXE=0 %s >%t.exe.o
# RUN: lld-link /OUT:%t.dll %t.dll.o /SUBSYSTEM:console /dll /noentry /debug
--- /dev/null
+if not 'x86' in config.available_features:
+ config.unsupported = True
# Stress-test the parallel indexing of compile units.
-# REQUIRES: x86
-
# RUN: llvm-mc -triple x86_64-pc-linux %s -o %t -filetype=obj
# RUN: %lldb %t -o "target variable A" -b | FileCheck %s
# Test that the DWARF parser assigns the right scope to the
# variable `b`, which is `local` and not `static`.
-# REQUIRES: x86
-
# Original test case (for future reference), compiled with:
# $ clang-10 -g -Og test.c -o test
# $ cat test.c
-# REQUIRES: x86
# REQUIRES: lld
# RUN: %clang -target x86_64-pc-linux -g -O0 %S/Inputs/subprogram_ranges.s -o %t.o -c
# RUN: ld.lld %t.o -o %t
# Test that lldb can read a line table for an architecture with a different
# address size than the one that of the host.
-# REQUIRES: lld, x86
+# REQUIRES: lld
# RUN: llvm-mc -triple i686-windows-gnu %s -filetype=obj > %t.o
# RUN: lld-link %t.o -out:%t.exe -debug:dwarf -entry:entry -subsystem:console -lldmingw