On Mon, Jun 10, 2019 at 9:49 PM Andrii Nakryiko <andriin@xxxxxx> wrote: > > Multiple files in libbpf redefine their own definitions for min/max. > Let's define them in libbpf_internal.h and use those everywhere. > > Signed-off-by: Andrii Nakryiko <andriin@xxxxxx> Acked-by: Song Liu <songliubraving@xxxxxx> > --- > tools/lib/bpf/bpf.c | 7 ++----- > tools/lib/bpf/bpf_prog_linfo.c | 5 +---- > tools/lib/bpf/btf.c | 3 --- > tools/lib/bpf/btf_dump.c | 3 --- > tools/lib/bpf/libbpf_internal.h | 7 +++++++ > 5 files changed, 10 insertions(+), 15 deletions(-) > > diff --git a/tools/lib/bpf/bpf.c b/tools/lib/bpf/bpf.c > index 0d4b4fe10a84..c7d7993c44bb 100644 > --- a/tools/lib/bpf/bpf.c > +++ b/tools/lib/bpf/bpf.c > @@ -26,10 +26,11 @@ > #include <memory.h> > #include <unistd.h> > #include <asm/unistd.h> > +#include <errno.h> > #include <linux/bpf.h> > #include "bpf.h" > #include "libbpf.h" > -#include <errno.h> > +#include "libbpf_internal.h" > > /* > * When building perf, unistd.h is overridden. __NR_bpf is > @@ -53,10 +54,6 @@ > # endif > #endif > > -#ifndef min > -#define min(x, y) ((x) < (y) ? (x) : (y)) > -#endif > - > static inline __u64 ptr_to_u64(const void *ptr) > { > return (__u64) (unsigned long) ptr; > diff --git a/tools/lib/bpf/bpf_prog_linfo.c b/tools/lib/bpf/bpf_prog_linfo.c > index 6978314ea7f6..8c67561c93b0 100644 > --- a/tools/lib/bpf/bpf_prog_linfo.c > +++ b/tools/lib/bpf/bpf_prog_linfo.c > @@ -6,10 +6,7 @@ > #include <linux/err.h> > #include <linux/bpf.h> > #include "libbpf.h" > - > -#ifndef min > -#define min(x, y) ((x) < (y) ? (x) : (y)) > -#endif > +#include "libbpf_internal.h" > > struct bpf_prog_linfo { > void *raw_linfo; > diff --git a/tools/lib/bpf/btf.c b/tools/lib/bpf/btf.c > index b2478e98c367..467224feb43b 100644 > --- a/tools/lib/bpf/btf.c > +++ b/tools/lib/bpf/btf.c > @@ -16,9 +16,6 @@ > #include "libbpf_internal.h" > #include "hashmap.h" > > -#define max(a, b) ((a) > (b) ? (a) : (b)) > -#define min(a, b) ((a) < (b) ? (a) : (b)) > - > #define BTF_MAX_NR_TYPES 0x7fffffff > #define BTF_MAX_STR_OFFSET 0x7fffffff > > diff --git a/tools/lib/bpf/btf_dump.c b/tools/lib/bpf/btf_dump.c > index 4b22db77e2cc..7065bb5b2752 100644 > --- a/tools/lib/bpf/btf_dump.c > +++ b/tools/lib/bpf/btf_dump.c > @@ -18,9 +18,6 @@ > #include "libbpf.h" > #include "libbpf_internal.h" > > -#define min(x, y) ((x) < (y) ? (x) : (y)) > -#define max(x, y) ((x) < (y) ? (y) : (x)) > - > static const char PREFIXES[] = "\t\t\t\t\t\t\t\t\t\t\t\t\t"; > static const size_t PREFIX_CNT = sizeof(PREFIXES) - 1; > > diff --git a/tools/lib/bpf/libbpf_internal.h b/tools/lib/bpf/libbpf_internal.h > index 850f7bdec5cb..554a7856dc2d 100644 > --- a/tools/lib/bpf/libbpf_internal.h > +++ b/tools/lib/bpf/libbpf_internal.h > @@ -23,6 +23,13 @@ > #define BTF_PARAM_ENC(name, type) (name), (type) > #define BTF_VAR_SECINFO_ENC(type, offset, size) (type), (offset), (size) > > +#ifndef min > +# define min(x, y) ((x) < (y) ? (x) : (y)) > +#endif > +#ifndef max > +# define max(x, y) ((x) < (y) ? (y) : (x)) > +#endif > + > extern void libbpf_print(enum libbpf_print_level level, > const char *format, ...) > __attribute__((format(printf, 2, 3))); > -- > 2.17.1 >