1. 28 Dec, 2017 5 commits
    • Yonghong Song's avatar
      fix a compilation error with latest llvm/clang trunk · c0d1694e
      Yonghong Song authored
      bcc build with latest llvm/clang trunk failed with the
      below error:
      ......
      [ 35%] Built target api-static
      /home/yhs/work/bcc/src/cc/frontends/clang/tp_frontend_action.cc: In member function ‘bool ebpf::TracepointTypeVisitor::Visit
      FunctionDecl(clang::FunctionDecl*)’:
      /home/yhs/work/bcc/src/cc/frontends/clang/tp_frontend_action.cc:163:60: error: no matching function for call to ‘clang::Qual
      Type::getAsString(clang::SplitQualType)’
               auto type_name = QualType::getAsString(type.split());
                                                                  ^
      ......
      
      The error is caused by the below clang commit:
      commit fcc28fd8cc8139cf1e4763459447880768579d8e
      Author: Aaron Ballman <aaron@aaronballman.com>
      Date:   Thu Dec 21 21:42:42 2017 +0000
      
          Re-commit r321223, which adds a printing policy to the ASTDumper.
      ......
      -  std::string getAsString() const {
      -    return getAsString(split());
      +  static std::string getAsString(SplitQualType split,
      +                                 const PrintingPolicy &Policy) {
      +    return getAsString(split.Ty, split.Quals, Policy);
         }
      +  static std::string getAsString(const Type *ty, Qualifiers qs,
      +                                 const PrintingPolicy &Policy);
      
      -  static std::string getAsString(SplitQualType split) {
      -    return getAsString(split.Ty, split.Quals);
      -  }
      -
      -  static std::string getAsString(const Type *ty, Qualifiers qs);
      -
      +  std::string getAsString() const;
         std::string getAsString(const PrintingPolicy &Policy) const;
      ......
      
      The signature of static function getAsString(), which is used
      in src/cc/frontends/clang/tp_frontend_action.cc, got changed,
      and this caused the compilation error.
      
      The patch chooses a different way to get type_name which works
      for llvm 4.0 to 6.0 (tested).
      Signed-off-by: default avatarYonghong Song <yhs@fb.com>
      c0d1694e
    • yonghong-song's avatar
      Merge pull request #1504 from samofatov/master · bb3e873f
      yonghong-song authored
      CentOS 6 support
      bb3e873f
    • 4ast's avatar
      Merge pull request #1503 from iovisor/yhs_dev · b44d7056
      4ast authored
      fix build issue for llvm 5.0.1
      b44d7056
    • nikolay.samofatov's avatar
      CentOS 6 support · c5308e96
      nikolay.samofatov authored
      c5308e96
    • Yonghong Song's avatar
      fix build issue for llvm 5.0.1 · bd7fa55b
      Yonghong Song authored
      Fix issue #1502.
      A few cmake version checking greater than 5 includes 5.0.1
      which results in compilation failure. Change version checking
      to explicitly equal to or greater than version 6.
      Signed-off-by: default avatarYonghong Song <yhs@fb.com>
      bd7fa55b
  2. 22 Dec, 2017 1 commit
  3. 21 Dec, 2017 1 commit
  4. 20 Dec, 2017 4 commits
  5. 19 Dec, 2017 1 commit
  6. 18 Dec, 2017 3 commits
  7. 17 Dec, 2017 2 commits
  8. 16 Dec, 2017 9 commits
  9. 15 Dec, 2017 4 commits
  10. 14 Dec, 2017 6 commits
  11. 12 Dec, 2017 4 commits
    • 4ast's avatar
      Merge pull request #1484 from iovisor/yhs_dev · e5db52bf
      4ast authored
      add padding to the end of structure
      e5db52bf
    • Brendan Gregg's avatar
      Merge pull request #1481 from htbegin/execsnoop_fix · b384b76e
      Brendan Gregg authored
      execsnoop: fix the prototype for kprobe__sys_execve
      b384b76e
    • 4ast's avatar
      Merge pull request #1474 from iovisor/yhs_dev · 2faf0605
      4ast authored
      provide padded structure for table_{key|leaf}_desc API
      2faf0605
    • Yonghong Song's avatar
      add padding to the end of structure · b32b4a5f
      Yonghong Song authored
      Commit 538a84e1 ("provide padded structure for
      table_{key|leaf}_desc API") added explicit padding, if needed,
      before every structure member.
      
      This is not enough as if an array of elements are returned
      from C++ to python side, the size of structure must be correct.
      
      This patch also adds padding after the last structure field
      to make structure size in python side consistent with C++
      side. With this patch, I experimented with the pull request
      for tcpretrans.py by Matthias Tafelmeier, the type
        struct ipv6_flow_key_t {
            unsigned __int128 saddr;
            unsigned __int128 daddr;
            u64 lport;
            u64 dport;
        }
      can be replaced with
        struct ipv6_flow_key_t {
            unsigned __int128 saddr;
            unsigned __int128 daddr;
            u16 lport;
            u16 dport;
        }
      where the original type of lport/dport is u16.
      Some other ipv6 related data structures can also be simplified.
      Signed-off-by: default avatarYonghong Song <yhs@fb.com>
      b32b4a5f