Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-10 08:43:42

0001 //===- ObjectFileTransformer.h ----------------------------------*- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 
0009 #ifndef LLVM_DEBUGINFO_GSYM_OBJECTFILETRANSFORMER_H
0010 #define LLVM_DEBUGINFO_GSYM_OBJECTFILETRANSFORMER_H
0011 
0012 #include "llvm/Support/Error.h"
0013 
0014 namespace llvm {
0015 
0016 namespace object {
0017 class ObjectFile;
0018 }
0019 
0020 namespace gsym {
0021 
0022 class GsymCreator;
0023 class OutputAggregator;
0024 
0025 class ObjectFileTransformer {
0026 public:
0027   /// Extract any object file data that is needed by the GsymCreator.
0028   ///
0029   /// The extracted information includes the UUID of the binary and converting
0030   /// all function symbols from any symbol tables into FunctionInfo objects.
0031   ///
0032   /// \param Obj The object file that contains the DWARF debug info.
0033   ///
0034   /// \param Log The stream to log warnings and non fatal issues to. If NULL,
0035   ///            don't log.
0036   ///
0037   /// \param Gsym The GSYM creator to populate with the function information
0038   /// from the debug info.
0039   ///
0040   /// \returns An error indicating any fatal issues that happen when parsing
0041   /// the DWARF, or Error::success() if all goes well.
0042   static llvm::Error convert(const object::ObjectFile &Obj,
0043                              OutputAggregator &Output, GsymCreator &Gsym);
0044 };
0045 
0046 } // namespace gsym
0047 } // namespace llvm
0048 
0049 #endif // LLVM_DEBUGINFO_GSYM_OBJECTFILETRANSFORMER_H