mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-18 05:12:33 +08:00
Fix bugs related to inferior function calls on FRV using the FDPIC ABI.
This commit is contained in:
@ -1,3 +1,10 @@
|
|||||||
|
2005-04-29 Kevin Buettner <kevinb@redhat.com>
|
||||||
|
|
||||||
|
* frv-tdep.c (find_func_descr): Verify that entry point can be
|
||||||
|
found in symbol table prior to looking up its function descriptor.
|
||||||
|
* solib-frv.c (find_canonical_descriptor_in_load_object): Add
|
||||||
|
test for non-NULL link map.
|
||||||
|
|
||||||
2005-04-29 Corinna Vinschen <vinschen@redhat.com>
|
2005-04-29 Corinna Vinschen <vinschen@redhat.com>
|
||||||
|
|
||||||
* MAINTAINERS: Revert h8300 state to un-deleted.
|
* MAINTAINERS: Revert h8300 state to un-deleted.
|
||||||
|
@ -1079,6 +1079,13 @@ find_func_descr (struct gdbarch *gdbarch, CORE_ADDR entry_point)
|
|||||||
{
|
{
|
||||||
CORE_ADDR descr;
|
CORE_ADDR descr;
|
||||||
char valbuf[4];
|
char valbuf[4];
|
||||||
|
CORE_ADDR start_addr;
|
||||||
|
|
||||||
|
/* If we can't find the function in the symbol table, then we assume
|
||||||
|
that the function address is already in descriptor form. */
|
||||||
|
if (!find_pc_partial_function (entry_point, NULL, &start_addr, NULL)
|
||||||
|
|| entry_point != start_addr)
|
||||||
|
return entry_point;
|
||||||
|
|
||||||
descr = frv_fdpic_find_canonical_descriptor (entry_point);
|
descr = frv_fdpic_find_canonical_descriptor (entry_point);
|
||||||
|
|
||||||
|
@ -1109,6 +1109,10 @@ find_canonical_descriptor_in_load_object
|
|||||||
if (abfd == 0)
|
if (abfd == 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
/* Nothing to do if no link map. */
|
||||||
|
if (lm == 0)
|
||||||
|
return 0;
|
||||||
|
|
||||||
/* We want to scan the dynamic relocs for R_FRV_FUNCDESC relocations.
|
/* We want to scan the dynamic relocs for R_FRV_FUNCDESC relocations.
|
||||||
(More about this later.) But in order to fetch the relocs, we
|
(More about this later.) But in order to fetch the relocs, we
|
||||||
need to first fetch the dynamic symbols. These symbols need to
|
need to first fetch the dynamic symbols. These symbols need to
|
||||||
|
Reference in New Issue
Block a user