source: rtems-tools/rtemstoolkit/rld-dwarf-types.h @ 3618a62

Last change on this file since 3618a62 was 558cab8, checked in by Chris Johns <chrisj@…>, on May 8, 2018 at 5:09:38 AM

rtemstoolkit: Add libdwarf C++ interface.

Provide a C++ interface to libdwarf to:

  • Manage DWARF debug data
  • Manage CU
  • Manage DIE
  • Handle CU line addresses
  • Handle CU source files

Update #3417

  • Property mode set to 100644
File size: 1.7 KB
Line 
1/*
2 * Copyright (c) 2018, Chris Johns <chrisj@rtems.org>
3 *
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16/**
17 * @file
18 *
19 * @ingroup rtems-ld
20 *
21 * @brief RTEMS Linker DWARF types.
22  *
23 */
24
25#if !defined (_RLD_DWARF_TYPES_H_)
26#define _RLD_DWARF_TYPES_H_
27
28#include <dwarf.h>
29#include <libdwarf.h>
30
31namespace rld
32{
33  namespace dwarf
34  {
35    /**
36     * Hide the types from libdwarf we use.
37     */
38    typedef ::Dwarf_Debug    dwarf;
39    typedef ::Dwarf_Handler  dwarf_handler;
40    typedef ::Dwarf_Error    dwarf_error;
41    typedef ::Dwarf_Die      dwarf_die;
42    typedef ::Dwarf_Line     dwarf_line;
43    typedef ::Dwarf_Ptr      dwarf_pointer;
44    typedef ::Dwarf_Addr     dwarf_address;
45    typedef ::Dwarf_Off      dwarf_offset;
46    typedef ::Dwarf_Half     dwarf_half;
47    typedef ::Dwarf_Signed   dwarf_signed;
48    typedef ::Dwarf_Unsigned dwarf_unsigned;
49    typedef ::Dwarf_Bool     dwarf_bool;
50    typedef ::Dwarf_Sig8     dwarf_sig8;
51    typedef ::Dwarf_Line     dwarf_line;
52    typedef ::Dwarf_Half     dwarf_tag;
53    typedef ::Dwarf_Half     dwarf_attr;
54  }
55}
56
57#endif
Note: See TracBrowser for help on using the repository browser.