Skip to content
Snippets Groups Projects
  1. May 07, 2021
  2. May 04, 2021
  3. May 01, 2021
  4. Apr 30, 2021
  5. Apr 26, 2021
  6. Apr 22, 2021
  7. Apr 20, 2021
  8. Apr 12, 2021
  9. Apr 07, 2021
  10. Mar 30, 2021
  11. Mar 26, 2021
  12. Mar 16, 2021
  13. Mar 14, 2021
  14. Mar 04, 2021
  15. Feb 26, 2021
  16. Feb 09, 2021
  17. Feb 03, 2021
  18. Feb 02, 2021
    • Tiezhu Yang's avatar
      samples/bpf: Add include dir for MIPS Loongson64 to fix build errors · 058107ab
      Tiezhu Yang authored
      
      There exists many build errors when make M=samples/bpf on the Loongson
      platform. This issue is MIPS related, x86 compiles just fine.
      
      Here are some errors:
      
        CLANG-bpf  samples/bpf/sockex2_kern.o
      In file included from samples/bpf/sockex2_kern.c:2:
      In file included from ./include/uapi/linux/in.h:24:
      In file included from ./include/linux/socket.h:8:
      In file included from ./include/linux/uio.h:8:
      In file included from ./include/linux/kernel.h:11:
      In file included from ./include/linux/bitops.h:32:
      In file included from ./arch/mips/include/asm/bitops.h:19:
      In file included from ./arch/mips/include/asm/barrier.h:11:
      ./arch/mips/include/asm/addrspace.h:13:10: fatal error: 'spaces.h' file not found
               ^~~~~~~~~~
      1 error generated.
      
        CLANG-bpf  samples/bpf/sockex2_kern.o
      In file included from samples/bpf/sockex2_kern.c:2:
      In file included from ./include/uapi/linux/in.h:24:
      In file included from ./include/linux/socket.h:8:
      In file included from ./include/linux/uio.h:8:
      In file included from ./include/linux/kernel.h:11:
      In file included from ./include/linux/bitops.h:32:
      In file included from ./arch/mips/include/asm/bitops.h:22:
      In file included from ./arch/mips/include/asm/cpu-features.h:13:
      In file included from ./arch/mips/include/asm/cpu-info.h:15:
      In file included from ./include/linux/cache.h:6:
      ./arch/mips/include/asm/cache.h:12:10: fatal error: 'kmalloc.h' file not found
               ^~~~~~~~~~~
      1 error generated.
      
        CLANG-bpf  samples/bpf/sockex2_kern.o
      In file included from samples/bpf/sockex2_kern.c:2:
      In file included from ./include/uapi/linux/in.h:24:
      In file included from ./include/linux/socket.h:8:
      In file included from ./include/linux/uio.h:8:
      In file included from ./include/linux/kernel.h:11:
      In file included from ./include/linux/bitops.h:32:
      In file included from ./arch/mips/include/asm/bitops.h:22:
      ./arch/mips/include/asm/cpu-features.h:15:10: fatal error: 'cpu-feature-overrides.h' file not found
               ^~~~~~~~~~~~~~~~~~~~~~~~~
      1 error generated.
      
      $ find arch/mips/include/asm -name spaces.h | sort
      arch/mips/include/asm/mach-ar7/spaces.h
      ...
      arch/mips/include/asm/mach-generic/spaces.h
      ...
      arch/mips/include/asm/mach-loongson64/spaces.h
      ...
      arch/mips/include/asm/mach-tx49xx/spaces.h
      
      $ find arch/mips/include/asm -name kmalloc.h | sort
      arch/mips/include/asm/mach-generic/kmalloc.h
      arch/mips/include/asm/mach-ip32/kmalloc.h
      arch/mips/include/asm/mach-tx49xx/kmalloc.h
      
      $ find arch/mips/include/asm -name cpu-feature-overrides.h | sort
      arch/mips/include/asm/mach-ath25/cpu-feature-overrides.h
      ...
      arch/mips/include/asm/mach-generic/cpu-feature-overrides.h
      ...
      arch/mips/include/asm/mach-loongson64/cpu-feature-overrides.h
      ...
      arch/mips/include/asm/mach-tx49xx/cpu-feature-overrides.h
      
      In the arch/mips/Makefile, there exists the following board-dependent
      options:
      
      include arch/mips/Kbuild.platforms
      cflags-y += -I$(srctree)/arch/mips/include/asm/mach-generic
      
      So we can do the similar things in samples/bpf/Makefile, just add
      platform specific and generic include dir for MIPS Loongson64 to
      fix the build errors.
      
      Signed-off-by: default avatarTiezhu Yang <yangtiezhu@loongson.cn>
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Link: https://lore.kernel.org/bpf/1611669925-25315-1-git-send-email-yangtiezhu@loongson.cn
      058107ab
  19. Jan 25, 2021
    • Tiezhu Yang's avatar
      samples/bpf: Set flag __SANE_USERSPACE_TYPES__ for MIPS to fix build warnings · 190d1c92
      Tiezhu Yang authored
      
      There exists many build warnings when make M=samples/bpf on the Loongson
      platform, this issue is MIPS related, x86 compiles just fine.
      
      Here are some warnings:
      
        CC  samples/bpf/ibumad_user.o
      samples/bpf/ibumad_user.c: In function ‘dump_counts’:
      samples/bpf/ibumad_user.c:46:24: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 3 has type ‘__u64’ {aka ‘long unsigned int’} [-Wformat=]
          printf("0x%02x : %llu\n", key, value);
                           ~~~^          ~~~~~
                           %lu
        CC  samples/bpf/offwaketime_user.o
      samples/bpf/offwaketime_user.c: In function ‘print_ksym’:
      samples/bpf/offwaketime_user.c:34:17: warning: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 3 has type ‘__u64’ {aka ‘long unsigned int’} [-Wformat=]
         printf("%s/%llx;", sym->name, addr);
                    ~~~^               ~~~~
                    %lx
      samples/bpf/offwaketime_user.c: In function ‘print_stack’:
      samples/bpf/offwaketime_user.c:68:17: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 3 has type ‘__u64’ {aka ‘long unsigned int’} [-Wformat=]
        printf(";%s %lld\n", key->waker, count);
                    ~~~^                 ~~~~~
                    %ld
      
      MIPS needs __SANE_USERSPACE_TYPES__ before <linux/types.h> to select
      'int-ll64.h' in arch/mips/include/uapi/asm/types.h, then it can avoid
      build warnings when printing __u64 with %llu, %llx or %lld.
      
      The header tools/include/linux/types.h defines __SANE_USERSPACE_TYPES__,
      it seems that we can include <linux/types.h> in the source files which
      have build warnings, but it has no effect due to actually it includes
      usr/include/linux/types.h instead of tools/include/linux/types.h, the
      problem is that "usr/include" is preferred first than "tools/include"
      in samples/bpf/Makefile, that sounds like a ugly hack to -Itools/include
      before -Iusr/include.
      
      So define __SANE_USERSPACE_TYPES__ for MIPS in samples/bpf/Makefile
      is proper, if add "TPROGS_CFLAGS += -D__SANE_USERSPACE_TYPES__" in
      samples/bpf/Makefile, it appears the following error:
      
      Auto-detecting system features:
      ...                        libelf: [ on  ]
      ...                          zlib: [ on  ]
      ...                           bpf: [ OFF ]
      
      BPF API too old
      make[3]: *** [Makefile:293: bpfdep] Error 1
      make[2]: *** [Makefile:156: all] Error 2
      
      With #ifndef __SANE_USERSPACE_TYPES__  in tools/include/linux/types.h,
      the above error has gone and this ifndef change does not hurt other
      compilations.
      
      Signed-off-by: default avatarTiezhu Yang <yangtiezhu@loongson.cn>
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: default avatarYonghong Song <yhs@fb.com>
      Link: https://lore.kernel.org/bpf/1611551146-14052-1-git-send-email-yangtiezhu@loongson.cn
      190d1c92
  20. Jan 22, 2021
  21. Jan 21, 2021
  22. Jan 20, 2021
  23. Jan 18, 2021
  24. Jan 15, 2021
  25. Jan 11, 2021
  26. Dec 10, 2020
  27. Dec 03, 2020
  28. Dec 01, 2020
  29. Nov 30, 2020
Loading