[all-commits] [llvm/llvm-project] 886f9f: BPF: add extern func to data sections if specified

yonghong-song via All-commits all-commits at lists.llvm.org
Thu Mar 25 16:04:25 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 886f9ff53155075bd5f1e994f17b85d1e1b7470c
      https://github.com/llvm/llvm-project/commit/886f9ff53155075bd5f1e994f17b85d1e1b7470c
  Author: Yonghong Song <yhs at fb.com>
  Date:   2021-03-25 (Thu, 25 Mar 2021)

  Changed paths:
    M llvm/lib/Target/BPF/BTFDebug.cpp
    M llvm/lib/Target/BPF/BTFDebug.h
    M llvm/test/CodeGen/BPF/BTF/extern-var-func-weak-section.ll
    M llvm/test/CodeGen/BPF/BTF/extern-var-section.ll
    M llvm/test/CodeGen/BPF/BTF/extern-var-weak-section.ll

  Log Message:
  -----------
  BPF: add extern func to data sections if specified

This permits extern function (BTF_KIND_FUNC) be added
to BTF_KIND_DATASEC if a section name is specified.
For example,

-bash-4.4$ cat t.c
void foo(int) __attribute__((section(".kernel.funcs")));
int test(void) {
  foo(5);
  return 0;
}

The extern function foo (BTF_KIND_FUNC) will be put into
BTF_KIND_DATASEC with name ".kernel.funcs".

This will help to differentiate two kinds of external functions,
functions in kernel and functions defined in other bpf programs.

Differential Revision: https://reviews.llvm.org/D93563




More information about the All-commits mailing list