From 0a662e103e911af935aa5c601051c135986ce3de Mon Sep 17 00:00:00 2001 From: YiFei Zhu Date: Thu, 22 Apr 2021 05:05:56 -0500 Subject: [PATCH] bpf: align function entry point to 64 bits Libbpf does not treat paddings after functions well. If function symbols does not cover a whole text section, it will emit error similar to: libbpf: sec '.text': failed to find program symbol at offset 56 Each instruction in BPF is a multiple of 8 bytes, so align the functions to 8 bytes, similar to how clang does it. 2021-04-22 YiFei Zhu gcc/ * config/bpf/bpf.h (FUNCTION_BOUNDARY): Set to 64. --- gcc/config/bpf/bpf.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/config/bpf/bpf.h b/gcc/config/bpf/bpf.h index 9e2f5260900e..6a3907fb6181 100644 --- a/gcc/config/bpf/bpf.h +++ b/gcc/config/bpf/bpf.h @@ -57,8 +57,8 @@ 64-bit at any time. */ #define STACK_BOUNDARY 64 -/* Function entry points are aligned to 128 bits. */ -#define FUNCTION_BOUNDARY 128 +/* Function entry points are aligned to 64 bits. */ +#define FUNCTION_BOUNDARY 64 /* Maximum alignment required by data of any type. */ #define BIGGEST_ALIGNMENT 64 -- 2.47.2