mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-27 06:04:23 +08:00
tools build: Add feature test for abi::__cxa_demangle
cxxabi.h is part of libsdtc++ and LLVM's libcxx, providing abi::__cxa_demangle a portable C++ demangler. Add a feature test to detect that the function is available. Signed-off-by: Ian Rogers <irogers@google.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Andres Freund <andres@anarazel.de> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Leo Yan <leo.yan@linaro.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Martin Liška <mliska@suse.cz> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Nathan Chancellor <nathan@kernel.org> Cc: Nick Desaulniers <ndesaulniers@google.com> Cc: Pavithra Gurushankar <gpavithrasha@gmail.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Quentin Monnet <quentin@isovalent.com> Cc: Roberto Sassu <roberto.sassu@huawei.com> Cc: Stephane Eranian <eranian@google.com> Cc: Tiezhu Yang <yangtiezhu@loongson.cn> Cc: Tom Rix <trix@redhat.com> Cc: Yang Jihong <yangjihong1@huawei.com> Cc: llvm@lists.linux.dev Link: https://lore.kernel.org/r/20230311065753.3012826-2-irogers@google.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
dd317df072
commit
4c72e2b35a
@ -80,6 +80,7 @@ FEATURE_TESTS_EXTRA := \
|
||||
compile-32 \
|
||||
compile-x32 \
|
||||
cplus-demangle \
|
||||
cxa-demangle \
|
||||
gtk2 \
|
||||
gtk2-infobar \
|
||||
hello \
|
||||
|
@ -23,6 +23,7 @@ FILES= \
|
||||
test-libbfd-liberty.bin \
|
||||
test-libbfd-liberty-z.bin \
|
||||
test-cplus-demangle.bin \
|
||||
test-cxa-demangle.bin \
|
||||
test-libcap.bin \
|
||||
test-libelf.bin \
|
||||
test-libelf-getphdrnum.bin \
|
||||
@ -262,6 +263,9 @@ $(OUTPUT)test-libbfd-liberty-z.bin:
|
||||
$(OUTPUT)test-cplus-demangle.bin:
|
||||
$(BUILD) -liberty
|
||||
|
||||
$(OUTPUT)test-cxa-demangle.bin:
|
||||
$(BUILDXX)
|
||||
|
||||
$(OUTPUT)test-backtrace.bin:
|
||||
$(BUILD)
|
||||
|
||||
|
17
tools/build/feature/test-cxa-demangle.cpp
Normal file
17
tools/build/feature/test-cxa-demangle.cpp
Normal file
@ -0,0 +1,17 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <cxxabi.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
size_t len = 256;
|
||||
char *output = (char*)malloc(len);
|
||||
int status;
|
||||
|
||||
output = abi::__cxa_demangle("FieldName__9ClassNameFd", output, &len, &status);
|
||||
|
||||
printf("demangled symbol: {%s}\n", output);
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user