Viewing file: BTFContext.h (1.89 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
//===- BTFContext.h ---------------------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // BTFContext interface is used by llvm-objdump tool to print source // code alongside disassembly. // //===----------------------------------------------------------------------===//
#ifndef LLVM_DEBUGINFO_BTF_BTFCONTEXT_H #define LLVM_DEBUGINFO_BTF_BTFCONTEXT_H
#include "llvm/DebugInfo/BTF/BTFParser.h" #include "llvm/DebugInfo/DIContext.h"
namespace llvm {
class BTFContext final : public DIContext { BTFParser BTF;
public: BTFContext() : DIContext(CK_BTF) {}
void dump(raw_ostream &OS, DIDumpOptions DumpOpts) override { // This function is called from objdump when --dwarf=? option is set. // BTF is no DWARF, so ignore this operation for now. }
DILineInfo getLineInfoForAddress( object::SectionedAddress Address, DILineInfoSpecifier Specifier = DILineInfoSpecifier()) override;
DILineInfo getLineInfoForDataAddress(object::SectionedAddress Address) override;
DILineInfoTable getLineInfoForAddressRange( object::SectionedAddress Address, uint64_t Size, DILineInfoSpecifier Specifier = DILineInfoSpecifier()) override;
DIInliningInfo getInliningInfoForAddress( object::SectionedAddress Address, DILineInfoSpecifier Specifier = DILineInfoSpecifier()) override;
std::vector<DILocal> getLocalsForAddress(object::SectionedAddress Address) override;
static std::unique_ptr<BTFContext> create( const object::ObjectFile &Obj, std::function<void(Error)> ErrorHandler = WithColor::defaultErrorHandler); };
} // end namespace llvm
#endif // LLVM_DEBUGINFO_BTF_BTFCONTEXT_H
|