mirror of
git://sourceware.org/git/libabigail.git
synced 2024-12-14 22:14:35 +00:00
71 lines
1.5 KiB
C
71 lines
1.5 KiB
C
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||
|
// -*- Mode: C++ -*-
|
||
|
//
|
||
|
// Copyright (C) 2013-2021 Oracle, Inc.
|
||
|
//
|
||
|
// Author: Jose E. Marchesi
|
||
|
|
||
|
/// @file
|
||
|
///
|
||
|
/// This file contains declarations implementing the different status
|
||
|
/// in which a corpus read from an ELF file can result. It is used by
|
||
|
/// the readers based on ELF files, such as DWARF and CTF.
|
||
|
///
|
||
|
/// More generally, this file contains declarations related to
|
||
|
/// facilities shared by the various readers that handle the ELF
|
||
|
/// format, e.g, the DWARF and CTF realder.
|
||
|
|
||
|
#ifndef __ABG_ELF_READER_COMMON_H__
|
||
|
#define __ABG_ELF_READER_COMMON_H__
|
||
|
|
||
|
#include <string>
|
||
|
|
||
|
namespace abigail
|
||
|
{
|
||
|
|
||
|
/// The namespace for an ELF based reader.
|
||
|
namespace elf_reader
|
||
|
{
|
||
|
|
||
|
/// The status of the @ref read_corpus_from_elf() call.
|
||
|
enum status
|
||
|
{
|
||
|
/// The status is in an unknown state
|
||
|
STATUS_UNKNOWN = 0,
|
||
|
|
||
|
/// This status is for when the call went OK.
|
||
|
STATUS_OK = 1,
|
||
|
|
||
|
/// This status is for when the debug info could not be read.
|
||
|
STATUS_DEBUG_INFO_NOT_FOUND = 1 << 1,
|
||
|
|
||
|
/// This status is for when the alternate debug info could not be
|
||
|
/// found.
|
||
|
STATUS_ALT_DEBUG_INFO_NOT_FOUND = 1 << 2,
|
||
|
|
||
|
/// This status is for when the symbols of the ELF binaries could
|
||
|
/// not be read.
|
||
|
STATUS_NO_SYMBOLS_FOUND = 1 << 3,
|
||
|
};
|
||
|
|
||
|
std::string
|
||
|
status_to_diagnostic_string(status s);
|
||
|
|
||
|
status
|
||
|
operator|(status, status);
|
||
|
|
||
|
status
|
||
|
operator&(status, status);
|
||
|
|
||
|
status&
|
||
|
operator|=(status&, status);
|
||
|
|
||
|
status&
|
||
|
operator&=(status&, status);
|
||
|
|
||
|
}// end namespace elf_reader
|
||
|
|
||
|
}// end namespace abigail
|
||
|
|
||
|
#endif //__ABG_ELF_READER_COMMON_H__
|