Messages in this thread Patch in this message | | | Date | Wed, 6 Dec 2023 21:04:28 -0800 | Subject | [PATCH v1 1/6] tools build: Add a feature test for getdents64 | From | Ian Rogers <> |
| |
getdents64 may be missing from certain libcs, add a feature test to determine when such a libc is being used.
Signed-off-by: Ian Rogers <irogers@google.com> --- tools/build/Makefile.feature | 1 + tools/build/feature/Makefile | 4 ++++ tools/build/feature/test-all.c | 5 +++++ tools/build/feature/test-getdents64.c | 12 ++++++++++++ 4 files changed, 22 insertions(+) create mode 100644 tools/build/feature/test-getdents64.c
diff --git a/tools/build/Makefile.feature b/tools/build/Makefile.feature index 64df118376df..f051d4d8c71c 100644 --- a/tools/build/Makefile.feature +++ b/tools/build/Makefile.feature @@ -58,6 +58,7 @@ FEATURE_TESTS_BASIC := \ pthread-attr-setaffinity-np \ pthread-barrier \ reallocarray \ + getdents64 \ stackprotector-all \ timerfd \ libdw-dwarf-unwind \ diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile index 37722e509eb9..5efe89c3b0a6 100644 --- a/tools/build/feature/Makefile +++ b/tools/build/feature/Makefile @@ -21,6 +21,7 @@ FILES= \ test-disassembler-four-args.bin \ test-disassembler-init-styled.bin \ test-reallocarray.bin \ + test-getdents64.bin \ test-libbfd-liberty.bin \ test-libbfd-liberty-z.bin \ test-cplus-demangle.bin \ @@ -262,6 +263,9 @@ $(OUTPUT)test-disassembler-init-styled.bin: $(OUTPUT)test-reallocarray.bin: $(BUILD) +$(OUTPUT)test-getdents64.bin: + $(BUILD) + $(OUTPUT)test-libbfd-liberty.bin: $(CC) $(CFLAGS) -Wall -Werror -o $@ test-libbfd.c -DPACKAGE='"perf"' $(LDFLAGS) -lbfd -ldl -liberty diff --git a/tools/build/feature/test-all.c b/tools/build/feature/test-all.c index 6f4bf386a3b5..c65096f75032 100644 --- a/tools/build/feature/test-all.c +++ b/tools/build/feature/test-all.c @@ -166,6 +166,10 @@ # include "test-reallocarray.c" #undef main +#define main main_test_getdents64 +# include "test-getdents64.c" +#undef main + #define main main_test_disassembler_four_args # include "test-disassembler-four-args.c" #undef main @@ -216,6 +220,7 @@ int main(int argc, char *argv[]) main_test_setns(); main_test_libaio(); main_test_reallocarray(); + main_test_getdents64(); main_test_disassembler_four_args(); main_test_libzstd(); diff --git a/tools/build/feature/test-getdents64.c b/tools/build/feature/test-getdents64.c new file mode 100644 index 000000000000..f7c9df1e2f05 --- /dev/null +++ b/tools/build/feature/test-getdents64.c @@ -0,0 +1,12 @@ +// SPDX-License-Identifier: GPL-2.0 +#include <stddef.h> +#define _GNU_SOURCE +#include <dirent.h> + +int main(void) +{ + char buf[128]; + return (int)getdents64(0, buf, sizeof(buf)); +} + +#undef _GNU_SOURCE -- 2.43.0.rc2.451.g8631bc7472-goog
| |