mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2024-12-23 20:03:43 +01:00
(_U_dyn_info_list): Mark it as .hidden so we can do a @gprel() reloc against it.
(.info): Use @gprel() reloc instead of @segrel() reloc for _U_dyn_info_list. The latter doesn't work because the unwind-info is in a different segment. (ia64_init): Clear unw.r0. (Logical change 1.55)
This commit is contained in:
parent
c4b73c6198
commit
5660a59ba1
1 changed files with 3 additions and 1 deletions
|
@ -107,12 +107,13 @@ unw_dyn_info_list_t _U_dyn_info_list;
|
|||
entry covers address range [0-0) and is therefore guaranteed to
|
||||
be the first in the unwind-table. */
|
||||
asm (
|
||||
" .hidden _U_dyn_info_list\n"
|
||||
" .section \".IA_64.unwind_info\", \"a\"\n"
|
||||
".info: data8 (1<<48) | 1\n" /* v1, length==1 (8-byte word) */
|
||||
" data8 0\n" /* 8 empty .prologue directives (nops) */
|
||||
" data8 0\n" /* personality routine (ignored) */
|
||||
" string \"dyn-list\"\n" /* lsda */
|
||||
" data8 @segrel(_U_dyn_info_list)\n"
|
||||
" data8 @gprel(_U_dyn_info_list)\n"
|
||||
" .previous\n"
|
||||
|
||||
" .section \".IA_64.unwind\", \"a\"\n"
|
||||
|
@ -147,6 +148,7 @@ ia64_init (void)
|
|||
mempool_init (&unw.labeled_state_pool,
|
||||
sizeof (struct ia64_labeled_state), 0);
|
||||
|
||||
unw.r0 = 0;
|
||||
unw.f0.raw.bits[0] = 0;
|
||||
unw.f0.raw.bits[1] = 0;
|
||||
|
||||
|
|
Loading…
Reference in a new issue