Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
14 pmbaty 1
//===- ObjectFileTransformer.h ----------------------------------*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
 
9
#ifndef LLVM_DEBUGINFO_GSYM_OBJECTFILETRANSFORMER_H
10
#define LLVM_DEBUGINFO_GSYM_OBJECTFILETRANSFORMER_H
11
 
12
#include "llvm/Support/Error.h"
13
 
14
namespace llvm {
15
 
16
class raw_ostream;
17
 
18
namespace object {
19
class ObjectFile;
20
}
21
 
22
namespace gsym {
23
 
24
class GsymCreator;
25
 
26
class ObjectFileTransformer {
27
public:
28
  /// Extract any object file data that is needed by the GsymCreator.
29
  ///
30
  /// The extracted information includes the UUID of the binary and converting
31
  /// all function symbols from any symbol tables into FunctionInfo objects.
32
  ///
33
  /// \param Obj The object file that contains the DWARF debug info.
34
  ///
35
  /// \param Log The stream to log warnings and non fatal issues to.
36
  ///
37
  /// \param Gsym The GSYM creator to populate with the function information
38
  /// from the debug info.
39
  ///
40
  /// \returns An error indicating any fatal issues that happen when parsing
41
  /// the DWARF, or Error::success() if all goes well.
42
  static llvm::Error convert(const object::ObjectFile &Obj,
43
                             raw_ostream &Log,
44
                             GsymCreator &Gsym);
45
};
46
 
47
} // namespace gsym
48
} // namespace llvm
49
 
50
#endif // LLVM_DEBUGINFO_GSYM_OBJECTFILETRANSFORMER_H