RTEMS CPU Kit with SuperCore  4.11.3
rtl-unwind-dw2.h
Go to the documentation of this file.
1 /*
2  * COPYRIGHT (c) 2016 Chris Johns <chrisj@rtems.org>
3  *
4  * The license and distribution terms for this file may be
5  * found in the file LICENSE in this distribution or at
6  * http://www.rtems.org/license/LICENSE.
7  */
16 #if !defined (_RTEMS_RTL_UNWIND_DW2_H_)
17 #define _RTEMS_RTL_UNWIND_DW2_H_
18 
19 #include "rtl-elf.h"
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif /* __cplusplus */
24 
25 #if __SIZEOF_LONG__ >= __SIZEOF_POINTER__
26  typedef long rtems_rtl_elf_unwind_dw2_sleb128;
27  typedef unsigned long rtems_rtl_elf_unwind_dw2_uleb128;
28 #elif __SIZEOF_LONG_LONG__ >= __SIZEOF_POINTER__
29  typedef long long rtems_rtl_elf_unwind_dw2_sleb128;
30  typedef unsigned long long rtems_rtl_elf_unwind_dw2_uleb128;
31 #else
32  #error No DW2 type available.
33 #endif
34 
46  const char* name,
47  uint32_t flags);
48 
58 
68 
72 const uint8_t* rtems_rtl_elf_unwind_dw2_read_uleb128 (const uint8_t* data,
73  rtems_rtl_elf_unwind_dw2_uleb128* val);
74 const uint8_t* rtems_rtl_elf_unwind_dw2_read_sleb128 (const uint8_t* data,
75  rtems_rtl_elf_unwind_dw2_sleb128* val);
76 
77 bool rtems_rtl_elf_unwind_dw2_relocate (const Elf_Addr* where, Elf_Word value, Elf_Word mask);
78 
79 #ifdef __cplusplus
80 }
81 #endif /* __cplusplus */
82 
83 #endif
bool rtems_rtl_elf_unwind_dw2_register(const rtems_rtl_obj_t *obj)
Architecture specific handler to add an object file&#39;s unwind information to the base image...
Definition: rtl-unwind-dw2.c:49
RTL Object.
Definition: rtl-obj.h:156
RTEMS Run-Time Linker ELF Headers.
bool rtems_rtl_elf_unwind_dw2_deregister(const rtems_rtl_obj_t *obj)
Architecture specific handler to remove an object file&#39;s unwind information from the base image...
Definition: rtl-unwind-dw2.c:61
const uint8_t * rtems_rtl_elf_unwind_dw2_read_uleb128(const uint8_t *data, rtems_rtl_elf_unwind_dw2_uleb128 *val)
Read signed and unsigned LEB128 values.
bool rtems_rtl_elf_unwind_dw2_parse(const rtems_rtl_obj_t *obj, const char *name, uint32_t flags)
Architecture specific handler to check if a section contains exception handler data.
Definition: rtl-unwind-dw2.c:38