[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1105744: FTCBFS riscv64: tools: bpf: asm/fense.h: no such file or directory



On Wed, May 14, 2025 at 07:59:06AM +0000, Jing Luo wrote:
>   riscv64-linux-gnu-gcc -Wp,-MD,/build/reproducible-path/linux-6.12.27/debian/build/build-tools/tools/bpf/resolve_btfids/libsubcmd/.subcmd-config.o.d -Wp,-MT,/build/reproducible-path/linux-6.12.27/debian/build/build-tools/tools/bpf/resolve_btfids/libsubcmd/subcmd-config.o -ggdb3 -Wall -Wextra -std=gnu99 -fPIC -O3 -Werror -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -I/build/reproducible-path/linux-6.12.27/tools/include/ -Wbad-function-cast -Wdeclaration-after-statement -Wformat-security -Wformat-y2k -Winit-self -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wno-system-headers -Wold-style-definition -Wpacked -Wredundant-decls -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wundef -Wwrite-strings -Wformat -Wno-type-limits -Wstrict-aliasing=3 -Wshadow -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/linux-6.12.27=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -I/build/reproducible-path/linux-6.12.27/tools/bpf/resolve_btfids -I/build/reproducible-path/linux-6.12.27/debian/build/build-tools/tools/bpf/resolve_btfids -I/build/reproducible-path/linux-6.12.27/scripts/include -isystem /build/reproducible-path/linux-6.12.27/debian/build/build-tools/include -D"BUILD_STR(s)=#s" -c -o /build/reproducible-path/linux-6.12.27/debian/build/build-tools/tools/bpf/resolve_btfids/libsubcmd/subcmd-config.o subcmd-config.c
> In file included from /build/reproducible-path/linux-6.12.27/tools/include/asm/barrier.h:12,
>                  from ringbuf.c:16:
> /build/reproducible-path/linux-6.12.27/tools/include/asm/../../arch/riscv/include/asm/barrier.h:13:10: fatal error: asm/fence.h: No such file or directory
>    13 | #include <asm/fence.h>
>       |          ^~~~~~~~~~~~~
> compilation terminated.
> In file included from /build/reproducible-path/linux-6.12.27/tools/include/asm/barrier.h:12,
>                  from /build/reproducible-path/linux-6.12.27/tools/include/linux/ring_buffer.h:4,
>                  from libbpf.c:37:
> /build/reproducible-path/linux-6.12.27/tools/include/asm/../../arch/riscv/include/asm/barrier.h:13:10: fatal error: asm/fence.h: No such file or directory
>    13 | #include <asm/fence.h>
>       |          ^~~~~~~~~~~~~
> compilation terminated.

I digged a bit.  And I don't understand it a hundred percent, especially not
why different compilers behave differently.  I now assume it got something to
do with the mix of <> and "" includes.

So a fix would be:

--- a/tools/arch/riscv/include/asm/barrier.h
+++ b/tools/arch/riscv/include/asm/barrier.h
@@ -10,7 +10,7 @@
 #ifndef _TOOLS_LINUX_ASM_RISCV_BARRIER_H
 #define _TOOLS_LINUX_ASM_RISCV_BARRIER_H
 
-#include <asm/fence.h>
+#include "fence.h"
 #include <linux/compiler.h>
 
 /* These barriers need to enforce ordering on both devices and memory. */

Bastian

-- 
Killing is stupid; useless!
		-- McCoy, "A Private Little War", stardate 4211.8


Reply to: