RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
cpukit
libdl
rtl-unwind-dw2.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-2-Clause */
2
10
11
/*
12
* COPYRIGHT (c) 2016, 2018 Chris Johns <chrisj@rtems.org>
13
*
14
* Redistribution and use in source and binary forms, with or without
15
* modification, are permitted provided that the following conditions
16
* are met:
17
* 1. Redistributions of source code must retain the above copyright
18
* notice, this list of conditions and the following disclaimer.
19
* 2. Redistributions in binary form must reproduce the above copyright
20
* notice, this list of conditions and the following disclaimer in the
21
* documentation and/or other materials provided with the distribution.
22
*
23
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
27
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
28
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
29
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
30
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
31
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
32
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33
* POSSIBILITY OF SUCH DAMAGE.
34
*/
35
36
#if !defined (_RTEMS_RTL_UNWIND_DW2_H_)
37
#define _RTEMS_RTL_UNWIND_DW2_H_
38
39
#include "
rtl-elf.h
"
40
41
#ifdef __cplusplus
42
extern
"C"
{
43
#endif
/* __cplusplus */
44
45
#if __SIZEOF_LONG__ >= __SIZEOF_POINTER__
46
typedef
long
rtems_rtl_elf_unwind_dw2_sleb128;
47
typedef
unsigned
long
rtems_rtl_elf_unwind_dw2_uleb128;
48
#elif __SIZEOF_LONG_LONG__ >= __SIZEOF_POINTER__
49
typedef
long
long
rtems_rtl_elf_unwind_dw2_sleb128;
50
typedef
unsigned
long
long
rtems_rtl_elf_unwind_dw2_uleb128;
51
#else
52
#error No DW2 type available.
53
#endif
54
65
bool
rtems_rtl_elf_unwind_dw2_parse
(
const
rtems_rtl_obj
* obj,
66
const
char
* name,
67
uint32_t flags);
68
77
bool
rtems_rtl_elf_unwind_dw2_register
(
const
rtems_rtl_obj
* obj);
78
87
bool
rtems_rtl_elf_unwind_dw2_deregister
(
const
rtems_rtl_obj
* obj);
88
92
const
uint8_t*
rtems_rtl_elf_unwind_dw2_read_uleb128
(
const
uint8_t* data,
93
rtems_rtl_elf_unwind_dw2_uleb128* val);
94
const
uint8_t* rtems_rtl_elf_unwind_dw2_read_sleb128 (
const
uint8_t* data,
95
rtems_rtl_elf_unwind_dw2_sleb128* val);
96
97
bool
rtems_rtl_elf_unwind_dw2_relocate (
const
Elf_Addr* where, Elf_Word value, Elf_Word mask);
98
99
#ifdef __cplusplus
100
}
101
#endif
/* __cplusplus */
102
103
#endif
rtl-elf.h
RTEMS Run-Time Linker ELF Headers.
rtems_rtl_elf_unwind_dw2_parse
bool rtems_rtl_elf_unwind_dw2_parse(const rtems_rtl_obj *obj, const char *name, uint32_t flags)
Definition
rtl-unwind-dw2.c:58
rtems_rtl_elf_unwind_dw2_deregister
bool rtems_rtl_elf_unwind_dw2_deregister(const rtems_rtl_obj *obj)
Definition
rtl-unwind-dw2.c:81
rtems_rtl_elf_unwind_dw2_register
bool rtems_rtl_elf_unwind_dw2_register(const rtems_rtl_obj *obj)
Definition
rtl-unwind-dw2.c:69
rtems_rtl_elf_unwind_dw2_read_uleb128
const uint8_t * rtems_rtl_elf_unwind_dw2_read_uleb128(const uint8_t *data, rtems_rtl_elf_unwind_dw2_uleb128 *val)
rtems_rtl_obj
Definition
rtl-obj.h:200
Generated by
1.18.0