64 lines
2.0 KiB
Diff
64 lines
2.0 KiB
Diff
commit 90986c5f0aa61cd22a9132486304ba5d12aae6c4
|
|
Author: Florian Weimer <fweimer@redhat.com>
|
|
Date: Mon Nov 22 13:30:23 2021 +0100
|
|
|
|
libgcc: Remove tbase member from struct unw_eh_callback_data
|
|
|
|
It is always a null pointer.
|
|
|
|
libgcc/ChangeLog
|
|
|
|
* unwind-dw2-fde-dip.c (struct unw_eh_callback_data): Remove
|
|
tbase member.
|
|
(base_from_cb_data): Adjust.
|
|
(_Unwind_IteratePhdrCallback): Likewise.
|
|
(_Unwind_Find_FDE): Likewise.
|
|
|
|
diff --git a/libgcc/unwind-dw2-fde-dip.c b/libgcc/unwind-dw2-fde-dip.c
|
|
index 5095b6830bf79e2e..4a4d990f455e5c11 100644
|
|
--- a/libgcc/unwind-dw2-fde-dip.c
|
|
+++ b/libgcc/unwind-dw2-fde-dip.c
|
|
@@ -104,7 +104,6 @@ static const fde * _Unwind_Find_registered_FDE (void *pc, struct dwarf_eh_bases
|
|
struct unw_eh_callback_data
|
|
{
|
|
_Unwind_Ptr pc;
|
|
- void *tbase;
|
|
void *dbase;
|
|
void *func;
|
|
const fde *ret;
|
|
@@ -154,7 +153,7 @@ base_from_cb_data (unsigned char encoding, struct unw_eh_callback_data *data)
|
|
return 0;
|
|
|
|
case DW_EH_PE_textrel:
|
|
- return (_Unwind_Ptr) data->tbase;
|
|
+ return 0;
|
|
case DW_EH_PE_datarel:
|
|
return (_Unwind_Ptr) data->dbase;
|
|
default:
|
|
@@ -431,7 +430,7 @@ _Unwind_IteratePhdrCallback (struct dl_phdr_info *info, size_t size, void *ptr)
|
|
As soon as GLIBC will provide API so to notify that a library has been
|
|
removed, we could cache this (and thus use search_object). */
|
|
ob.pc_begin = NULL;
|
|
- ob.tbase = data->tbase;
|
|
+ ob.tbase = NULL;
|
|
ob.dbase = data->dbase;
|
|
ob.u.single = (fde *) eh_frame;
|
|
ob.s.i = 0;
|
|
@@ -461,7 +460,6 @@ _Unwind_Find_FDE (void *pc, struct dwarf_eh_bases *bases)
|
|
return ret;
|
|
|
|
data.pc = (_Unwind_Ptr) pc;
|
|
- data.tbase = NULL;
|
|
data.dbase = NULL;
|
|
data.func = NULL;
|
|
data.ret = NULL;
|
|
@@ -472,7 +470,7 @@ _Unwind_Find_FDE (void *pc, struct dwarf_eh_bases *bases)
|
|
|
|
if (data.ret)
|
|
{
|
|
- bases->tbase = data.tbase;
|
|
+ bases->tbase = NULL;
|
|
bases->dbase = data.dbase;
|
|
bases->func = data.func;
|
|
}
|