71 lines
2.8 KiB
Diff
71 lines
2.8 KiB
Diff
From: Aurelien Jarno <aurelien@aurel32.net>
|
|
Date: Tue, 25 Dec 2018 06:46:24 -0800
|
|
Subject: tools uapi: fix RISC-V 64-bit support
|
|
Forwarded: http://lists.infradead.org/pipermail/linux-riscv/2018-December/002622.html
|
|
|
|
The BPF library is not built on 64-bit RISC-V, as the BPF feature is
|
|
not detected. Looking more in details, feature/test-bpf.c fails to build
|
|
with the following error:
|
|
|
|
| In file included from /tmp/linux-4.19.12/tools/include/uapi/asm/bitsperlong.h:17,
|
|
| from /tmp/linux-4.19.12/tools/include/uapi/asm-generic/unistd.h:2,
|
|
| from /usr/include/riscv64-linux-gnu/asm/unistd.h:1,
|
|
| from test-bpf.c:2:
|
|
| /tmp/linux-4.19.12/tools/include/asm-generic/bitsperlong.h:14:2: error: #error Inconsistent word size. Check asm/bitsperlong.h
|
|
| #error Inconsistent word size. Check asm/bitsperlong.h
|
|
| ^~~~~
|
|
|
|
The UAPI from the tools directory is missing RISC-V support, therefore
|
|
bitsperlong.h from asm-generic is used, defaulting to 32 bits.
|
|
|
|
Fix that by adding tools/arch/riscv/include/uapi/asm/bitsperlong.h as
|
|
a copy of arch/riscv/include/uapi/asm/bitsperlong.h and by updating
|
|
tools/include/uapi/asm/bitsperlong.h.
|
|
|
|
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
|
|
---
|
|
.../arch/riscv/include/uapi/asm/bitsperlong.h | 25 +++++++++++++++++++
|
|
tools/include/uapi/asm/bitsperlong.h | 2 ++
|
|
2 files changed, 27 insertions(+)
|
|
create mode 100644 tools/arch/riscv/include/uapi/asm/bitsperlong.h
|
|
|
|
--- /dev/null
|
|
+++ b/tools/arch/riscv/include/uapi/asm/bitsperlong.h
|
|
@@ -0,0 +1,25 @@
|
|
+/*
|
|
+ * Copyright (C) 2012 ARM Ltd.
|
|
+ * Copyright (C) 2015 Regents of the University of California
|
|
+ *
|
|
+ * This program is free software; you can redistribute it and/or modify
|
|
+ * it under the terms of the GNU General Public License version 2 as
|
|
+ * published by the Free Software Foundation.
|
|
+ *
|
|
+ * This program is distributed in the hope that it will be useful,
|
|
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
+ * GNU General Public License for more details.
|
|
+ *
|
|
+ * You should have received a copy of the GNU General Public License
|
|
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
+ */
|
|
+
|
|
+#ifndef _UAPI_ASM_RISCV_BITSPERLONG_H
|
|
+#define _UAPI_ASM_RISCV_BITSPERLONG_H
|
|
+
|
|
+#define __BITS_PER_LONG (__SIZEOF_POINTER__ * 8)
|
|
+
|
|
+#include <asm-generic/bitsperlong.h>
|
|
+
|
|
+#endif /* _UAPI_ASM_RISCV_BITSPERLONG_H */
|
|
--- a/tools/include/uapi/asm/bitsperlong.h
|
|
+++ b/tools/include/uapi/asm/bitsperlong.h
|
|
@@ -13,6 +13,8 @@
|
|
#include "../../arch/mips/include/uapi/asm/bitsperlong.h"
|
|
#elif defined(__ia64__)
|
|
#include "../../arch/ia64/include/uapi/asm/bitsperlong.h"
|
|
+#elif defined(__riscv)
|
|
+#include "../../arch/riscv/include/uapi/asm/bitsperlong.h"
|
|
#else
|
|
#include <asm-generic/bitsperlong.h>
|
|
#endif
|