mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-06 06:45:56 +08:00
* Makefile.in (XMLFILES): Add library-list.dtd.
(ALLDEPFILES): Add solib-target.o. (solib-target.o): New rule. * remote.c (PACKET_qXfer_libraries): New constant. (remote_protocol_features): Add qXfer:libraries:read. (remote_wait): Recognize library stop replies. (remote_async_wait): Likewise. Fix typo. (remote_xfer_partial): Handle TARGET_OBJECT_LIBRARIES. (init_remote_async_ops): Fix typo. (_initialize_remote): Register "set remote library-info-packet". * solib-som.c (som_current_sos): Set addr_low and addr_high. * solib-target.c: New file. * solib.c (solib_map_sections): Use addr_low and addr_high instead of textsection. (info_sharedlibrary_command): Likewise. (solib_add_library, solib_remove_library): New. * solist.h (struct so_list): Replace textsection with addr_low and addr_high. * target.h (enum target_object): Add TARGET_OBJECT_LIBRARIES. * NEWS: Describe new qXfer:libraries:read and shared library event support. * features/library-list.dtd: New. * gdb.texinfo (Remote Configuration): Document library-info-packet. Add other missing entries. Adjust the table size to fit. (Stop Reply Packets): Use @itemize instead of @enumerate. Document stop reasons including the new "library" event. (General Query Packets): Adjust table widths for qSupported. Mention qXfer:libraries:read reply to qSupported and document the new packet. (Library List Format): New section.
This commit is contained in:
18
gdb/solib.c
18
gdb/solib.c
@ -316,9 +316,15 @@ solib_map_sections (void *arg)
|
||||
object's file by the base address to which the object was actually
|
||||
mapped. */
|
||||
ops->relocate_section_addresses (so, p);
|
||||
if (strcmp (p->the_bfd_section->name, ".text") == 0)
|
||||
|
||||
/* If the target didn't provide information about the address
|
||||
range of the shared object, assume we want the location of
|
||||
the .text section. */
|
||||
if (so->addr_low == 0 && so->addr_high == 0
|
||||
&& strcmp (p->the_bfd_section->name, ".text") == 0)
|
||||
{
|
||||
so->textsection = p;
|
||||
so->addr_low = p->addr;
|
||||
so->addr_high = p->endaddr;
|
||||
}
|
||||
}
|
||||
|
||||
@ -742,15 +748,15 @@ info_sharedlibrary_command (char *ignore, int from_tty)
|
||||
}
|
||||
|
||||
printf_unfiltered ("%-*s", addr_width,
|
||||
so->textsection != NULL
|
||||
so->addr_high != 0
|
||||
? hex_string_custom (
|
||||
(LONGEST) so->textsection->addr,
|
||||
(LONGEST) so->addr_low,
|
||||
addr_width - 4)
|
||||
: "");
|
||||
printf_unfiltered ("%-*s", addr_width,
|
||||
so->textsection != NULL
|
||||
so->addr_high != 0
|
||||
? hex_string_custom (
|
||||
(LONGEST) so->textsection->endaddr,
|
||||
(LONGEST) so->addr_high,
|
||||
addr_width - 4)
|
||||
: "");
|
||||
printf_unfiltered ("%-12s", so->symbols_loaded ? "Yes" : "No");
|
||||
|
Reference in New Issue
Block a user