mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
d1f0af8d30
This class is responsible for getting the linked data to the disk in the appropriate form. Today it it an empty shell that just instantiates an MC layer. As we do not put anything in the resulting file yet, we just check it has the right architecture (and check that -o does the right thing). To be able to create all the components, this commit adds a few dependencies to llvm-dsymutil, namely all-targets, MC and AsmPrinter. Also add a -no-output option, so that tests that do not need the binary result can continue to run even if they do not have the required target linked in. llvm-svn: 230824
48 lines
1.5 KiB
C++
48 lines
1.5 KiB
C++
//===- tools/dsymutil/dsymutil.h - dsymutil high-level functionality ------===//
|
|
//
|
|
// The LLVM Linker
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
///
|
|
/// \file
|
|
///
|
|
/// This file contains the class declaration for the code that parses STABS
|
|
/// debug maps that are embedded in the binaries symbol tables.
|
|
///
|
|
//===----------------------------------------------------------------------===//
|
|
#ifndef LLVM_TOOLS_DSYMUTIL_DSYMUTIL_H
|
|
#define LLVM_TOOLS_DSYMUTIL_DSYMUTIL_H
|
|
|
|
#include "DebugMap.h"
|
|
#include "llvm/ADT/StringRef.h"
|
|
#include "llvm/Support/ErrorOr.h"
|
|
#include <memory>
|
|
|
|
namespace llvm {
|
|
namespace dsymutil {
|
|
|
|
struct LinkOptions {
|
|
bool Verbose; ///< Verbosity
|
|
bool NoOutput; ///< Skip emitting output
|
|
|
|
LinkOptions() : Verbose(false), NoOutput(false) {}
|
|
};
|
|
|
|
/// \brief Extract the DebugMap from the given file.
|
|
/// The file has to be a MachO object file.
|
|
llvm::ErrorOr<std::unique_ptr<DebugMap>>
|
|
parseDebugMap(StringRef InputFile, StringRef PrependPath = "",
|
|
bool Verbose = false);
|
|
|
|
/// \brief Link the Dwarf debuginfo as directed by the passed DebugMap
|
|
/// \p DM into a DwarfFile named \p OutputFilename.
|
|
/// \returns false if the link failed.
|
|
bool linkDwarf(StringRef OutputFilename, const DebugMap &DM,
|
|
const LinkOptions &Options);
|
|
}
|
|
}
|
|
#endif // LLVM_TOOLS_DSYMUTIL_DSYMUTIL_H
|