| From: Xie XiuQi <xiexiuqi@huawei.com> |
| Subject: tools/mm: fix undefined reference to pthread_once |
| Date: Thu, 31 Aug 2023 11:42:05 +0800 |
| |
| Commit 97d5f2e9ee12 ("tools api fs: More thread safety for global |
| filesystem variables") introduces pthread_once, so the libpthread |
| should be added at link time, or we'll meet the following compile |
| error when 'make -C tools/mm': |
| |
| gcc -Wall -Wextra -I../lib/ -o page-types page-types.c ../lib/api/libapi.a |
| ~/linux/tools/lib/api/fs/fs.c:146: undefined reference to `pthread_once' |
| ~/linux/tools/lib/api/fs/fs.c:147: undefined reference to `pthread_once' |
| ~/linux/tools/lib/api/fs/fs.c:148: undefined reference to `pthread_once' |
| ~/linux/tools/lib/api/fs/fs.c:149: undefined reference to `pthread_once' |
| ~/linux/tools/lib/api/fs/fs.c:150: undefined reference to `pthread_once' |
| /usr/bin/ld: ../lib/api/libapi.a(libapi-in.o):~/linux/tools/lib/api/fs/fs.c:151: |
| more undefined references to `pthread_once' follow |
| collect2: error: ld returned 1 exit status |
| make: *** [Makefile:22: page-types] Error 1 |
| |
| Link: https://lkml.kernel.org/r/20230831034205.2376653-1-xiexiuqi@huaweicloud.com |
| Fixes: 97d5f2e9ee12 ("tools api fs: More thread safety for global filesystem variables") |
| Signed-off-by: Xie XiuQi <xiexiuqi@huawei.com> |
| Acked-by: Ian Rogers <irogers@google.com> |
| Cc: Matthew Wilcox <willy@infradead.org> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| tools/mm/Makefile | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/tools/mm/Makefile~tools-mm-fix-undefined-reference-to-pthread_once |
| +++ a/tools/mm/Makefile |
| @@ -8,8 +8,8 @@ TARGETS=page-types slabinfo page_owner_s |
| LIB_DIR = ../lib/api |
| LIBS = $(LIB_DIR)/libapi.a |
| |
| -CFLAGS += -Wall -Wextra -I../lib/ |
| -LDFLAGS += $(LIBS) |
| +CFLAGS += -Wall -Wextra -I../lib/ -pthread |
| +LDFLAGS += $(LIBS) -pthread |
| |
| all: $(TARGETS) |
| |
| _ |