source: rtems/cpukit/libdl/rtl-unwind-arm.h @ 5500232

Last change on this file since 5500232 was 5500232, checked in by Ryan Long <ryan.long@…>, on 08/08/22 at 14:23:48

libdl: Refactor shared code in ARM and AArch64

rtl-mdreloc-arm.c was used as the basis for rtl-mdreloc-aarch64.c. This lead
to some code being shared by the two files. The code was consolidated into
rtl-unwind-arm.c.

Closes #4686

  • Property mode set to 100644
File size: 1.3 KB
Line 
1#include <unwind.h>
2
3#include <rtems/rtl/rtl.h>
4#include "rtl-unwind.h"
5
6typedef unsigned _Unwind_Word __attribute__((__mode__(__word__)));
7typedef _Unwind_Word _uw;
8
9bool
10rtems_rtl_elf_unwind_parse (const rtems_rtl_obj* obj,
11                            const char*          name,
12                            uint32_t             flags);
13
14bool
15rtems_rtl_elf_unwind_register (rtems_rtl_obj* obj);
16
17bool
18rtems_rtl_elf_unwind_deregister (rtems_rtl_obj* obj);
19
20/* An exception index table entry.  */
21typedef struct __EIT_entry
22{
23  _uw fnoffset;
24  _uw content;
25} __EIT_entry;
26
27/* The exception index table location in the base module */
28extern __EIT_entry __exidx_start;
29extern __EIT_entry __exidx_end;
30
31/*
32 * A weak reference is in libgcc, provide a real version and provide a way to
33 * manage loaded modules.
34 *
35 * Passed in the return address and a reference to the number of records
36 * found. We set the start of the exidx data and the number of records.
37 */
38_Unwind_Ptr
39__gnu_Unwind_Find_exidx (_Unwind_Ptr return_address,
40                         int*        nrec) __attribute__ ((__noinline__,
41                                                           __used__,
42                                                           __noclone__));
43
44_Unwind_Ptr
45__gnu_Unwind_Find_exidx (_Unwind_Ptr return_address,
46                         int*        nrec);
Note: See TracBrowser for help on using the repository browser.