labath created this revision. Herald added subscribers: JDevlieghere, krytarowski, aprantl, emaste.
This flag is on by default for darwin and freebsd, but off for linux. Without it, clang will sometimes not emit debug info for types like std::string. Whether it does this, and which tests will fail because of that depends on the linux distro and c++ library version. A bunch of tests were already setting these flags manually, but here instead I take a whole sale approach and enable this flag for all tests. Any test which does not want to have this flag (right now we have one such test) can turn it off explicitly via CFLAGS_EXTRAS+=$(LIMIT_DEBUG_INFO_FLAGS) Can you check whether this makes any difference for test results on red-hat? https://reviews.llvm.org/D40717 Files: packages/Python/lldbsuite/test/expression_command/anonymous-struct/Makefile packages/Python/lldbsuite/test/expression_command/call-function/Makefile packages/Python/lldbsuite/test/expression_command/fixits/Makefile packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-skip-summary/Makefile packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/iterator/Makefile packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/list/Makefile packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/map/Makefile packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/Makefile packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/string/Makefile packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/tuple/Makefile packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/unique_ptr/Makefile packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/vector/Makefile packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-synth/Makefile packages/Python/lldbsuite/test/functionalities/data-formatter/dump_dynamic/Makefile packages/Python/lldbsuite/test/functionalities/data-formatter/stringprinter/Makefile packages/Python/lldbsuite/test/functionalities/data-formatter/summary-string-onfail/Makefile packages/Python/lldbsuite/test/functionalities/data-formatter/var-in-aggregate-misuse/Makefile packages/Python/lldbsuite/test/functionalities/type_completion/Makefile packages/Python/lldbsuite/test/lang/cpp/auto/Makefile packages/Python/lldbsuite/test/lang/cpp/stl/Makefile packages/Python/lldbsuite/test/lang/cpp/template/Makefile packages/Python/lldbsuite/test/make/Makefile.rules packages/Python/lldbsuite/test/python_api/sbvalue_persist/Makefile
Index: packages/Python/lldbsuite/test/python_api/sbvalue_persist/Makefile =================================================================== --- packages/Python/lldbsuite/test/python_api/sbvalue_persist/Makefile +++ packages/Python/lldbsuite/test/python_api/sbvalue_persist/Makefile @@ -5,11 +5,4 @@ # Clean renamed executable on 'make clean' clean: OBJECTS+=no_synth -# clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD -# targets. Other targets do not, which causes this test to fail. -# This flag enables FullDebugInfo for all targets. -ifneq (,$(findstring clang,$(CC))) - CFLAGS_EXTRAS += -fno-limit-debug-info -endif - include $(LEVEL)/Makefile.rules Index: packages/Python/lldbsuite/test/make/Makefile.rules =================================================================== --- packages/Python/lldbsuite/test/make/Makefile.rules +++ packages/Python/lldbsuite/test/make/Makefile.rules @@ -223,7 +223,8 @@ CFLAGS += $(ARCHFLAG)$(ARCH) $(FRAMEWORK_INCLUDES) -I$(LLDB_BASE_DIR)include endif -CFLAGS += -include $(THIS_FILE_DIR)test_common.h -I$(THIS_FILE_DIR) $(ARCH_CFLAGS) $(CFLAGS_EXTRAS) +CFLAGS += -include $(THIS_FILE_DIR)test_common.h -I$(THIS_FILE_DIR) +CFLAGS += $(NO_LIMIT_DEBUG_INFO_FLAGS) $(ARCH_CFLAGS) $(CFLAGS_EXTRAS) # Use this one if you want to build one part of the result without debug information: ifeq "$(OS)" "Darwin" Index: packages/Python/lldbsuite/test/lang/cpp/template/Makefile =================================================================== --- packages/Python/lldbsuite/test/lang/cpp/template/Makefile +++ packages/Python/lldbsuite/test/lang/cpp/template/Makefile @@ -2,6 +2,4 @@ CXX_SOURCES := main.cpp -CFLAGS_EXTRAS += $(NO_LIMIT_DEBUG_INFO_FLAGS) - include $(LEVEL)/Makefile.rules Index: packages/Python/lldbsuite/test/lang/cpp/stl/Makefile =================================================================== --- packages/Python/lldbsuite/test/lang/cpp/stl/Makefile +++ packages/Python/lldbsuite/test/lang/cpp/stl/Makefile @@ -5,11 +5,4 @@ clean: OBJECTS+=$(wildcard main.d.*) -# clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD -# targets. Other targets do not, which causes this test to fail. -# This flag enables FullDebugInfo for all targets. -ifneq (,$(findstring clang,$(CC))) - CFLAGS_EXTRAS += -fno-limit-debug-info -endif - include $(LEVEL)/Makefile.rules Index: packages/Python/lldbsuite/test/lang/cpp/auto/Makefile =================================================================== --- packages/Python/lldbsuite/test/lang/cpp/auto/Makefile +++ packages/Python/lldbsuite/test/lang/cpp/auto/Makefile @@ -2,6 +2,4 @@ CXX_SOURCES := main.cpp -CFLAGS_EXTRAS += $(NO_LIMIT_DEBUG_INFO_FLAGS) - include $(LEVEL)/Makefile.rules Index: packages/Python/lldbsuite/test/functionalities/type_completion/Makefile =================================================================== --- packages/Python/lldbsuite/test/functionalities/type_completion/Makefile +++ packages/Python/lldbsuite/test/functionalities/type_completion/Makefile @@ -2,11 +2,4 @@ CXX_SOURCES := main.cpp -# clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD -# targets. Other targets do not, which causes this test to fail. -# This flag enables FullDebugInfo for all targets. -ifneq (,$(findstring clang,$(CC))) - CFLAGS_EXTRAS += -fno-limit-debug-info -endif - include $(LEVEL)/Makefile.rules Index: packages/Python/lldbsuite/test/functionalities/data-formatter/var-in-aggregate-misuse/Makefile =================================================================== --- packages/Python/lldbsuite/test/functionalities/data-formatter/var-in-aggregate-misuse/Makefile +++ packages/Python/lldbsuite/test/functionalities/data-formatter/var-in-aggregate-misuse/Makefile @@ -2,10 +2,4 @@ CXX_SOURCES := main.cpp -# Workaround for llvm.org/pr16214: clang doesn't emit structure definition DWARF -# information without the flag below. -ifneq (,$(findstring clang,$(CC))) - CFLAGS_EXTRAS += -fno-limit-debug-info -endif - include $(LEVEL)/Makefile.rules Index: packages/Python/lldbsuite/test/functionalities/data-formatter/summary-string-onfail/Makefile =================================================================== --- packages/Python/lldbsuite/test/functionalities/data-formatter/summary-string-onfail/Makefile +++ packages/Python/lldbsuite/test/functionalities/data-formatter/summary-string-onfail/Makefile @@ -2,11 +2,4 @@ CXX_SOURCES := main.cpp -# clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD -# targets. Other targets do not, which causes this test to fail. -# This flag enables FullDebugInfo for all targets. -ifneq (,$(findstring clang,$(CC))) - CFLAGS_EXTRAS += -fno-limit-debug-info -endif - include $(LEVEL)/Makefile.rules Index: packages/Python/lldbsuite/test/functionalities/data-formatter/stringprinter/Makefile =================================================================== --- packages/Python/lldbsuite/test/functionalities/data-formatter/stringprinter/Makefile +++ packages/Python/lldbsuite/test/functionalities/data-formatter/stringprinter/Makefile @@ -2,11 +2,4 @@ CXX_SOURCES := main.cpp CXXFLAGS += -std=c++11 -# clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD -# targets. Other targets do not, which causes this test to fail. -# This flag enables FullDebugInfo for all targets. -ifneq (,$(findstring clang,$(CC))) - CFLAGS_EXTRAS += -fno-limit-debug-info -endif - include $(LEVEL)/Makefile.rules Index: packages/Python/lldbsuite/test/functionalities/data-formatter/dump_dynamic/Makefile =================================================================== --- packages/Python/lldbsuite/test/functionalities/data-formatter/dump_dynamic/Makefile +++ packages/Python/lldbsuite/test/functionalities/data-formatter/dump_dynamic/Makefile @@ -2,11 +2,4 @@ CXX_SOURCES := main.cpp CXXFLAGS += -std=c++11 -# clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD -# targets. Other targets do not, which causes this test to fail. -# This flag enables FullDebugInfo for all targets. -ifneq (,$(findstring clang,$(CC))) - CFLAGS_EXTRAS += -fno-limit-debug-info -endif - include $(LEVEL)/Makefile.rules Index: packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-synth/Makefile =================================================================== --- packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-synth/Makefile +++ packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-synth/Makefile @@ -2,11 +2,4 @@ CXX_SOURCES := main.cpp -# clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD -# targets. Other targets do not, which causes this test to fail. -# This flag enables FullDebugInfo for all targets. -ifneq (,$(findstring clang,$(CC))) - CFLAGS_EXTRAS += -fno-limit-debug-info -endif - include $(LEVEL)/Makefile.rules Index: packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/vector/Makefile =================================================================== --- packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/vector/Makefile +++ packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/vector/Makefile @@ -5,11 +5,4 @@ CXXFLAGS := -O0 USE_LIBSTDCPP := 1 -# clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD -# targets. Other targets do not, which causes this test to fail. -# This flag enables FullDebugInfo for all targets. -ifneq (,$(findstring clang,$(CC))) - CFLAGS_EXTRAS += -fno-limit-debug-info -endif - include $(LEVEL)/Makefile.rules Index: packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/unique_ptr/Makefile =================================================================== --- packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/unique_ptr/Makefile +++ packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/unique_ptr/Makefile @@ -3,6 +3,5 @@ CXX_SOURCES := main.cpp USE_LIBSTDCPP := 1 -CFLAGS_EXTRAS += $(NO_LIMIT_DEBUG_INFO_FLAGS) include $(LEVEL)/Makefile.rules Index: packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/tuple/Makefile =================================================================== --- packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/tuple/Makefile +++ packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/tuple/Makefile @@ -3,6 +3,5 @@ CXX_SOURCES := main.cpp USE_LIBSTDCPP := 1 -CFLAGS_EXTRAS += $(NO_LIMIT_DEBUG_INFO_FLAGS) include $(LEVEL)/Makefile.rules Index: packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/string/Makefile =================================================================== --- packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/string/Makefile +++ packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/string/Makefile @@ -5,11 +5,4 @@ CFLAGS_EXTRAS += -O0 USE_LIBSTDCPP := 1 -# clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD -# targets. Other targets do not, which causes this test to fail. -# This flag enables FullDebugInfo for all targets. -ifneq (,$(findstring clang,$(CC))) - CFLAGS_EXTRAS += -fno-limit-debug-info -endif - include $(LEVEL)/Makefile.rules Index: packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/Makefile =================================================================== --- packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/Makefile +++ packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/Makefile @@ -5,11 +5,4 @@ CXXFLAGS := -O0 USE_LIBSTDCPP := 1 -# clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD -# targets. Other targets do not, which causes this test to fail. -# This flag enables FullDebugInfo for all targets. -ifneq (,$(findstring clang,$(CC))) - CFLAGS_EXTRAS += -fno-limit-debug-info -endif - include $(LEVEL)/Makefile.rules Index: packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/map/Makefile =================================================================== --- packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/map/Makefile +++ packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/map/Makefile @@ -4,11 +4,4 @@ USE_LIBSTDCPP := 1 -# clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD -# targets. Other targets do not, which causes this test to fail. -# This flag enables FullDebugInfo for all targets. -ifneq (,$(findstring clang,$(CC))) - CFLAGS_EXTRAS += -fno-limit-debug-info -endif - include $(LEVEL)/Makefile.rules Index: packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/list/Makefile =================================================================== --- packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/list/Makefile +++ packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/list/Makefile @@ -5,11 +5,4 @@ CFLAGS_EXTRAS += -O0 USE_LIBSTDCPP := 1 -# clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD -# targets. Other targets do not, which causes this test to fail. -# This flag enables FullDebugInfo for all targets. -ifneq (,$(findstring clang,$(CC))) - CFLAGS_EXTRAS += -fno-limit-debug-info -endif - include $(LEVEL)/Makefile.rules Index: packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/iterator/Makefile =================================================================== --- packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/iterator/Makefile +++ packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/iterator/Makefile @@ -5,11 +5,4 @@ CFLAGS_EXTRAS += -O0 USE_LIBSTDCPP := 1 -# clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD -# targets. Other targets do not, which causes this test to fail. -# This flag enables FullDebugInfo for all targets. -ifneq (,$(findstring clang,$(CC))) - CFLAGS_EXTRAS += -fno-limit-debug-info -endif - include $(LEVEL)/Makefile.rules Index: packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-skip-summary/Makefile =================================================================== --- packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-skip-summary/Makefile +++ packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-skip-summary/Makefile @@ -3,13 +3,6 @@ CXX_SOURCES := main.cpp USE_LIBSTDCPP := 0 -# clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD -# targets. Other targets do not, which causes this test to fail. -# This flag enables FullDebugInfo for all targets. -ifneq (,$(findstring clang,$(CC))) - CFLAGS_EXTRAS += -fno-limit-debug-info -endif - include $(LEVEL)/Makefile.rules CXXFLAGS += -O0 Index: packages/Python/lldbsuite/test/expression_command/fixits/Makefile =================================================================== --- packages/Python/lldbsuite/test/expression_command/fixits/Makefile +++ packages/Python/lldbsuite/test/expression_command/fixits/Makefile @@ -2,11 +2,4 @@ CXX_SOURCES := main.cpp -# clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD -# targets. Other targets do not, which causes this test to fail. -# This flag enables FullDebugInfo for all targets. -ifneq (,$(findstring clang,$(CC))) - CFLAGS_EXTRAS += -fno-limit-debug-info -endif - include $(LEVEL)/Makefile.rules Index: packages/Python/lldbsuite/test/expression_command/call-function/Makefile =================================================================== --- packages/Python/lldbsuite/test/expression_command/call-function/Makefile +++ packages/Python/lldbsuite/test/expression_command/call-function/Makefile @@ -2,13 +2,6 @@ CXX_SOURCES := main.cpp -# clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD -# targets. Other targets do not, which causes this test to fail. -# This flag enables FullDebugInfo for all targets. -ifneq (,$(findstring clang,$(CC))) - CFLAGS_EXTRAS += -fno-limit-debug-info -endif - include $(LEVEL)/Makefile.rules clean:: Index: packages/Python/lldbsuite/test/expression_command/anonymous-struct/Makefile =================================================================== --- packages/Python/lldbsuite/test/expression_command/anonymous-struct/Makefile +++ packages/Python/lldbsuite/test/expression_command/anonymous-struct/Makefile @@ -2,11 +2,4 @@ CXX_SOURCES := main.cpp -# clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD -# targets. Other targets do not, which causes this test to fail. -# This flag enables FullDebugInfo for all targets. -ifneq (,$(findstring clang,$(CC))) - CFLAGS_EXTRAS += -fno-limit-debug-info -endif - include $(LEVEL)/Makefile.rules
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits