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 | |
---|
6 | typedef unsigned _Unwind_Word __attribute__((__mode__(__word__))); |
---|
7 | typedef _Unwind_Word _uw; |
---|
8 | |
---|
9 | bool |
---|
10 | rtems_rtl_elf_unwind_parse (const rtems_rtl_obj* obj, |
---|
11 | const char* name, |
---|
12 | uint32_t flags); |
---|
13 | |
---|
14 | bool |
---|
15 | rtems_rtl_elf_unwind_register (rtems_rtl_obj* obj); |
---|
16 | |
---|
17 | bool |
---|
18 | rtems_rtl_elf_unwind_deregister (rtems_rtl_obj* obj); |
---|
19 | |
---|
20 | /* An exception index table entry. */ |
---|
21 | typedef struct __EIT_entry |
---|
22 | { |
---|
23 | _uw fnoffset; |
---|
24 | _uw content; |
---|
25 | } __EIT_entry; |
---|
26 | |
---|
27 | /* The exception index table location in the base module */ |
---|
28 | extern __EIT_entry __exidx_start; |
---|
29 | extern __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.